diff options
Diffstat (limited to 'gnulib/ChangeLog')
m--------- | gnulib | 0 | ||||
-rw-r--r-- | gnulib/ChangeLog | 90370 |
2 files changed, 90370 insertions, 0 deletions
diff --git a/gnulib b/gnulib deleted file mode 160000 -Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1 diff --git a/gnulib/ChangeLog b/gnulib/ChangeLog new file mode 100644 index 0000000..6c2a807 --- /dev/null +++ b/gnulib/ChangeLog @@ -0,0 +1,90370 @@ +2011-12-13 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + nonblocking tests: Fix test failure on Linux/PPC. + Suggested by Prerna Saxena in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>. + * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]: + Set to 1100000. + +2011-12-12 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + bootstrap: detect tools required by gnulib-tool + * build-aux/bootstrap (buildreq): Provide minimum implicit + dependencies. + * DEPENDENCIES: Mention patch as a prereq. + +2011-12-04 Bruno Haible <bruno@clisp.org> + + 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(). + +2011-12-04 Bruno Haible <bruno@clisp.org> + Jim Meyering <meyering@redhat.com> + + tests: Avoid spurious error message on platforms without mktemp program. + * tests/init.sh (mktempd_): Run mktemp in a subcommand. + +2011-12-04 Bruno Haible <bruno@clisp.org> + + sethostname: Fix documentation. + * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the + "not fixed" section. + +2011-12-03 Bruno Haible <bruno@clisp.org> + + 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. + +2011-12-03 Bruno Haible <bruno@clisp.org> + + 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 <sys/types.h>. + (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. + +2011-12-01 Ben Walton <bwalton@artsci.utoronto.ca> + + 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. + +2011-12-03 Bruno Haible <bruno@clisp.org> + + 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. + +2011-12-01 Ben Walton <bwalton@artsci.utoronto.ca> + + 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. + +2011-12-03 Bruno Haible <bruno@clisp.org> + + Tweak last commit. + * lib/sethostname.c: Don't include <string.h>. + (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. + +2011-12-01 Ben Walton <bwalton@artsci.utoronto.ca> + + 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. + +2011-12-03 Bruno Haible <bruno@clisp.org> + + Tweak last commit. + * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line. + +2011-12-01 Ben Walton <bwalton@artsci.utoronto.ca> + + 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 <bruno@clisp.org> + + Fix module descriptions syntax. + * modules/argv-iter (License): Fix syntax. + * modules/di-set (License): Likewise. + * modules/ino-map (License): Likewise. + Reported by Stefano Lattarini <stefano.lattarini@gmail.com>. + +2011-12-02 Paul Eggert <eggert@cs.ucla.edu> + + stdalign: port to Clang 3.0 + Problem reported by Simon Josefsson in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>. + * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0, + which has <stdalign.h> but which does not define alignof. + * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem. + +2011-12-01 Eric Blake <eblake@redhat.com> + + mktempd: silence dd usage + * build-aux/mktempd (rand_bytes): Silence dd. + +2011-11-30 Simon Josefsson <simon@josefsson.org> + + manywarnings: Don't mention gcc version in docstring. + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix. Suggested by + Jim Meyering <meyering@redhat.com>. + +2011-11-30 Jim Meyering <meyering@redhat.com> + + 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 <bonzini@gnu.org> + + 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 <wala1@illinois.edu> (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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + getcwd: Fix link error on MSVC 9. + * modules/getcwd (Depends-on): Add readdir, rewinddir. + +2011-11-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2011-11-25 Jim Meyering <meyering@redhat.com> + + 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. + +2011-11-25 Simon Josefsson <simon@josefsson.org> + + 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 + <bruno@clisp.org>. + +2011-11-24 Jim Meyering <meyering@redhat.com> + + 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'. + +2011-11-22 Jim Meyering <meyering@redhat.com> + + 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. + +2011-11-21 Jim Meyering <meyering@redhat.com> + Eric Blake <eblake@redhat.com> + + 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 + +2011-11-21 Simon Josefsson <simon@josefsson.org> + + * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined + before using it, in code that ends up in config.h. + +2011-11-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-11-20 Bruno Haible <bruno@clisp.org> + + getcwd: Fix bug from 2009-09-10. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not + like "no". + +2011-11-20 Simon Josefsson <simon@josefsson.org> + + * m4/manywarnings.m4: Add more warnings from gcc 4.6.2. + +2011-11-20 Bruno Haible <bruno@clisp.org> + + fma tests: Avoid shadowing local variables. + * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result, + expected. + +2011-11-20 Bruno Haible <bruno@clisp.org> + + copysignf tests: Fix. + * tests/test-copysignf.c: Fix signature check. + +2011-11-20 Bruno Haible <bruno@clisp.org> + + fma: Remove unused code. + * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove + unused macros. + +2011-11-20 Bruno Haible <bruno@clisp.org> + + sethostname: Fix doc about AIX. + * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks + sethostname; it has it. + + sethostname: Mention more portability problems. + * doc/glibc-functions/sethostname.texi: Mention the missing declaration + problem. + Reported by Ben Walton <bwalton@artsci.utoronto.ca>. + +2011-11-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + euidaccess: Update a comment. + * lib/euidaccess.c: Update comment about platforms with faccessat. + +2011-11-19 Bruno Haible <bruno@clisp.org> + + openat: Fix file list. + * modules/openat (Files): Remove lib/at-func.c. + +2011-11-19 Bruno Haible <bruno@clisp.org> + + 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 <sys/stat.h>. + +2011-11-19 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * lib/hash.c (hash_insert): Use hash_insert_if_absent, + not hash_insert0. + (hash_insert_if_absent): Doc fix. + +2011-11-19 Simon Josefsson <simon@josefsson.org> + + * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h. + +2011-11-18 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>. + A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html> + and I reproduced it on a Solaris 8 host we still have in production. + +2011-11-18 Jim Meyering <meyering@redhat.com> + + 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 <dam@opencsw.org> (tiny change) + + openat: avoid compilation failure due to lack of <errno.h> inclusion + * lib/openat.c: Include <errno.h>. + +2011-11-17 Paul Eggert <eggert@cs.ucla.edu> + + * modules/getcwd (Depends-on): Add fdopendir. + This fixes one of the two problems reported by Kai Habel in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>. + + modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug + stdalign problem reported by Ian Beckwith in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>. + * 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 <meyering@redhat.com> + + 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 <gary@gnu.org> + + 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 <email@example.com>' 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 <peda@lysator.liu.se> + +2011-11-15 Ben Walton <bwalton@artsci.utoronto.ca> (tiny change) + Bruno Haible <bruno@clisp.org> + + 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 <gary@gnu.org> + + 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 <bruno@clisp.org> + Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + Makefile: Tweak indentation. + * Makefile: Use tab as first character in every line that contains rule + commands. + +2011-11-13 Bruno Haible <bruno@clisp.org> + + Syntax check for copyright statements. + * check-copyright: New file. + * Makefile (sc_check_copyright): New rule. + +2011-11-13 Simon Josefsson <simon@josefsson.org> + + * build-aux/git-version-gen: Add --prefix to configure the tag + match string. + +2011-11-13 Simon Josefsson <simon@josefsson.org> + + * build-aux/git-version-gen: Add --help and --version. + +2011-11-12 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + obstack: Fix compilation error on MSVC 9. + * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier. + +2011-11-11 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ludo@gnu.org>. + +2011-11-09 Bruno Haible <bruno@clisp.org> + + 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. + +2011-11-09 Paul Eggert <eggert@cs.ucla.edu> + + fstatat: work with cross-compilation + Problem reported by Ludovic Courtès in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>. + * 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. + +2011-11-09 Bruno Haible <bruno@clisp.org> + + Improve MODULES.html output. + * modules/mkfifoat (Description): Use the word "function". + * modules/readlinkat (Description): Likewise. + * modules/symlinkat (Description): Likewise. + +2011-11-09 Eric Blake <eblake@redhat.com> + + ptsname_r-tests: new test module + * modules/ptsname_r-tests: New module. + * tests/test-ptsname_r.c: New file. + + 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. + +2011-11-09 Jim Meyering <meyering@redhat.com> + + 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. + +2011-11-09 Eric Blake <eblake@redhat.com> + + openpty: provide a stub on mingw + * lib/pty.in.h (includes): Provide forward declarations. + * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub. + + raise: fix mingw handling of SIGPIPE + * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value. + +2011-11-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-11-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + faccessat: Simplify autoconf macro. + * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT, + gl_FUNC_EUIDACCESS. + +2011-11-08 Bruno Haible <bruno@clisp.org> + + renameat: Fix dependencies. + * modules/renameat (Depends-on): Add stdbool. + +2011-11-08 Bruno Haible <bruno@clisp.org> + + mkfifoat: Fix module description. + * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR, + not gl_UNISTD_MODULE_INDICATOR. + +2011-11-08 Bruno Haible <bruno@clisp.org> + + fstatat: Remove unused dependency. + * modules/fstatat (Depends-on): Remove fstat. + +2011-11-08 Simon Josefsson <simon@josefsson.org> + + GNUmakefile: behave when Makefile is missing. + * top/GNUmakefile: Always initialize _build-aux and _autoreconf. + +2011-11-08 Bruno Haible <bruno@clisp.org> + + openat: Conditionalize dependencies. + * lib/openat.c: Reduce the scope of some #includes. + * modules/openat (Depends-on): Add conditions. + +2011-11-07 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID. + +2011-11-06 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + math tests: Cosmetics. + * tests/test-math-c++.cc: Reorder declarations. + +2011-11-05 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + openat: Include <stdbool.h>. + * lib/openat.c: Include <stdbool.h>. + +2011-11-04 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + openat: remove direct dependency on dirent + * lib/openat.h: Don't include <dirent.h>; 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 <bruno@clisp.org> + + renameat: Optimize code size. + * modules/renameat (configure.ac): Don't compile at-func2.c if + REPLACE_RENAMEAT is 1. + +2011-11-04 Bruno Haible <bruno@clisp.org> + + openat tests: Fix file list. + * modules/openat-tests (Files): Add tests/test-open.h. + +2011-11-04 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <sys/stat.h>. + * 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 <bruno@clisp.org> + + closedir: Avoid warning on mingw. + * lib/closedir.c: Include <unistd.h>. + +2011-11-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>. + 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 <bruno@clisp.org> + + fchownat: Improve description. + * modules/fchownat (Description): Add link to function. + +2011-11-01 Paul Eggert <eggert@cs.ucla.edu> + + * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8. + mingw supports alignments only up to 8 (!). Reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>. + * doc/posix-headers/stdalign.texi (stdalign.h): Document this. + +2011-11-01 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + stdalign: port better to MSVC and to Sun C 5.11 + This fixes some of the problems reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>. + * 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 <stdlib.h>; 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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-10-31 Dmitry V. Levin <ldv@altlinux.org> + + 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 <ldv@altlinux.org> + + 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 <bruno@clisp.org> + + ffsl, ffsll: Avoid compilation error due to 'restrict'. + * lib/ffsl.h: Include <config.h>. + Suggested by Tom G. Christensen <tgc@jupiterrise.com>. + +2011-10-30 Jim Meyering <meyering@redhat.com> + + 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 <ldv@altlinux.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + fstat: Tweak documentation. + * modules/fstat (Description): More precise description. + +2011-10-27 Bruno Haible <bruno@clisp.org> + + 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 <gary@gnu.org> + + 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 <eggert@cs.ucla.edu> + + Add stdalign module and use it in other modules. + This is based on a previous proposal by Bruno Haible + <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>. + + 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 <stdalign.h>. + (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 <stdalign.h> and <stdint.h>. Do not include <stddef.h>. + Do not include <stdlib.h> 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 <stdalign.h> instead of <alignof.h>. + * modules/sys_socket (Depends-on): Depend on stdalign, not alignof. + +2011-10-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <gary@gnu.org> + Bruno Haible <bruno@clisp.org> + Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + 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 <michael.goffioul@gmail.com>. + +2011-10-22 Bruno Haible <bruno@clisp.org> + + 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. <skunk@iskunk.org>. + + perror: Fix indentation. + * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation. + +2011-10-22 Bruno Haible <bruno@clisp.org> + + 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 <michael.goffioul@gmail.com>. + +2011-10-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + openpty, posix_openpt: Remove code duplication. + * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c. + * lib/openpty.c: Include <stdlib.h>. + (openpty): Use posix_openpt on all platforms except IRIX. + * modules/openpty (Depends-on): Add posix_openpt. Add conditions. + +2011-10-20 Bruno Haible <bruno@clisp.org> + + unlockpt: Detect invalid argument. + * lib/unlockpt.c: Include <fcntl.h>. + (unlockpt): Check whether fd is valid, using fcntl(). + * modules/unlockpt (Depends-on): Add fcntl-h. + +2011-10-20 Bruno Haible <bruno@clisp.org> + + openpty: Avoid compilation error on AIX 6.1. + * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'. + +2011-10-20 Bruno Haible <bruno@clisp.org> + + posix_openpt: Support for OpenBSD. + * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>. + (posix_openpt) [OpenBSD]: New code. + * lib/grantpt.c: Include <fcntl.h>. + (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else. + * modules/grantpt (Depends-on): Add fcntl-h. + +2011-10-20 Bruno Haible <bruno@clisp.org> + + posix_openpt test: Coding style. + * tests/test-posix_openpt.c: Use GNU coding style. + +2011-10-20 Bruno Haible <bruno@clisp.org> + + grantpt: Support --avoid=pt_chown. + * modules/grantpt (Files): Add lib/pty-private.h. + +2011-10-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + openpty: Update comments. + * lib/openpty.c: Add comments about Minix. + +2011-10-19 Eric Blake <eblake@redhat.com> + + 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. + +2011-10-19 Jim Meyering <meyering@redhat.com> + + posix_openpt: remove spurious #endif + * lib/posix_openpt.c (posix_openpt): Remove spurious #endif. + +2011-10-19 Gary V. Vaughan <gary@gnu.org> + + 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'. + +2011-10-19 Bruno Haible <bruno@clisp.org> + + 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. + +2011-10-19 Bruno Haible <bruno@clisp.org> + + 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. <skunk@iskunk.org>. + +2011-10-19 Bruno Haible <bruno@clisp.org> + + 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. <skunk@iskunk.org>. + +2011-10-18 Daniel Richard G. <skunk@iskunk.org> (tiny change) + + 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. + +2011-10-18 Eric Blake <eblake@redhat.com> + + 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. + +2011-10-15 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-10-15 Bruno Haible <bruno@clisp.org> + + 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. + +2011-10-15 Bruno Haible <bruno@clisp.org> + + vasnprintf: Fix comments. + * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments. + +2011-10-14 Bruno Haible <bruno@clisp.org> + + Tests for module 'integer_length_ll'. + * modules/integer_length_ll-tests: New file. + * tests/test-integer_length_ll.c: New file. + + New module 'integer_length_ll'. + * lib/integer_length_ll.c: New file. + * modules/integer_length_ll: New file. + +2011-10-14 Bruno Haible <bruno@clisp.org> + + Tests for module 'integer_length_l'. + * modules/integer_length_l-tests: New file. + * tests/test-integer_length_l.c: New file. + + New module 'integer_length_l'. + * lib/integer_length_l.c: New file. + * modules/integer_length_l: New file. + +2011-10-14 Bruno Haible <bruno@clisp.org> + + 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. <skunk@iskunk.org> (tiny change) + + popen: Fix dependency conditions. + * modules/popen (Depends-on, configure.ac): Fix shell syntax error. + +2011-10-14 Daniel Richard G. <skunk@iskunk.org> (tiny change) + + perror: Fix autoconf test. + * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include + <stdlib.h> and <string.h>. + +2011-10-14 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + ffsl: Optimize on 32-bit platforms. + * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just + use ffs() without a loop. + + 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. + +2011-10-13 Bruno Haible <bruno@clisp.org> + + ffs, bcopy, memset: Support symbol renaming via config.h. + * lib/ffs.c: Include <config.h>. + * lib/bcopy.c: Likewise. + * lib/memset.c: Likewise. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + 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. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + 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. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + 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. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com> (tiny change) + + ffsll: set correct witness + * modules/ffsll (configure.ac): Fix typo. + +2011-10-10 Bruno Haible <bruno@clisp.org> + + printf-frexpl: Simplify for platforms where 'long double' == 'double'. + * lib/printf-frexpl.c: Include <config.h>. + (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <bruno@clisp.org> + + frexpl: Simplify for platforms where 'long double' == 'double'. + * lib/frexpl.c: Include <config.h>. + (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + rintl: Simplify for platforms where 'long double' == 'double'. + * lib/rintl.c: Include <config.h>. + (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <bruno@clisp.org> + + roundl: Simplify for platforms where 'long double' == 'double'. + * lib/roundl.c: Include <config.h>. + (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <bruno@clisp.org> + + truncl: Simplify for platforms where 'long double' == 'double'. + * lib/truncl.c: Include <config.h>. + (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <bruno@clisp.org> + + ceill: Simplify for platforms where 'long double' == 'double'. + * lib/ceill.c: Include <config.h>. + (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <bruno@clisp.org> + + floorl: Simplify for platforms where 'long double' == 'double'. + * lib/floorl.c: Include <config.h>. + (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. + * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <float.h>, <stdio.h>, 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + *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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pow tests: Defeat compiler optimizations. + * tests/test-pow.c (main): Assign arguments to x and y before use. + +2011-10-08 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>. + * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '', + when echoing "$condition". + +2011-10-07 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <mail@bernhard-voelker.de> + + raise tests: Avoid a GCC warning. + * tests/test-raise.c (handler): Use _Noreturn. + +2011-10-07 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + math: Sort function declarations of math.in.h. + * lib/math.in.h (frexp, logb): Move declarations. + +2011-10-05 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <kdudka@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + sys_select: Fix compilation error on mingw. + * lib/sys_select.in.h: On native Windows, include <io.h>. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + wmemset: Support for MSVC. + * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test + whether wmemset() exists. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + wmemmove: Support for MSVC. + * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test + whether wmemmove() exists. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + wmemchr: Support for MSVC. + * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test + whether wmemchr() exists. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + glthread/*, strsignal: Support for MSVC. + * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid + including <winsock.h> 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 <string.h> first. Don't include <unistd.h> + if HAVE_UNISTD_H is false. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + nonblocking tests: Fix test failure on OpenBSD/SPARC64. + * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]: + Set to 100000. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + acl: Fix specification. + * lib/file-has-acl.c (file_has_acl): Fix specification. + +2011-10-03 Bruno Haible <bruno@clisp.org> + + 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 <jojelino@gmail.com> + via Charles Wilson <cygwin@cwilson.fastmail.fm>. + +2011-10-01 Jim Meyering <meyering@redhat.com> + + 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. + + 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 + + float, math: add omitted file + * lib/itold.c: Add file, required for yesterday's float change. + +2011-10-01 Bruno Haible <bruno@clisp.org> + + 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. + +2011-10-01 Bruno Haible <bruno@clisp.org> + + isfinite: Fix syntax error in configure test. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error. + + isfinite: Fix typo. + * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set + gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works. + +2011-10-01 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2011-09-30 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ametzler@downhill.at.eu.org>. + +2011-09-29 Bruno Haible <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2011-09-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <tmacchant5@yahoo.co.jp>. + +2011-09-26 Gijs van Tulder <gvtulder@gmail.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>. + * 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 <bruno@clisp.org> + + strings: Fix compilation error on MSVC. + * lib/strings.in.h: Include <stddef.h> for size_t. + +2011-09-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + msvc-inval: Allow three invalid parameter handling modes. + * lib/msvc-inval.h: Don't include <stdlib.h> 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 + <stdlib.h>. + (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING. + +2011-09-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + linkat: Fix compilation on MSVC 9. + * lib/linkat.c: Don't include <stdint.h>. + +2011-09-25 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + read: Fix last commit. + * lib/read.c (read_nothrow): Change return type to 'ssize_t'. + +2011-09-24 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + close: Support for MSVC 9. + * lib/close.c: Include <errno.h>, 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pipe2: Fix compilation on pre-C99 compilers. + * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces. + +2011-09-23 Bruno Haible <bruno@clisp.org> + + 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 <io.h>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + msvc-inval: Fix compilation error. + * lib/msvc-inval.h: Include <excpt.h>. + +2011-09-23 Bruno Haible <bruno@clisp.org> + + 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 <io.h>, <direct.h> 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 <io.h> and <direct.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + select: Avoid compilation error on MSVC. + * lib/select.c: Don't include <stdbool.h>. + +2011-09-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <io.h>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + opendir: Avoid compilation error on mingw. + * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well. + * modules/opendir (Depends-on): Add unistd. + +2011-09-21 Bruno Haible <bruno@clisp.org> + + ftruncate tests: Avoid a test failure on mingw. + * tests/test-ftruncate.c (main): Allow a failure with EACCES. + +2011-09-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + fsync tests: Avoid a test failure on mingw. + * tests/test-fsync.c (main): Allow a failure with EIO. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + euidaccess: Update comments. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + 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. + + 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. + + 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. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + 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 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. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + freopen tests: EBADF tests. + * tests/test-freopen.c: Include errno.h, unistd.h. + (main): Add tests for EBADF, commented out for the moment. + + fclose tests: EBADF tests. + * tests/test-fclose.c (main): Add tests for EBADF. + + fflush tests: EBADF tests. + * tests/test-fflush.c: Include errno.h, macros.h. + (main): Add tests for EBADF. + + 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. + + 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. + + Tests for function fputc(). + * modules/fputc-tests: New file. + * tests/test-fputc.c: New file. + * modules/stdio-tests (Depends-on): Add fputc-tests. + + Tests for function fgetc(). + * modules/fgetc-tests: New file. + * tests/test-fgetc.c: New file. + * modules/stdio-tests (Depends-on): Add fgetc-tests. + + Tests for function fdopen(). + * modules/fdopen-tests: New file. + * tests/test-fdopen.c: New file. + * modules/stdio-tests (Depends-on): Add fdopen-tests. + + Tests for module 'vdprintf'. + * modules/vdprintf-tests: New file. + * tests/test-vdprintf.c: New file. + + Tests for module 'dprintf'. + * modules/dprintf-tests: New file. + * tests/test-dprintf.c: New file. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + Tests for module 'ioctl'. + * modules/ioctl-tests: New file. + * tests/test-ioctl.c: New file. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + fcntl tests: EBADF tests. + * tests/test-fcntl.c (main): Add more tests for EBADF. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + utimensat tests: EBADF tests. + * tests/test-utimensat.c (main): Add tests for EBADF. + + renameat tests: EBADF tests. + * tests/test-renameat.c (main): Add tests for EBADF. + + mkfifoat tests: EBADF tests. + * tests/test-mkfifoat.c (main): Add tests for EBADF. + + readlinkat tests: EBADF tests. + * tests/test-readlinkat.c (main): Add tests for EBADF. + + symlinkat tests: EBADF tests. + * tests/test-symlinkat.c (main): Add tests for EBADF. + + linkat tests: EBADF tests. + * tests/test-linkat.c (main): Add tests for EBADF. + + Tests for module 'faccessat'. + * modules/faccessat-tests: New file. + * tests/test-faccessat.c: New file. + + fdopendir tests: EBADF tests. + * tests/test-fdopendir.c (main): Add more tests for EBADF. + + 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'. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + utimens, futimens, fdutimensat tests: EBADF tests. + * tests/test-futimens.h (test_futimens): Add more tests for EBADF. + + Tests for function fstat(). + * modules/fstat-tests: New file. + * tests/test-fstat.c: New file. + * modules/sys_stat-tests (Depends-on): Add fstat-tests. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + test-ttyname_r tests: EBADF tests. + * tests/test-ttyname_r.c (main): Add tests for EBADF. + + Tests for module 'isatty'. + * modules/isatty-tests: New file. + * tests/test-isatty.c: New file. + + Tests for module 'write'. + * modules/write-tests: New file. + * tests/test-write.c: New file. + + Tests for module 'read'. + * modules/read-tests: New file. + * tests/test-read.c: New file. + + pwrite tests: EBADF tests. + * tests/test-pwrite.c (main): Add tests for EBADF. + + pread tests: EBADF tests. + * tests/test-pread.c (main): Add tests for EBADF. + + lseek tests: EBADF tests. + * tests/test-lseek.c (main): Add more tests for EBADF. + + Tests for module 'ftruncate'. + * modules/ftruncate-tests: New file. + * tests/test-ftruncate.sh: New file. + * tests/test-ftruncate.c: New file. + + fsync tests: EBADF tests. + * tests/test-fsync.c (main): Add more tests for EBADF. + + fdatasync tests: EBADF tests. + * tests/test-fdatasync.c (main): Add more tests for EBADF. + + Tests for module 'fchown'. + * modules/fchown-tests: New file. + * tests/test-fchown.c: New file. + + Tests for module 'fchmod'. + * modules/fchmod-tests: New file. + * tests/test-fchmod.c: New file. + + fchdir tests: EBADF tests. + * tests/test-fchdir.c (main): Add more tests for EBADF. + + dup2 tests: EBADF tests. + * tests/test-dup2.c (main): Add more tests for EBADF. + + Tests for module 'dup'. + * modules/dup-tests: New file. + * tests/test-dup.c: New file. + + Tests for module 'close'. + * modules/close-tests: New file. + * tests/test-close.c: New file. + +2011-09-20 Bruno Haible <bruno@clisp.org> + + Tests for module 'shutdown'. + * modules/shutdown-tests: New file. + * tests/test-shutdown.c: New file. + + Tests for module 'setsockopt'. + * modules/setsockopt-tests: New file. + * tests/test-setsockopt.c: New file. + + Tests for module 'sendto'. + * modules/sendto-tests: New file. + * tests/test-sendto.c: New file. + + Tests for module 'send'. + * modules/send-tests: New file. + * tests/test-send.c: New file. + + Tests for module 'recvfrom'. + * modules/recvfrom-tests: New file. + * tests/test-recvfrom.c: New file. + + Tests for module 'recv'. + * modules/recv-tests: New file. + * tests/test-recv.c: New file. + + Tests for module 'listen'. + * modules/listen-tests: New file. + * tests/test-listen.c: New file. + + Tests for module 'getsockopt'. + * modules/getsockopt-tests: New file. + * tests/test-getsockopt.c: New file. + + Tests for module 'getsockname'. + * modules/getsockname-tests: New file. + * tests/test-getsockname.c: New file. + + Tests for module 'getpeername'. + * modules/getpeername-tests: New file. + * tests/test-getpeername.c: New file. + + Tests for module 'connect'. + * modules/connect-tests: New file. + * tests/test-connect.c: New file. + + Tests for module 'bind'. + * modules/bind-tests: New file. + * tests/test-bind.c: New file. + + 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. + + 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. + +2011-09-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + sched: Ensure pid_t is defined. + * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does + not define pid_t. + * lib/sched.in.h: Include <sys/types.h>. + * doc/posix-headers/sched.texi: Mention the pid_t problem. + Reported by Tom G. Christensen <tgc@jupiterrise.com>. + +2011-09-19 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <Martin.vGagern@gmx.net> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Tests for module 'accept4'. + * modules/accept4-tests: New file. + * tests/test-accept4.c: New file. + +2011-09-18 Bruno Haible <bruno@clisp.org> + + Tests for module 'accept'. + * modules/accept-tests: New file. + * tests/test-accept.c: New file. + +2011-09-18 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + isnanl, isnand, isnanf: Work around MSVC bug. + * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity. + +2011-09-17 Bruno Haible <bruno@clisp.org> + + sys_socket tests: Fix recent mistake. + * tests/test-sys_socket.c (t1): Avoid collision of identifiers. + +2011-09-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <winsock2.h>, test whether inet_pton is declared in + <ws2tcpip.h>. 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 <bruno@clisp.org> + + 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 <winsock2.h>, test whether inet_ntop is declared in + <ws2tcpip.h>. 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 <eblake@redhat.com> + + test-fsync: yet another enhancement + * tests/test-fsync.c (main): Also test behavior on read-only text + file. + +2011-09-16 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Support for MSVC compiler: Ensure off_t gets defined. + * lib/unistd.in.h: Include <sys/types.h>. + * 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 <eblake@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + opendir: avoid compile warning + * lib/opendir.c (includes): Always include errno.h. + Reported by Tatsuro MATSUOKA. + +2011-09-14 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <winsock2.h>. + * lib/sys_time.in.h: On MSVC, include <winsock2.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <rrt@sc3d.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + unistd et al.: Don't assume <unistd.h> exists. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it + does not exist. + * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not + exist. But include <stdlib.h>. + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist, + include <io.h> and <stdlib.h> instead. Don't test symbolink links if + symlink() does not exist. + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist, + include <io.h> instead. + * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist, + include <direct.h> 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 <unistd.h> does not exist, include + <io.h> 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 <unistd.h> does not exist, include + <direct.h> instead. + * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass + it when looking for function declarations. + * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include + <direct.h> and <io.h> instead. + * doc/posix-headers/unistd.texi: More details about MSVC problem. + +2011-09-11 Bruno Haible <bruno@clisp.org> + + 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 <strings.h> exists. + * lib/strings.in.h: Include <strings.h> 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 <bruno@clisp.org> + + dirent: Don't assume <dirent.h> exists. + * lib/dirent.in.h: Include <dirent.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eligis@orange.fr>. + +2011-09-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + *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 <bruno@clisp.org> + + nocrash: Add support for native Windows. + * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows. + +2011-09-10 Michael Goffioul <michael.goffioul@gmail.com> (tiny change) + Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <rrt@sc3d.org> + Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * lib/gc.h: Fix copyright header. + +2011-09-07 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + openat: Work around compilation error with OSF/1 5.1 DTK cc. + * lib/fopen.c: Use different syntax for include of <stdio.h>. + * lib/freopen.c: Likewise. + * lib/fstatat.c: Use different syntax for include of <sys/stat.h>. + * lib/lstat.c: Likewise. + * lib/stat.c: Likewise. + * lib/open.c: Use different syntax for include of <fcntl.h>. + * lib/openat.c: Include fcntl.h again, explicitly. + +2011-09-04 J.T. Conklin <jtc@acorntoolworks.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>. + * lib/openat.c (__need_system_fcntl_h): Define first. + Include <fcntl.h> and <sys/types.h> 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 <schmitz@hp.com> (tiny change) + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + openat: test for fstatat (..., 0) bug + Further testing with tar suggests that fstatat (..., 0) + does not work in general, on AIX 7.1; see + <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>. + 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 + <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>. + * 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 <karl@gnu.org> + + * doc/regex.texi (Character Class Operators): Avoid literal ":" + in index entries. + +2011-09-02 Bruno Haible <bruno@clisp.org> + + 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 <jwe@gnu.org> for Octave. + +2011-09-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <sys/stat.h> 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 <bruno@clisp.org> + + sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5. + * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>, + just include the system's header. + +2011-08-31 Jim Meyering <meyering@redhat.com> + + 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 <jtc@acorntoolworks.com> + + 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 <bruno@clisp.org> + + freopen: Documentation. + * doc/posix-functions/freopen.texi: Document the bug with the NULL file + name. + Reported by Claudio Bley <claudio.bley@gmail.com>. + +2011-08-31 Claudio Bley <claudio.bley@gmail.com> (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 <eggert@cs.ucla.edu> + + openat: work around AIX 7.1 fstatat bug + Problem reported by Kevin Brott for GNU tar, in the thread containing + <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>. + * 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 <bruno@clisp.org> + + 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 <michael.goffioul@gmail.com>. + +2011-08-25 Karl Berry <karl@gnu.org> + + * config/srclist.txt (ylwrap): new try. + * build-aux/ylwrap: new file. + +2011-08-23 Bruno Haible <bruno@clisp.org> + + tmpdir: Use a good default directory on native Windows. + * lib/tmpdir.c: Include <windows.h>, 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 <john@darrington.wattle.id.au>. + +2011-08-20 Reuben Thomas <rrt@sc3d.org> + + doc: fix typo in README-release + * top/README-release: Capitalize first word of a sentence. + +2011-08-19 Jim Meyering <meyering@redhat.com> + + 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 <dirent.h>. + (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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <direct.h> 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 <blp@cs.stanford.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <simon@josefsson.org> + + * lib/base64.c: Fix comment to reference RFC 4648. + Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder + <gvtulder@gmail.com>. + +2011-08-11 Paul Eggert <eggert@cs.ucla.edu> + + * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch. + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>. + +2011-08-11 Jim Meyering <meyering@redhat.com> + + 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. + +2011-08-10 Paul Eggert <eggert@cs.ucla.edu> + + base64: fix off-by-one buffer size bug + Problem and (trivial) fix reported by Gijs van Tulder in + <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>. + * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte. + * tests/test-base64.c (main): Catch the bug. + +2011-08-10 Eric Blake <eblake@redhat.com> + + closein: correct comments + * lib/closein.c (close_stdin): Improve comments. + +2011-08-09 Bruno Haible <bruno@clisp.org> + + 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. + +2011-08-09 Eric Blake <eblake@redhat.com> + + fseeko: remove unneeded hack + * lib/fseeko.c (fseeko): Don't special-case SEEK_END. + + fseeko: fix bug on glibc + * lib/fseeko.c (fseeko): Set stream offset to match fd offset. + Reported by John W. Eaton. + +2011-08-08 Bruno Haible <bruno@clisp.org> + + unictype/base: Fix interoperability with preinstalled libunistring. + * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4. + Reported by Simon Josefsson. + +2011-08-08 Bruno Haible <bruno@clisp.org> + + iswblank: Detect declaration correctly. + * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in + AC_CHECK_DECLS invocation. + +2011-08-08 Bruno Haible <bruno@clisp.org> + + tcgetsid: Detect declaration correctly. + * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in + AC_CHECK_DECLS invocation. + Reported by Simon Josefsson. + +2011-08-08 Eric Blake <eblake@redhat.com> + + largefile: fix typo that regressed large file support + * modules/largefile (configure.ac-early): Fix section name. + +2011-08-06 Karl Berry <karl@gnu.org> + + * MODULES.html.sh (func_all_files): _Noreturn is no longer + a separate module. + +2011-08-05 Simon Josefsson <simon@josefsson.org> + + 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. + +2011-08-04 Bruno Haible <bruno@clisp.org> + + Tests for module 'pathmax'. + * modules/pathmax-tests: New file. + * tests/test-pathmax.c: New file. + + canonicalize-lgpl: Support larger filenames on the Hurd. + * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192. + Reported by Paul Eggert. + + 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 <limits.h>. + (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. + +2011-08-02 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <iain@thenicols.net> + + 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 <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2011-07-31 Bruno Haible <bruno@clisp.org> + + frexpl: Update autoconf test. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>, + according to changes of 2011-06-20. + +2011-07-31 Bruno Haible <bruno@clisp.org> + + sys_utsname: Add support for Minix. + * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before + <sys/utsname.h>. + * 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 <bruno@clisp.org> + + strings: Add support for Minix. + * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise. + * doc/posix-headers/strings.texi: Document the Minix problem. + +2011-07-31 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + snippet/warn-on-use: Fix indentation. + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation. + +2011-07-25 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>. + I reproduced the problem with "./gnulib-tool --test close sys_socket". + +2011-07-24 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + doc: Fix typo. + * doc/posix-functions/fstat.texi: Talk about fstat, not stat. + +2011-07-24 Bruno Haible <bruno@clisp.org> + + doc: Mention fsusage. + * doc/posix-functions/statvfs.texi: Mention the fsusage module. + +2011-07-24 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + ftell: don't include <unistd.h> + * lib/ftell.c: Don't include <unistd.h>. <stdio.h> 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 <limits.h>. + (ftell): Don't assume wraparound signed arithmetic. + +2011-07-24 Bruno Haible <bruno@clisp.org> + + close: No longer depend on module 'fclose'. + * modules/close (Depends-on): Remove fclose. + * NEWS: Mention the change. + Suggested by Sam Steingold <sds@gnu.org>. + +2011-07-24 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * README: Modernize discussion of signed integers. + Assuming overflow wraparound is no longer safe. + Mention ones' complement and signed magnitude. + +2011-07-22 Bruno Haible <bruno@clisp.org> + + 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 <sys/wait.h>. + +2011-07-22 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + largefile: new module, replacing large-inode + Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>. + * 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 + <http://debbugs.gnu.org/9140> and this should also fix a similar + problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>. + + 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 <kdudka@redhat.com> + + 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 <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2011-07-12 Jim Meyering <meyering@redhat.com> + + 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 <P@draigBrady.com> + + 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 <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>. + Suggested by Eric Blake. Reported by Reuben Thomas. + +2011-07-19 Pádraig Brady <P@draigBrady.com> + + 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 <eggert@cs.ucla.edu> + + pthread_sigmask: ensure usleep is declared + * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]: + Include <unistd.h>, to declare usleep. Needed on Solaris 8, + +2011-07-15 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + ffsl, ffsll: Avoid unportable behaviour. + * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'. + +2011-07-15 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + regex: Depend on module 'strcase'. + * modules/regex (Depends-on): Add strcase, for strcasecmp(). + +2011-07-12 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + strings: Document module. + * doc/posix-headers/strings.texi: Mention module 'strings'. + +2011-07-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>. + * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests: + * tests/test-stdnoreturn.c: Remove files. + * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section. + * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h: + * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h> + 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 <eggert@cs.ucla.edu> + + _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 <stdnoreturn.h>. + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xalloc (Depends-on): Add stdnoreturn. + + xstrtol: use stdnoreturn.h + * lib/xstrtol.h: Include <stdnoreturn.h>. + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/xstrtol (Depends-on): Add stdnoreturn. + + xmemdup0: use stdnoreturn.h + * lib/xmemdup0.h: Include <stdnoreturn.h>. + (_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 <stdnoreturn.h>. + (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn. + * modules/sigpipe-die (Depends-on): Add stdnoreturn. + + openat: use stdnoreturn.h + * lib/openat.h: Include <stdnoreturn.h>. + (_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 <stdnoreturn.h>): 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 <eblake@redhat.com> + + 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 <strings.h>, for use of + strcasecmp in regcomp.c. + Reported by Joachim Schmitz. + +2011-07-09 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <stddef.h>. + (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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + test-getopt.h: avoid warning about an unused variable + * tests/test-getopt.h (test_getopt): Remove unused variable, "c". + +2011-07-07 Jim Meyering <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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. + +2011-07-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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). + +2011-07-07 Bruno Haible <bruno@clisp.org> + + pthread_sigmask: Ensure declaration in <signal.h>. + * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6, + include <pthread.h>. + * doc/posix-functions/pthread_sigmask.texi: Mention the header file + problem. + +2011-07-07 Bruno Haible <bruno@clisp.org> + + pthread_sigmask: Document the module. + * doc/posix-functions/pthread_sigmask.texi: Mention the new module. + +2011-07-07 Bruno Haible <bruno@clisp.org> + + pthread_sigmask: Follow gnulib conventions. + * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from + gl_PTHREAD_SIGMASK. + * modules/pthread_sigmask (configure.ac): Update. + +2011-07-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-07-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-07-07 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + Tests for module 'sigprocmask'. + * modules/sigprocmask-tests: New file. + * tests/test-sigprocmask.c: New file. + +2011-07-07 Bruno Haible <bruno@clisp.org> + + float tests: Tweak. + * tests/test-float.c (main): Tweak skip message. + +2011-07-07 Eric Blake <eblake@redhat.com> + + 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 <drepper@gmail.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Comments. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw. + +2011-07-06 Bruno Haible <bruno@clisp.org> + + sys_select: Fix compilation error on mingw, introduced on 2011-06-30. + * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include + <winsock2.h>. + (rpl_fd_isset, FD_ISSET): New definitions, copied from + lib/sys_socket.in.h. + (close, gethostname): Hide declarations from <winsock2.h>. + (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 <sys/select.h> 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 <eggert@cs.ucla.edu> + + * 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 <kusmabite@gmail.com> + + poll: do not return 0 on timeout=-1 + * lib/poll.c: Loop with yield if no events occured + +2011-07-06 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + Comments. + * m4/printf.m4: Update comments about mingw. + +2011-07-06 Paul Eggert <eggert@cs.ucla.edu> + + sys_select: define sigset_t more portably + * lib/sys_select.in.h: Always include <sys/types.h>, since + we now need sigset_t and mingw defines it there. + Include <signal.h> before split inclusion guard, to avoid + mishaps on Solaris, whose <signal.h> 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 <eggert@cs.ucla.edu> + + * 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 <sys/types.h> 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 + { + ... + } + +2011-07-04 Jim Meyering <meyering@redhat.com> + + 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. + +2011-07-03 Jim Meyering <meyering@redhat.com> + + 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. + +2011-07-03 Bruno Haible <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de>. + +2011-06-30 Paul Eggert <eggert@cs.ucla.edu> + + 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 <signal.h>, 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>. + This fix works on GNU and GNU-like platforms, but has not been tested + on native Windows. + * lib/sys_select.in.h: Include <sys/socket.h> 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 <eblake@redhat.com> + + 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 <bonzini@gnu.org> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + maint.mk: update sc_prohibit_intprops_without_use + * top/maint.mk (_intprops_names): Match recent changes. + +2011-06-24 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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. + +2011-06-22 Eric Blake <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + float: Work around <float.h> 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 <bruno@clisp.org> + + Tests for module 'float'. + * modules/float-tests: New file. + * tests/test-float.c: New file. + +2011-06-19 Bruno Haible <bruno@clisp.org> + + isinf: Coding style. + * lib/isinf.c: Use GNU coding style. + +2011-06-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pread test: Avoid test failure on OpenBSD 4.9. + * tests/test-pread.c (main): Allow EFBIG instead of EINBAL. + +2011-06-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-06-18 Bruno Haible <bruno@clisp.org> + + clean-temp: Improve documentation. + * lib/clean-temp.h: Explain better how to use this module. + Reported by John Darrington <john@darrington.wattle.id.au>. + +2011-06-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + spawn-pipe tests: Fix link error. + * tests/test-spawn-pipe-child.c: Undefine fprintf. + Reported by Tom G. Christensen <tgc@jupiterrise.com>. + +2011-06-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + spawn-pipe tests: Fix link error. + * tests/test-spawn-pipe-child.c: Undefine fflush. + +2011-06-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + + 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. + + 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. + + 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 <tgc@jupiterrise.com>. + + 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 <tgc@jupiterrise.com>. + + 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 <tgc@jupiterrise.com>. + + 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 <tgc@jupiterrise.com>. + + 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 <tgc@jupiterrise.com>. + +2011-06-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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. + +2011-06-16 Bruno Haible <bruno@clisp.org> + + 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. + +2011-06-16 Bruno Haible <bruno@clisp.org> + + tmpfile-safer: Finish 2011-05-23 commit. + * m4/stdio-safer.m4: Really remove file. + Reported by Jim Meyering. + +2011-06-16 Bruno Haible <bruno@clisp.org> + + syntax-check: Fix typo. + * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not + printf-posix.m4. + Reported by Jim Meyering. + +2011-06-13 Jim Meyering <meyering@redhat.com> + + syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy + * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + yesno: Move AC_LIBOBJ invocations to module description. + * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation. + * modules/yesno (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + xstrtol: Move AC_LIBOBJ invocations to module description. + * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations. + * modules/xstrtol (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + xstrtold: Move AC_LIBOBJ invocations to module description. + * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation. + * modules/xstrtold (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + xstrtod: Move AC_LIBOBJ invocations to module description. + * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation. + * modules/xstrtod (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + xnanosleep: Move AC_LIBOBJ invocations to module description. + * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation. + * modules/xnanosleep (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + xgetcwd: Move AC_LIBOBJ invocations to module description. + * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation. + * modules/xgetcwd (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + xalloc: Move AC_LIBOBJ invocations to module description. + * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation. + * modules/xalloc (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + utimens: Move AC_LIBOBJ invocations to module description. + * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation. + * modules/utimens (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + utimecmp: Move AC_LIBOBJ invocations to module description. + * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation. + * modules/utimecmp (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + userspec: Move AC_LIBOBJ invocations to module description. + * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation. + * modules/userspec (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + unlinkdir: Move AC_LIBOBJ invocations to module description. + * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation. + * modules/unlinkdir (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + settime: Move AC_LIBOBJ invocations to module description. + * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation. + * modules/settime (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + savedir: Move AC_LIBOBJ invocations to module description. + * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation. + * modules/savedir (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + same: Move AC_LIBOBJ invocations to module description. + * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation. + * modules/same (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + readtokens: Move AC_LIBOBJ invocations to module description. + * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation. + * modules/readtokens (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + quotearg: Move AC_LIBOBJ invocations to module description. + * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation. + * modules/quotearg (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + quote: Move AC_LIBOBJ invocations to module description. + * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation. + * modules/quote (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + posixver: Move AC_LIBOBJ invocations to module description. + * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation. + * modules/posixver (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + posixtm: Move AC_LIBOBJ invocations to module description. + * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation. + * modules/posixtm (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + physmem: Move AC_LIBOBJ invocations to module description. + * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation. + * modules/physmem (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + mpsort: Move AC_LIBOBJ invocations to module description. + * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation. + * modules/mpsort (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + modechange: Move AC_LIBOBJ invocations to module description. + * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation. + * modules/modechange (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + mkancesdirs: Move AC_LIBOBJ invocations to module description. + * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation. + * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + mgetgroups: Move AC_LIBOBJ invocations to module description. + * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation. + * modules/mgetgroups (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + memxor: Move AC_LIBOBJ invocations to module description. + * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation. + * modules/memxor (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + memcoll: Move AC_LIBOBJ invocations to module description. + * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation. + * modules/memcoll (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + memcasecmp: Move AC_LIBOBJ invocations to module description. + * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation. + * modules/memcasecmp (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + idcache: Move AC_LIBOBJ invocations to module description. + * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation. + * modules/idcache (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + human: Move AC_LIBOBJ invocations to module description. + * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation. + * modules/human (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + getugroups: Move AC_LIBOBJ invocations to module description. + * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation. + * modules/getugroups (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + gettime: Move AC_LIBOBJ invocations to module description. + * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation. + * modules/gettime (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + getndelim2: Move AC_LIBOBJ invocations to module description. + * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation. + * modules/getndelim2 (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + filemode: Move AC_LIBOBJ invocations to module description. + * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation. + * modules/filemode (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + closeout: Move AC_LIBOBJ invocations to module description. + * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation. + * modules/closeout (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + closein: Move AC_LIBOBJ invocations to module description. + * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation. + * modules/closein (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + backupfile: Move AC_LIBOBJ invocations to module description. + * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation. + * modules/backupfile (Makefile.am): Augment lib_SOURCES. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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-05-08 Bruno Haible <bruno@clisp.org> + + 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-05-08 Bruno Haible <bruno@clisp.org> + + getline: Simplify. + * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM. + It's already handled through the module dependency. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-06 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-06 Bruno Haible <bruno@clisp.org> + + 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-05-06 Bruno Haible <bruno@clisp.org> + + _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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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-05-06 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-06 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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-05-21 Bruno Haible <bruno@clisp.org> + + 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-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-06-15 Paul Eggert <eggert@cs.ucla.edu> + + 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-06-14 Jim Meyering <meyering@redhat.com> + + 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. + +2011-06-13 Bruno Haible <bruno@clisp.org> + + 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-06-13 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>. + * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF. + * modules/ftoastr (configure.ac): Check for strtof. + +2011-06-13 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + fseeko: Simplify. + * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro. + (gl_FUNC_FSEEKO): Inline it here. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <aclv.h>. + (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 <aclv.h>. + (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 <bruno@clisp.org> + + 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 <http://debbugs.gnu.org/db/60/6053.html>. + +2011-06-12 Bruno Haible <bruno@clisp.org> + + spawn-pipe tests: Comments. + * tests/test-spawn-pipe-child.c (main): Update comment. + Reported by James Youngman <jay@gnu.org>. + +2011-06-11 James Youngman <jay@gnu.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + acl tests: Fix compilation error on HP-UX 11. + * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX. + +2011-06-09 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + perror: document fixed bugs + * doc/posix-functions/perror.texi (perror): Document recent + patches. + +2011-06-07 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + perror: Use common idiom. + * modules/perror (configure.ac): Reorder statements. + +2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com> + + 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 <stefano.lattarini@gmail.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <errno.h>. + (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 <bruno@clisp.org> + + careadlinkat: Avoid mismatch between ssize_t and int. + * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always. + * lib/careadlinkat.c (careadlinkatcwd): Define always. + +2011-06-06 Jim Meyering <meyering@redhat.com> + + 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. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + 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 <Jorn.Amundsen@ntnu.no>. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + 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. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + localename: Fix link dependencies. + * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD). + * modules/localename-tests (Makefile.am): Link test-localename with + $(LIBTHREAD). + +2011-06-05 Bruno Haible <bruno@clisp.org> + + error: Avoid gcc warning. + * lib/error.c (strerror_r): Declare also when its return type is 'int'. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + unsetenv: Avoid gcc warning. + * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + setenv: Avoid gcc warning. + * lib/setenv.c (setenv): Provide declaration if system lacks it. + +2011-06-05 Bruno Haible <bruno@clisp.org> + + sys_select: Ensure memset is declared also on AIX 7. + * lib/sys_select.in.h: Include <string.h> also on AIX. + * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not + self-contained also on AIX 7.1. + +2011-06-04 Jim Meyering <meyering@redhat.com> + + 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. + +2011-06-04 Bruno Haible <bruno@clisp.org> + + getopt: Avoid gcc warning. + * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'. + +2011-06-04 Bruno Haible <bruno@clisp.org> + + strerror_r: Fix comments. + * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01 + commit. + +2011-06-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2011-06-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + doc: Fix a module name. + * doc/posix-functions/open.texi: Fix module name 'nonblocking'. + +2011-06-02 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <stdlib.h> unconditionally, + since we use abort on some platforms. + Reported by Matthias Bolte. + +2011-05-31 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-05-31 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-05-29 Paul Eggert <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + trim: remove three superfluous assignments + * lib/trim.c (trim2): Remove three superfluous assignments + and correct brace positioning. + +2011-05-29 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-05-28 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + assert-h: Allow multiple gnulib generated replacements to coexist. + * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition. + +2011-05-29 Bruno Haible <bruno@clisp.org> + + 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 <string.h> or to rpl_strerror_r + by gnulib's <string.h> replacement), assume it has the POSIX signature, + not the glibc signature. + +2011-05-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2011-05-28 Bruno Haible <bruno@clisp.org> + + doc: Cleanup yet another file produced by texinfo.tex. + * doc/Makefile (mostlyclean): Remove also gnulib.cn. + +2011-05-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently. + +2011-05-26 Bruno Haible <bruno@clisp.org> + + mbsrchr: Avoid collision with system function on Interix. + * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix. + Reported by Markus Duft <mduft@gentoo.org>. + +2011-05-15 James Youngman <jay@gnu.org> + + 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 <eblake@redhat.com> + + 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-05-24 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>. + + 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 <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>. + +2011-05-24 Eric Blake <eblake@redhat.com> + + 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. + + closein-tests: convert to init.sh + * modules/closein-tests (Files): Add init.sh + * tests/test-closein.sh Use it. + + yesno-tests: convert to init.sh + * modules/yesno-tests (Files): Add init.sh. + * tests/test-yesno.sh: Use it. + + atexit-tests: ensure reliable exit status + * tests/test-atexit.sh: Prefer 'Exit' over 'exit'. + Reported by Bruno Haible. + +2011-05-24 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-24 Eric Blake <eblake@redhat.com> + + strerror_r: fix missing header + * lib/strerror_r.c: Avoid compiler warning about snprintf. + + strerror_r: fix AIX test failures + * lib/strerror_r.c (strerror_r): Convert silent truncation to + ERANGE failure. + + 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. + + 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. + +2011-05-24 Jim Meyering <meyering@redhat.com> + + test-perror2.c: avoid warning about unused variable + * tests/test-perror2.c (main): Remove declaration of unused "fp". + +2011-05-24 Eric Blake <eblake@redhat.com> + + perror: avoid spurious test failure on HP-UX + * tests/test-perror.sh: Use Exit to avoid wrong exit status. + + tests: fix logic bug in init.sh + * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful + shell. + +2011-05-24 Jim Meyering <meyering@redhat.com> + + 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" + + 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. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + idcache: Fix module description. + * modules/idcache (Include): Set to "idcache.h". + +2011-05-23 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>. + * gnulib-tool (func_modules_transitive_closure): Insert newlines in + sed_extract_condition1, sed_extract_condition2. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + hash: Simplify autoconf macro. + * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H. + +2011-05-23 Bruno Haible <bruno@clisp.org> + + getugroups: Fix module description. + * modules/getugroups (Include): Set to "getugroups.h". + +2011-05-23 Bruno Haible <bruno@clisp.org> + + linkat: Simplify autoconf macro. + * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK. + +2011-05-23 Bruno Haible <bruno@clisp.org> + Eric Blake <eblake@redhat.com> + + linkat, renameat: Update dependencies. + * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy. + * modules/linkat (Depends-on): Likewise. Remove also readlink, + symlinkat. + +2011-05-23 Jim Meyering <meyering@redhat.com> + + 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. + + 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-05-22 Paul Eggert <eggert@cs.ucla.edu> + + verify: fix bug when gnulib <assert.h> 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + xgetcwd: Simplify autoconf macro. + * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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 <time.h>): Add mktime-internal. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-22 Bruno Haible <bruno@clisp.org> + + timegm: Simplify autoconf macro. + * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R. + +2011-05-21 Paul Eggert <eggert@cs.ucla.edu> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + strerror_r: Fix comments. + * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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*. + + strerror_r: simplify AIX code + * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front. + + test-perror: avoid spurious failure on FreeBSD + * modules/perror-tests (Depends-on): Add strerror, now that + strerror_r no longer pulls it in. + +2011-05-20 Bruno Haible <bruno@clisp.org> + + strerror_r-posix: Remove unused dependencies. + * modules/strerror_r-posix (Depends-on): Remove strerror. + Reported by Eric Blake. + +2011-05-20 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>. + +2011-05-20 Eric Blake <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>. + +2011-05-19 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <stdlib.h>, 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + strerror_r: Avoid clobbering the strerror buffer when possible. + * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>. + (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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. + (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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + fnmatch: avoid compiler warning + * lib/fnmatch_loop.c (FCT): Use correct type. + Reported by Matthias Bolte. + +2011-05-13 Jim Meyering <meyering@redhat.com> + + maint.mk: three new prohibit_<HDR>_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 <meyering@redhat.com> + + 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 <P@draigBrady.com> + + * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler + reserved symbols starting with double underscore from the check. + +2011-05-17 Paul Eggert <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <sds@gnu.org> + and Eric Blake <eblake@redhat.com> + + vc-list-files: accept multiple directory operands + * build-aux/vc-list-files: Iterate over all remaining operands. + +2011-05-16 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 + <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an + unportable C89 function. + Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and + Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert. + +2011-05-16 Paul Eggert <eggert@cs.ucla.edu> + + * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better. + +2011-05-13 Paul Eggert <eggert@cs.ucla.edu> + + 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 <jay@gnu.org> + + 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 <drepper@gmail.com> + + 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 <eblake@redhat.com> + + 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 <eblake@redhat.com> + + test-fflush: silence compiler warning + * tests/test-fflush.c (main): Don't fclose a NULL pointer. + +2011-05-11 Bruno Haible <bruno@clisp.org> + + 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 <ryandesign@macports.org>. + +2011-05-11 Bruno Haible <bruno@clisp.org> + + group-member: Declare function in <unistd.h>. + * lib/unistd.in.h (group_member): New declaration. + * lib/group-member.h: Remove file. + * lib/group-member.c: Include <unistd.h> 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 <unistd.h>. + * 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 <bruno@clisp.org> + + group-member: Document module. + * doc/glibc-functions/group_member.texi: Mention the 'group-member' + module. + +2011-05-11 Bruno Haible <bruno@clisp.org> + + fclose: Fix mistake earlier today. + * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0. + +2011-05-11 Eric Blake <eblake@redhat.com> + + fclose: preserve fflush errors + * lib/fclose.c (rpl_fclose): Don't lose fflush errors. + Reported by Jim Meyering. + + 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. + + maint.mk: drop redundant check + * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does + the same but better. + +2011-05-11 Bruno Haible <bruno@clisp.org> + + 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. + +2011-05-11 Jim Meyering <meyering@redhat.com> + + 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-05-10 Eric Blake <eblake@redhat.com> + + fclose: avoid double close race when possible + * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on + all but WINDOWS_SOCKETS. + +2011-05-10 Bastien Roucariès <roucaries.bastien@gmail.com> + + openat: correct new comment + * lib/openat-proc.c (openat_proc_name): Correct the comment. + +2011-05-10 Jim Meyering <meyering@redhat.com> + + openat: add comments + * lib/openat-proc.c (openat_proc_name): Add comments, + mostly from Eric Blake. + +2011-05-09 Eric Blake <eblake@redhat.com> + + 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. + +2011-05-09 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + 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. + +2011-05-09 Simon Josefsson <simon@josefsson.org> + + * m4/gc.m4: Remove gl_PREREQ_GC (not used). Reported by Bruno + Haible <bruno@clisp.org>. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + Comments. + * m4/isnanf.m4: Add comment. + * m4/isnanl.m4: Likewise. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + glob: Remove obsolete macro. + * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro. + +2011-05-08 Paul Eggert <eggert@cs.ucla.edu> + + 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. + + 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__. + + * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming. + +2011-05-08 Jim Meyering <meyering@redhat.com> + + 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. + +2011-05-08 Bruno Haible <bruno@clisp.org> + + 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-05-07 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + fclose: Simplify autoconf macro. + * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is + defined. + +2011-05-07 Bruno Haible <bruno@clisp.org> + + canonicalize-lgpl: Fix autoconf macro ordering bug. + * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require + gl_STDLIB_H_DEFAULTS. + +2011-05-06 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <karl@gnu.org> + + * MODULES.html.sh (func_all_modules): remove exit. + +2011-05-06 Jim Meyering <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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: + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html> + + getgroups: Relicense under LGPL. + * modules/getgroups (License): Change to LGPL. + With permission from Jim Meyering, Paul Eggert, Eric Blake: + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html> + + nanosleep: Relicense under LGPL. + * modules/nanosleep (License): Change to LGPL. + With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno + Haible: + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html> + + futimens: Relicense under LGPL. + * modules/futimens (License): Change to LGPL. + With permission from Eric Blake: + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html> + + fflush: Relicense under LGPL. + * modules/fflush (License): Change to LGPL. + With permission from Eric Blake, Bruno Haible, Jim Meyering: + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html> + + tmpfile: Relicense under LGPL. + * modules/tmpfile (License): Change to LGPL. + With permission from Ben Pfaff: + <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html> + + isfinite: Relicense under LGPL. + * modules/isfinite (License): Change to LGPL. + With permission from Ben Pfaff, Bruno Haible: + <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html> + + 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: + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html> + <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html> + +2011-05-05 Bruno Haible <bruno@clisp.org> + + 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 <gnugv_maintainer@yahoo.de>. + +2011-05-05 Eric Blake <eblake@redhat.com> + + 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 <rrt@sc3d.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + test-getaddrinfo: report error information + * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf. + +2011-05-03 Jim Meyering <meyering@redhat.com> + + 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 <rrt@sc3d.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + fchdir: Remove unused dependencies. + * modules/fchdir (Depends-on): Remove include_next. + +2011-05-02 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * NEWS: Document removal of 'exit'. + * modules/exit: Remove file. + +2011-05-01 Bruno Haible <bruno@clisp.org> + + Update DEPENDENCIES. + * DEPENDENCIES (gettext): Recommend the newest release. + Reported by Simon Josefsson. + +2011-05-01 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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-04-30 Bruno Haible <bruno@clisp.org> + + dup3: cleanup + * lib/dup3.c: Remove old code, leftover from 2009-12-16. + +2011-04-30 Bruno Haible <bruno@clisp.org> + + 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. + +2011-04-30 Bruno Haible <bruno@clisp.org> + + 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-04-30 Bruno Haible <bruno@clisp.org> + + passfd: Add comments. + * lib/passfd.c: Add comments about platforms. + +2011-04-30 Bruno Haible <bruno@clisp.org> + + sys_uio: Make <sys/uio.h> self-contained. + * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>. + * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem. + +2011-04-30 Bruno Haible <bruno@clisp.org> + + sys_socket: Ensure 'struct iovec' definition. + * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have + <sys/socket.h>. + * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem. + +2011-04-30 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + manywarnings: fix indentation + * m4/manywarnings.m4: Indent by 2 spaces consistently. + +2011-04-30 Pádraig Brady <P@draigBrady.com> + + 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 <rrt@sc3d.org> + + announce-gen: cosmetic improvement + * build-aux/announce-gen: Strip any leading ./ from the NEWS file name. + +2011-04-29 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + maint.mk: remove unused VC-tag variable + * top/maint.mk (VC-tag): Remove unused variable. + +2011-04-29 Bruno Haible <bruno@clisp.org> + + netdb: fix gai_strerror replacements + * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions. + * modules/netdb: Substitute it. + +2011-04-29 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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. + + getsockopt: avoid compiler warning + * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw. + Reported by Matthias Bolte. + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + mkstemps: Ensure declaration on MacOS X 10.5. + * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested. + * doc/glibc-functions/mkstemps.texi: Document header file problem on + MacOS X. + +2011-04-27 Bruno Haible <bruno@clisp.org> + + mkstemp: More documentation. + * doc/posix-functions/mkstemp.texi: Document header file problem on + MacOS X. + +2011-04-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <rrt@sc3d.org> + and Eric Blake <eblake@redhat.com> + + 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 <eblake@redhat.com> + + passfd: avoid compiler warning + * lib/passfd.c (sendfd, recvfd): Avoid shadowing names. + Reported by Laine Stump. + +2011-04-27 J.T. Conklin <jtc@acorntoolworks.com> (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 <rrt@sc3d.org> + and Eric Blake <eblake@redhat.com> + + mkstemp: mention clean-temp module + * lib/mkstemp.c: Add comment. + * doc/posix-functions/mkstemp.texi (mkstemp): Likewise. + +2011-04-26 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html> + 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 <simon@josefsson.org> + + * modules/gnumakefile (configure.ac): Replace TAB with SPCs. + +2011-04-25 Bruno Haible <bruno@clisp.org> + + strtol, strtoul: Mark modules as obsolete. + * modules/strtol (Status, Notice): New sections. + * modules/strtoul (Status, Notice): New sections. + +2011-04-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + strcase: Make module obsolete. + * modules/strcase (Status, Notice): New sections. + +2011-04-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * modules/strnlen (Depends-on): Remove memchr. + The strnlen implementation doesn't need the memchr module's fixes; see + <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>. + + strtol: remove dependency on wchar + * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined. + * modules/strtol (Depends-on): Remove wchar. + +2011-04-21 Eric Blake <eblake@redhat.com> + + 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 <sys/un.h>. + (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 <sys/uio.h>; <sys/sockets.h> 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 <meyering@redhat.com> + + 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 <gscrivano@gnu.org> + + doc: update users.txt. + * users.txt: Add barcode. + +2011-04-19 Bruno Haible <bruno@clisp.org> + + 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 <unistd.h>. + (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 <errno.h>, 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pipe2: Simplify code. + * lib/pipe2.c (pipe2): Reduce code duplication. + +2011-04-17 Bruno Haible <bruno@clisp.org> + + nonblocking: Add comment. + * lib/fcntl.in.h (O_NONBLOCK): Add comment. + +2011-04-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + gettext: Clarify the needed programmer actions. + * modules/gettext (Notice): New field. + Suggested by Ben Pfaff <blp@cs.stanford.edu>. + +2011-04-16 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <rob.vermaas@gmail.com>. + +2011-04-14 Bruno Haible <bruno@clisp.org> + + Support non-blocking pipe I/O in read() on native Windows. + * lib/unistd.in.h: Include <sys/types.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + wchar: Ensure that wchar_t gets defined on uClibc. + * lib/wchar.in.h: On uClibc, include <stddef.h>. + Reported by Giuseppe Scrivano <gscrivano@gnu.org>. + +2011-04-13 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Support non-blocking pipe I/O and SIGPIPE in pwrite(). + * modules/pwrite (Depends-on): Add 'write'. + +2011-04-13 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + maint: fix doubled-word typo in comment + * m4/gethostname.m4: s/is is/it is/ + * m4/getdomainname.m4: Likewise. + +2011-04-10 Jim Meyering <meyering@redhat.com> + + maint: remove doubled word: s/it it/it/ + * lib/stat-time.h (get_stat_birthtime): s/it it/it/ + +2011-04-10 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + stdint test: Fix compilation failure on OSF/1 with DTK compiler. + * modules/stdint-tests (Depends-on): Add wchar. + +2011-04-10 Jim Meyering <meyering@redhat.com> + + 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 <mats.andersson@gisladisker.se> (tiny change) + + getaddrinfo: Fix test for sa_len member. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len, + include <sys/types.h> before <sys/socket.h>. + +2011-04-09 Paul Eggert <eggert@cs.ucla.edu> + + maint: change "can not" to "cannot" + * doc/posix-functions/iconv.texi (iconv): This one crossed line + boundaries. + +2011-04-09 Jim Meyering <meyering@redhat.com> + + maint: change "a a" to "a" + * tests/test-lchown.h (test_lchown): s/a a/a/ + + maint.mk: prohibit \<the the\> + * 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 <bruno@clisp.org> + + careadlinkat: Guard against misuse of careadlinkatcwd. + * lib/careadlinkat.c: Include <stdlib.h>. + (careadlinkatcwd): Check that the fd argument is as expected. + +2011-04-09 Bruno Haible <bruno@clisp.org> + + careadlinkat: Use common coding style. + * lib/careadlinkat.c: Move gnulib includes after system includes. + +2011-04-09 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + areadlinkat: Avoid link error on many platforms. + * modules/areadlinkat (Depends-on): Add areadlink. + +2011-04-09 Bruno Haible <bruno@clisp.org> + + allocator, careadlinkat: Fix double-inclusion guard. + * lib/allocator.h: Fix double-inclusion guard. + * lib/careadlinkat.h: Likewise. + +2011-04-09 Bruno Haible <bruno@clisp.org> + + 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]. + +2011-04-08 Eric Blake <eblake@redhat.com> + + strftime: silence gnulib-tool warning + * modules/strftime-tests (Depends-on): Drop automatic dependency. + +2011-04-08 Bruno Haible <bruno@clisp.org> + + 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. + +2011-04-08 Paul Eggert <eggert@cs.ucla.edu> + + 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 <stdlib.h>. + (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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>. + * lib/careadlinkat.c (careadlinkat): Adjust to renaming. + +2011-04-08 Eric Blake <eblake@redhat.com> + + 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 <eblake@redhat.com> + + binary-io: relicense under LGPLv2+ + * modules/binary-io (License): Relax to LGPLv2+. + Requested for libvirt, and required by pipe2. + +2011-04-06 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pipe2: Relicense under LGPLv2+. + * modules/pipe2 (License): Change to LGPLv2+. + Requested by Eric Blake, for libvirt. + +2011-04-05 Bruce Korb <bkorb@gnu.org> + + 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 <eblake@redhat.com> + + 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 <simon@josefsson.org> + + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger + sc_space_tab check. + +2011-04-05 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>. + +2011-04-01 Bruno Haible <bruno@clisp.org> + + 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 <bruce.korb@gmail.com>. + +2011-04-01 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <simon@josefsson.org>. + +2011-03-31 Bruno Haible <bruno@clisp.org> + and Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <berrange@redhat.com> via Eric Blake. + +2011-03-30 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + c-strcasestr: Relicense under LGPLv2+. + * modules/c-strcasestr (License): Change to LGPLv2+. + Requested by Eric Blake, for libvirt. + +2011-03-30 Simon Josefsson <simon@josefsson.org> + + * users.txt: Add libidn2. Fix libtasn1 link. + +2011-03-30 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <simon@josefsson.org> + + lib-symbol-visibility: Add a notice. + * modules/lib-symbol-visibility (Notice): New field. + +2011-03-29 Bruno Haible <bruno@clisp.org> + + getaddrinfo: Doc fix. + * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the + section "fixed in Gnulib". + +2011-03-28 Simon Josefsson <simon@josefsson.org> + + * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion. + Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>. + +2011-03-26 Bruno Haible <bruno@clisp.org> + + unictype/property-byname: Reduce the number of load-time relocations. + * lib/unictype/pr_byname.c: Include <stdlib.h>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <string.h>, + 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 <bruno@clisp.org> + + 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 <string.h>, + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + unictype: Update list of canonical combining classes. + * lib/unictype.in.h (UC_CCC_ATA): New enumeration value. + +2011-03-25 Bruno Haible <bruno@clisp.org> + + 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 <stdlib.h>, <string.h>, + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <rrt@sc3d.org> + + 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 <rrt@sc3d.org> + + posix-modules: say what it does. + * posix-modules: Add a line to the --help output saying what it does. + +2011-03-24 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>. + +2011-03-24 Eric Blake <eblake@redhat.com> + + realloc: document portability problem + * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of + passing 0 size to realloc. + +2011-03-23 Ben Walton <bwalton@artsci.utoronto.ca> + + doc: update users.txt + * users.txt: Add cvsps, tmpwatch + +2011-03-23 Matt Rice <ratmice@gmail.com> + + doc: update users.txt + * users.txt: Add gdb. + +2011-03-23 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + tests: add strftime-tests module + * tests/test-strftime.c: New file. + * modules/strftime-tests: New module. + +2011-03-20 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + stdio: don't require ignore_value around fwrite + + This patch works around libc bug 11959 + <http://sources.redhat.com/bugzilla/show_bug.cgi?id=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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2011-03-20 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + socklen: Update comment. + * m4/socklen.m4: Update comment about platforms. + +2011-03-19 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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. + +2011-03-19 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + ignore-value tests: Avoid warnings. + * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to + empty for gcc < 3.4. + +2011-03-13 Bruno Haible <bruno@clisp.org> + + 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. + +2011-03-13 Bruno Haible <bruno@clisp.org> + + passfd: Fix link error on AIX 5.2. + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT. + +2011-03-13 Bruno Haible <bruno@clisp.org> + + passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4. + * lib/sys_socket.in.h: Include <stddef.h>. + * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using + CMSG_FIRSTHDR. Remove unused variable. + +2011-03-13 Bruno Haible <bruno@clisp.org> + + passfd: Fix compilation error on OpenBSD. + * lib/passfd.c: Include <sys/uio.h>. + +2011-03-13 Bruno Haible <bruno@clisp.org> + + passfd test: Fix warnings. + * tests/test-passfd.c: Include <sys/wait.h>. + (main): Fix typo. + +2011-03-13 Bruno Haible <bruno@clisp.org> + + passfd module, part 4, tweaks. + * tests/test-passfd.c: Reorder includes. + (main): Fix perror and printf calls. + +2011-03-07 Bastien Roucariès <roucaries.bastien@gmail.com> + + passfd module, part 4. + * modules/passfd-tests: New file. + * tests/test-passfd.c: New file. + +2011-03-13 Jim Meyering <meyering@redhat.com> + + 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-03-13 Bastien Roucariès <roucaries.bastien@gmail.com> + Bruno Haible <bruno@clisp.org> + + passfd module, part 3. + * lib/passfd.h (recvfd): Add a flags argument. + * lib/passfd.c: Include <fcntl.h>, 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 <bruno@clisp.org> + + passfd module, part 2, tweaks. + * modules/passfd (Files): Reorder. + (Depends-on): Remove errno. + (Include): Remove <sys/socket.h>, <sys/un.h>. + * lib/passfd.h: Use a GPLv3+ header. Make C++ safe. + * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the + specification header. Include <sys/socket.h> always. Don't include + <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...". + (sendfd): Clarify that it sets errno when it fails. + (recvfd): Fix specification. + +2011-03-07 Bastien Roucariès <roucaries.bastien@gmail.com> + + passfd module, part 2. + * modules/passfd: New file. + * lib/passfd.h: New file. + * lib/passfd.c: New file. + +2011-03-12 Bruno Haible <bruno@clisp.org> + + wcswidth, mbswidth: Avoid integer overflow. + * lib/wcswidth.c: Include <limits.h>. + * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow. + * lib/mbswidth.c: Include <limits.h>. + (mbsnwidth): Avoid 'int' overflow. + Reported by Jim Meyering. + +2011-03-12 Bruno Haible <bruno@clisp.org> + + 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 <bwalton@artsci.utoronto.ca> via Eric Blake + in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>. + +2011-03-11 Jim Meyering <meyering@redhat.com> + + 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-03-11 Pádraig Brady <P@draigBrady.com> + + maint.mk: suppress a false positive warning + * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when + diagnostics are marked with ngettext. + +2011-03-10 Eric Blake <eblake@redhat.com> + + 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-03-08 Bruno Haible <bruno@clisp.org> + + 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 <roucaries.bastien@gmail.com> + + 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 <bruno@clisp.org> + + regex-quote: New API. + * lib/regex-quote.h: Include <stdbool.h>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + + Update AC_OPENMP macro for Lahey compiler on GNU/Linux. + * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf. + +2011-03-03 Bruce Korb <bkorb@gnu.org> + + 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-03-03 Matthew Booth <mbooth@redhat.com> + + bootstrap: honor m4_base when running aclocal + * build-aux/bootstrap: Fix hard-coded use of m4 directory name. + +2011-03-02 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + localcharset: Assume ANSI C behaviour of free(). + * lib/localcharset.c (get_charset_aliases): Remove NULL test before + calling free(). + Suggested by Simon Josefsson <simon@josefsson.org>. + +2011-02-28 Corinna Vinschen <vinschen@redhat.com> (tiny change) + Charles Wilson <cygwin@cwilson.fastmail.fm> (tiny change) + Bruno Haible <bruno@clisp.org> (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 <christian.roessel@gmx.de> (tiny change) + Markus Geimer <m.geimer@fz-juelich.de> (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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + 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 <stefano.lattarini@gmail.com> (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <nietzsche@lysator.liu.se>. + +2011-02-22 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <sys/vfs.h> + +# include <sys/vfs.h> + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + wcrtomb: Enhance test. + * tests/test-wcrtomb.c (main): Add test against bug with NULL argument. + +2011-02-20 Bruno Haible <bruno@clisp.org> + + mbrtowc: Tiny optimization. + * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed. + +2011-02-20 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + unictype/property-byname: Reduce the size of the 'data' segment. + * lib/unictype/pr_byname.gperf: Add gperf option '%pic'. + +2011-02-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + stdint: Update documentation. + * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem. + +2011-02-18 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + * NEWS: Mention 2011-02-08 change to stdlib. + +2011-02-17 Bruno Haible <bruno@clisp.org> + + getloadavg: Add comments about platforms. + * m4/getloadavg.m4: Add comment. + * lib/getloadavg.c: Likewise. + +2011-02-17 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>. + +2011-02-17 Bruno Haible <bruno@clisp.org> + + havelib: Fix comments. + * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02 + change. + +2011-02-17 Bruno Haible <bruno@clisp.org> + + havelib: Update config.rpath. + * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4. + +2011-02-17 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>. + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>. + * 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 <meyering@redhat.com> + + doc: update users.txt + * users.txt: Update iwhd's URL. + +2011-02-13 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + stdlib: don't get in the way of non-GCC __attribute__ + See thread starting at + <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>. + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <stdlib.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <ttn@gnuvola.org> + + doc: update users.txt + * users.txt: Add rcs. + +2011-02-10 John W. Eaton <jwe@gnu.org> + + doc: update users.txt + * users.txt: Add octave. + +2011-02-10 Jim Meyering <meyering@redhat.com> + + doc: update users.txt + * users.txt: Add iwhd. + +2011-02-09 Bruno Haible <bruno@clisp.org> + + 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 <rgm@gnu.org> via Paul Eggert. + +2011-02-06 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + flock: fix license typo + + * lib/flock.c: Fix typo in license. One of the "Lesser"s was + omitted. + +2011-02-08 Bruno Haible <bruno@clisp.org> + + 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 <bug-gnulib@mlists.thewrittenword.com>. + Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in + <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>. + +2011-02-08 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + stdlib: don't depend on stdint + * lib/stdlib.in.h: Don't include <stdint.h> 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>. + * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h. + Include <fcntl.h> 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + getloadavg: merge minor changes from Emacs + + * lib/getloadavg.c (getloadavg_initialized): More-accurate comment. + (getloadavg): Use memset, not bzero. + + 2008-07-25 Chong Yidong <cyd@stupidchicken.com> + * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h + clash (bug#86). + +2010-11-14 Bruno Haible <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2011-02-05 Eric Blake <eblake@redhat.com> + + 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 <bkorb@gnu.org> + + libposix: avoid calling error() within libposix + * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX + is defined. + +2011-02-05 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <string.h>. + (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 <P@draigbrady.com>. + +2011-01-31 Eric Blake <eblake@redhat.com> + + 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 <simon@josefsson.org> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>. + +2011-01-30 Simon Josefsson <simon@josefsson.org> + + ignore-value: Fix self-test. + * tests/test-ignore-value.c: Include sys/types.h for off_t. + +2011-01-29 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>. + * 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 + <http://sourceware.org/bugzilla/show_bug.cgi?id=6723> + (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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>. + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>. + (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 <eblake@redhat.com> + + 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 <simon@josefsson.org> + + 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 <eggert@cs.ucla.edu> + + 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. + + mktime: fix misspelling in comment + * lib/mktime.c (__mktime_internal): Fix misspelling in comment. + This merges all recent glibc changes of importance. + +2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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. + +2011-01-28 Bruce Korb <bkorb@gnu.org> + + * users.txt: Mention sharutils. + +2011-01-28 Simon Josefsson <simon@josefsson.org> + + * users.txt: Mention OATH Toolkit. + +2011-01-27 Bruno Haible <bruno@clisp.org> + + Prepare for supporting FreeBSD 10. + * build-aux/config.libpath: Remove handling of freebsd1*. + +2011-01-27 Gerald Pfeifer <gerald@pfeifer.com> (tiny change) + + Prepare for supporting FreeBSD 10. + * build-aux/config.rpath: Remove handling of freebsd1* which soon would + match FreeBSD 10.0. + +2011-01-27 Bruno Haible <bruno@clisp.org> + + 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 <sys/mman.h>. + (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. + +2011-01-26 Karl Berry <karl@gnu.org> + + * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new + variables to make it easier to override the makeinfo program used. + +2011-01-26 Eric Blake <eblake@redhat.com> + + 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. + +2011-01-26 Bruno Haible <bruno@clisp.org> + + 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. + +2011-01-26 Bruno Haible <bruno@clisp.org> + + Tests for module 'get-rusage-data'. + * modules/get-rusage-data-tests: New file. + * tests/test-get-rusage-data.c: New file. + + 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-01-25 Bruno Haible <bruno@clisp.org> + + 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. + +2011-01-25 Bruno Haible <bruno@clisp.org> + + 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. + +2011-01-25 Eric Blake <eblake@redhat.com> + + c-stack: fix regression on cygwin when libsigsegv is present + * lib/c-stack.c (die): Don't flatten error if sigsegv is present. + +2011-01-24 Bruno Haible <bruno@clisp.org> + + vma-iter: Avoid empty intervals. + * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback + on an empty interval. + +2011-01-24 Jim Meyering <meyering@redhat.com> + + u64: remove unnecessary #include + * lib/u64.h: Don't include <stddef.h>. It was not used. + +2011-01-23 Paul Eggert <eggert@cs.ucla.edu> + + Allow the user to avoid the HAVE_RAW_DECL_* macros. + * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro. + +2011-01-23 Bruno Haible <bruno@clisp.org> + + 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-01-23 Bruno Haible <bruno@clisp.org> + + uninorm: Tweak includes. + * lib/uninorm/normalize-internal.h: Don't include <stddef.h>. + Reported by Jim Meyering. + +2011-01-23 Bruno Haible <bruno@clisp.org> + + get-rusage-as: Improve on NetBSD. + * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use + /proc, like on FreeBSD. + +2011-01-23 Jim Meyering <meyering@redhat.com> + + xreadlink.h: remove unnecessary #include + * lib/xreadlink.h: Don't include <stddef.h>. It was not used. + + maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h> + * top/maint.mk (sc_prohibit_stddef_without_use): New rule. + +2011-01-23 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <bjmldn@gmail.com> (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 <eblake@redhat.com> + + strerror_r-posix: work with glibc 2.13 + * lib/strerror_r.c (strerror_r): Fix return type. + +2011-01-21 Pádraig Brady <P@draigBrady.com> + Bruno Haible <bruno@clisp.org> + + 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 <P@draigBrady.com> + Bruno Haible <bruno@clisp.org> + + 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 <string.h>. + (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 <P@draigBrady.com> + Bruno Haible <bruno@clisp.org> + + 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 <P@draigBrady.com> + + 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 <P@draigBrady.com> + + ignore-value: remove stdint dependency + * lib/ignore-value.h: Remove <stdint.h> + * modules/ignore-value: Remove stdint dependency. + +2011-01-21 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <mduft@gentoo.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <jwe@gnu.org>. + +2011-01-19 Paul Eggert <eggert@cs.ucla.edu> + + assume <ctype.h>, ..., <time.h> exist + For years gnulib has been assuming the existence of the headers + <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>, + <stdio.h>, <stdlib.h>, <string.h>, and <time.h>. Omit checks for + them, since they don't appear to be needed. + * README (Portability guidelines): Document this. + * lib/flock.c: Assume <fcntl.h> exists. + * lib/regex_internal.h: Assume <locale.h> exists. + * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists. + * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists. + * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise. + * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists. + * m4/regex.m4 (gl_REGEX): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists. + * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists. + * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists. + * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists. + * tests/test-argp.c: Likewise. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists. + + multiarch: remove AA_APPLE_UNIVERSAL_BUILD + * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE + AA_APPLE_UNIVERSAL_BUILD. See + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>. + * NEWS: Document this. + +2011-01-19 Eric Blake <eblake@redhat.com> + + 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: accomodate 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 <fcntl.h> rather + than blindly undefining O_TEXT. + Reported by Scott McCreary. + +2011-01-18 Paul Eggert <eggert@cs.ucla.edu> + + 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 <stddef.h> 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + *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 <bkorb@gnu.org> and + Gary V. Vaughan <gary@gnu.org>. + +2011-01-18 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>. + * 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + sigaction: relax license from LGPLv3+ to LGPLv2+ + * modules/sigaction (License): Relax to LGPLv2+. + +2011-01-14 Bruno Haible <bruno@clisp.org> + + filemode: Make function declarations usable in C++ mode. + * lib/filemode.h: Enclose function declarations in extern "C" block. + Reported by John W. Eaton <jwe@gnu.org>. + +2011-01-12 Rob Vermaas <rob.vermaas@gmail.com> + + 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 <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>. + + * 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 <bruno@clisp.org> + + doc: Update users.txt. + * users.txt: Add recutils. + +2011-01-09 Karl Berry <karl@gnu.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <kwzh@gnu.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + uninorm tests: Preserve copyright of Unicode data file. + * tests/uninorm/NormalizationTest.txt: Re-add original copyright. + Mention modifications. + +2011-01-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + remove test: Avoid failure on HP-UX 11. + * tests/test-remove.c (main): Allow EEXIST as alternative error code. + +2011-01-07 Bruno Haible <bruno@clisp.org> + + 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 <P@draigBrady.com> + + 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 <eblake@redhat.com> + + 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 <P@draigBrady.com> + and Jim Meyering <meyering@redhat.com> + + ignore-value: make ignore_value more generic; deprecate ignore_ptr + * lib/ignore-value.h: Include <stdint.h>, 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 <eblake@redhat.com> + + 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 <address@hidden> + + 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-01-03 Ben Pfaff <blp@cs.stanford.edu> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bkorb@gnu.org> + + * build-aux/update-copyright: doc Simon's changes + +2011-01-02 Simon Josefsson <simon@josefsson.org> + + * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER + environment variable. + +2011-01-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + tcgetsid: Correct linkage in C++ mode on HP-UX 11.00. + * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with + C linkage. + * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug. + +2011-01-01 Ben Pfaff <blp@cs.stanford.edu> + + 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 <blp@cs.stanford.edu> + + 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 <blp@cs.stanford.edu> + + * unigbrk.in.h: Fix typo: "ben" => "been". + Reported by Bruno Haible. + +2011-01-01 Jim Meyering <meyering@redhat.com> + + maint: update almost all copyright ranges to include 2011 + Run the new "make update-copyright" rule. + +2011-01-01 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <blp@cs.stanford.edu> + + 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 <blp@cs.stanford.edu> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-31 Eric Blake <eblake@redhat.com> + + 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. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + iconv: Document HP-UX 11 bug. + * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + ldexpl: Fix link error on HP-UX 11. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set + LDEXPL_LIBM, using $ISNANL_LIBM. + +2010-12-31 Eric Blake <eblake@redhat.com> + + ftello: avoid compilation failure with SunStudio c89 + * lib/ftello.c (ftello): Use lseek, not llseek. + + tests: avoid failing coreutils tests on cygwin + * tests/init.sh (find_exe_basenames_): Exempt [.exe. + (create_exe_shims_): Return 0 when skipping. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + sys_select: Avoid warning about missing memset declaration on HP-UX 11. + * lib/sys_select.in.h: On HP-UX, include also <string.h>. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + waitpid: Fix link error in C++ mode. + * lib/sys_wait.in.h: Remove extern "C" { ... } group. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + isnand: Fix mistake. + * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not + __builtin_isnand. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + open: Avoid C++ error on HP-UX 11. + * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX. + +2010-12-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-29 Eric Blake <eblake@redhat.com> + + mountlist: tweak previous commit + * lib/mountlist.c (me_remote): Guarantee trailing backslash. + Reported by Paul Eggert. + + mountlist: fix local drive detection on cygwin + * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation + that works for cygwin. + +2010-12-29 Paul Eggert <eggert@cs.ucla.edu> + + 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. + +2010-12-28 Paul Eggert <eggert@cs.ucla.edu> + + 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. + + tests: minor indenting change + * tests/init.sh: Sync from coreutils housekeeping patch + <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html> + to keep lines within 80 columns. + +2010-12-28 Jim Meyering <meyering@redhat.com> + + 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 + +2010-12-28 Bruno Haible <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + 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. + +2010-12-26 Ben Pfaff <blp@cs.stanford.edu> + + New module 'unigbrk/base'. + * modules/unigbrk/base: New file. + * lib/unigbrk.in.h: New file. + + 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. + + 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 <bruno@clisp.org>. + +2010-12-27 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>. + +2010-12-27 Bruno Haible <bruno@clisp.org> + + select tests: Improve comments. + * tests/test-select.c (do_select): Add comments. + +2010-12-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + select tests: Use 'bool' where appropriate. + * tests/test-select.c (connect_to_socket): Change argument type to + 'bool'. + +2010-12-27 Bruno Haible <bruno@clisp.org> + + 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 <unistd.h> always. Use pipe() as + declared in <unistd.h>. + +2010-12-27 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-27 Jim Meyering <meyering@redhat.com> + + read-file.c: tweak syntax + * lib/read-file.c (fread_file): Remove space after "*" in function + definitions. + +2010-12-27 Bruno Haible <bruno@clisp.org> + + times test: Avoid gcc warnings on OSF/1. + * tests/test-times.c (main): Cast printf arguments from clock_t to + 'long int'. + +2010-12-27 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>. + +2010-12-26 Bruno Haible <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-26 Bruno Haible <bruno@clisp.org> + + inet_ntop, inet_pton: Ensure declaration on NonStop Kernel. + * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>. + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise. + * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> 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. + +2010-12-26 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + strerror_r-posix: Update doc. + * doc/posix-functions/strerror_r.texi: Update doc about the return + value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>. + +2010-12-25 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + ptsname: Avoid ERANGE failure on some systems. + * lib/ptsname.c (buffer): Increase size. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + iswblank: Fix C++ link error on Solaris 8. + * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or + _GL_FUNCDECL_SYS. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + unistd: Fix C++ link error on Solaris 8. + * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS). + +2010-12-25 Bruno Haible <bruno@clisp.org> + + readlink doc: Mention an old glibc bug. + * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450). + +2010-12-25 Bruno Haible <bruno@clisp.org> + + fcntl-h: Fix for use of C++ on glibc systems. + * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h> + also on glibc systems in C++ mode. + Reported by Gary V. Vaughan <gary@gnu.org>. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + roundl-ieee: Make it work on OSF/1 5.1 with cc. + * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + Ensure all prerequisites of <wchar.h> are included. + * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h> + before <wchar.h>. + * 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. + +2010-12-25 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + ceil, trunc, round: Fix gcc warnings. + * lib/ceil.c (MIN): Undefine before redefining. + * lib/trunc.c (MIN): Likewise. + * lib/round.c (MIN): Likewise. + Include <math.h> first. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + gethostname: Ensure declaration on NonStop Kernel. + * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems. + Reported by Joachim Schmitz <jojo@schmitz-digital.de>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + sys_select: Ensure all necessary types on NonStop Kernel. + * lib/sys_select.in.h: If the system does not have <sys/select.h>, + include <sys/time.h>. + * doc/posix-headers/sys_select.texi: Mention that it's missing on + NonStop Kernel. + Reported by Joachim Schmitz <jojo@schmitz-digital.de>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + sys_select: Remove unneeded include. + * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that + have <sys/select.h>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-24 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + *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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts + * modules/sigpipe (License): Relax license. + +2010-12-22 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + ptsname: Avoid test failure on OSF/1 5.1. + * modules/ptsname-tests (Depends-on): Add 'same-inode'. + * tests/test-ptsname.c: Include <sys/stat.h>, 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 <bruno@clisp.org> + + 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 <jojo@schmitz-digital.de>. + +2010-12-22 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + getaddrinfo: Update doc. + * doc/posix-functions/gai_strerror.texi: Return type is also different + on AIX and HP-UX. + +2010-12-22 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + math: Fix indentation. + * lib/math.in.h (floorf): Fix indentation. + +2010-12-21 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + ftoastr: fix comment again + * lib/ftoastr.h: Fix typo in comment. Noted by Ben Pfaff in + <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>. + Also, simplify example a bit by using flags = 0. + +2010-12-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <errno.h>. + (main): Avoid test failure on HP-UX 11.11. + * tests/test-getlogin_r.c (main): Likewise. + +2010-12-20 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-20 Bruno Haible <bruno@clisp.org> + + wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t. + * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs + through wcrtomb. + +2010-12-19 Paul Eggert <eggert@cs.ucla.edu> + + ftoastr: fix comment + * lib/ftoastr.h: Fix typo in comment. Noted by Ben Pfaff in + <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + ldexpl test: Fix link error on OSF/1 5.1. + * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + iconv_open: Fix regression from 2010-12-04. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo. + Reported by Noah Lavine <noah.b.lavine@gmail.com>. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + stdbool test: Avoid a gcc warning. + * tests/test-stdbool.c (main): Fail if e1 is false. + Reported by Jim Meyering. + +2010-12-19 Jim Meyering <meyering@redhat.com> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ianb@erislabs.net>. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + unistr/u8-mbsnlen: Add missing dependency. + * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc. + Reported by Ian Beckwith <ianb@erislabs.net>. + +2010-12-19 Bruno Haible <bruno@clisp.org> + + 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 <ianb@erislabs.net>. + +2010-12-18 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <P@draigBrady.com> + + 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 <P@draigBrady.com> + Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <P@draigBrady.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pipe-posix: Make it work in C++ mode. + * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Update internal documentation. + * m4/README: Document new idioms for AC_RUN_IFELSE invocations. + +2010-12-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + nproc: Relax license. + * modules/nproc (License): Change to LGPL, with consent by Glen Lenker + and Paul Eggert. + Requested by Ludovic Courtès <ludo@gnu.org>. + +2010-12-01 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>. + +2010-11-30 Bruno Haible <bruno@clisp.org> + + strerror_r-posix: Fix autoconf test. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo. + +2010-11-28 Bruno Haible <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + getdomainname: Use the system function when possible. + * lib/unistd.in.h: Include <netdb.h>, 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 <limits.h> and <sys/systeminfo.h>. + (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 <netdb.h>. 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 + <sys/systeminfo.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + readline: Improve configure output. + * m4/readline.m4 (gl_FUNC_READLINE): Make the + "checking for readline..." result understandable. + +2010-11-27 Bruno Haible <bruno@clisp.org> + + *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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + ftoastr: Fix compilation error on Solaris. + * lib/ftoastr.c: Include <config.h>. + +2010-11-27 Bruno Haible <bruno@clisp.org> + + getloadavg: Update documentation. + * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem. + +2010-11-27 Bruno Haible <bruno@clisp.org> + + sys_socket: Fix test whether the functions are declared. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>, + not <sys/select.h>. + +2010-11-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + ftoastr: comment fix + * lib/ftoastr.c: "little" -> "little or no" in comment + +2010-11-24 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>. + * 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 <bruno@clisp.org> + + 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 <blp@cs.stanford.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <joeldenny@joeldenny.org> + + bootstrap: add bootstrap_sync option. + See discussion at + <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>, + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>. + * 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 <bruno@clisp.org> + + Ensure that <features.h> is included before __GLIBC__ is tested. + * lib/printf-parse.h: Include <features.h>. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H. + Reported by Mike Frysinger <vapier@gentoo.org>. + + Ensure that <features.h> is included before __GLIBC__ is tested. + * lib/wchar.in.h: Include <features.h>. + * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H. + * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H. + Reported by Mike Frysinger <vapier@gentoo.org>. + + Ensure that <features.h> is included before __GLIBC__ is tested. + * lib/arpa_inet.in.h: Include <features.h>. + * 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 <vapier@gentoo.org>. + + Ensure that <features.h> is included before __GLIBC__ is tested. + * build-aux/link-warning.h: Include <features.h>. + * modules/link-warning (configure.ac): Require gl_FEATURES_H. + (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h. + Reported by Mike Frysinger <vapier@gentoo.org>. + + Ensure that <features.h> is included before __GLIBC__ is tested. + * m4/gnulib-common.m4 (gl_FEATURES_H): New macro. + Reported by Mike Frysinger <vapier@gentoo.org>. + +2010-11-20 Bruno Haible <bruno@clisp.org> + + memmem: Fix autoconf test. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM. + +2010-11-20 Bruno Haible <bruno@clisp.org> + + 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 <vapier@gentoo.org>. + +2010-11-20 Bruno Haible <bruno@clisp.org> + + nproc: Fix condition. + * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not + HAVE_PTHREAD_AFFINITY_NP. + +2010-11-20 Bruno Haible <bruno@clisp.org> + + Fix a comment. + * lib/vasnprintf.c (VASNPRINTF): Fix comment. + +2010-11-19 Paul Eggert <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + test-rename.h: fix compilation failure + * tests/test-rename.h (test_rename): Add omitted "}". + +2010-11-17 Jim Meyering <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>. + * 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 <bruno@clisp.org> + + 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 <bug-gnulib@mlists.thewrittenword.com>. + +2010-11-17 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + bootstrap: port to Solaris sed + * build-aux/bootstrap (get_version): Port to Solaris sed. + See Ralf Wildenhues's note in + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>. + +2010-11-14 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <dirent.h>. + * tests/test-renameat.c: Likewise. + Reported by Gary V. Vaughan <gary@gnu.org>. + + rename, renameat: Document Linux bug with NFS + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>. + * 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 <bruno@clisp.org> + + rename test: Add comments. + * tests/test-rename.h (test_rename): Add structure and comments. + +2010-11-13 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2010-11-13 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + fcntl-h: Fix for use of C++ on glibc systems. + * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h> + also on glibc systems in C++ mode. + Reported by Gary V. Vaughan <gary@gnu.org>. + +2010-11-11 Christian Weisgerber <naddy@mips.inka.de> (tiny change) + + mknod: avoid false failure with dash + * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax. + +2010-11-11 Paul Eggert <eggert@cs.ucla.edu> + + unlink: Fix "is it should" typo in diagnostic. + * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>. + +2010-11-11 Bruno Haible <bruno@clisp.org> + + 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 <Torsten.Scheck@Leica-Microsystems.com> (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 <bruno@clisp.org> + + * doc/posix-functions/strerror.texi: List more failing platforms. + + * doc/posix-functions/strerror.texi: Add a comment. + +2010-11-07 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html> + <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html> + and for tar 1.25 + <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>. + +2010-11-07 Bruno Haible <bruno@clisp.org> + + 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 <ttn@gnuvola.org> (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 <eblake@redhat.com> + + 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 <eblake@redhat.com> + + 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 <eblake@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <ajs@redhat.com> for use in netcf. + +2010-10-26 Bruno Haible <bruno@clisp.org> + + unistd: Refine workaround from 2009-12-23 against Cygwin bug. + * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on + Cygwin and mingw. + Suggested by Eric Blake. + +2010-10-26 Bruno Haible <bruno@clisp.org> + + stdio: Work around compilation error due to renameat() on Solaris 10. + * lib/stdio.in.h: Include <unistd.h> on Solaris. + * lib/renameat.c: Don't include <unistd.h> here. + * doc/posix-functions/renameat.texi: Mention the Solaris problem. + Reported by Paul Eggert and Eric Blake. + +2010-10-26 Paul Eggert <eggert@cs.ucla.edu> + + 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 <naddy@mips.inka.de> (tiny change) + + fdopendir: fix C89 compilation + * lib/fdopendir.c (fd_clone_opendir): Move declaration for older + compilers. + +2010-10-23 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + userspec: Drop redundant file. + * modules/userspec (Files): Remove lib/inttostr.h. + +2010-10-17 Bruno Haible <bruno@clisp.org> + + nl_langinfo tests: Silence some warnings. + * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings. + Reported by Jim Meyering. + +2010-10-17 Bruno Haible <bruno@clisp.org> + + 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. + +2010-10-16 Joel E. Denny <joeldenny@joeldenny.org> + + 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. + +2010-10-16 Bruno Haible <bruno@clisp.org> + + nextafter: Fix configure check. + * modules/nextafter (configure.ac): Correct expected prototype. + +2010-10-16 Bruno Haible <bruno@clisp.org> + + termios: Update documentation. + * doc/posix-headers/termios.texi: Mention remaining mingw problems. + +2010-10-16 Bruno Haible <bruno@clisp.org> + + tests: Make them compile with TinyCC. + * tests/test-strstr.c (main): Remove parentheses around array + initializer. + +2010-10-15 Eric Blake <eblake@redhat.com> + + ignore-value: make header idempotent + * lib/ignore-value.h: Add double-inclusion guards. + Reported by Stefan Berger. + +2010-10-15 Jim Meyering <meyering@redhat.com> + + 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. + +2010-10-15 Ludovic Courtès <ludo@gnu.org> + + * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C' + & co. + +2010-10-14 Bruno Haible <bruno@clisp.org> + + 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 <sherpya@netfarm.it>. + +2010-10-14 Bruno Haible <bruno@clisp.org> + + socketlib: Fix. + * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for + gl_PREREQ_SYS_H_WINSOCK2. + Reported by Ian Beckwith <ianb@erislabs.net>. + +2010-10-13 Jim Meyering <meyering@redhat.com> + + test-select-stdin.c: avoid warn_unused_result warnings + * tests/test-select-stdin.c: Include "macros.h". + ASSERT that read and fflush succeed. + +2010-10-13 Jim Meyering <meyering@redhat.com> + + 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 + +2010-10-13 Paul Eggert <eggert@cs.ucla.edu> + + 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. + +2010-10-13 Eric Blake <eblake@redhat.com> + + 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. + +2010-10-13 Jim Meyering <meyering@redhat.com> + + 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 + + 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. + + test-symlinkat: remove declaration of unused local + * tests/test-symlinkat.c (main): Remove unused local, "buf". + + 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. + +2010-10-11 Bruno Haible <bruno@clisp.org> + + stdlib: Allow multiple gnulib generated replacements to coexist. + * lib/stdlib.in.h (struct random_data): Avoid identical redefinition. + Reported by Sam Steingold <sds@gnu.org>. + +2010-10-11 Jim Meyering <meyering@redhat.com> + + fix a documentation typo + * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/ + +2010-10-11 Eric Blake <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + Indentation. + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent + higher-level operators more to the left. + +2010-10-11 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + Indentation. + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve + indentation. + +2010-10-11 Jim Meyering <meyering@redhat.com> + + 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 <gary@gnu.org> + + Fix mismatched parens in previous commit + * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched + parens. + +2010-10-10 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5. + * lib/sys_select.in.h: Include <string.h> also on OpenBSD. + +2010-10-08 Bruno Haible <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + string, sys_select: Avoid #including large headers unless necessary. + * lib/string.in.h: Don't include <unistd.h> except on NetBSD. + * lib/sys_select.in.h: Don't include <string.h> except on Solaris, + OSF/1, BeOS, Haiku. + Reported by Jim Meyering. + +2010-10-05 Eric Blake <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <time.h>): 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@ + * Makefile (sc_pragma_columns): New syntax-check rule. + +2010-10-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <schmitz@hp.com>. + +2010-10-03 Bruno Haible <bruno@clisp.org> + + 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 <bruce.korb@gmail.com>. + +2010-10-03 Paul Eggert <eggert@cs.ucla.edu> + + 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 <rrt@sc3d.org> + + 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 <bruno@clisp.org> + Joachim Schmitz <schmitz@hp.com> (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 <bruno@clisp.org> + + Info about ACLs on NonStop Kernel. + * doc/acl-resources.txt: Add info about NonStop Kernel. + References by Joachim Schmitz <schmitz@hp.com>. + +2010-10-02 Bruno Haible <bruno@clisp.org> + + 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 <schmitz@hp.com>. + +2010-10-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + New module 'system-posix'. + * modules/system-posix: New file. + * lib/stdlib.in.h: Include <sys/wait.h> 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 <sds@gnu.org>. + +2010-09-30 Bruno Haible <bruno@clisp.org> + + 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 <time.h>): 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 <jclift@redhat.com> (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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <tmacchant5@yahoo.co.jp>. + +2010-09-29 Bruno Haible <bruno@clisp.org> + + New module 'waitpid'. + * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h. + * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h. + Don't include <process.h>. + (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 <tmacchant5@yahoo.co.jp>. + +2010-09-28 Bruno Haible <bruno@clisp.org> + + poll: Assume ANSI C. + * lib/poll.c (poll): Use an ANSI C declaration. + +2010-09-28 Bruno Haible <bruno@clisp.org> + + 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 <poll.h>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + sys_wait: Implement WSTOPSIG. + * lib/sys_wait.in.h (WSTOPSIG): New macro. + Reported by Simon Josefsson. + +2010-09-26 Simon Josefsson <simon@josefsson.org> + + stdlib, sys_wait: Avoid compilation error on mingw. + * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM. + +2010-09-26 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + 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 <rrt@sc3d.org>. + +2010-09-24 Bruno Haible <bruno@clisp.org> + + unistr/u8-strchr: Fix a test failure on i586 glibc systems. + * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check. + +2010-09-23 Bruno Haible <bruno@clisp.org> + + setenv: Relax license. + * modules/setenv (License): Change to LGPLv2+, with consent by Eric + Blake. + Requested by Eric Blake. + +2010-09-22 Bruno Haible <bruno@clisp.org> + + termios: Relax license. + * modules/termios (License): Change to LGPLv2+. + Requested by Eric Blake. + +2010-09-22 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-22 Pádraig Brady <P@draigbrady.com> + Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-22 Bruno Haible <bruno@clisp.org> + + Tests for module 'memcoll'. + * modules/memcoll-tests: New file. + * tests/test-memcoll.c: New file, based on tests/test-memcmp.c. + + 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. + +2010-09-22 Bruno Haible <bruno@clisp.org> + + Tests for module 'memcasecmp'. + * modules/memcasecmp-tests: New file. + * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c. + +2010-09-22 Paul Eggert <eggert@cs.ucla.edu> + + * lib/pthread.in.h: Add split double-inclusion guard, and include + system <pthread.h> 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.h>. + (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. + +2010-09-21 Eric Blake <eblake@redhat.com> + + 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. + +2010-09-21 Reuben Thomas <rrt@sc3d.org> + + * doc/gnulib.texi (Out of memory handling): Rewrite section to be + about gnulib, not GSS. + +2010-09-21 Reuben Thomas <rrt@sc3d.org> + + * 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. + +2010-09-21 Simon Josefsson <simon@josefsson.org> + + * tests/test-net_if.c: New file. + * modules/net_if-tests: New file. + +2010-09-20 Paul Eggert <eggert@cs.ucla.edu> + + pthread: add pthread_spin_destroy + * lib/pthread.in.h (pthread_spin_destroy): New function. + +2010-09-19 Bruno Haible <bruno@clisp.org> + + gnulib-tool: Fix --help output. + * gnulib-tool (func_usage): Fix help message. + Reported by Reuben Thomas <rrt@sc3d.org>. + +2010-09-18 Jim Meyering <meyering@redhat.com> + + 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. + +2010-09-18 Bruno Haible <bruno@clisp.org> + + netinet_in: Doc tweak. + * doc/posix-headers/netinet_in.texi: Mention an affected platform. + Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>. + +2010-09-18 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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: accomodate 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. + +2010-09-17 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + unlockpt: Fix declaration within GNULIB_POSIXCHECK. + * lib/stdlib.in.h (unlockpt): Fix warning declaration. + +2010-09-16 Bruno Haible <bruno@clisp.org> + + 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 <mats.andersson@gisladisker.se>. + +2010-09-16 Bruno Haible <bruno@clisp.org> + + login_tty: Make the replacement code work on BSD systems. + * lib/login_tty.c: Include <sys/ioctl.h>. + (login_tty): Use ioctl TIOCSCTTY when available. + * modules/login_tty (Depends-on): Add sys_ioctl. + Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>. + +2010-09-16 Bruno Haible <bruno@clisp.org> + + 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 <mats.andersson@gisladisker.se>. + +2010-09-16 Bruno Haible <bruno@clisp.org> + + 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 <sys/types.h>. + (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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + Fix typos in comments. + * lib/striconveh.h: Fix typo in comment. + * lib/login_tty.c (login_tty): Likewise. + +2010-09-15 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <P@draigbrady.com>. + +2010-09-14 Eric Blake <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>. + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>. + +2010-09-10 Paolo Bonzini <bonzini@gnu.org> + + 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 <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2010-09-10 Bruno Haible <bruno@clisp.org> + + relocatable-prog-wrapper: Fix compilation failure due to O_EXEC. + * lib/progreloc.c (O_EXEC): Define fallback. + +2010-09-10 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <sys/types.h> before <libutil.h>. + * m4/pty_h.m4 (gl_PTY_H): Likewise. + * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>. + Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable + ac_includes_default. + Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>. + +2010-09-09 Eric Blake <eblake@redhat.com> + + strsignal: work around NetBSD bug + * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>. + * 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <rrt@sc3d.org> + + * 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <karl@gnu.org> + + * doc/gnulib-tool.texi (Modified imports): doc tweaks. + +2010-09-05 Bruno Haible <bruno@clisp.org> + + uniwidth/width: Update comment. + * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1. + Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>. + +2010-09-05 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Initial import): Update paragraph about + separate gnulib.mk. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + gnulib-tool: Don't talk about CVS any more. + * gnulib-tool (func_usage, func_import): Write "version control" + instead of CVS. + +2010-09-04 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-04 Jim Meyering <meyering@redhat.com> + + tests: prohibit augmenting PATH via TESTS_ENVIRONMENT + * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + strdup: Fix compilation error in C++ mode. + * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine + the macro. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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 <jarno.rajahalme@nsn.com>. + +2010-09-04 Bruno Haible <bruno@clisp.org> + + 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. + +2010-09-04 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change) + + 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. + +2010-09-02 Paul Eggert <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + 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. + +2010-09-02 Eric Blake <eblake@redhat.com> + + 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. + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2010-09-01 Bruno Haible <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2010-09-01 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2010-08-31 Eric Blake <eblake@redhat.com> + and Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + gettext: Fix recent mistake. + * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26. + +2010-08-29 Bruno Haible <bruno@clisp.org> + + 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 <johan.hattne@utsouthwestern.edu>. + +2010-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Update modules list. + * MODULES.html.sh (Memory management functions <stdlib.h>): Add + malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc. + (String handling <string.h>): Add astrxfrm. + (File system functions): Add readlinkat. + +2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + pread, pwrite: add missing dependency + * modules/pread (Depends-on): Add extensions. + * modules/pwrite (Depends-on): Likewise. + +2010-08-28 Bruno Haible <bruno@clisp.org> + + 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 <ianb@erislabs.net>. + +2010-08-28 Bruno Haible <bruno@clisp.org> + + 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 <gscrivano@gnu.org> + Eric Blake <eblake@redhat.com> + Bruno Haible <bruno@clisp.org> + + read-file: Avoid memory reallocations with regular files. + * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>. + (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 <bruno@clisp.org> + + ftello: Relax license. + * modules/ftello (License): Relax to LGPLv2+. + Reported by Eric Blake. + +2010-08-28 Bruno Haible <bruno@clisp.org> + + 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 <blp@cs.stanford.edu>. + +2010-08-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de>. + +2010-08-27 Eric Blake <eblake@redhat.com> + + login_tty: add missing dependency + * modules/login_tty (Depends-on): Add pty. + +2010-08-26 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <kusmabite@gmail.com> + + poll: return immediately on POLLHUP. + * lib/poll.c (poll): Always set timeout before wait_timeout is + computed. + +2010-08-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <eggert@cs.ucla.edu> + + stdbool: avoid spurious failure with modern xlc + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf. + +2010-08-24 Bruno Haible <bruno@clisp.org> + + getloadavg: simplify code + * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of + gl_have_func. Update comments. + +2010-08-24 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + priv-set: fix comment + * lib/priv-set.c (priv_set_restore): Fix typo in comment. + +2010-08-23 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eblake@redhat.com> + + stdbool: avoid rejecting clang + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf. + * tests/test-stdbool.c: Enable more tests if using the system + <stdbool.h> 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 <bonzini@gnu.org> + Erik Faye-Lund <kusmabite@gmail.com> + + 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 <gscrivano@gnu.org> + + fts: allow compilation with C++ + * lib/fts_.h: Specify extern "C" linkage with C++. + +2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <eblake@redhat.com> + + 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. + +2010-08-15 Bruno Haible <bruno@clisp.org> + + 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 <jeremyhu@macports.org>. + +2010-08-14 Bruno Haible <bruno@clisp.org> + + 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 <string.h>): 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 <bruno@clisp.org> + + 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 <rrt@sc3d.org> + + 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 <bjg@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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 <matthias.bolte@googlemail.com> + + 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 <karl@gnu.org> + + * 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 <eggert@cs.ucla.edu> + + 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 <P@draigbrady.com> + and Eric Blake <eblake@redhat.com> + + 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 <eblake@redhat.com> + + 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 <karl@gnu.org> + + * build-aux/ar-lib: new file, import from Automake. + * config/srclist.txt: autocheck for updates. + +2010-08-09 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu>. + +2010-08-07 Karl Berry <karl@gnu.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + link: Update documentation. + * doc/posix-functions/link.texi: Update regarding Solaris. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + Update modules list. + * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort. + (String handling <string.h>): Add memcmp2, memxfrm. + (Container data structures): Add xlist, xsublist, xoset. + (Core language properties): Add alignof, unused-parameter. + (Process control, Numeric conversion functions <stdlib.h>): Renamed + from Numeric conversion functions <stdlib.h>. Add _Exit, atoll. + (Unibyte characters <ctype.h>): New section. + (String handling <string.h>): New section. + (Mathematics <math.h>): 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + posix-modules: Ignore backup files of documentation files. + * posix-modules: grep only through files named *.texi. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + symlinkat: Fix documentation. + * doc/posix-functions/readlinkat.texi: Fix module name. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-31 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Eric Blake <eblake@redhat.com> + + 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. + + futimens: fix configure check + * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic. + Reported by Bruno Haible. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + getline: Update regarding AIX. + * doc/posix-functions/getline.texi: Mention bug on AIX 7.1. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + wcwidth: Drop replacement on AIX 7. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on + AIX 7. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + strndup: Update regarding AIX. + * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on + AIX 7. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + truncl: Fix autoconf test. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing + whether truncl works. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + printf.m4: Update regarding AIX. + * m4/printf.m4: Update comments regarding AIX. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + iconv: Update regarding AIX. + * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on + AIX 7. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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-07-30 Bruno Haible <bruno@clisp.org> + + ldexpl; Update regarding AIX. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes + on AIX 7. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + frexpl: Update regarding AIX. + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes + on AIX 7. + Reported by Rainer Tammer. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + 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. + +2010-07-30 Eric Blake <eblake@redhat.com> + + 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. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + mbrlen: Fix cross-compilation guess for AIX. + * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation + guess. Leftover from 2008-12-22. + +2010-07-30 Bruno Haible <bruno@clisp.org> + + mbrtowc: Fix cross-compilation guess for AIX. + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation + guess. Leftover from 2008-12-21. + +2010-07-29 Peter O'Gorman <pogma@thewrittenword.com> (tiny change) + + init.sh: work around trap limitation of some shells + * tests/init.sh (setup_): Move exit trap outside of shell function. + +2010-07-29 Eric Blake <eblake@redhat.com> + + strtod: aid debugging + * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid + understanding why strtod is rejected. + +2010-07-28 Bruno Haible <bruno@clisp.org> + + unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings. + * lib/unistr/u8-chr.c: Include <string.h>. + * 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 <bruno@clisp.org> + + Use spaces for indentation, not tabs. + * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify. + +2010-07-27 Bruno Haible <bruno@clisp.org> + + mbspcasecmp: Fix function specification. + * lib/string.in.h (mbspcasecmp): Fix specification comment. + * lib/mbspcasecmp.c (mbspcasecmp): Likewise. + Reported by Eric Blake <eblake@redhat.com>. + +2010-07-26 Paul R. Eggert <eggert@cs.ucla.edu> + + 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 <pbonzini@redhat.com> + + 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 <bruno@clisp.org> + + 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 <P@draigbrady.com>. + +2010-07-15 Karl Berry <karl@gnu.org> + + * config/srclist.txt (fdl.texi): only one copy, from gnustandards. + +2010-07-14 Paul R. Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <sched.h> and <time.h>, as per POSIX. + Include <sys/types.h>, 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 <bruno@clisp.org> + + 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 <ludo@gnu.org>. + +2010-07-13 Bruno Haible <bruno@clisp.org> + + strtod: Add safety check. + * lib/strtod.c (ldexp): Abort if this dummy replacement gets called. + +2010-07-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <P@draigBrady.com> + Bruno Haible <bruno@clisp.org> + + unistr/u8-strchr: Optimize ASCII argument case. + * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr. + +2010-07-08 Paul Eggert <eggert@cs.ucla.edu> + + (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 <chenguo4@yahoo.com> + + (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 <P@draigBrady.com> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <marlam@marlam.de>. + +2010-07-04 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + stdbool: Update doc. + * doc/posix-headers/stdbool.texi: Mention OpenBSD bug. + Info from Christian Weisgerber <naddy@mips.inka.de>. + +2010-07-01 Jim Meyering <meyering@redhat.com> + + 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 <naddy@mips.inka.de> (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 <ianb@erislabs.net> + + 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 <bruno@clisp.org> + + 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 <naddy@mips.inka.de>. + +2010-06-28 Ian Beckwith <ianb@erislabs.net> + + unitypes: Fix bug introduced on 2010-05-18. + * modules/unitypes (Files): Really add m4/libunistring-base.m4. + +2010-06-22 Eric Blake <eblake@redhat.com> + + memmem: slight optimization + * lib/str-two-way.h (critical_factorization): Update comments. + Reduce work during factorization phase. + Reported by Carlos Bueno <carlos@bueno.org>. + +2010-06-21 Bruno Haible <bruno@clisp.org> + + 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-06-21 Bruno Haible <bruno@clisp.org> + + 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. + + 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 <richard.lloyd@connectinternetsolutions.com>. + +2010-06-21 Bruno Haible <bruno@clisp.org> + + 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 <richard.lloyd@connectinternetsolutions.com>. + +2010-06-20 Richard Lloyd <richard.lloyd@connectinternetsolutions.com> + + 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 <gscrivano@gnu.org> + + ipv6: fix detection under mingw + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct + in6_addr. + +2010-06-14 Ben Pfaff <blp@cs.stanford.edu> + + * 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 <bruno@clisp.org> + + * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD. + +2010-06-15 René Berber <r.berber@computer.org> (tiny change) + + select: Correct timeout. + * lib/select.c (rpl_select): Compute wait_timeout correctly. + +2010-06-14 Thien-Thi Nguyen <ttn@gnuvola.org> (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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ttn@gnuvola.org>. + +2010-06-13 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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-06-11 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + + 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-06-11 Jim Meyering <meyering@redhat.com> + + test-inttostr: avoid warnings about 4-6KB literal strings + * tests/test-inttostr.c: Don't use <assert.h>. Instead, ... + Include "macros.h", for its definition of ASSERT. + (CK): s/assert/ASSERT/ + * modules/inttostr-tests (Files): Add macros.h. + + 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 <string.h> for use of strcmp + * tests/test-inttostr.c: Include <string.h> for strcmp declaration. + + test-linkat: avoid failed assertion on "other" architectures + * tests/test-linkat.c: Include <sys/stat.h>, 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 <meyering@redhat.com> + + 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 <blp@cs.stanford.edu> + + Replacement header templates are now named with ".in", not "_". + * doc/gnulib-intro.texi: Correct. + +2010-06-10 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <blp@cs.stanford.edu> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <blp@cs.stanford.edu>. + +2010-06-09 Bruno Haible <bruno@clisp.org> + + 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 <blp@cs.stanford.edu>. + +2010-06-04 Bruno Haible <bruno@clisp.org> + + 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 <marlam@marlam.de> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <simons@cryp.to> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * doc/posix-functions/strcoll.texi: Mention Solaris limitation. + Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake. + +2010-06-04 Bruno Haible <bruno@clisp.org> + + Update to GNU gettext 0.18.1. + * modules/gettext (configure.ac): Require gettext infrastructure from + version 0.18.1. + +2010-06-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ctype.h>. + (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 <bruno@clisp.org> + + Reduce dependencies. + * modules/acl (Depends-on): Add gettext-h. Remove gettext. + +2010-06-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ludo@gnu.org>. + +2010-06-02 Eric Blake <eblake@redhat.com> + + 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 + <pthread.h>, when needed. + (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros + from the library. + +2010-05-31 Bruno Haible <bruno@clisp.org> + + 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 <ludo@gnu.org>. + +2010-05-27 Jim Meyering <meyering@redhat.com> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <Martin.vGagern@gmx.net>. + +2010-05-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Add missing include in test-pwrite.c. + * tests/test-pwrite.c: Include string.h, for strcmp. + +2010-05-24 Bruno Haible <bruno@clisp.org> + + * NEWS: Mention requirement for Automake option 'subdir-objects'. + +2010-05-24 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Adjust #include directive style. + * modules/regex (Includes): Recommend to write <regex.h>. + +2010-05-24 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + test-renameat.c: include <sys/stat.h> + * tests/test-renameat.c: Include <sys/stat.h>; required for + definition of S_IS* macros. + +2010-05-23 Ben Pfaff <blp@cs.stanford.edu> + + Update maintainer documentation for 'relocatable-prog' module. + * doc/relocatable-maint.texi: Update. + Comments by Bruno Haible. + +2010-05-23 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <Ralf.Wildenhues@gmx.de> + + Fix output redirection buglet in init.sh. + * tests/init.sh: Fix redirection of stderr. + +2010-05-20 Simon Josefsson <simon@josefsson.org> + + * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS. + +2010-05-17 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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 <rjones@redhat.com> + + doc: users.txt: list hivex + * users.txt: Add hivex. + +2010-05-18 Richard Jones <rjones@redhat.com> + + doc: users.txt: list febootstrap + * users.txt: Add febootstrap. + +2010-05-17 Giuseppe Scrivano <gscrivano@gnu.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <jay@gnu.org> + + doc: update users.txt + * users.txt: Add CSSC. + +2010-05-16 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + verify: Avoid skipping the test on openSUSE 11.0. + * tests/test-verify.sh: Unset MALLOC_PERTURB_. + +2010-05-13 Bruno Haible <bruno@clisp.org> + + 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 <jarno.rajahalme@nsn.com>. + +2010-05-11 Jim Meyering <meyering@redhat.com> + + 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. + +2010-05-11 Eric Blake <eblake@redhat.com> + + maint.mk: gnulib doesn't guarantee NSIG + * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG. + +2010-05-10 Peter O'Gorman <pogma@thewrittenword.com> + + test-pwrite.c: Remove unused variable declaration. + * tests/test-pwrite.c (main): Remove read_buf declaration. + + Remove useless test-pwrite.sh file. + * tests/test-pwrite.sh: Delete file. + * modules/pwrite-tests: Remove references. + Reported by Bruno Haible. + +2010-05-10 Peter O'Gorman <pogma@thewrittenword.com> + + init.sh: fix a typo + * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization. + +2010-05-10 Jim Meyering <meyering@redhat.com> + + 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-05-09 Bruno Haible <bruno@clisp.org> + + 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-05-09 Jim Meyering <meyering@redhat.com> + + init.sh: enable MALLOC_PERTURB_ + * tests/init.sh: Enable glibc's malloc-perturbing option. + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + error: Use system's fcntl function. + * lib/error.c (fcntl): Undefine. + +2010-05-09 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + error: More reliable output on mingw. + * lib/error.c: Include <windows.h>. + (is_open): New function. + (flush_stdout): Call it instead of fcntl, also if F_GETFL is not + defined. + +2010-05-09 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/config.charset: Update comments for Cygwin 1.7. + * lib/localcharset.c: Likewise. + +2010-05-07 Jim Meyering <meyering@redhat.com> + + 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 <gray@gnu.org.ua> + + 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 <eblake@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <pogma@thewrittenword.com> + + 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 <pogma@thewrittenword.com> + + pread: Update documentation. + * doc/posix-functions/pread.texi: Mention the 'pread' module. + +2010-05-04 Eric Blake <eblake@redhat.com> + + 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 <meyering@redhat.com> + + 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 <gscrivano@gnu.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + maint.mk: prohibit unwarranted use of <strings.h> + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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-05-01 Bruno Haible <bruno@clisp.org> + + 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. + + 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. + +2010-05-01 Bruno Haible <bruno@clisp.org> + + 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-05-01 Bruno Haible <bruno@clisp.org> + + 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. + +2010-05-01 Bruno Haible <bruno@clisp.org> + + 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. + +2010-05-01 Bruno Haible <bruno@clisp.org> + + lseek test: Fix failure on Solaris. + * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all + output. + +2010-04-30 Jim Meyering <meyering@redhat.com> + + 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. + +2010-04-29 Eric Blake <eblake@redhat.com> + + 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. + +2010-04-29 Jim Meyering <meyering@redhat.com> + + inttypes: relax license to LGPLv2+ + * modules/inttypes (License): Relax license. + +2010-04-29 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (indent): Run twice to produce idempotent results. + +2010-04-28 Bruno Haible <bruno@clisp.org> + + getdate: Generate getdate.c in the source directory. + * modules/getdate (Makefile.am): Add rule for getdate.c. Augment + MOSTLYCLEANFILES. + Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues. + +2010-04-27 Andreas Gruenbacher <agruen@suse.de> (tiny change) + + * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2) + is not declared as a const *; avoid warnings in that case. + +2010-04-28 Eric Blake <eblake@redhat.com> + + 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-04-28 Jim Meyering <meyering@redhat.com> + + 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). + +2010-04-27 Bruno Haible <bruno@clisp.org> + + Update doc about utimes(). + * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the + 'utimens' module. + Reported by Andreas Gruenbacher <agruen@suse.de>. + +2010-04-27 Eric Blake <eblake@redhat.com> + + 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. + + pthread: mention library for linking + * modules/pthread (Link): Mention $(LIB_PTHREAD). + +2010-04-27 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + maint.mk: syntax-check: prohibit HAVE_<header>_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-04-26 Jim Meyering <jim@meyering.net> + Bruno Haible <bruno@clisp.org> + + 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-04-26 Jim Meyering <meyering@redhat.com> + + 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-04-26 Eric Blake <eblake@redhat.com> + + 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-04-25 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-24 Ian Beckwith <ianb@erislabs.net> + + 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-04-25 Bruno Haible <bruno@clisp.org> + + ptsname: Fix misuse of ttyname_r. + * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead + of errno. + +2010-04-25 Bruno Haible <bruno@clisp.org> + + 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-04-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <limits.h>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <jarno.rajahalme@nsn.com> and + Simon Josefsson. + +2010-04-24 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ianb@erislabs.net>. + +2010-04-24 Bruno Haible <bruno@clisp.org> + + 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 <gscrivano@gnu.org> + + 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 <meyering@redhat.com> + + 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. + +2010-04-22 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in + backup files. + +2010-04-21 Simon Josefsson <simon@josefsson.org> + + * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx. + +2010-04-20 Eric Blake <eblake@redhat.com> + + 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-04-20 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + 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 <spk121@yahoo.com>. + +2010-04-20 Andreas Gruenbacher <agruen@suse.de> + + * 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. + +2010-04-19 Bruno Haible <bruno@clisp.org> + + 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 <beuc@beuc.net>. + +2010-04-19 Bruno Haible <bruno@clisp.org> + + * lib/diffseq.h: Fix typo in comment. + Reported by Eric Blake. + +2010-04-19 Bruno Haible <bruno@clisp.org> + + 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 <ianb@erislabs.net>. + +2010-04-18 Andreas Gruenbacher <agruen@suse.de> + Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-18 Bruno Haible <bruno@clisp.org> + + * doc/posix-headers/stdbool.texi: More precise wording. + +2010-04-17 Jim Meyering <meyering@redhat.com> + + 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/ + +2010-04-16 Eric Blake <eblake@redhat.com> + + 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. + + setenv: allow compilation with C++ + * lib/setenv.c (__add_to_environ): Add a cast. Also, drop use of + register keyword. + + stdint: allow test to pass with C++ + * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc. + + 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. + +2010-04-16 Bruno Haible <bruno@clisp.org> + + 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 <ludo@gnu.org>. + +2010-04-15 Bruno Haible <bruno@clisp.org> + + openpty: Fix mistake from 2010-03-21. + * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists. + Reported by Simon Josefsson. + +2010-04-15 Eric Blake <eblake@redhat.com> + + test-forkpty: fix expected signature + * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const. + Reported by Simon Josefsson. + +2010-04-15 Jim Meyering <meyering@redhat.com> + + maint.mk: texinfo_suffix_re_: correct the default regexp + * top/maint.mk (texinfo_suffix_re_): Fix default regexp. + + * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and + make it configurable via texinfo_suffix_re_. + +2010-04-14 Eric Blake <eblake@redhat.com> + + strtok_r: relax license to LGPLv2+ + * modules/strtok_r (License): Relax license. + Reported by Matthias Bolte. + +2010-04-14 Simon Josefsson <simon@josefsson.org> + + * 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-04-13 Eric Blake <eblake@redhat.com> + + 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. + + getopt: merge bug fixes from glibc + * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;' + diagnostics. Honor '+:' correctly. Reject ';'. + + 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. + + 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. + + 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. + + gnulib-tool: silence warning on BSD sh + * gnulib-tool: Avoid leaking warning about unknown 'declare'. + +2010-04-13 Jim Meyering <meyering@redhat.com> + + doc: users.txt: GNU patch now uses gnulib + * users.txt: Add patch. + +2010-04-12 Jim Meyering <meyering@redhat.com> + + 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. + +2010-04-12 Andreas Gruenbacher <agruen@suse.de> + + 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. + +2010-04-11 Jim Meyering <meyering@redhat.com> + + openat: correct formatting (no semantic change) + * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE. + Suggested by Bruno Haible. + +2010-04-11 Bruno Haible <bruno@clisp.org> + + 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-04-11 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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-04-11 Bruno Haible <bruno@clisp.org> + + libunistring: Correct value of $LTLIBUNISTRING. + * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv, + correct the value of $LTLIBUNISTRING. + +2010-04-11 Bruno Haible <bruno@clisp.org> + + 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-04-11 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-11 James Youngman <jay@gnu.org> + + 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. + +2010-04-11 Bruno Haible <bruno@clisp.org> + + * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment. + +2010-04-11 Jim Meyering <meyering@redhat.com> + + maint.mk: don't include dist-check.mk + * top/maint.mk: Remove bogus include directive. + + 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. + + 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 + +2010-04-11 Jim Meyering <meyering@redhat.com> + + 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-04-10 Bruno Haible <bruno@clisp.org> + + mkdir: Make it work on mingw64. + * lib/sys_stat.in.h: Include <direct.h> together with <io.h>. + * lib/mkdir.c: Update comment. + Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>. + +2010-04-10 Bruno Haible <bruno@clisp.org> + + 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 <jdenny@clemson.edu>. + +2010-04-10 Jim Meyering <meyering@redhat.com> + + maint.mk: new syntax-check rule: prohibit empty lines at end of file + * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule. + + maint.mk: correct a diagnostic + * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re + in diagnostic; now use $prohibit. + +2010-04-10 Bruno Haible <address@hidden> + + 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-04-10 Bruno Haible <bruno@clisp.org> + + vasnprintf: Add more tests. + * tests/test-vasnprintf-posix.c: Include <errno.h>. + (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 <jarno.rajahalme@nsn.com>. + +2010-04-10 Bruno Haible <bruno@clisp.org> + + 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 <jarno.rajahalme@nsn.com>. + +2010-04-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + write: Fix a C++ test error on mingw. + * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST. + +2010-04-10 Bruno Haible <bruno@clisp.org> + + vasnprintf test: Reduce code duplication. + * tests/test-vasnprintf.c (test_function): New function, extracted from + test_vasnprintf. + (test_vasnprintf, test_asnprintf): Invoke it. + +2010-04-10 Bruno Haible <bruno@clisp.org> + + 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 <config.h>. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + REPLACE_STRNLEN. + * modules/string (Makefile.am): Substitute REPLACE_STRNLEN. + Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>. + +2010-04-08 James Youngman <jay@gnu.org> + + * doc/manywarnings.texi (manywarnings): Add missing parenthesis in + the example. + +2010-04-09 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <jarno.rajahalme@nsn.com>. + +2010-04-07 Karl Berry <karl@gnu.org> + + * config/srclist.txt, + * config/srclistvars.sh, + * config/srclist-update: doc fixes. + +2010-04-07 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Assume rmdir exists. + * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program. + +2010-04-06 Giuseppe Scrivano <gscrivano@gnu.org> + + doc: update users.txt + * users.txt: Add gcal. + +2010-04-06 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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-04-05 Jim Meyering <meyering@redhat.com> + + 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. + + 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-04-05 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + duplocale: Improve test output. + * tests/test-duplocale.c (main): Print reason for skipped test. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + Assume rmdir exists. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists. + * doc/posix-functions/rmdir.texi: Remove mention of "old platforms". + +2010-04-05 Bruno Haible <bruno@clisp.org> + + Fix link error on Solaris 8 with cc. + * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + frexpl: Fix a C++ test error on Solaris 8 and Cygwin. + * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + vasprintf: Update documentation. + * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + ptsname: Improve test. + * tests/test-ptsname.c (main): Also try the various master names of BSD + systems. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + 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-04-05 Bruno Haible <bruno@clisp.org> + + strtok_r: Improve idiom. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when + AC_LIBOBJ is used. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-05 Bruno Haible <bruno@clisp.org> + + ldexpl: Improve idiom. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared, + make sure to set HAVE_DECL_LDEXPL to 0. + +2010-04-05 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + init.sh: fix typo + * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization. + + 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-04-04 Bruno Haible <bruno@clisp.org> + + btowc: Avoid warning. + * lib/btowc.c: Include <stdlib.h>. + Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>. + +2010-04-04 Hauke Fath <hauke@espresso.rhein-neckar.de> (tiny change) + Bruno Haible <bruno@clisp.org> + + wchar: Port to NetBSD 1.5. + * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists. + * lib/wctype.in.h (WEOF): Likewise. + +2010-04-04 Hauke Fath <hauke@espresso.rhein-neckar.de> (tiny change) + Bruno Haible <bruno@clisp.org> + + Port extended stdio to NetBSD 1.5. + * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>. + (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and + older. + +2010-04-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + strerror: Update documentation. + * doc/posix-functions/strerror.texi: Remove mention of old platforms. + +2010-04-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Implement nanosleep for native Windows. + * lib/nanosleep.c (nanosleep): New implementation for native Windows. + +2010-04-04 Bruno Haible <bruno@clisp.org> + + math: Fix some C++ test errors on Solaris 8. + * lib/math.in.h (truncf, trunc): Use simpler idiom. + +2010-04-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + +2010-04-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + time_r: Minor updates. + * modules/time_r (Description): Mention the provided functions. + * lib/time_r.c: Don't include <string.h>. + * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module. + * doc/posix-functions/localtime_r.texi: Likewise. + +2010-04-03 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-04-03 Bruno Haible <bruno@clisp.org> + + 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. + +2010-04-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pty: Update doc. + * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18. + +2010-04-03 Bruno Haible <bruno@clisp.org> + + unistd: Fix C++ test error on mingw. + * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST. + +2010-04-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + stdlib: Avoid compilation failure of c-strtold on mingw. + * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems. + +2010-04-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <panu@kekalainen.eu>. + +2010-04-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <jemarch@gnu.org> + + 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 <eblake@redhat.com> + + 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 <jemarch@gnu.org> + + 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 <eblake@redhat.com> + + 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 <naddy@mips.inka.de>. + +2010-03-29 Bruno Haible <bruno@clisp.org> + + 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 <jay@gnu.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Fix definition of tests witness macro. + * gnulib-tool (func_import): Fix definition of witness macro. + +2010-03-28 Bruno Haible <bruno@clisp.org> + + 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 <ludo@gnu.org>. + +2010-03-28 Javier Villavicencio <the_paya@gentoo.org> + + 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 <meyering@redhat.com> + Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + Remove unused GNULIB_XYZ macro definitions. + * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR + invocation. + +2010-03-28 Bruno Haible <bruno@clisp.org> + + Mark privileged tests modules. + * modules/idpriv-drop-tests (Status): New section. + * modules/idpriv-droptemp-tests (Status): New section. + +2010-03-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-03-28 Bruno Haible <bruno@clisp.org> + + 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-03-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <jwe@gnu.org>. + +2010-03-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Add a remark about certain modules. + * modules/malloc (Comment): New section. + * modules/realloc (Comment): Likewise. + * modules/sigpipe (Comment): Likewise. + +2010-03-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Addendum to 2010-02-07 commit. + * gnulib-tool (func_usage): Document --extract-applicability option. + +2010-03-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is + no *.texi files. Reported by Eric Blake <eblake@redhat.com>. + +2010-03-25 Eric Blake <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <michel@michelboaventura.com>. + +2010-03-25 Bruno Haible <bruno@clisp.org> + + Use ANSI C. + * lib/readutmp.h (getutent): Provide ANSI C prototype. + +2010-03-25 Bruno Haible <bruno@clisp.org> + + 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 <P@draigBrady.com> (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * top/maint.mk (sc_texinfo_acronym): Add rule, based on + suggestions from karl@freefriends.org (Karl Berry). + +2010-03-22 Eric Blake <eblake@redhat.com> + + gethostname: further tweaks + * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we + are overriding gethostname. + Suggested by Bruno Haible. + +2010-03-21 Bruno Haible <bruno@clisp.org> + + Fix comments. + * lib/forkpty.c (rpl_forkpty): Fix comment. + * lib/openpty.c (rpl_openpty): Likewise. + Reported by Eric Blake. + +2010-03-22 Eric Blake <eblake@redhat.com> + + gethostname: fix build on mingw + * lib/unistd.in.h (includes): Work around fact that mingw + <winsock2.h> re-includes <unistd.h>, by avoiding any + redeclarations if we are being included by <winsock2.h>. + Reported by Matthias Bolte. + +2010-03-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + login_tty: Documentation. + * doc/glibc-functions/login_tty.texi: New file. + * doc/gnulib.texi (Glibc <utmp.h>): Include it. + +2010-03-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <termios.h>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + maint.mk: prohibit inclusion of "intprops.h" without use + * top/maint.mk (sc_prohibit_intprops_without_use): New rule. + +2010-03-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <jwe@gnu.org>. + +2010-03-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <jwe@gnu.org>. + +2010-03-20 Bruno Haible <bruno@clisp.org> + + * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit. + Reported by Jim Meyering. + +2010-03-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + Jim Meyering <meyering@redhat.com> + + lchown: Avoid "unused variable" warning. + * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block. + +2010-03-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + scandir: Fix link error on Solaris 8. + * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback + macros. + +2010-03-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bert.wesarg@googlemail.com> (tiny change) + and Eric Blake <eblake@redhat.com> + + 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 <ludo@gnu.org> (tiny change) + + * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second + `AC_CHECK_DECL' invocation. + +2010-03-15 Sergey Poznyakoff <gray@gnu.org.ua> + + * lib/inttostr.c (inttostr): Make sure the invocation of verify + appears before executable statements. Suggested by Petr Sumbera + <Petr.Sumbera@Sun.COM>. + +2010-03-14 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special + cases. + +2010-03-13 Bruno Haible <bruno@clisp.org> + + 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 <jwe@gnu.org>. + +2010-03-13 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_usage): Clarify which options are available for + --create-testdir and --create-megatestdir. + +2010-03-13 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * gnulib-tool (func_import): Explain origin of code. + +2010-03-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's + stable releases. + +2010-03-11 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug. + +2010-03-08 Bruno Haible <bruno@clisp.org> + + 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 <eblake@redhat.com> + + 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 <karl@gnu.org> + + * doc/gnulib-tool.texi (VCS Issues): Mention third option + of committing gnulib files while skipping others. + +2010-03-07 Bruno Haible <bruno@clisp.org> + + 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 <sys/socket.h>. + (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 <sys/select.h>. + (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 <jwe@gnu.org>. + +2010-03-07 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Fix test-cond link error. + * tests/test-cond.c: Include <stdio.h>. + +2010-03-07 Bruno Haible <bruno@clisp.org> + + Fix test-dirent-safer link error. + * modules/dirent-safer-tests (Makefile.am): Define + test_dirent_safer_LDADD. + +2010-03-07 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module + among default module list. + +2010-03-07 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + euidaccess: relax license to LGPLv2+ + * modules/euidaccess (License): Relax to LGPLv2+. + +2010-03-06 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + 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 <bwalton@artsci.utoronto.ca> (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 <bruno@clisp.org> + + 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 <johans@stack.nl> via Eric Blake. + +2010-03-01 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Initial import): Clarify the requirements + regarding Automake. + +2010-02-25 Bruno Haible <bruno@clisp.org> + + 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 <bwalton@artsci.utoronto.ca>. + +2010-02-24 Eric Blake <eblake@redhat.com> + + bootstrap, git-version-gen: use timestamp + * build-aux/git-version-gen (scriptversion): Force UTC. + * build-aux/bootstrap (scriptversion): New variable. + + 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-02-23 Eric Blake <eblake@redhat.com> + + 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. + + bootstrap: improve some comments + * build-aux/bootstrap: Drop unneeded emacs hint. Add some + clarification comments. + + gettimeofday: provide correct function + * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only + when replacement is declared, otherwise provide gettimeofday. + Reported by Michael Goffioul. + +2010-02-23 Jim Meyering <meyering@redhat.com> + + lib-ignore: relax license to "unlimited", not LGPLv2+ + * modules/lib-ignore (License): Relax to "unlimited". + +2010-02-23 Jim Meyering <meyering@redhat.com> + + lib-ignore: relax license to LGPLv2+ + * modules/lib-ignore (License): Relax to LGPLv2+. + +2010-02-22 Eric Blake <eblake@redhat.com> + + 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: 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. + + bootstrap: interoperate with gettext 0.14.1 + * build-aux/bootstrap (slurp): Fix typo when using older gettext. + + 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. + + 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. + + 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. + +2010-02-21 Bruno Haible <bruno@clisp.org> + + * lib/stdio.in.h (obstack_printf): Fix typo. + +2010-02-21 Jose E. Marchesi <jemarch@gnu.org> + + 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-02-21 Jim Meyering <meyering@redhat.com> + + 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. + +2010-02-21 Bruno Haible <bruno@clisp.org> + + 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. + +2010-02-20 Bruno Haible <bruno@clisp.org> + + 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 <jay@gnu.org>. + +2010-02-20 Bruno Haible <bruno@clisp.org> + + 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. + +2010-02-20 Bruno Haible <bruno@clisp.org> + + * lib/stdio.in.h: Tweak comments. + +2010-02-19 Bruno Haible <bruno@clisp.org> + + 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. + +2010-02-18 Markus Duft <mduft@gentoo.org> (tiny change) + + * lib/sys_select.in.h: Provide select replacement even if + sys/select.h exists on a system, for Interix. + +2010-02-18 Jim Meyering <meyering@redhat.com> + + init.sh: don't use $(...) just yet + * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...), + to accommodate e.g., Solaris' /bin/sh. + +2010-02-17 Bruno Haible <bruno@clisp.org> + + * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem. + Reported by Ludovic Courtès <ludo@gnu.org>. + +2010-02-16 Simon Josefsson <simon@josefsson.org> + + * modules/userspec-tests (test_userspec_LDADD): Add variable, for + linking with -lintl. + +2010-02-17 Simon Josefsson <simon@josefsson.org> + + * 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + and Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + + 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 <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + fnctl: Fix missing dependency. + * modules/fcntl (Depends-on): Add getdtablesize. + Reported by John W. Eaton <jwe@gnu.org>. + +2010-02-05 Sergey Poznyakoff <gray@gnu.org.ua> + + 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 <gray@gnu.org.ua> + + * tests/test-argp.c: Fix indentation. + +2010-02-04 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + Perform the same test for many <math.h> 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 <bruno@clisp.org> + + * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE. + +2010-01-31 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <noordsij@cs.helsinki.fi> via Eric Blake. + +2010-01-28 Eric Blake <ebb9@byu.net> + + regex: fix build failure + * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc + platforms. + +2010-01-28 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + ncftpput-ftp: clean up spaces + * build-aux/ncftpput-ftp: Make Copyright line consistent. + Remove trailing blanks. + +2010-01-27 Simon Josefsson <simon@josefsson.org> + + * 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 <ebb9@byu.net> + + ignore-value: update recommended header name + * modules/ignore-value (Include): Only use <> for headers that + exist in glibc. + +2010-01-26 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Fix test dependencies. + * modules/xstrtol-tests (Depends-on): Add inttypes. + * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll. + +2010-01-25 Pádraig Brady <P@draigBrady.com> + + 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 <meyering@redhat.com> + + bootstrap: detect MacOS 10.6's shasum, too + * build-aux/bootstrap: Also recognize MacOS 10.6's shasum. + Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>. + +2010-01-23 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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. + + Tests for module 'remainder'. + * modules/remainder-tests: New file. + * tests/test-remainder.c: New file. + + Tests for module 'pow'. + * modules/pow-tests: New file. + * tests/test-pow.c: New file. + + Tests for module 'nextafter'. + * modules/nextafter-tests: New file. + * tests/test-nextafter.c: New file. + + 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 <bruno@clisp.org> + + Fix tests for common <math.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2010-01-24 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + userspec: add unit tests + * tests/test-userspec.c: New file. + * modules/userspec-tests: Likewise. + +2010-01-21 Jim Meyering <meyering@redhat.com> + + 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 <jdenemar@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + langinfo, nl_langinfo: Relicense under LGPLv2+. + * modules/langinfo (License): Change to LGPLv2+. + * modules/nl_langinfo (License): Likewise. + Patch by David Lutterkort <lutter@redhat.com>. + +2010-01-19 Bruno Haible <bruno@clisp.org> + + Avoid compilation error with cc on OSF/1 5.1. + * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h> + statement, not before. + Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2010-01-18 Bruno Haible <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de>. + +2010-01-18 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + New modules for common <math.h> 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 <meyering@redhat.com> + + 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 <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de>. + +2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <meyering@redhat.com> + + doc: update users.txt + * users.txt: Add grep. + (diffutils, gzip): Update URLs. + +2010-01-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-cond.c (main): When skipping the test, show the reason. + +2010-01-12 Simon Josefsson <simon@josefsson.org> + + * lib/striconv.c (str_cd_iconv): Avoid if before free. + +2010-01-12 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (VC_LIST_EXCEPT): Filter list through + VC_LIST_ALWAYS_EXCLUDE_REGEX. + +2010-01-12 Eric Blake <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * lib/stdio.in.h: Fix typo. + +2010-01-12 Simon Josefsson <simon@josefsson.org> + + * m4/gc.m4: Check if linking to libgcrypt also needs linking to + libgpg-error. + +2010-01-12 Simon Josefsson <simon@josefsson.org> + + * tests/test-xalloc-die.sh: Use $EXEEXT. + +2010-01-12 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + getlogin, getlogin_r: Avoid test failure. + * tests/test-getlogin.c: Include <stdio.h>. + (main): Skip the test when the function fails because stdin is not a + tty. + * tests/test-getlogin_r.c: Include <stdio.h>. + (main): Skip the test when the function fails because stdin is not a + tty. + +2010-01-11 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <P@draigbrady.com>. + Reported by Dmitry V. Levin <ldv@altlinux.org>. + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + + Tests for module 'unistr/u8-uctomb'. + * modules/unistr/u8-uctomb-tests: New file. + * tests/unistr/test-u8-uctomb.c: New file. + + Tests for module 'unistr/u32-mbtoucr'. + * modules/unistr/u32-mbtoucr-tests: New file. + * tests/unistr/test-u32-mbtoucr.c: New file. + + Tests for module 'unistr/u16-mbtoucr'. + * modules/unistr/u16-mbtoucr-tests: New file. + * tests/unistr/test-u16-mbtoucr.c: New file. + + Tests for module 'unistr/u8-mbtoucr'. + * modules/unistr/u8-mbtoucr-tests: New file. + * tests/unistr/test-u8-mbtoucr.c: New file. + + Tests for module 'unistr/u32-mbtouc'. + * modules/unistr/u32-mbtouc-tests: New file. + * tests/unistr/test-u32-mbtouc.c: New file. + + Tests for module 'unistr/u16-mbtouc'. + * modules/unistr/u16-mbtouc-tests: New file. + * tests/unistr/test-u16-mbtouc.c: New file. + + 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. + + 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 <stdbool.h>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + wchar: Fix compilation error when <wchar.h> is used from coreutils. + * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t. + Reported by Brian Gough <bjg@gnu.org> and + Chris Clayton <chris2553@googlemail.com> via + Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>. + +2010-01-09 Bruno Haible <bruno@clisp.org> + + 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. + + 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. + + 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. + + 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. + +2010-01-09 Bruno Haible <bruno@clisp.org> + + Tests for module 'getlogin'. + * modules/getlogin-tests: New file. + * tests/test-getlogin.c: New file. + + 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 <jwe@gnu.org>. + +2010-01-09 Bruno Haible <bruno@clisp.org> + + getlogin_r: Support for native Windows. + * lib/getlogin_r.c: Include <windows.h> + (getlogin_r): Implement for native Windows. + * tests/test-getlogin_r.c (main): Also test with a huge buffer. + Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp> + via John W. Eaton <jwe@gnu.org>. + +2010-01-09 Bruno Haible <bruno@clisp.org> + + 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. + +2010-01-09 Bruno Haible <bruno@clisp.org> + + * lib/unistd.in.h (getlogin_r): Add comment. + +2010-01-09 Bruno Haible <bruno@clisp.org> + + Tests for module 'getlogin_r'. + * modules/getlogin_r-tests: New file. + * tests/test-getlogin_r.c: New file. + +2010-01-09 Jim Meyering <meyering@redhat.com> + + 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. + +2010-01-08 Simon Josefsson <simon@josefsson.org> + + * lib/dup2.c (rpl_dup2): Improve comment. + +2010-01-08 Eric Blake <ebb9@byu.net> + + 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. + + dup2: work around mingw bug + * lib/dup2.c (rpl_dup2): Sanitize return value on mingw. + Reported by Simon Josefsson. + +2010-01-07 John W. Eaton <jwe@octave.org> (tiny change) + + glob: Fix C++ compilation. + * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for + C++. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + Fix indentation of wctype.in.h, broken since 2007-01-06. + * lib/wctype.in.h: Fix indentation of preprocessor directives. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + mbslen: Avoid collision with system function. + * lib/string.in.h [MirBSD]: Include <wchar.h>. + (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 <beebe@math.utah.edu> + via Ian Beckwith <ianb@erislabs.net>. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + dirent: Document the last fix. + * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list. + * lib/stdio.in.h: Include <sys/types.h> 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. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de>. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + * doc/posix-functions/strcasecmp.texi: Clarify the platforms. + * doc/posix-functions/strncasecmp.texi: Likewise. + +2010-01-07 Bruno Haible <bruno@clisp.org> + + * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic. + +2010-01-07 John W. Eaton <jwe@octave.org> + + wctype: allow C++ use + * lib/wctype.in.h: Add extern "C" block for C++. + +2010-01-06 Eric Blake <ebb9@byu.net> + + maint.mk: detect incorrect GFDL usage + * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule. + +2010-01-06 Jim Meyering <meyering@redhat.com> + and Eric Blake <ebb9@byu.net> + + maint.mk: ignore multi-line copyright in NEWS + * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright. + +2010-01-06 Eric Blake <ebb9@byu.net> + + select: add missing dependency + * modules/select-tests (Depends-on): Move sockets dependency... + * modules/select (Depends-on): ...here. + Reported by Ian Beckwith. + + doc: regenerate INSTALL + * doc/INSTALL: Reflect recent autoconf update. + * doc/INSTALL.ISO: Likewise. + * doc/INSTALL.UTF-8: Likewise. + + pread: fix compilation on glibc + * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces. + Reported by Ralf Wildenhues. + + dirent: fix test failure + * lib/dirent.in.h (includes): Guarantee ino_t. + Reported by Ralf Wildenhues. + +2010-01-06 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change) + + linkat, renameat: avoid bad free + * lib/at-func2.c (at_func2): Fix typo. + Reported via Ian Beckwith, from http://bugs.debian.org/561117. + +2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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-06 Eric Blake <ebb9@byu.net> + + 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-06 Paolo Bonzini <bonzini@gnu.org> + + 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. + +2010-01-06 Jim Meyering <meyering@redhat.com> + + 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-05 Eric Blake <ebb9@byu.net> + + maint: support 'make announcement' from a VPATH build + * top/maint.mk (announcement): Look for correct NEWS file. + +2010-01-05 Aurelien Jarno <aurelien@aurel32.net> (tiny change) + + 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. + +2010-01-05 Eric Blake <ebb9@byu.net> + + 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 <Dilyan.Palauzov@aegee.org>. + +2010-01-05 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + xalloc.h: use consistent formatting + * lib/xalloc.h: Move declarations to start in the first column. + +2010-01-05 Eric Blake <ebb9@byu.net> + + mkdir: avoid xalloc + * lib/mkdir.c (includes): Drop unused header. + Reported by John W. Eaton. + +2010-01-04 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + 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 + + 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 + + regcomp: fix typo in comment + * lib/regcomp.c (duplicate_node_closure): Sync from glibc. + s/satisfy/satisfies/. + + regcomp: sync from glibc: remove dead store + * lib/regcomp.c (duplicate_node_closure): Remove useless + search_duplicated_node call and dead store. + + 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. + +2010-01-04 Eric Blake <ebb9@byu.net> + + fdopendir: fix configure test + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file. + +2010-01-01 Bruno Haible <bruno@clisp.org> + + wchar: Remove unused configure check. + * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone. + +2010-01-01 Eric Blake <ebb9@byu.net> + + 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. + +2010-01-01 Jim Meyering <meyering@redhat.com> + + 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. + + test-update-copyright: don't let envvar setting cause test failure + * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH. + +2010-01-01 Bruno Haible <bruno@clisp.org> + + localename: Avoid gcc warning. + * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this + function if it is not used. + +2010-01-01 Jim Meyering <meyering@redhat.com> + + 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 + + version-etc: set COPYRIGHT_YEAR to 2010 + * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum. + +2009-12-31 Eric Blake <ebb9@byu.net> + + 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. + + openat: update maintainer + * modules/openat (Maintainer): Add myself. + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-signal.c (main): Remove test of 'SIG'. + +2009-12-31 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Avoid namespace pollution on glibc systems. + * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems. + * lib/sys_times.in.h: Don't include <time.h> on glibc systems. + * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on + glibc systems. + +2009-12-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set + SYS_UTSNAME_H. + +2009-12-31 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + Fix compilation error with Solaris cc. + * lib/unicase/u8-is-invariant.c: Include <stdbool.h>. + * lib/unicase/u16-is-invariant.c: Likewise. + * lib/unicase/u32-is-invariant.c: Likewise. + Reported by Nelson H. F. Beebe <beebe@math.utah.edu>. + +2009-12-30 Bruno Haible <bruno@clisp.org> + + Fix test crash. + * tests/test-localename.c (test_locale_name_thread): Skip unavailable + locales. + Reported by Simon Josefsson <simon@josefsson.org>. + +2009-12-30 Bruno Haible <bruno@clisp.org> + + Fix compilation error on most platforms. + * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE. + Reported by Simon Josefsson <simon@josefsson.org> + and Nelson H. F. Beebe <beebe@math.utah.edu>. + +2009-12-30 Eric Blake <ebb9@byu.net> + + 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 <ctrn3e8@gmail.com>. + +2009-12-29 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <simon@josefsson.org> + and Eric Blake <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend + on $(UNUSED_PARAMETER_H) to avoid build failure. + +2009-12-28 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + Remove an unneeded dependency. + * modules/fseterr (Depends-on): Remove dup2. + +2009-12-26 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-localename.c (categories): Fill in the strings. + +2009-12-26 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + openat: Fix warning. + * lib/openat-proc.c: Include <unistd.h>. + +2009-12-24 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + binary-io: Avoid gcc warning due to SET_BINARY. + * lib/binary-io.h (SET_BINARY): Cast the result to void. + Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake. + +2009-12-24 Bruno Haible <bruno@clisp.org> + + Avoid future namespace pollution on glibc systems. + * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems. + * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems. + * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on + glibc systems. + +2009-12-24 Bruno Haible <bruno@clisp.org> + + Refactor common macros used in tests. + * tests/macros.h: New file. + * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h> + and/or <stdlib.h>, 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 <ebb9@byu.net> + + test-nanosleep: fix typo + * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous + patch. + Reported by Bruno Haible. + +2009-12-24 Bruno Haible <bruno@clisp.org> + + Reduce namespace pollution on glibc systems. + * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems. + * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc + systems. + * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>, + <getopt.h> on glibc systems. + * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc + systems. + * lib/fcntl.c: Include <unistd.h> here instead. + +2009-12-24 Bruno Haible <bruno@clisp.org> + + * lib/stdlib.in.h (includes): Fix typo in today's commit. + +2009-12-24 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <limits.h>, <stddef.h>, <xlocale.h>, + <langinfo.h>, 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 <spk121@yahoo.com>. + +2009-12-23 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + unistd: Ensure getcwd gets declared before being overridden. + * lib/unistd.in.h: Conditionally include <io.h>. + +2009-12-22 Bruno Haible <bruno@clisp.org> + + 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 <karl@freefriends.org>. + +2009-12-22 Eric Blake <ebb9@byu.net> + + math, unistd: avoid redundant includes + * lib/math.in.h (isnan): No need to re-include <math.h>. + * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>. + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <solar@openwall.com>. + +2009-12-19 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org>. + +2009-12-19 Bruno Haible <bruno@clisp.org> + + 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 <jemarch@gnu.org> (tiny change) + + * lib/gl_list.h: Fix typo in comment. + +2009-12-16 Eric Blake <ebb9@byu.net> + + 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) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: 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) <F_DUPFD>: Work around it. + <F_DUPFD_CLOEXEC>: 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 <alnsn@yandex.ru>. + +2009-12-15 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <jdenny@clemson.edu> + Bruno Haible <bruno@clisp.org> + + *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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <jemarch@gnu.org>. + +2009-12-13 Bruno Haible <bruno@clisp.org> + + 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 <ams@gnu.org> + + 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 <bruno@clisp.org> + + * lib/localcharset.c (locale_charset): Fix comment about use of GetACP. + +2009-12-13 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + duplocale: Tweak. + * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'. + +2009-12-12 Karl Berry <karl@gnu.org> + + * config/srclist.txt (strtoll.c): tab changes, no more sync. + +2009-12-12 Bruno Haible <bruno@clisp.org> + + * m4/po.m4: Undo incorrect untabification. + +2009-12-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/localcharset.c (locale_charset): Add comment about use of GetACP. + +2009-12-11 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/config.charset: Untabify. + +2009-12-11 Bruno Haible <bruno@clisp.org> + + * modules/unistd-safer (configure.ac): Drop indicator macro. + +2009-12-11 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL. + +2009-12-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + pty test: Fix link error. + * modules/pty-tests (Makefile.am): Add the default LDADD value to + test_pty_LDADD. + +2009-12-07 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + Avoid syntax error in C++ mode. + * lib/stdio.in.h (rename): Don't use parameter name 'new'. + +2009-12-10 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a + workaround was added on 2009-11-17. + +2009-12-09 Jim Meyering <meyering@redhat.com> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at + most one group. + +2009-12-09 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/fchdir.c: Update comment. + +2009-12-09 Bruno Haible <bruno@clisp.org> + + * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call. + +2009-12-08 Eric Blake <ebb9@byu.net> + + fchdir: avoid memory leak on re-registration. + * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak. + +2009-12-08 Jim Meyering <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return + value. + +2009-12-06 Bruno Haible <bruno@clisp.org> + + * lib/progname.c: Include stdio.h, stdlib.h. + (set_program_name): Reject a NULL argument. + +2009-12-05 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/progname.h (set_program_name): Clarify specification. + * lib/progname.c (set_program_name): Likewise. + Reported by Jim Meyering. + +2009-12-05 Jim Meyering <meyering@redhat.com> + + 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 <ams@gnu.org> + + 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 <ebb9@byu.net> + + 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 <scott.gnu.2009@scottrix.co.uk>. + + 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 <bonzini@gnu.org> + + exclude: Fix header file problems. + * lib/exclude.h: Add multiple inclusion guards and include stdbool.h. + +2009-12-01 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + utimens: fix compilation error + * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]: + Declare variable at right scope. + +2009-11-29 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 + <http://savannah.gnu.org/bugs/?28113> + + 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 <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * modules/idpriv-droptemp-tests (Notice): Fix text. + +2009-11-27 Jim Meyering <meyering@redhat.com> + + 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 <rjones@redhat.com> + + w32sock: leave win32 error in place. + * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError. + +2009-11-26 Eric Blake <ebb9@byu.net> + + init.sh: suggest to use skip_ and fail_ functions in comments + * tests/init.sh: Add a sentence. + +2009-11-25 Bruno Haible <bruno@clisp.org> + + init.sh: add documentation in comments + * tests/init.sh: Add some developer and user documentation. + +2009-11-26 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + tests/init.sh: new file to be used via most *.sh tests + * tests/init.sh: New file. + +2009-11-25 Eric Blake <ebb9@byu.net> + + 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 <bonzini@gnu.org> + + 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 <wingo@pobox.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + duplocale: Fix logic bug. + * lib/duplocale.c: Don't include <langinfo.h>. + (_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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + vasnprintf: Tiny optimization. + * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on + MacOS X. + +2009-11-22 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/locale-tests (configure.ac): Test for newlocale function. + * tests/test-locale.c: When the system has extended locale functions, + verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE. + + locale: Make locale_t available when possible. + * lib/locale.in.h: Include <xlocale.h> when it exists. + * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to + replace <locale.h> if it does not define locale_t but <xlocale.h> 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + error: account for the possibility of freopen (stdout). + * lib/error.c: Include <unistd.h>. + (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 <bruno@clisp.org> + + diffseq: Add comment. + * lib/diffseq.h (IF_LINT): Add comment about pitfall. + +2009-11-22 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * gnulib-tool: Support LGPLv3+ licenses in module files. Tiny + patch from ludo@gnu.org (Ludovic Courtès). + +2009-11-17 Jim Meyering <meyering@redhat.com> + + version-etc: use proper license string + * modules/version-etc (License): Use LGPL, not LGPLv3+. + * modules/version-etc-fsf: Likewise. + +2009-11-17 Simon Josefsson <simon@josefsson.org> + + * tests/test-xalloc-die.sh: Add license. Check that nothing is + printed to stdout. Deal with EOL differences. + +2009-11-17 Eric Blake <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * 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 <simon@josefsson.org> + + * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898. Reported + by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>. + +2009-11-14 Eric Blake <ebb9@byu.net> + + 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 <rmh.grub@aybabtu.com> (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 <meyering@redhat.com> + + 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 <jwe@gnu.org> + + strftime.h: wrap funtion declaration in extern "C" block + * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration. + +2009-11-13 Eric Blake <ebb9@byu.net> + + 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 <stdint.h> for SIZE_MAX. + * modules/getgroups (Depends-on): Add stdint. + +2009-11-13 Jim Meyering <meyering@redhat.com> + + test-getgroups: avoid compilation failure + * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX. + +2009-11-13 Eric Blake <ebb9@byu.net> + + 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 <grp.h>. + * 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 <simon@josefsson.org> + + * tests/test-base64.c: Improve. + +2009-11-13 Simon Josefsson <simon@josefsson.org> + + * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric + Blake <ebb9@byu.net>. + +2009-11-13 Simon Josefsson <simon@josefsson.org> + + * tests/test-xvasprintf.c: Add %s%s related checks. + +2009-11-12 Eric Blake <ebb9@byu.net> + + 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 <kdudka@redhat.com> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <jay@gnu.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * modules/memchr (Depends-on): Drop getpagesize dependency. + +2009-11-06 Simon Josefsson <simon@josefsson.org> + + * 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 <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB) + because test-select.c uses inet_pton. + +2009-11-06 Simon Josefsson <simon@josefsson.org> + + * 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 <ebb9@byu.net>. + +2009-11-05 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * modules/pmccabe2html (configure.ac): Check for pmccabe tool. + +2009-11-05 Simon Josefsson <simon@josefsson.org> + + * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB). + +2009-11-05 Simon Josefsson <simon@josefsson.org> + + 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 <simon@josefsson.org> + + * tests/test-func.c: Also test value of __func__. + +2009-11-05 Simon Josefsson <simon@josefsson.org> + + * tests/test-sys_socket.c: Use smaller constant value, sa_family_t + may be an 8-bit type. Reported by Bruno Haible <bruno@clisp.org>. + +2009-11-05 Bruno Haible <bruno@clisp.org> + + 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 <bradh@frogmouth.net> via Simon Josefsson. + +2009-11-05 Bruno Haible <bruno@clisp.org> + + Tests for module 'inet_pton'. + * modules/inet_pton-tests: New file. + * tests/test-inet_pton.c: New file. + +2009-11-05 Bruno Haible <bruno@clisp.org> + + Tests for module 'inet_ntop'. + * modules/inet_ntop-tests: New file. + * tests/test-inet_ntop.c: New file. + +2009-11-04 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <stdlib.h>, <sched.h>, 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 <bruno@clisp.org> + + * NEWS: Document the new library dependencies of inet_ntop, inet_pton. + +2009-11-03 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <eggert@cs.ucla.edu> + Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB. + * modules/inet_ntop (Link): New section. + Reported by Boyan Kasarov <bkasarov@gmail.com>. + +2009-11-02 Eric Blake <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <michael.haubenwallner@salomon.at> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration. + Reported by Jim Meyering. + +2009-10-27 Jim Meyering <jim@meyering.net> + Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net> + + areadlinkat: fix fallback path + * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between + pointer and zero. + +2009-10-22 Pádraig Brady <P@draigBrady.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * modules/stpncpy (License): Relicense under LGPLv2+. + Reported by David Lutterkort <lutter@redhat.com>. + +2009-10-20 Eric Blake <ebb9@byu.net> + + 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 <P@draigBrady.com> + + 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 <gscrivano@gnu.org> + + * lib/nproc.h: Add extern "C" block for C++. + +2009-10-18 Reuben Thomas <rrt@sc3d.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Avoid symlink attack in localcharset module. + * lib/localcharset.c: Include <fcntl.h>, <unistd.h>. + (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 <fglynn@veracode.com>. + +2009-10-18 Bruno Haible <bruno@clisp.org> + + Implement nproc for mingw. + * lib/nproc.c: Include <windows.h> + (num_processors): On native Windows platforms, try GetSystemInfo. + +2009-10-18 Bruno Haible <bruno@clisp.org> + + Implement nproc for IRIX. + * lib/nproc.c: Include <sys/sysmp.h>. + (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 <bruno@clisp.org> + + Implement nproc for HP-UX. + * lib/nproc.c: Include <sys/pstat.h> + (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 <gscrivano@gnu.org> + Bruno Haible <bruno@clisp.org> + + Implement nproc for NetBSD, OpenBSD. + * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>. + (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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <time.h> + * 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * modules/xnanosleep: Put the Link section after the Include section. + +2009-10-09 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <selinux/selinux.h>. + [!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 <selinux/selinux.h> 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 <meyering@redhat.com> + + unistd: fix comment typo + * lib/unistd.in.h (euidaccess): Fix a comment typo. + +2009-10-08 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + areadlinkat: avoid compilation failure + * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX. + Fix typo in comment. + +2009-10-07 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * modules/size_max (Description): Discourage its use. + Reported by Simon Josefsson. + +2009-10-06 Jim Meyering <meyering@redhat.com> + + linkat: avoid compilation failure + * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX. + +2009-10-05 Eric Blake <ebb9@byu.net> + + 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 <karl@gnu.org> + + * doc/gnulib.texi: @include execvpe.texi, missing for several days. + +2009-10-04 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * lib/uname.c (uname): Use a table-driven algorithm to compute + Windows NT versions. + +2009-10-04 Bruno Haible <bruno@clisp.org> + + * 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 <gray@gnu.org.ua>. + +2009-10-04 Bruno Haible <bruno@clisp.org> + + * lib/progname.c (set_program_name): Fix comment. + Reported by Jim Meyering. + +2009-10-03 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * lib/uname.c: Include <string.h>. + (uname): Do only one call to GetVersionEx in the common case. + +2009-10-03 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O + invocation to tests/configure.ac. + Reported by Ian Beckwith <ianb@erislabs.net>. + +2009-10-02 Eric Blake <ebb9@byu.net> + + 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 <blp@gnu.org> + + relocatable-prog-wrapper: Add missing dependency on + double-slash-root. + * modules/relocatable-prog-wrapper: Add dependency. + Reported by Ian Beckwith <ianb@erislabs.net>. + +2009-10-02 Eric Blake <ebb9@byu.net> + + 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 <bonzini@gnu.org> + + * lib/uname.c: Include <stdlib.h> + (uname): Assume version info is available. + +2009-10-02 Jim Meyering <meyering@redhat.com> + + 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 <bonzini@gnu.org> + + link: LoadLibrary is not needed. + * lib/link.c: Use GetModuleHandle. + +2009-10-01 Eric Blake <ebb9@byu.net> + + 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 <config.h> 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 <meyering@redhat.com> + + 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 <blp@gnu.org> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <http://bugs.debian.org/548493> by Kurt Roeckx. + +2009-09-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <tammer@tammer.net>. + +2009-09-26 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 + <getopt.h>. + * lib/getopt.in.h (includes): Use split inclusion guard, and + prefer <getopt.h> over include <unistd.h> 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 <ebb9@byu.net> + + 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 <sys/stat.h> 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <pauli.miettinen@cs.helsinki.fi>. + +2009-09-23 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a + subcommand, not in a subshell. + +2009-09-22 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/progreloc.c (canonicalize_file_name): New declaration. + +2009-09-19 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + syntax-check: detect unnecessary inclusion of canonicalize.h + * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule. + +2009-09-19 Eric Blake <ebb9@byu.net> + + 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 <stdlib.h>, not "canonicalize.h". + * lib/progreloc.c (includes): Likewise. + +2009-09-19 Jim Meyering <meyering@redhat.com> + + test-posixtm.c: correct a comment + * tests/test-posixtm.c: Correct first-line comment. + Spotted by Eric Blake. + +2009-09-16 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 + <fcntl.h>; 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 <aleppos@hotmail.com>. + +2009-09-19 Bruno Haible <bruno@clisp.org> + + * lib/safe-alloc.h: Use the standard header with GPL copyright. + * lib/safe-alloc.c: Likewise. + Reported by Ian Beckwith <ianb@erislabs.net>. + +2009-09-18 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Add advice to "cannot find configure.ac" error message. + Reported by <erobles@sensacd.com.mx>. + +2009-09-17 Eric Blake <ebb9@byu.net> + + 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 <stdlib.h> + * modules/canonicalize-lgpl (Files): Drop canonicalize.h. + (Include): Mention <stdlib.h>. + (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 <stdlib.h>. + + 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 <stdlib.h> + 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 <unistd.h> unconditionally. + +2009-09-17 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <kraai@ftbfs.org> + and Hasso Tepper <hasso@netbsd.org>. + +2009-09-17 Bruno Haible <bruno@clisp.org> + + * modules/COPYING: Update copyright years. + * modules/README: Likeiwse. + * doc/gnulib-intro.texi (Copyright): Use a wildcard year. + Reported by Ian Beckwith <ianb@erislabs.net>. + +2009-09-17 Ian Beckwith <ianb@erislabs.net> (tiny change) + + * users.txt: Update references for gnuit package. + +2009-09-17 Ian Beckwith <ianb@erislabs.net> (tiny change) + + * m4/getdelim.m4: Fix typo in copyright line. + +2009-09-17 Bruno Haible <bruno@clisp.org> + + * 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 <ianb@erislabs.net>. + +2009-09-17 Eric Blake <ebb9@byu.net> + + rmdir: ensure correct dependency order + * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults. + +2009-09-17 Bruno Haible <bruno@clisp.org> + + Disable assertion that fails on NetBSD 5 / i386. + * lib/mktime.c (ydhms_diff): Disable assertion about time_t size. + Reported by Sam Steingold <sds@gnu.org> + and Hasso Tepper <hasso@netbsd.org>. + +2009-09-16 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <Ralf.Wildenhues@gmx.de> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + Work around towlower, towupper bug on mingw. + * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements. + * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + euidaccess: fix compilation error + * lib/euidaccess.c (includes): Add <fcntl.h>, 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 <ebb9@byu.net> + + fstatat: fix compilation on Solaris + * lib/fstatat.c (includes): Add fcntl.h. + Reported by Pádraig Brady. + +2009-09-07 Eric Blake <ebb9@byu.net> + + 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 <fcntl.h> 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/openat (configure.ac): Remove unneeded witness. + +2009-09-06 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms. + +2009-09-06 Bruno Haible <bruno@clisp.org> + + * lib/sys_stat.in.h: Fix preprocessor command indentation. + +2009-09-06 Ben Pfaff <blp@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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 <gray@gnu.org.ua> + + exclude: minor fix + * lib/exclude.c: Include wctype.h + +2009-09-06 Akim Demaille <demaille@gostai.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + syntax-check: detect unnecessary inclusion of openat.h + * top/maint.mk (sc_prohibit_openat_without_use): New rule. + +2009-09-05 Bruno Haible <bruno@clisp.org> + + 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 <alanh@fairlite.co.uk>. + +2009-09-05 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-striconveh.c (main): Test indirect conversion on platforms + where direct conversion is possible. + +2009-09-04 Eric Blake <ebb9@byu.net> + + 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: accomodate 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + errno: use consistently + * lib/c-stack.c (ENOTSUP): <errno.h> 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 <fcntl.h> 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 <dirent.h>, 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 <Ralf.Wildenhues@gmx.de> + + * 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 <bruno@clisp.org> + + * modules/mkdtemp (License): Relicense under LGPLv2+. + Reported by Paolo Bonzini. + +2009-09-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <ebb9@byu.net> + + 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 <berrange@redhat.com> + + 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 <simon@josefsson.org> + + * 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <stefano.lattarini@gmail.com> (tiny change) + + * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo' + command. + +2009-08-31 Jim Meyering <meyering@redhat.com> + + canonicalize: remove useless initialization + * lib/canonicalize.c (canonicalize_filename_mode): Remove useless + initialization of local, "end". + +2009-08-30 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + New module 'xstriconveh'. + * lib/xstriconveh.h: New file. + * lib/xstriconveh.c: New file. + * modules/xstriconveh: New file. + +2009-08-30 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/posix-functions/iconv_open.texi: Mention indirect conversion + problem. + +2009-08-30 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * tests/test-bitrotate.c (main): Remove test that uses a shift count + of 0. + +2009-08-27 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Fix link error on Solaris. + * tests/test-parse-duration.c (xstrdup): Remove function. + +2009-08-26 Pádraig Brady <P@draigbrady.com> + + 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. + +2009-08-25 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + libguestfs uses gnulib + * users.txt: Add libguestfs. + +2009-08-24 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <errno.h>. + (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]: + Set program_invocation_name. + +2009-08-23 Bruno Haible <bruno@clisp.org> + + * lib/dup3.c: Include <string.h>. + +2009-08-23 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/pipe2.c (pipe2): Move #ifs inside function. + +2009-08-22 Joel E. Denny <jdenny@clemson.edu> + + 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 <jdenny@clemson.edu> + + 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 <jdenny@clemson.edu> + + 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 <jdenny@clemson.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2009-08-23 Bruno Haible <bruno@clisp.org> + + Fix getdtablesize() on mingw. + * lib/getdtablesize.c (getdtablesize): Implement differently. + * lib/unistd.in.h (getdtablesize): Improve comment. + +2009-08-23 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms. + Reported by Eric Blake. + +2009-08-23 Bruno Haible <bruno@clisp.org> + + * lib/pipe2.c (pipe2): Fix test of fcntl's return value. + Reported by Eric Blake. + +2009-08-23 Bruno Haible <bruno@clisp.org> + + * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl. + * modules/pipe2 (Depends-on): Likewise. + +2009-08-23 Eric Blake <ebb9@byu.net> + + 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 <fcntl.h> 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 <bruno@clisp.org> + + * modules/binary-io (License): Relicense under LGPL. + * modules/pipe2 (License): Likewise. + +2009-08-22 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe. + * modules/pipe (Depends-on): Add pipe2. + +2009-08-22 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <demaille@gostai.com> + + 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 <ebb9@byu.net> + + 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 <bonzini@gnu.org> + + popen-safer: test O_CLOEXEC at run-time. + * lib/popen-safer.c: Test O_CLOEXEC at run-time. + +2009-08-21 Paolo Bonzini <bonzini@gnu.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * 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 <demaille@gostai.com> + + bootstrap: find sha1sum when named gsha1sum. + * bootstrap (find_tool): New. + ($SHA1SUM): New. + Use it. + +2009-08-20 Jim Meyering <meyering@redhat.com> + + 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 <bonzini@gnu.org> + + 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 <ebb9@byu.net> + + 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 <jdenny@clemson.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + and Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit. + +2009-08-14 Joel E. Denny <jdenny@clemson.edu> + + 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 <jdenny@clemson.edu> + + 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 <ebb9@byu.net> + and Bruno Haible <bruno@clisp.org> + + 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 <stddef.h> 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 <stddef.h>): 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <jdenny@clemson.edu> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + test-dup2: fix bad assumption + * tests/test-dup2.c (main): Tolerate leaked fds from environment. + Reported by Peter Breitenlohner <peb@mppmu.mpg.de>. + + 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 <simon@josefsson.org> + + * 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 + <ebb9@byu.net>. + * tests/test-argp-version-etc-1.sh: Likewise. + +2009-08-13 Simon Josefsson <simon@josefsson.org> + + * tests/test-version-etc.sh: Don't fail on different + project/version. + +2009-08-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Ensure that optarg etc. get declared by <unistd.h>. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require + AC_USE_SYSTEM_EXTENSIONS. + * modules/getopt (Depends-on): Add 'extensions'. + +2009-08-12 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2009-08-12 Bruno Haible <bruno@clisp.org> + + * 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. + + * m4/getopt.m4: Reorder macros. + (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE. + (gl_GETOPT_SUBSTITUTE): Remove macro. + +2009-08-12 Sergey Poznyakoff <gray@gnu.org.ua> + + Minor improvement in gitlog-to-changelog + + * build-aux/gitlog-to-changelog: New option `--format' makes + output format string configurable. + +2009-08-12 Sergey Poznyakoff <gray@gnu.org.ua> + + 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 <bruno@clisp.org> + + Ensure that getopt() gets declared by <unistd.h>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * m4/getopt.m4: Add comments. + +2009-08-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <gdt@ir.bbn.com> + at <https://savannah.gnu.org/support/?106973>. + +2009-08-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c (DCHAR_SET): Undefine at the end. + +2009-08-10 Bruno Haible <bruno@clisp.org> + + Fix a gcc warning. + * lib/write.c (rpl_write): Cast result of _get_osfhandle. + +2009-08-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2009-08-10 Bruno Haible <bruno@clisp.org> + + * m4/close.m4 (gl_FUNC_CLOSE): Add comment. + * modules/ioctl (configure.ac): Likewise. + +2009-08-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Make <sys/select.h> really self-contained, also on Solaris 10. + * lib/sys_select.in.h: Include <string.h>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Avoid compilation error in C++ mode. + * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument. + Reported by Sam Steingold <sds@gnu.org>. + +2009-08-08 Bruno Haible <bruno@clisp.org> + + * 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 <tgc@jupiterrise.com>. + +2009-08-07 Jim Meyering <meyering@redhat.com> + + 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 + +2009-08-07 Bruno Haible <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * tests/test-version-etc.sh: Use $EXEEXT. + +2009-08-06 Joel E. Denny <jdenny@clemson.edu> + + update-copyright: update documentation to point to maint.mk + * build-aux/update-copyright: Here. + +2009-08-06 Jim Meyering <meyering@redhat.com> + + maint.mk: support update-copyright-local + * top/maint.mk (update-copyright-local): Define place-holder. + (update-copyright): Depend on $(update-copyright-local). + +2009-08-06 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + +2009-08-05 Joel E. Denny <jdenny@clemson.edu> + + update-copyright: support C-style comments + * build-aux/update-copyright: Implement and document. + * tests/test-update-copyright.sh: Test. + +2009-08-05 Joel E. Denny <jdenny@clemson.edu> + + update-copyright: support omitted "(C)" + * build-aux/update-copyright: Implement and document. Also, + allow variable whitespace before "(C)". + * tests/test-update-copyright.sh: Test. + +2009-08-05 Joel E. Denny <jdenny@clemson.edu> + + 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. + +2009-08-05 Joel E. Denny <jdenny@clemson.edu> + + 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. + +2009-08-05 Joel E. Denny <jdenny@clemson.edu> + + 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. + +2009-08-03 Joel E. Denny <jdenny@clemson.edu> + + update-copyright: support @copyright{} and © + * build-aux/update-copyright: Implement and document. + * tests/test-update-copyright.sh: Test. + +2009-08-04 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + maint.mk: don't update copyright date in COPYING + * top/maint.mk (update-copyright): Exclude COPYING. + + maint.mk: add a copyright-updating rule + * top/maint.mk (update-copyright): New rule. + Derived from coreutils/Makefile.am. + + update-copyright: rename some variables + * build-aux/update-copyright: Rename a few variables for clarity. + Tweak syntax. List Joel E. Denny as coauthor. + +2009-08-03 Joel E. Denny <jdenny@clemson.edu> + + 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. + +2009-07-31 Joel E. Denny <jdenny@clemson.edu> + + 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 <jdenny@clemson.edu> + + update-copyright: support EOL=\r\n + * build-aux/update-copyright: Implement that. + +2009-07-31 Joel E. Denny <jdenny@clemson.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>. + Rewrite documentation. + +2009-08-03 Bruno Haible <bruno@clisp.org> + + * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64. + +2009-08-02 Bruno Haible <bruno@clisp.org> + + Tests for module 'uname'. + * modules/uname-tests: New file. + * tests/test-uname.c: New file. + + 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. + +2009-08-02 Bruno Haible <bruno@clisp.org> + + Tests for module 'sys_utsname'. + * modules/sys_utsname-tests: New file. + * tests/test-sys_utsname.c: New file. + + New module 'sys_utsname'. + * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>. + * m4/sys_utsname_h.m4: New file. + * modules/sys_utsname: New file. + * doc/posix-headers/sys_utsname.texi: Mention the new module. + +2009-08-02 Bruno Haible <bruno@clisp.org> + + 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. + +2009-08-02 Bruno Haible <bruno@clisp.org> + + 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. + +2009-08-03 Simon Josefsson <simon@josefsson.org> + + * tests/test-argp-version-etc-1.sh: Use EXEEXT. Don't fail on + different project/version. + +2009-08-02 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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. + + New module 'pipe-filter-gi'. + * lib/pipe-filter-gi.c: New file. + * modules/pipe-filter-gi: New file. + +2009-08-02 Bruno Haible <bruno@clisp.org> + Paolo Bonzini <bonzini@gnu.org> + + 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. + + 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. + +2009-08-02 Simon Josefsson <simon@josefsson.org> + + * lib/gc-libgcrypt.c: Change copyright to FSF. + * lib/gc-gnulib.c: Likewise. + +2009-08-02 Martin Lambers <marlam@marlam.de> (tiny change) + + * lib/gethostname.c: Include limits.h. + +2009-08-02 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + 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 <limits.h>. + (main): Check also HOST_NAME_MAX. + * doc/posix-headers/limits.texi: Document the mingw problem. + +2009-08-02 Bruno Haible <bruno@clisp.org> + + * lib/gethostname.c (gethostname): Fix handling of large len argument. + Add comments. + +2009-03-31 Simon Josefsson <simon@josefsson.org> + + * 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@. + +2009-07-31 Jim Meyering <meyering@redhat.com> + + 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-07-29 Matt Kraai <mkraai@beckman.com> + + 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. + +2009-07-29 Joel E. Denny <jdenny@clemson.edu> + + 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. + +2009-07-29 Jim Meyering <meyering@redhat.com> + + mktime: correct setting of REPLACE_MKTIME + * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required. + + 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-07-27 Bruno Haible <bruno@clisp.org> + + Fix compilation error when <ctime> 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 <rwmcfa1@neces.com>. + +2009-07-27 Bruno Haible <bruno@clisp.org> + + * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it. + Reported by Matt Kraai <mkraai@beckman.com>. + +2009-07-25 Jim Meyering <meyering@redhat.com> + + 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. + +2009-07-25 Bruno Haible <bruno@clisp.org> + + * 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 <mkraai@beckman.com>. + +2009-07-23 Jim Meyering <meyering@redhat.com> + + 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 <mkraai@beckman.com> (tiny change) + + Make fseeko.c compile on QNX. + * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE. + +2009-07-22 Peter Simons <simons@cryp.to> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * modules/.gitattributes: New file. + +2009-07-20 Bruno Haible <bruno@clisp.org> + + * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro. + (main): Use it. + +2009-07-20 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <windows.h>. + (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 <ebb9@byu.net> + + test-pipe: fix mingw build + * tests/test-pipe.c (main): Avoid fcntl on mingw. + +2009-07-18 Bruno Haible <bruno@clisp.org> + + * modules/pipe-tests (Makefile.am): Fix typo. + +2009-07-18 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems. + Reported by anonymous kc. + +2009-07-07 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/git-merge-changelog.c (compute_mapping): Fix determination of + best_i. + +2009-07-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/git-merge-changelog.c (main): Add comment about git cherry-pick. + +2009-06-30 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bonzini@gnu.org> + + * 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 <bonzini@gnu.org> + + * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL. + +2009-06-25 Eric Blake <ebb9@byu.net> + + 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 <sds@gnu.org> + + * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the + mbtowc declaration. + +2009-06-25 Eric Blake <ebb9@byu.net> + + fpurge: migrate into <stdio.h> + * 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 <gray@gnu.org.ua> + + * 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 <gray@gnu.org.ua> + + 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 <gray@gnu.org.ua> + + Provide additional interfaces and documentation for version-etc + module. + + * lib/version-etc.c (version_etc_arn, version_etc_ar): New + interfaces. + * lib/version-etc.h (version_etc_arn, version_etc_ar): New + prototypes. + +2009-06-24 Bruno Haible <bruno@clisp.org> + + * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of + HAVE_LIB${NAME} macro. + Reported by Sam Steingold <sds@gnu.org>. + +2009-06-23 Simon Josefsson <simon@josefsson.org> + + * modules/hash-tests (test_hash_LDADD): Link to libintl when + needed. + +2009-06-21 Bruno Haible <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2009-06-20 Jim Meyering <meyering@redhat.com> + + 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 ./. + +2009-06-19 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + tests: test-hash: allow seed selection via a command line argument + * tests/test-hash.c (get_seed): New function. + (main): Use it. + +2009-06-19 Eric Blake <ebb9@byu.net> + + 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. + + 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-06-18 Eric Blake <ebb9@byu.net> + + 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. + + 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. + + 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. + + 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. + +2009-06-18 Bruno Haible <bruno@clisp.org> + + * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is + going to be replaced anyway. + +2009-06-18 Bruno Haible <bruno@clisp.org> + + * 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. + +2009-06-18 Eric Blake <ebb9@byu.net> + + 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. + +2009-06-18 Jim Meyering <meyering@redhat.com> + + hash-tests: add a loop around the small tests + * tests/test-hash.c (main): Repeat small tests with selected + small initial table sizes. + +2009-06-17 Eric Blake <ebb9@byu.net> + + 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. + +2009-06-17 Jim Meyering <jim@meyering.net> + and Eric Blake <ebb9@byu.net> + + hash-tests: new module + * modules/hash-tests: New file. + * tests/test-hash.c: New file. + +2009-06-17 Eric Blake <ebb9@byu.net> + + strstr-simple: document new module + * MODULES.html.sh: Document new module. + + 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. + +2009-06-17 Bruno Haible <bruno@clisp.org> + + * modules/posix_spawn-internal (Depends-on): Add errno. + +2009-06-17 Bruno Haible <bruno@clisp.org> + + 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 <jay.krell@cornell.edu> via Eric Blake. + +2009-06-15 Eric Blake <ebb9@byu.net> + + 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. + + docs: memchr is no longer obsolete + * MODULES.html.sh: Move memchr from obsolete to string.h section. + * lib/string.in.h (memchr): Simplify logic. + +2009-06-14 Jim Meyering <meyering@redhat.com> + + 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-06-14 Bruno Haible <bruno@clisp.org> + + * m4/memchr.m4: Mention also the bug on IA-64. + * doc/posix-functions/memchr.texi: Likewise. + +2009-06-12 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/idpriv.h: Add more references. + +2009-06-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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-06-07 Jim Meyering <meyering@redhat.com> + + hash: declare some functions with the warn_unused_result attribute + * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define. + +2009-06-07 Bruno Haible <bruno@clisp.org> + + * tests/test-alignof.c: Don't test int64_t if it does not exist. + Reported by Eric Blake. + +2009-06-06 Eric Blake <ebb9@byu.net> + + test-alignof: fix typo with long double + * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid + compiler error. + +2009-06-06 Neil Jerram <neil@ossau.uklinux.net> (tiny change) + + Escape non-texinfo { and }s. + * doc/ld-output-def.texi (Visual Studio Compatibility): Fix + markup error. + +2009-06-04 Jim Meyering <meyering@redhat.com> + + 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 <transacid@centerim.org>. + +2009-06-03 Mike Frysinger <vapier@gentoo.org> + + 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 <bug-coreutils@gnu.org>. + Report Gentoo bugs to <http://bugs.gentoo.org/>. + GNU coreutils home page: <http://www.gnu.org/software/coreutils/>. + General help using GNU software: <http://www.gnu.org/gethelp/>. + * 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. + +2009-05-31 Bruno Haible <bruno@clisp.org> + + * tests/test-alignof.c: Include <stdint.h>. Check also 'long double' + and 'int64_t'. + * modules/alignof-tests (Dependencies): Add stdint. + Reported by Eric Blake. + +2009-05-31 Bruno Haible <bruno@clisp.org> + + * lib/alignof.h (alignof_slot, alignof_type, alignof): Document + restriction due to compiler bugs. + Reported by Eric Blake. + +2009-05-31 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + 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. + +2009-05-31 Bruno Haible <bruno@clisp.org> + + * 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. + +2009-05-30 Bruno Haible <bruno@clisp.org> + + * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more + detail how to use dumpbin. + Reported by David Byron <dbyron@dbyron.com>. + +2009-06-02 Simon Josefsson <simon@josefsson.org> + + * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'. + +2009-06-02 Simon Josefsson <simon@josefsson.org> + + * m4/manywarnings.m4: Add GCC 4.4 warnings. + +2009-05-28 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on + build-aux/ files. + +2009-05-28 Simon Josefsson <simon@josefsson.org> + + * gnulib-tool (func_import): Transform license on build-aux/ files too. + +2009-05-27 Simon Josefsson <simon@josefsson.org> + + * gnulib-tool (sed_transform_main_lib_file) + (sed_transform_testsrelated_lib_file): : Don't use non-POSIX + regexps. + +2009-05-26 Simon Josefsson <simon@josefsson.org> + + * tests/test-strstr.c: Add another self-test. + * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of + strdup. Suggested by Eric Blake <ebb9@byu.net>. + +2009-05-23 Bruno Haible <bruno@clisp.org> + + * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26 + change. + +2009-05-21 Bruno Haible <bruno@clisp.org> + + 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. + +2009-05-21 Pádraig Brady <P@draigbrady.com> + + * doc/glibc-functions/fallocate.texi: New file. + * doc/gnulib.texi: Include it. + +2009-05-21 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote + invocations. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. + +2009-05-21 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + 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. + +2009-05-21 Bruno Haible <bruno@clisp.org> + + Avoid redefinition warnings for SIZE_MAX. + * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h. + Reported by Simon Josefsson. + +2009-05-21 Bruno Haible <bruno@clisp.org> + + * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of + AC_CACHE_VAL. + +2009-05-20 Bruno Haible <bruno@clisp.org> + + Make zeroptr.h work on mingw. + * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> 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. + +2009-05-20 Simon Josefsson <simon@josefsson.org> + + * tests/test-glob.c: Include string.h for strcmp prototype. + +2009-05-20 Simon Josefsson <simon@josefsson.org> + + * 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. + +2009-05-20 Simon Josefsson <simon@josefsson.org> + + MinGW and IRIX does not have sa_family_t type. Reported by "Tom + G. Christensen" <tgc@jupiterrise.com>. + * 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. + +2009-05-18 Eric Blake <ebb9@byu.net> + + maint.mk: allow gnulib_dir in VPATH build + * top/maint.mk (gnulib_dir): Make relative to $(srcdir). + +2009-05-15 Jim Meyering <meyering@redhat.com> + + 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 + +2009-05-14 Tom Prince <tom.prince@ualberta.net> (tiny change) + + rename.m4: fix typos that would make non-mingw cross-configure fail + * m4/rename.m4 (gl_FUNC_RENAME): Fix typos. + +2009-05-13 Eric Blake <ebb9@byu.net> + + 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-05-13 Bruno Haible <bruno@clisp.org> + + 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-05-12 Bruno Haible <bruno@clisp.org> + + Tests for module 'alignof'. + * modules/alignof-tests: New file. + * tests/test-alignof.c: New file. + +2009-05-12 Bruno Haible <bruno@clisp.org> + + Fix alignof macro. + * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX + vendor compilers that are always correct. + +2009-05-12 Bruno Haible <bruno@clisp.org> + + 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-05-12 Bruno Haible <bruno@clisp.org> + + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments. + +2009-05-12 Jim Meyering <meyering@redhat.com> + + * top/maint.mk: Adjust backslash alignment. + +2009-05-11 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk: Make $(srcdir)/build-aux configurable. + +2009-05-11 Eric Blake <ebb9@byu.net> + + argp: avoid undefined behavior + * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype + macros. + +2009-05-08 Simon Josefsson <simon@josefsson.org> + + * tests/test-vc-list-files-git.sh: Do git config of user.email and + user.name to prevent git commit from complaining. + +2009-05-10 Bruno Haible <bruno@clisp.org> + + * 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-05-08 Bruno Haible <bruno@clisp.org> + + * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression + instead of 'max'. + +2009-05-08 Simon Josefsson <simon@josefsson.org> + + * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for + sockaddr_storage test. + +2009-05-07 Simon Josefsson <simon@josefsson.org> + + * 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. + +2009-05-08 Bruno Haible <bruno@clisp.org> + + New module 'alignof'. + * lib/alignof.h: New file. + * modules/alignof: New file. + +2009-05-04 David Bartley <dtbartle@csclub.uwaterloo.ca> + Bruno Haible <bruno@clisp.org> + + 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 <signal.h>. + (main): Terminate the test after 5 seconds. + * modules/acl-tests (configure.ac): Check for alarm function. + +2009-05-04 Bruno Haible <bruno@clisp.org> + + 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. + +2009-05-04 Simon Josefsson <simon@josefsson.org> + + * modules/glob-tests: New module. + * tests/test-glob.c: Add. + +2009-05-04 Simon Josefsson <simon@josefsson.org> + + * modules/fnmatch-tests: New module. + * tests/test-fnmatch.c: Add. + +2009-05-04 Eric Blake <ebb9@byu.net> + + maint: make the new no-submodule-changes rule VPATH-safe + * top/maint.mk (no-submodule-changes): Don't assume a srcdir build. + +2009-05-04 David Bartley <dtbartle@csclub.uwaterloo.ca> + Bruno Haible <bruno@clisp.org> + + 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-05-03 Bruno Haible <bruno@clisp.org> + + * lib/acl-internal.h (acl_entries): Clarify return value. + * lib/acl_entries.c (acl_entries): Likewise. + +2009-05-04 David Bartley <dtbartle@csclub.uwaterloo.ca> + + Bug fix in acl module. + * lib/set-mode-acl.c: Use correct struct with ACL_SETACL. + +2009-05-03 Bruno Haible <bruno@clisp.org> + + 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. + +2009-05-03 Bruno Haible <bruno@clisp.org> + + * 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. + +2009-05-03 Bruno Haible <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF, + gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE. + Reported by Ralf Wildenhues. + +2009-05-04 Simon Josefsson <simon@josefsson.org> + + * m4/fnmatch.m4: Fix fnmatch re-define. + +2009-04-27 David Bartley <dtbartle@csclub.uwaterloo.ca> + + 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. + + Tests for module 'priv-set'. + * modules/priv-set-tests: New file. + * tests/test-priv-set.c: New file. + +2009-05-03 Jim Meyering <meyering@redhat.com> + Bruno Haible <bruno@clisp.org> + + * lib/propername.c (proper_name_utf8): Ignore no-op translations; + use the converted UTF-8 variant of the name instead. + +2009-05-03 Jim Meyering <meyering@redhat.com> + + tests: tighten some getdate tests + * tests/test-getdate.c (main): Tighten tests: require equality, + not just greater than. Set TZ envvar to UTC0. + +2009-05-03 Giuseppe Scrivano <gscrivano@gnu.org> + + 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. + +2009-05-02 Jim Meyering <meyering@redhat.com> + + 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. + +2009-05-02 Bruno Haible <bruno@clisp.org> + + 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. + +2009-05-02 Bruno Haible <bruno@clisp.org> + + Relicense mbsrtowcs and strnlen1 under LGPLv2+. + * modules/mbsrtowcs (License): Change to LGPLv2+. + * modules/strnlen1 (License): Likewise. + Reported by Simon Josefsson. + +2009-05-02 Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + 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. + +2009-05-01 Bruno Haible <bruno@clisp.org> + + * 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 <rehsack@googlemail.com> via Eric Blake. + +2009-05-01 Bruno Haible <bruno@clisp.org> + + Avoid compiler warnings when redefining macros defined by <libintl.h>. + * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext, + dngettext, dcngettext, textdomain, bindtextdomain, + bind_textdomain_codeset): Undefine before redefining. + +2009-04-30 Bruno Haible <bruno@clisp.org> + + 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 <elbert.pol@gmail.com>. + +2009-04-28 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + maint.mk: allow package-specific header to provide <config.h> + * 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 <simon@josefsson.org> + + * top/maint.mk (sc_avoid_if_before_free): Except + useless-if-before-free script. + +2009-04-27 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + vc-list-files: fix shell quoting error + * build-aux/vc-list-files: Protect against $ in $dir. Normalize + timestamp. + +2009-04-25 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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. + + maint.mk: remove obsolete rule + * top/maint.mk (rel-check): Remove rule. + (WGET, WGETFLAGS): Remove now-unused variables. + +2009-04-24 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (makefile-check): Renamed to sc_makefile_check for + consistency. + + * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use + '$(PATH_SEPARATOR)' instead of ':'. + +2009-04-24 Simon Josefsson <simon@josefsson.org> + + * lib/getopt1.c (main): Use 'const' for static array. + +2009-04-24 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk: Sync with coreutils. + * NEWS: Explain incompatibilities. + +2009-04-22 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + 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-04-20 Bruno Haible <bruno@clisp.org> + + Avoid test failure on mingw. + * tests/uniwidth/test-uc_width2.sh: Convert newlines in output. + +2009-04-20 Bruno Haible <bruno@clisp.org> + + Avoid compilation error on mingw. + * modules/localename-tests (Depends-on): Add locale. + +2009-04-19 Bruno Haible <bruno@clisp.org> + + 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. + +2009-04-19 Bruno Haible <bruno@clisp.org> + + Avoid a compiler warning. + * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file): + Change type of variable 'sequence'. + +2009-04-19 Bruno Haible <bruno@clisp.org> + + * modules/configmake (Makefile.am): When the contents of configmake.h + does not change, arrange to preserve its modification time. + +2009-04-17 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (PO_DOMAIN): New variable, allows overriding of + gettext domain. + +2009-04-16 Jim Meyering <meyering@redhat.com> + + 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. + +2009-04-14 Bruno Haible <bruno@clisp.org> + + * modules/fcntl (Depends-on): Add extensions. + * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment. + +2009-04-12 Ben Pfaff <blp@gnu.org> + + Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS. + +2009-03-20 Ben Pfaff <blp@gnu.org> + + 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. + +2009-04-10 Bruno Haible <bruno@clisp.org> + + 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 <stddef.h> 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. + +2009-04-10 Bruno Haible <bruno@clisp.org> + + * lib/uniconv.h: Update comment. + +2009-04-10 Bruno Haible <bruno@clisp.org> + + * 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. + +2009-04-10 Bruno Haible <bruno@clisp.org> + + Mark 'utime' obsolete. + * modules/utime (Status, Notice): New sections. + Suggested by Jim Meyering. + + 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 <ipif@ymail.com>. + +2009-04-09 Kamil Dudka <kdudka@redhat.com> + + 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 <meyering@redhat.com> + + 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 <rrt@sc3d.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * README: prominently mention gnulib-tool. + Rearrange sections so getting the code is near the top. + +2009-04-05 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + 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. + + * 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. + +2009-04-03 Simon Josefsson <simon@josefsson.org> + + * m4/ld-version-script.m4: Add FIXME comment. + +2009-04-02 Simon Josefsson <simon@josefsson.org> + + * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing + SOVERSION variable. + +2009-04-02 Bruno Haible <bruno@clisp.org> + + * Makefile (info, html, dvi, pdf): Combine the rules. + Suggested by Jim Meyering. + +2009-04-01 Bruno Haible <bruno@clisp.org> + + * Makefile (info, html, dvi, pdf): New targets. + Reported by Reuben Thomas <rrt@sc3d.org>. + +2009-04-01 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool + can be put into PATH. + Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry. + +2009-04-01 Bruno Haible <bruno@clisp.org> + + * doc/lib-symbol-visibility.texi: Follow texinfo style conventions. + +2009-04-01 Bruno Haible <bruno@clisp.org> + + 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-04-01 Simon Josefsson <simon@josefsson.org> + + * modules/lib-msvc-compat: New module. Thanks to Bruno Haible + <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and + Eric Blake <ebb9@byu.net> 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. + +2009-04-01 Simon Josefsson <simon@josefsson.org> + + Rename ld-version-script to lib-symbol-versions. Suggested by + Bruno Haible <bruno@clisp.org>. + * 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-03-31 Simon Josefsson <simon@josefsson.org> + + * modules/u64-tests: New file. + * tests/test-u64.c: New file. + +2009-03-04 Simon Josefsson <simon@josefsson.org> + + * MODULES.html.sh: Mention u64. + * modules/u64: New module. + * modules/crypto/sha512: Depend on u64 module instead of providing + u64.h. + +2009-03-27 Eric Blake <ebb9@byu.net> + + 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-03-25 Bruno Haible <bruno@clisp.org> + + Fix a problem with --enable-relocatable on Solaris 7. + * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed + since 2008-02-24. + +2009-03-25 Eric Blake <ebb9@byu.net> + + test-sockets: avoid gcc warning + * tests/test-sockets.c (main): Silence compiler warning. + +2009-03-25 Paul Eggert <eggert@cs.ucla.edu> + + New modules nproc, pthread, contributed by Glen Lenker. + + * 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. + +2009-03-24 Simon Josefsson <simon@josefsson.org> + + * modules/unicase/locale-language-tests (test_locale_language_LDADD): + New variable. + +2009-03-24 Kamil Dudka <kdudka@redhat.com> + + 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. + +2009-03-24 Simon Josefsson <simon@josefsson.org> + + * modules/stdlib (Depends-on): Add stdint, needed when defining + struct random_data on, for example, HP-UX 10.20. Reported by + Albert Chin <bug-gnulib@mlists.thewrittenword.com>. + +2009-03-24 Simon Josefsson <simon@josefsson.org> + + * lib/readline.c (readline): Call fflush on stdout after printing + prompt. + +2009-03-20 Bruno Haible <bruno@clisp.org> + + 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 <sys/socket.h>, + 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. + +2009-03-23 Eric Blake <ebb9@byu.net> + + signal-tests: test previous patch + * tests/test-signal.c: New file. + * modules/signal-tests: Likewise. + + 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-03-23 Jim Meyering <meyering@redhat.com> + + 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 <Ralf.Wildenhues@gmx.de> + + * gnulib-tool (func_filter_filelist): Fix comment. + +2009-03-20 Bruno Haible <bruno@clisp.org> + + Make sockets.h self-contained. + * lib/sockets.c: Include sockets.h first. + * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type. + +2009-03-19 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/git-merge-changelog.c: Fix typo in comment. + Reported by Reuben Thomas <rrt@sc3d.org>. + +2009-03-17 Reuben Thomas <rrt@sc3d.org> + + * m4/regex.m4: update and improve help for + --without-included-regex. + +2009-03-17 Simon Josefsson <simon@josefsson.org> + + * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid + failure on missing include files. + +2009-03-17 Eric Blake <ebb9@byu.net> + + 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 <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <mduft@gentoo.org>. + + * 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 <meyering@redhat.com> + + 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 <stdint.h>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + New module 'memxfrm'. + * lib/memxfrm.h: New file. + * lib/memxfrm.c: New file. + * modules/memxfrm: New file. + +2009-03-07 Bruno Haible <bruno@clisp.org> + + New module 'memcmp2'. + * lib/memcmp2.h: New file. + * lib/memcmp2.c: New file. + * modules/memcmp2: New file. + +2009-03-07 Bruno Haible <bruno@clisp.org> + + 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. + +2009-03-07 Bruno Haible <bruno@clisp.org> + + * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small + strings. + +2009-03-06 Bruno Haible <bruno@clisp.org> + + Tests for module 'uninorm/u32-normcmp'. + * tests/uninorm/test-u32-normcmp.c: New file. + * modules/uninorm/u32-normcmp-tests: New file. + + Tests for module 'uninorm/u16-normcmp'. + * tests/uninorm/test-u16-normcmp.c: New file. + * modules/uninorm/u16-normcmp-tests: New file. + + Tests for module 'uninorm/u8-normcmp'. + * tests/uninorm/test-u8-normcmp.c: New file. + * modules/uninorm/u8-normcmp-tests: New file. + + New module 'uninorm/u32-normcmp'. + * lib/uninorm/u32-normcmp.c: New file. + * modules/uninorm/u32-normcmp: New file. + + New module 'uninorm/u16-normcmp'. + * lib/uninorm/u16-normcmp.c: New file. + * modules/uninorm/u16-normcmp: New file. + + 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. + +2009-03-06 Bruno Haible <bruno@clisp.org> + + * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning. + Reported by Eric Blake. + +2009-03-06 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + * 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. + +2009-03-06 Eric Blake <ebb9@byu.net> + + * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe, + to avoid compiler warnings. + * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise. + +2009-03-05 Bruno Haible <bruno@clisp.org> + + * tests/test-ftell.c (main): Disable test beyond end of file on + FreeMiNT. + Patch by Alan Hourihane <alanh@fairlite.co.uk>. + +2009-03-05 Kamil Dudka <kdudka@redhat.com> + + * lib/filevercmp.c: Move hidden files up in ordering. + * tests/test-filevercmp.c: Add tests for hidden files. + +2009-03-04 Bruno Haible <bruno@clisp.org> + + * modules/visibility (Makefile.am): Augment AM_CFLAGS. + * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of + AM_CFLAGS. + Reported by Simon Josefsson. + +2009-03-03 Bruno Haible <bruno@clisp.org> + + * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro. + Reported by Simon Josefsson. + + * doc/ld-version-script.texi: Update node reference. + +2009-03-03 Bruno Haible <bruno@clisp.org> + + * modules/visibility (License): Change to 'unlimited'. + Suggested by Simon Josefsson. + +2009-03-03 Jim Meyering <meyering@redhat.com> + + 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-03-03 Eric Blake <ebb9@byu.net> + + 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-03-03 Bruno Haible <bruno@clisp.org> + + * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi + earlier. + * doc/visibility.texi: Fix @node and @section. + +2009-03-03 Simon Josefsson <simon@josefsson.org> + + * 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. + +2009-03-02 David Lutterkort <lutter@redhat.com> + + * lib/safe-alloc.h (__GNUC_PREREQ): New macro. + Reported by Tom G. Christensen <tgc@jupiterrise.com>. + +2009-03-02 Bruno Haible <bruno@clisp.org> + + * doc/visibility.texi: Mention libtool's -export-symbols option. + +2009-03-02 Jim Meyering <meyering@redhat.com> + + 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. + +2009-03-01 Bruno Haible <bruno@clisp.org> + + 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-03-01 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at + least 4.2. + +2009-03-01 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + * 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-03-01 Eric Blake <ebb9@byu.net> + + * lib/wait-process.c (wait_subprocess): Remove unnecessary cast. + +2009-03-01 Bruno Haible <bruno@clisp.org> + + Avoid a gcc warning. + * tests/test-sched.c (b): Make global. + Reported by Eric Blake. + +2009-01-19 Martin Lambers <marlam@marlam.de> + + 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. + +2009-03-01 Simon Josefsson <simon@josefsson.org> + + * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of + __USE_GNU, for consistency with netdb.in.h. + Reported by Alan Hourihane <alanh@fairlite.co.uk>. + +2009-03-01 Bruno Haible <bruno@clisp.org> + + More support for FreeMiNT. + * lib/fseeko.c (rpl_fseeko): Complete last commit. + Reported by Alan Hourihane <alanh@fairlite.co.uk>. + +2009-03-01 Bruno Haible <bruno@clisp.org> + + More support for FreeMiNT. + * lib/fpurge.c (fpurge): Correct last commit. + Reported by Alan Hourihane <alanh@fairlite.co.uk>. + +2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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. + +2009-02-28 Bruno Haible <bruno@clisp.org> + + 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 <alanh@fairlite.co.uk>. + +2009-02-28 Bruno Haible <bruno@clisp.org> + + * tests/test-freadseek.c (main): Disable test beyond end of file on + FreeMiNT. + * tests/test-ftello.c (main): Likewise. + Patch by Alan Hourihane <alanh@fairlite.co.uk>. + +2009-02-28 Bruno Haible <bruno@clisp.org> + + 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 <alanh@fairlite.co.uk>. + +2009-02-28 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.h (wait_subprocess): Clarify restriction regarding + SIGCHLD. + Reported by Jim Meyering. + +2009-02-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17. + Reported by Loïc Minier <lool@dooz.org>. + +2009-02-27 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (sed): Don't alias as "sed --posix". + Reported by Eric Blake. + +2009-02-27 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2009-02-27 Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net> + + printf: fix regression in previous patch + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error. + +2009-02-27 Bruno Haible <bruno@clisp.org> + + * 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 <pdb_ml@yahoo.com.au>. + +2009-02-27 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2009-02-26 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8 + with known value. + Reported by Gary V. Vaughan <gary@gnu.org>. + +2009-02-25 Bruno Haible <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2009-02-25 Bruno Haible <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2009-02-25 Eric Blake <ebb9@byu.net> + + 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 <ovasik@redhat.com> + + test-getaddrinfo: fix usage of skip return code 77 + * tests/test-gettaddrinfo.c: Return skip code 77 only + for first occurance of skip (4x77 is not 77) + +2009-02-25 Gary V. Vaughan <gary@gnu.org> + + strtod: avoid C99 decl-after-statement + * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration. + +2009-02-24 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <blp@cs.stanford.edu>. + +2009-02-22 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <lutter@redhat.com> + + 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 <stdlib.h>): Add + safe-alloc. + +2009-02-18 Bruno Haible <bruno@clisp.org> + + Fix link error on non-glibc systems. + * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New + variable. + Reported by Tom G. Christensen <tgc@jupiterrise.com>. + +2009-02-18 Jim Meyering <meyering@redhat.com> + + 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 <jay@gnu.org> + Bruno Haible <bruno@clisp.org> + + * m4/include_next.m4: Reformulate comment. + +2009-02-16 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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. + +2009-02-15 Albert Chin-A-Young <china@thewrittenword.com> + + * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that + fixes are available from IBM. + +2009-02-13 Jim Meyering <meyering@redhat.com> + + 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. + + 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-02-11 Jim Meyering <meyering@redhat.com> + + 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. + +2009-02-10 Bruno Haible <bruno@clisp.org> + + 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. + + Tests for module 'uniwbrk/u32-wordbreaks'. + * modules/uniwbrk/u32-wordbreaks-tests: New file. + * tests/uniwbrk/test-u32-wordbreaks.c: New file. + + Tests for module 'uniwbrk/u16-wordbreaks'. + * modules/uniwbrk/u16-wordbreaks-tests: New file. + * tests/uniwbrk/test-u16-wordbreaks.c: New file. + + Tests for module 'uniwbrk/u8-wordbreaks'. + * modules/uniwbrk/u8-wordbreaks-tests: New file. + * tests/uniwbrk/test-u8-wordbreaks.c: New file. + +2009-02-10 Bruno Haible <bruno@clisp.org> + + * 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-02-10 Simon Josefsson <simon@josefsson.org> + + * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use + inline keywords. Reported by Bruno Haible <bruno@clisp.org>. + +2009-02-10 Bruno Haible <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * lib/sockets.h (gl_fd_to_handle): New function. + + * tests/test-sockets.c: Call gl_fd_to_handle. + +2009-02-09 Bruno Haible <bruno@clisp.org> + + * doc/havelib.texi: Document the conventions on bi-arch systems. + +2009-02-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document + failure behaviour. + +2009-02-07 Jim Meyering <meyering@redhat.com> + + 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 <blp@gnu.org> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <errno.h>. + Set errno to ENOTSUP when returning -1. + * modules/dirfd (Depends-on): Add errno. + Suggested by John Kodis <kodis@comcast.net>. + +2009-02-01 Bruno Haible <bruno@clisp.org> + + 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 <sezeroz@gmail.com>. + +2009-01-30 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + version-etc: use consistent URL formatting + * lib/version-etc.c (emit_bug_reporting_address, version_etc_va): + Improve formatting. Use fputs for string without %. + +2009-01-28 Jim Meyering <meyering@redhat.com> + + 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. + +2009-01-28 Bruno Haible <bruno@clisp.org> + + * doc/gnulib.texi: Add "Obsolete modules" to index. + +2009-01-28 Jim Meyering <meyering@redhat.com> + + useless-if-before-free: recognize more variants + * build-aux/useless-if-before-free: Also recognize e.g., + if (NULL != p) free (p); + +2009-01-27 Mark McLoughlin <markmc@redhat.com> + + 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. + +2009-01-26 Jim Meyering <meyering@redhat.com> + + fflush: avoid warnings on modern systems + * lib/fflush.c (rpl_fflush): Move declarations of locals, + pos and result, into scopes where they're used. + +2009-01-26 Eric Blake <ebb9@byu.net> + + 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. + + 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-01-25 Bruno Haible <bruno@clisp.org> + + 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 <locale.h> and gettext.h. Don't + include <libintl.h>. + (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-01-25 Bruno Haible <bruno@clisp.org> + + * 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. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + 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. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + * 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. + + * 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. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + * lib/glthread/threadlib.c: Include <stdlib.h>. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + * lib/glthread/threadlib.c (dummy): New declaration. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + * 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. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + Avoid redefining 'struct random_data' on OSF/1 5.1. + * lib/stdlib.in.h: Include <random.h> if it exists. + * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set + HAVE_RANDOM_H. Include <random.h> when testing whether + 'struct random_data' exists. + * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H. + +2009-01-25 Bruno Haible <bruno@clisp.org> + + 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-01-25 Bruno Haible <bruno@clisp.org> + + 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-01-25 Bruno Haible <bruno@clisp.org> + + 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. + +2009-01-25 Jim Meyering <meyering@redhat.com> + + c-strtod: avoid warnings + * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid + "assignment discards qualifiers from pointer target type" warnings. + +2009-01-24 Bruno Haible <bruno@clisp.org> + + 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 <vincent@vinc17.org> + at <http://savannah.gnu.org/bugs/?25235>. + +2009-01-24 Bruno Haible <bruno@clisp.org> + + * doc/gnulib.texi (Obsolete modules): New section. + Reported by Mike Frysinger <vapier@gentoo.org>. + +2009-01-24 Bruno Haible <bruno@clisp.org> + + * doc/Makefile (%.pdf): Clarify where to find texmf.cnf. + (%.dvi): New rule. + +2009-01-24 Bruno Haible <bruno@clisp.org> + + * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification. + Reported by Eric Blake. + +2009-01-24 Bruno Haible <bruno@clisp.org> + + * 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 <gary@gnu.org>. + +2009-01-24 Bruno Haible <bruno@clisp.org> + + * lib/c-strtod.h (c_strtod, c_strtold): Add specification. + +2009-01-23 Bruno Haible <bruno@clisp.org> + + 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 <mgold@ncf.ca>. + +2009-01-23 Jim Meyering <meyering@redhat.com> + + 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. + +2009-01-23 Simon Josefsson <simon@josefsson.org> + + * 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-01-22 Bruno Haible <bruno@clisp.org> + + 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. + +2009-01-21 Bruno Haible <bruno@clisp.org> + + * lib/getloadavg.c (getloadavg): Check c_strtod result against error + conditions other than overflow. + +2009-01-21 Bruno Haible <bruno@clisp.org> + + * lib/c-strtod.c: Include errno.h. + (C_STRTOD): Check against NULL return from newlocale. Preserve errno + value from STRTOD_L and STRTOD. + +2009-01-21 Bruno Haible <bruno@clisp.org> + and Jim Meyering <meyering@redhat.com> + + 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. + + 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. + +2009-01-21 Eric Blake <ebb9@byu.net> + + 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. + + 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. + + 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. + +2009-01-21 Paolo Bonzini <bonzini@gnu.org> + + Revert: + 2009-01-20 Paolo Bonzini <bonzini@gnu.org> + + regex: do not depend on obsolete modules. + * modules/regex: Remove memcmp and memmove. + +2009-01-20 Bruno Haible <bruno@clisp.org> + + 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. + +2009-01-20 Bruno Haible <bruno@clisp.org> + + Fix compilation failure on mingw. + * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists. + +2009-01-20 Michael Gold <mgold@ncf.ca> (tiny change) + + * doc/c-strtod.texi: Mention a couple of restrictions. + +2009-01-20 Jim Meyering <meyering@redhat.com> + + 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. + +2009-01-20 Paolo Bonzini <bonzini@gnu.org> + + regex: do not depend on obsolete modules. + * modules/regex: Remove memcmp and memmove. + +2009-01-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-link.c: Include <errno.h>. + (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 <marlam@marlam.de> + + * modules/link-tests: New file. + * tests/test-link.sh: New file. + * tests/test-link.c: New file. + +2009-01-19 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <unistd.h>. + * 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 <ebb9@byu.net> + + 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 <berrange@redhat.com> + + ioctl: avoid warning: no previous prototype for 'rpl_ioctl' + * lib/ioctl.c: Include <sys/ioctl.h>. + +2009-01-19 Simon Josefsson <simon@josefsson.org> + + * 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 <simon@josefsson.org> + + * 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 <berrange@redhat.com> + + gettimeofday: avoid warning: nested extern declaration of 'localtime' + * lib/gettimeofday.c: Move extern declaration out of function. + +2009-01-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/strftime.c (MEMPCPY): Remove unused macro. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy. + +2009-01-18 Martin Lambers <marlam@marlam.de> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/dprintf-posix-tests: New file. + * tests/test-dprintf-posix.sh: New file. + * tests/test-dprintf-posix.c: New file. + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Fix compilation error on HP-UX 11.00, present since 2008-09-24. + * lib/fopen.c: Include <sys/types.h> and <sys/types.h>. + +2009-01-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/wchar.in.h: In another particular situation, include only the + system's <wchar.h> file. + (_GL_ALREADY_INCLUDING_WCHAR_H): New macro. + Reported by Albert Chin-A-Young <china@thewrittenword.com> + and Thomas Guyot-Sionnest <dermoth@aei.ca>. + +2009-01-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * build-aux/install-reloc: Remove debugging information left over by + C compiler on MacOS X. + +2009-01-17 Bruno Haible <bruno@clisp.org> + + Update use of _NSGetExecutablePath after API change in MacOS X 10.4. + * lib/progreloc.c (find_executable): Fix type of pointer passed to + _NSGetExecutablePath. + +2009-01-16 Jim Meyering <meyering@redhat.com> + + 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. + +2009-01-16 Albert Chin-A-Young <china@thewrittenword.com> + + * lib/arpa_inet.in.h: Add extern "C" block for C++. + +2009-01-16 Bruno Haible <bruno@clisp.org> + + * 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 <bug-gnulib@mlists.thewrittenword.com>. + +2009-01-16 Jim Meyering <meyering@redhat.com> + + 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 <berrange@redhat.com> + + poll: remove declarations of unused variables + * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused + sockbuf and optlen. + +2009-01-15 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <china@thewrittenword.com> + + 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 <bruno@clisp.org> + + * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined + while including <wchar.h>. + * lib/wchar.in.h: In two particular situations on HP-UX, include only + the system's <wchar.h> file. + Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>. + +2009-01-14 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/progname.c (set_program_name): Add more comments. + Reported by Sergey Poznyakoff <gray@gnu.org.ua>. + +2009-01-14 Simon Josefsson <simon@josefsson.org> + + * 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 <meyering@redhat.com> + + 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 + <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>. + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4 + and m4/inttypes_h.m4 too. + +2009-01-12 Eric Blake <ebb9@byu.net> + + 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 <bonzini@gnu.org> + + regex: fix glibc bug 9697 + * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET + handling. + +2009-01-09 Paolo Bonzini <bonzini@gnu.org> + + 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 <bonzini@gnu.org> + + 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 <meyering@redhat.com> + + poll: filter through cppi + * lib/poll.c: Indent cpp directives to reflect nesting. + +2009-01-07 Daniel P. Berrange <berrange@redhat.com> + + poll: don't return uninitialized + * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc". + +2009-01-06 Jeremy Olexa <darkside@gentoo.org> (tiny change) + + avoid compile failure on AIX 6.1 + * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>. + Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465 + +2009-01-04 Jim Meyering <meyering@redhat.com> + + remove duplicate inclusion of <stdio.h> + * 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 <meyering@redhat.com> + + gnulib-tool: fix sed-based filtering + * gnulib-tool (func_filter_filelist): Remove extra backslash + in sed_fff_filter definition. + +2009-01-02 Jim Meyering <meyering@redhat.com> + + strftime: avoid compilation failure on Solaris 2.6 + * modules/strftime (Depends-on): Add mbrlen and mbsinit. + * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally. + Don't #define mbrlen or mbsinit, since now they're guaranteed to + be available. Reported by Tom G. Christensen. Details in + <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>. + +2009-01-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_reset_sigpipe): Add more comments. + +2009-01-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <meyering@redhat.com> + + * lib/version-etc.c (version_etc_va): Update copyright year. + +2008-12-30 Bruno Haible <bruno@clisp.org> + + * 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 <cygwin@cwilson.fastmail.fm>. + +2008-12-29 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_import): When generating sed-ignore-removed, handle + files in subdirectories correctly. + Reported by Ralf Wildenhues. + +2008-12-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * gnulib-tool (func_update_ignorelist): Use 'join - FILE' + rather than 'join FILE -', for Solaris join. + +2008-12-29 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-11-17 Bruce Korb <bkorb@gnu.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names + i486, i586, i686. + +2008-12-26 Bruno Haible <bruno@clisp.org> + + * lib/stdlib.in.h (struct random_data): Fix indentation of comments. + +2008-12-26 Bruno Haible <bruno@clisp.org> + + * lib/stdint.in.h: Move the include of <wchar.h> 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 <beebe@math.utah.edu> via Eric Blake. + +2008-12-25 Bruno Haible <bruno@clisp.org> + + 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 <inttypes.h>. + * 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 <stdint.h>. + * 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 <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Avoid failure of mv command. + +2008-12-25 Bruno Haible <bruno@clisp.org> + + * 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 <lutter@redhat.com>. + +2008-12-23 Bruno Haible <bruno@clisp.org> + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment. + +2008-12-23 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ingo_weinhold@gmx.de> (tiny change) + Eric Blake <ebb9@byu.net> + Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS. + +2008-12-22 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable + from test code. + +2008-12-22 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/posix-functions/mbtowc.texi: Mention a glibc bug. + +2008-12-22 Paolo Bonzini <bonzini@gnu.org> + + * 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 <bruno@clisp.org> + + * modules/fnmatch (Depends-on): Remove duplicated dependency. + +2008-12-21 Bruno Haible <bruno@clisp.org> + + 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 <alanh@fairlite.co.uk> + via Sergey Poznyakoff <gray@gnu.org.ua>. + +2008-12-21 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (Extended multibyte and wide character utilities + <wchar.h>): 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 <bruno@clisp.org> + + * MODULES.html.sh: Change section titles to refer to POSIX:2008. + +2008-12-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bill.pursell@gmail.com> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1. + +2008-12-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with + /dev/null. + * tests/test-select-in.sh: Likewise. + Reported by Tom G. Christensen <tgc@jupiterrise.com>. + +2008-12-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <wchar.h> 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/mbrtowc.c: Include verify.h. Verify an assumption. + * modules/mbrtowc (Depends-on): Add verify. + Suggested by Paul Eggert. + +2008-12-18 Bruno Haible <bruno@clisp.org> + + * modules/mbsinit-tests: New file. + * tests/test-mbsinit.sh: New file. + * tests/test-mbsinit.c: New file. + +2008-12-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H. + * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise. + +2008-12-18 Simon Josefsson <simon@josefsson.org> + + * lib/flock.c: Use proper #if symbol in check. Reported by "Tom + G. Christensen" <tgc@jupiterrise.com>. + + * lib/flock.c: Need to include errno.h. Reported by "Tom + G. Christensen" <tgc@jupiterrise.com>. + + * lib/flock.c: Need to include string.h. Reported by "Tom + G. Christensen" <tgc@jupiterrise.com> and Eric Blake + <ebb9@byu.net>. + +2008-12-18 Bruno Haible <bruno@clisp.org> + + * m4/locale-ja.m4: New file, from GNU gettext. + +2008-12-17 Bruno Haible <bruno@clisp.org> + + * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60. + Suggested by Eric Blake. + +2008-12-17 Bruno Haible <bruno@clisp.org> + + * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition. + +2008-12-17 Bruno Haible <bruno@clisp.org> + + * lib/mbsinit.c: Include verify.h. Verify an assumption. + * modules/mbsinit (Depends-on): Add verify. + Suggested by Paul Eggert. + +2008-12-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/unistd.in.h: Add comment. + * tests/test-environ.c: Don't include <stdlib.h>. + +2008-12-16 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-parse-duration.sh: Produce no output when the test + succeeds. + +2008-12-16 Bruno Haible <bruno@clisp.org> + + * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf + expressions. + +2008-12-15 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + Fix compilation error on OSF/1 4.0. + * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or + <sys/time.h>, simply delegate to the system header. + Reported by Daniel Richard G. <oss@teragram.com>. + +2008-12-15 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Update doc for POSIX:2008. + * doc/posix-functions/*.texi: Update URL of POSIX specification. + +2008-12-14 Bruno Haible <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + + * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by + m4/strerror.m4. + +2008-12-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * modules/unilbrk/tables (Depends-on): Add unilbrk/base. + +2008-12-13 Bruno Haible <bruno@clisp.org> + + * modules/strtoull (Depends-on): Remove unistd. + +2008-12-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * modules/strtoull (Depends-on): Add stdlib. + +2008-12-11 Simon Josefsson <simon@josefsson.org> + + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings. + +2008-12-10 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + + 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. + +2008-12-09 Bruno Haible <bruno@clisp.org> + + * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on + MacOS X 10.4/PowerPC. + Reported by Simon Josefsson. + +2008-12-08 Jim Meyering <meyering@redhat.com> + + 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. + +2008-12-08 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-12-08 William Pursell <bill.pursell@gmail.com> (tiny change) + and Eric Blake <ebb9@byu.net> + + 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. + +2008-12-08 Jim Meyering <meyering@redhat.com> + + * lib/posixtm.c: Remove now-useless declaration of mktime. + + * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs. + +2008-12-07 Bruno Haible <bruno@clisp.org> + + * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock, + test_once): Mark functions as static. + * tests/test-tls.c (test_tls): Likewise. + +2008-12-07 Bruno Haible <bruno@clisp.org> + + * lib/striconveha.h (uniconv_register_autodetect): Renamed from + iconv_register_autodetect. + +2008-12-07 Jim Meyering <meyering@redhat.com> + + 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. + + unicodeio.c: mark unused parameters + * lib/unicodeio.c (exit_failure_callback): Mark unused parameter. + (fallback_failure_callback): Likewise. + +2008-12-07 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): When building the tests + subdirectory, ignore the modules gnumakefile and maintainer-makefile. + Reported by Simon Josefsson. + +2008-12-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos. + +2008-12-06 Bruno Haible <bruno@clisp.org> + + * lib/c-stack.h (c_stack_action): Clarify possible side effects. + Suggested by Eric Blake. + +2008-12-06 Bruno Haible <bruno@clisp.org> + + 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 <bld0401@gmail.com> via Eric Blake. + +2008-12-06 Bruno Haible <bruno@clisp.org> + + Advocacy documentation. + * doc/gnulib-intro.texi (Benefits): New section. + * doc/gnulib.texi: Update. + +2008-12-06 Bruno Haible <bruno@clisp.org> + + Document the 'manywarnings' module. + * doc/manywarnings.texi: New file. + * doc/gnulib.texi: Include it. + +2008-12-05 Eric Blake <ebb9@byu.net> + + 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. + +2008-12-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer. + +2008-11-29 Jim Meyering <meyering@redhat.com> + + unicodeio.c: mark unused parameters + * lib/unicodeio.c (exit_failure_callback): Mark unused parameter. + (fallback_failure_callback): Likewise. + + 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. + + 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. + +2008-11-28 Simon Josefsson <simon@josefsson.org> + + * lib/sys_time.in.h: Add extern "C" block for C++. Suggested by + Brian Dessent <brian@dessent.net>. Reported by Sam Steingold + <sds@gnu.org>. + +2008-11-20 Bruno Haible <bruno@clisp.org> + + 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 <bug-gnulib@mlists.thewrittenword.com>. + +2008-11-18 Alexandre Duret-Lutz <adl@lrde.epita.fr> + Bruno Haible <bruno@clisp.org> + + * 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;". + +2008-11-18 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org>. + * modules/manywarnings: New file. + * MODULES.html.sh: Mention manywarnings module. + +2008-11-18 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Unit tests): New section. + +2008-11-18 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with + paths like 'lib/po/foo.po'. + +2008-11-17 Simon Josefsson <simon@josefsson.org> + + * m4/warnings.m4: Improve code. Reported by Ralf Wildenhues + <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>. + +2008-11-17 Simon Josefsson <simon@josefsson.org> + + * m4/warnings.m4: Use CPPFLAGS to really check whether the + parameter works. + +2008-11-17 Simon Josefsson <simon@josefsson.org> + + * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED. + +2008-11-17 Bruce Korb <bkorb@gnu.org> + + * modules/parse-duration-tests: New file. + * tests/test-parse-duration.sh: New file. + * tests/test-parse-duration.c: New file. + + New module 'parse-duration'. + * lib/parse-duration.h: New file. + * lib/parse-duration.c: New file. + * modules/parse-duration: New file. + +2008-11-17 Bruno Haible <bruno@clisp.org> + + * tests/test-select-out.sh: Comment out the first pipe test. + Reported by Simon Josefsson. + +2008-11-17 Bruno Haible <bruno@clisp.org> + + * modules/getaddrinfo (Depends-on): Add servent, hostent. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and + gl_HOSTENT. + +2008-11-17 Bruno Haible <bruno@clisp.org> + + * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also + -lnetwork and -lnet. Needed for Haiku and BeOS. + +2008-11-16 Bruno Haible <bruno@clisp.org> + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation. + +2008-11-16 Bruno Haible <bruno@clisp.org> + + Avoid test failure on Haiku. + * tests/test-fsync.c: Include <errno.h>. + (main): Don't require that fsync (0) fails. + +2008-11-15 Bruno Haible <bruno@clisp.org> + + New module 'hostent'. + * modules/hostent: New file. + * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4. + +2008-11-15 Bruno Haible <bruno@clisp.org> + + New module 'servent'. + * modules/servent: New file. + * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4. + +2008-11-15 Bruno Haible <bruno@clisp.org> + + 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. + +2008-11-15 Bruno Haible <bruno@clisp.org> + + * modules/frexpl-tests (Makefile.am): Link test-frexpl with + $(FREXPL_LIBM). + +2008-11-15 Bruno Haible <bruno@clisp.org> + + * lib/netdb.in.h: Activate the definitions also when the system's + <netdb.h> 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. + +2008-11-15 Bruno Haible <bruno@clisp.org> + + * tests/test-sched.c: Test also the existence of the SCHED_* macros. + + Make the 'sched' module work on platforms where <sched.h> exists but + is incomplete (such as Haiku). + * lib/sched.in.h; Include the system's <sched.h> if it exists. + (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros. + * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> 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. + +2008-11-13 Jim Meyering <meyering@redhat.com> + + 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., "<bug-tar@gnu.org>". Filter out any address. + +2008-11-12 Bruno Haible <bruno@clisp.org> + + 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. + +2008-11-12 Jim Meyering <meyering@redhat.com> + + * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb. + +2008-11-12 Simon Josefsson <simon@josefsson.org> + + * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here + instead. + +2008-11-12 Bruno Haible <bruno@clisp.org> + + * lib/unicodeio.c: Include unistr.h. + (utf8_wctomb): Remove function. + (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb. + +2008-11-12 Simon Josefsson <simon@josefsson.org> + + * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf + Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible + <bruno@clisp.org>. + * modules/warnings (configure.ac): Don't call gl_WARN_INIT. + +2008-11-12 Simon Josefsson <simon@josefsson.org> + + * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>. + * doc/gnulib.texi: Add section for warnings. + +2008-11-11 Bruno Haible <bruno@clisp.org> + + * lib/sockets.h: Add a comment. + +2008-11-11 Karl Berry <karl@gnu.org> + + * config/srclist.txt (fdl.texi): add, syncing from gnustandards. + +2008-11-11 Eric Blake <ebb9@byu.net> + + fdl.texi: avoid git symlinks + * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi. + +2008-11-11 Paolo Bonzini <bonzini@gnu.org> + + * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string. + +2008-11-11 Paolo Bonzini <bonzini@gnu.org> + + * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS. + (gl_WARN_ADD): Substitute $2 if literal. + +2008-11-11 Paolo Bonzini <bonzini@gnu.org> + + * m4/warning.m4: Remove. + +2008-11-11 Paolo Bonzini <bonzini@gnu.org> + + * m4/warnings.m4: Almost complete rewrite. :-) + +2008-11-10 Simon Josefsson <simon@josefsson.org> + + * modules/warnings: New module. + * m4/warnings.m4: New file. + * MODULES.html.sh: Mention warnings module. + With review improvements from Paolo Bonzini <bonzini@gnu.org> and + Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2008-11-10 Eric Blake <ebb9@byu.net> + + 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. + +2008-11-10 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-11-10 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-11-10 Eric Blake <ebb9@byu.net> + + 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. + + fdl.texi: revert accidental change to license + * doc/fdl.texi: This is FDL 1.2, not 1.3. + +2008-11-10 Bruno Haible <bruno@clisp.org> + + * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the + cross-compiling guesses also when the native compile gives no result. + +2008-11-10 Bruno Haible <bruno@clisp.org> + + * lib/spawni.c (__spawni): Force variable into the stack. + +2008-11-10 Bruno Haible <bruno@clisp.org> + + 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 <ingo_weinhold@gmx.de>. + +2008-11-10 Ingo Weinhold <ingo_weinhold@gmx.de> + + * lib/config.charset: Treat Haiku like BeOS. + +2008-11-10 Ingo Weinhold <ingo_weinhold@gmx.de> + + * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS. + * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise. + +2008-11-08 Bruno Haible <bruno@clisp.org> + + * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside + AC_CACHE_CHECK. + +2008-11-08 Bruno Haible <bruno@clisp.org> + + * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h. + +2008-11-08 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-11-06 Alexander V. Lukyanov <lav@netis.ru> + Bruno Haible <bruno@clisp.org> + + * lib/sys_stat.in.h: Enclose function definitions in extern "C". + +2008-10-12 Giuseppe Scrivano <gscrivano@gnu.org> + + * build-aux/pmccabe2html: Added support for C++ source files. + +2008-11-05 Ben Pfaff <blp@gnu.org> + + Fix lib/close.c build on Windows. + * modules/close (Files): Add lib/w32sock.h. + +2008-11-05 Joel E. Denny <jdenny@ces.clemson.edu> + + Accept Bison's NEWS format. + * build-aux/announce-gen (print_news_deltas): Tweak + $re_prefix. + +2008-11-04 Bruno Haible <bruno@clisp.org> + + * modules/random_r (Maintainer): Add glibc. + +2008-11-04 Simon Josefsson <simon@josefsson.org> + + * 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 <simon@josefsson.org> + + * doc/fdl-1.3.texi: New file, from + <http://www.gnu.org/licenses/fdl-1.3.texi>. + * modules/fdl-1.3: Add. + * MODULES.html.sh: Add fdl-1.3. + +2008-11-03 Bruno Haible <bruno@clisp.org> + + 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 <gary@thewrittenword.com>. + +2008-11-03 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of + -fprofile-arcs -ftest-coverage. Suggested by Ludovic Courtès + <ludo@gnu.org>. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + Mark 'strpbrk' obsolete. + * modules/strpbrk (Status, Notice): New sections. + * modules/strtok_r (Depends-on): Add strpbrk. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Mark 'strcspn' obsolete. + * modules/strcspn (Status, Notice): New sections. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Mark 'raise' obsolete. + * modules/raise (Status, Notice): New sections. + (Include): Specify <signal.h>. + * modules/stdio (Depends-on): Add raise. + * modules/write (Depends-on): Likewise. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + Mark 'memset' obsolete. + * modules/memset (Status, Notice): New sections. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Mark 'memcpy' obsolete. + * modules/memcpy (Status, Notice): New sections. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + 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. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + 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. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + Mark 'atexit' obsolete. + * modules/atexit (Status, Notice): New sections. + * modules/chdir-long (Depends-on): Add atexit. + * modules/wait-process (Depends-on): Likewise. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-11-02 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-10-30 Simon Josefsson <simon@josefsson.org> + + * modules/sockets (License): Change from LGPL to LGPLv2+. + +2008-10-28 Simon Josefsson <simon@josefsson.org> + + * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf. + +2008-10-28 Simon Josefsson <simon@josefsson.org> + + * 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. + +2008-10-28 Jim Meyering <meyering@redhat.com> + + * modules/tempname (Depends-on): Add lstat. + + * modules/lstat (License): Relicense: LGPL -> LGPLv2+. + +2008-10-28 Simon Josefsson <simon@josefsson.org> + + * 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. + +2008-10-27 Jim Meyering <meyering@redhat.com> + + * modules/gethostname (License): Relicense: LGPL -> LGPLv2+. + +2008-10-27 Simon Josefsson <simon@josefsson.org> + + * 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. + +2008-10-27 Simon Josefsson <simon@josefsson.org> + + * lib/sys_stat.in.h (lstat): Fix declaration for mingw. + +2008-10-27 Bruno Haible <bruno@clisp.org> + + * tests/test-lstat.c: Include <stdio.h>. + +2008-10-27 Simon Josefsson <simon@josefsson.org> + + * modules/lstat-tests: New module. + * tests/test-lstat.c: New file. + +2008-10-26 Jim Meyering <meyering@redhat.com> + + * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter. + +2008-10-26 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + 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. + +2008-10-26 Bruno Haible <bruno@clisp.org> + + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of + HAVE_STRUCT_RANDOM_DATA to 1. + (gl_STDLIB_H): Simplify. + +2008-10-26 Simon Josefsson <simon@josefsson.org> + + * 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. + +2008-10-26 Simon Josefsson <simon@josefsson.org> + + * doc/gnulib.texi (@copying): Use GFDLv1.2+. + * doc/gnulib-intro.texi (Copyright): Likewise. + +2008-10-26 Simon Josefsson <simon@josefsson.org> + + * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's + findings. + +2008-10-25 Ben Pfaff <blp@cs.stanford.edu> + Bruno Haible <bruno@clisp.org> + + * lib/unistd.in.h: Include <winsock2.h>. + (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. + +2008-10-25 Bruno Haible <bruno@clisp.org> + + * 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. + + * 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-10-25 Eric Blake <ebb9@byu.net> + + signbit: avoid spurious compiler failure + * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant + declarations inside function. + +2008-10-24 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h. + * modules/random_r (Depends-on): Add stdint. + +2008-10-24 Bruno Haible <bruno@clisp.org> + + * modules/intprops (License): Change to LGPLv2+, with approval by Paul + Eggert. + * modules/strerror (License): Likewise. + +2008-10-24 Jim Meyering <meyering@redhat.com> + + sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@ + * modules/sys_socket (Depends-on) [Depends-on]: Fix typo. + +2008-10-24 Eric Blake <ebb9@byu.net> + + getgroups: fix compilation when getgroups is available + * lib/getgroups.c (includes): Include <unistd.h> for getgroups, + but with <config.h> override of getgroups disabled. + +2008-10-24 Simon Josefsson <simon@josefsson.org> + + * doc/gnulib.texi (Header files): Add note about C++ problems. + Explained by Bruno Haible <bruno@clisp.org>. + +2008-10-23 Bruno Haible <bruno@clisp.org> + + Define a dummy SA_NODEFER macro on Interix. + * lib/signal.in.h (SA_NODEFER): Define fallback. + Reported by Aleksey Cheusov <cheusov@tut.by> via + Thomas Klausner <wiz@netbsd.org> and Eric Blake. + +2008-10-23 Bruno Haible <bruno@clisp.org> + + * modules/freadahead (License): Change to LGPLv2+. + Suggested by Simon Josefsson. + +2008-10-23 Jim Meyering <meyering@redhat.com> + + 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. + +2008-10-23 David Lutterkort <lutter@redhat.com> + + * modules/selinux-h: Search for LIB_SELINUX and mark it as a + link requirement + +2008-10-23 Jim Meyering <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw. + +2008-10-22 Simon Josefsson <simon@josefsson.org> + + * m4/getgroups.m4: Avoid invoking test with wrong parameters. + +2008-10-22 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * users.txt: Update entry about pspp. + +2008-10-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Add gethostname() declaration to <unistd.h>. + * lib/unistd.in.h (gethostname): New declaration. + * lib/gethostname.c: Include <unistd.h>. + * 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 <unistd.h>. + * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and + HAVE_GETHOSTNAME. + * tests/test-gethostname.c: Include <unistd.h> first. + +2008-10-21 Bruno Haible <bruno@clisp.org> + + * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl. + * modules/select-tests (Depends-on): Likewise. + Reported by Simon Josefsson. + +2008-10-21 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + 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 <ramiro.polla@gmail.com> via Eric Blake. + +2008-10-20 Bruno Haible <bruno@clisp.org> + + * lib/fts.c: Don't include lstat.h. + * lib/openat.c: Include <sys/stat.h> instead of lstat.h. + + Move the lstat() declaration to <sys/stat.h>. + * 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 <sys/stat.h> instead of lstat.h. + * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and + REPLACE_LSTAT. + * NEWS: Mention the change. + +2008-10-20 Bruno Haible <bruno@clisp.org> + + * modules/posix_spawn-tests: New file. + * tests/test-posix_spawn3.c: New file. + +2008-10-20 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug + of posix_spawn on AIX 5.3. + +2008-10-20 Bruno Haible <bruno@clisp.org> + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X. + +2008-10-20 Bruno Haible <bruno@clisp.org> + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead + of AC_LANG_PROGRAM. + +2008-10-20 Simon Josefsson <simon@josefsson.org> + + * lib/netdb.in.h: Don't define GNU specific constants until they + are supported or needed. Reported by Bruno Haible + <bruno@clisp.org>. + +2008-10-20 Simon Josefsson <simon@josefsson.org> + + * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h. + +2008-10-20 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code. + +2008-10-19 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.c: Include simply <sys/wait.h>. + (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 <bruno@clisp.org> + + * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h. + +2008-10-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Add strtoull() declaration to <stdlib.h>. + * 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 <bruno@clisp.org> + + Add strtoll() declaration to <stdlib.h>. + * 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 <bruno@clisp.org> + + * modules/bcopy (Depends-on): Add strings. + (Include): Specify <strings.h>. + +2008-10-19 Bruno Haible <bruno@clisp.org> + + * doc/posix-functions/atexit.texi: Update doc regarding mingw. + +2008-10-19 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <math.h>. + * 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 <math.h> instead of isnanf.h. + * modules/isnand (Files): Remove lib/isnand.h. + (Depends-on): Add math. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + (Include): Specify <math.h> instead of isnand.h. + * modules/isnanl (Files): Remove lib/isnanl.h. + (Depends-on): Add math. + (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. + (Include): Specify <math.h> instead of isnanl.h. + * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and + HAVE_ISNAN[FDL]. + * tests/test-isnanf.c: Include <math.h> instead of isnanf.h. + * tests/test-isnand.c: Include <math.h> instead of isnand.h. + * tests/test-isnanl.c: Include <math.h> instead of isnanl.h. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible <bruno@clisp.org> + + Add getusershell(), setusershell(), endusershell() declarations to + <unistd.h>. + * 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 <unistd.h>. + * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and + HAVE_GETUSERSHELL. + +2008-10-18 Bruno Haible <bruno@clisp.org> + + Add a getloadavg() declaration to <stdlib.h>. + * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the + getloadavg declaration. + (getloadavg): New declaration. + * lib/getloadavg.c: Include <stdlib.h> 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 <stdlib.h>. + * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG, + HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG. + +2008-10-18 Bruno Haible <bruno@clisp.org> + + * lib/dirchownmod.c: Don't include lchmod.h. + + Move the lchmod() declaration to <sys/stat.h>. + * 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 <sys/stat.h> 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 <bruno@clisp.org> + + * 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 <dirent.h>. + * lib/dirfd.h: Remove file. + * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING. + (dirfd): New declaration. + * lib/dirfd.c: Include <dirent.h> 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 <dirent.h> 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 <bruno@clisp.org> + + Move the euidaccess() declaration to <unistd.h>. + * 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 <unistd.h> instead of euidaccess.h. + * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and + HAVE_EUIDACCESS. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible <bruno@clisp.org> + + * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h. + + Move the getdomainname() declaration to <unistd.h>. + * lib/getdomainname.h: Remove file. + * lib/unistd.in.h (getdomainname): New declaration. + * lib/getdomainname.c: Include <unistd.h> 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 <unistd.h> instead of getdomainname.h. + * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and + HAVE_GETDOMAINNAME. + * NEWS: Mention the change. + +2008-10-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <armbru@redhat.com> via Jim Meyering + and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake. + +2008-10-17 Bruno Haible <bruno@clisp.org> + + 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 <yoann.v@prelude-ids.com>. + +2008-10-17 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * modules/recvfrom (Depends-on): Add dependency on getpeername. + Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>. + +2008-10-17 Jim Meyering <meyering@redhat.com> + + 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 <eggert@cs.ucla.edu> + + 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 <rrt@sc3d.org>. + +2008-10-16 Jim Meyering <meyering@redhat.com> + + openat-die.c: avoid 'no previous prototype' warning + * lib/openat-die.c: Include "openat.h". + Reported by Reuben Thomas <rrt@sc3d.org>. + +2008-10-16 Simon Josefsson <simon@josefsson.org> + + * m4/netdb_h.m4: Assume that if netdb.h exists, it works. + * lib/netdb.in.h: Fix typo. + Reported by Bruno Haible <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * 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 <simon@josefsson.org> + + * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation + with code. + +2008-10-13 Bruno Haible <bruno@clisp.org> + + * lib/glthread/cond.c (glthread_cond_wait_func, + glthread_cond_timedwait_func): Add a comment. + +2008-10-13 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl(). + * tests/test-select.c: Likewise, + +2008-10-13 Bruno Haible <bruno@clisp.org> + + * lib/glthread/cond.c (glthread_cond_wait_func, + glthread_cond_timedwait_func): Fix variable name. + Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>. + +2008-10-13 Paolo Bonzini <bonzini@gnu.org> + + 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. + +2008-10-13 Simon Josefsson <simon@josefsson.org> + + * build-aux/pmccabe2html: Add css and css_url parameters. + +2008-10-12 Bruno Haible <bruno@clisp.org> + + * tests/test-sameacls.c (main) [AIX]: Clear type argument before + calling aclx_get. + Reported by Rainer Tammer <tammer@tammer.net>. + +2008-10-12 Bruno Haible <bruno@clisp.org> + + Use msvcrt aware primitives for creation/termination of Win32 threads. + * lib/glthread/thread.c: Include <process.h>. + (glthread_create_func): Use _beginthreadex instead of CreateThread. + (wrapper_func): Update signature. + (gl_thread_exit_func): Use _endthreadex instead of EndThread. + +2008-10-11 Yoann Vandoorselaere <yoann@prelude-ids.org> + Bruno Haible <bruno@clisp.org> + + 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. + +2008-10-11 Bruno Haible <bruno@clisp.org> + + 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. + +2008-10-11 Bruno Haible <bruno@clisp.org> + + 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. + +2008-10-11 Jim Meyering <meyering@redhat.com> + + * lib/fclose.c: Fix typo in comment: s/close/fclose/. + +2008-10-11 Bruno Haible <bruno@clisp.org> + + 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-10-11 Bruno Haible <bruno@clisp.org> + + * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails, + set errno and don't call _close. + +2008-10-10 Bruno Haible <bruno@clisp.org> + + * 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 <blp@gnu.org> + + * 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + New module 'ioctl'. + * modules/ioctl: New file. + * lib/sys_socket.in.h (ioctl): Remove declaration. + * lib/winsock.c: Include <sys/ioctl.h>. + (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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant. + * lib/winsock.c: Include <stdarg.h>. + (rpl_ioctl): Change to second argument 'int' and then varargs. + +2008-10-09 Bruno Haible <bruno@clisp.org> + + * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function + when the sys_socket module is present and the system has <winsock2.h>. + +2008-10-09 Bruno Haible <bruno@clisp.org> + + * doc/posix-functions/close.texi: Mention module 'close' instead of + module 'sys_socket'. + +2008-10-09 Bruno Haible <bruno@clisp.org> + + * doc/glibc-headers/sys_ioctl.texi: New file. + * doc/gnulib.texi: Include it. + +2008-10-09 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + Combine the two replacements of 'close'. + * lib/sys_socket.in.h (close): Define to a reminder to include + <unistd.h>. + (_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 <sys/socket.h>. + (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 <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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 <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + GNUmakefile: use the more name-space-friendly "_version" + * top/GNUmakefile (_dummy): Update. + (_version): Rename from "version". + +2008-10-09 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bonzini@gnu.org> + + 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 <bruno@clisp.org> + + * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL. + +2008-10-08 Simon Josefsson <simon@josefsson.org> + + * 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 <ebb9@byu.net> + + GNUmakefile: add 'make version' target + * top/GNUmakefile (_curr-ver): Split version update rules... + (version): ...into a target. + +2008-10-07 Bruno Haible <bruno@clisp.org> + + 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 <float.h>. + (minus_zero): New variable. + (test_signbitl): Use minus_zero instead of -zero. + * modules/signbit-tests (Depends-on): Add float. + + * tests/test-ceill.c: Include <float.h>. + (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 <float.h>. + (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 <float.h>. + (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 <float.h>. + (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 <simon@josefsson.org> + + * 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 <rjones@redhat.com> + + 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: <sys/file.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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + Jim Meyering <jim@meyering.net> + + Add an option for ignoring EPIPE during close_stdout. + * lib/closeout.h: Include <stdbool.h>. + (close_stdout_set_ignore_EPIPE): New declaration. + * lib/closeout.c: Include <stdbool.h>. + (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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem + as being fixed by gnulib. + +2008-10-05 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/sched (Makefile.am): Fix typo. + Reported by Simon Josefsson. + +2008-10-05 Jim Meyering <meyering@redhat.com> + + bootstrap: check for LT_INIT, too + * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL + are deprecated. Suggestion from Ralf Wildenhues. + +2008-10-05 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-10-05 Jim Meyering <meyering@redhat.com> + + 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 <rishi@gnu.org>. + +2008-10-04 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-10-04 Bruno Haible <bruno@clisp.org> + + * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining. + Reported by Rainer Tammer <tammer@tammer.net>. + +2008-10-03 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * 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. + +2008-10-03 Kamil Dudka <kdudka@redhat.com> + + 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. + +2008-10-03 Bruno Haible <bruno@clisp.org> + + * lib/c-ctype.h: Add comment. + Reported by Jim Meyering. + +2008-10-02 Bruno Haible <bruno@clisp.org> + + * modules/posix_spawn-internal (Depends-on): Add 'open'. + +2008-10-02 Paolo Bonzini <bonzini@gnu.org> + + * build-aux/bootstrap: Allow renaming bootstrap, and change the + name of bootstrap.conf accordingly. + +2008-10-02 Paolo Bonzini <bonzini@gnu.org> + + * build-aux/bootstrap: Install git-merge-changelog configuration + items into .gitconfig if needed. + +2008-10-02 Paolo Bonzini <bonzini@gnu.org> + + * build-aux/bootstrap: Recognize `gnulib' being a submodule in a + git repository, and initialize/update it accordingly. + +2008-10-02 Richard W.M. Jones <rjones@redhat.com> + + * modules/fsync-tests: New file. + * tests/test-fsync.c: New file. + + 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. + +2008-10-02 Jim Meyering <meyering@redhat.com> + + 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-02 Jim Meyering <meyering@redhat.com> + + fts: bug fixes + * lib/fts.c: Remove unnecessary "defined" in cpp directive. + Include <sys/vfs.h>, not <sys/statfs.h>. + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/. + Include <sys/vfs.h>, not <sys/statfs.h>. + +2008-10-01 Bruno Haible <bruno@clisp.org> + + 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 <tammer@tammer.net>. + +2008-10-01 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + +2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * modules/cond-tests: New file. + * tests/test-cond.c: New file. + +2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * modules/cond (Dependencies): Add errno, time. + * lib/glthread/cond.h: Include <time.h>. + (gl_cond_define, gl_cond_define_initialized): Use the same definition + across platforms. + +2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function. + +2008-09-30 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular + files. + +2008-09-30 Jim Meyering <meyering@redhat.com> + + fts.m4: correct the test for statfs.f_type + * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h> + when checking for statfs.f_type. + +2008-09-15 Simon Josefsson <simon@josefsson.org> + + tests: avoid some compiler warnings + * tests/test-memchr.c (main): Pass NULL indirectly. + * tests/test-getdate.c (main): Remove unused variable 'ret'. + +2008-09-29 Ondřej Vašík <ovasik@redhat.com> + + 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". + +2008-09-29 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-09-29 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2008-09-29 Eric Blake <ebb9@byu.net> + + * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo. + +2008-08-24 Paolo Bonzini <bonzini@gnu.org> + + * 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. + +2008-09-29 Paolo Bonzini <bonzini@gnu.org> + Bruno Haible <bruno@clisp.org> + + * 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-29 Bruno Haible <bruno@clisp.org> + + * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'. + * lib/sys_select.in.h: Likewise. + +2008-09-29 Bruno Haible <bruno@clisp.org> + + * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables. + +2008-09-29 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-09-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem. + * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval. + Needed on OSF/1 4.0. + +2008-09-28 Bruno Haible <bruno@clisp.org> + + 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. + + 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. + + 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 <tammer@tammer.net>. + +2008-09-28 Bruno Haible <bruno@clisp.org> + + * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about + SIGPIPE. + +2008-09-28 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-09-28 Bruno Haible <bruno@clisp.org> + + * 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 <tammer@tammer.net>. + +2008-09-28 Bruno Haible <bruno@clisp.org> + + * modules/posix_spawnp-tests: New file. + * tests/test-posix_spawn.c: New file. + * tests/test-posix_spawn.in.sh: New file. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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 <bruno@clisp.org> + + * modules/sched-tests: New file. + * tests/test-sched.c: New file. + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_version): Change directory to $gnulib_dir before + invoking git-version-gen. + +2008-09-26 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'. + +2008-09-26 Bruno Haible <bruno@clisp.org> + + * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE. + * modules/fwriteerror (Depends-on): Add errno. + +2008-09-26 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/posix-headers/sys_resource.texi: Reorder items. + +2008-09-26 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <sys/types.h>. + (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 <derek@ximbiot.com> + Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Report all license incompatibilities, not + just the first one. + +2008-09-25 Bruno Haible <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * modules/sys_select-tests (Depends-on): Remove sys_select itself, + fixes gnulib-tool --test warning about duplicate dependency. + +2008-09-25 Bruno Haible <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com>. + +2008-09-25 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * gnulib-tool (func_import): Store the --tests-base option in the + comment in gnulib-cache.m4. + +2008-09-24 Paolo Bonzini <bonzini@gnu.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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. + + 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-23 Paolo Bonzini <bonzini@gnu.org> + + * lib/poll.c: Rewrite. + * modules/poll: Depend on alloca. + +2008-09-23 Paolo Bonzini <bonzini@gnu.org> + + * 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 <bonzini@gnu.org> + + * tests/test-poll.c: Downgrade minimum needed Winsock version. + +2008-09-23 Bruno Haible <bruno@clisp.org> + + * doc/posix-functions/*: Add info about functions missing on IRIX 5.3. + * doc/glibc-functions/*: Likewise. + +2008-09-23 Simon Josefsson <simon@josefsson.org> + + * tests/test-perror.sh (tmpfiles): Cleanup temporary files on + success. + +2008-09-22 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + 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-09-21 Bruno Haible <bruno@clisp.org> + + * tests/test-lock.c (main): Tweak skip message. + * tests/test-tls.c (main): Likewise. + +2008-09-21 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-09-21 Bruno Haible <bruno@clisp.org> + + * 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 <string.h>): Move strdup to the new section. + Suggested by Simon Josefsson and Paolo Bonzini. + +2008-09-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs. + * tests/test-sprintf-posix.h (test_function): Likewise. + +2008-09-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/fstrcmp.c: Add data about branch probabilities, from Ralf + Wildenhues. + +2008-09-20 Bruno Haible <bruno@clisp.org> + + 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 <tgc@jupiterrise.com>. + +2008-09-18 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_exit): Update comment. + +2008-09-18 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + * 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 <meyering@redhat.com> + Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (decimal_point_char): Define also if + NEED_PRINTF_INFINITE_LONG_DOUBLE. + +2008-09-16 Bruno Haible <bruno@clisp.org> + and Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * doc/glibc-functions/scandir.texi: Mention the function is missing on + Solaris 9. + * doc/glibc-functions/alphasort.texi: Likewise. + Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>. + +2008-09-16 Jim Meyering <meyering@redhat.com> + + 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. + +2008-09-16 Paolo Bonzini <bonzini@gnu.org> + + * tests/test-poll.c (connect_to_socket): Allow non-blocking connect + to succeed. + +2008-09-16 Jim Meyering <meyering@redhat.com> + + 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-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound + based on character occurrence counts. + +2008-09-15 Eric Blake <ebb9@byu.net> + + tests: avoid some compiler warnings + * tests/test-memchr.c (main): Pass NULL indirectly. + * tests/test-closein.c (main): Avoid unused variable. + +2008-09-15 Bruno Haible <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com>. + +2008-09-15 Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions. + +2008-09-13 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-poll.c: Use #if for native Windows, rather than testing + __MSVCRT__. + +2008-09-13 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * lib/glob.c: Don't include <pwd.h> on native Windows. + (WINDOWS32): New macro. + (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME"). + +2008-09-13 Bruno Haible <bruno@clisp.org> + + * 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 <bonzini@gnu.org> + + * modules/poll-tests: Do not check for io.h. + * tests/test-poll.c: Check for __MSVCRT__ instead. + +2008-09-12 Paolo Bonzini <bonzini@gnu.org> + + * 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 <bonzini@gnu.org> + + * modules/poll-tests: New. + * tests/test-poll.c: New. + +2008-09-12 Eric Blake <ebb9@byu.net> + + 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. + + 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 <jp@centtech.com>. + +2008-09-11 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * lib/glthread/cond.h: Use dummy implementation also if + USE_WIN32_THREADS. + +2008-09-11 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * modules/fnmatch-posix (License): Change to LGPLv2+. + * modules/fnmatch-gnu (License): Likewise. + +2008-09-11 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32. + +2008-09-11 Jim Meyering <meyering@redhat.com> + + * users.txt: Add gtk-vnc. + +2008-09-08 Simon Josefsson <simon@josefsson.org> + + * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum + rotate amounts. + + * 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. + +2008-09-07 Bruno Haible <bruno@clisp.org> + + * tests/test-striconveh.c (main): Check behaviour when converting from + UTF-7. + + 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-09-07 Bruno Haible <bruno@clisp.org> + + * build-aux/config.rpath: Update according to libtool-2.2.6. + * build-aux/config.libpath: Likewise. + +2008-09-06 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-09-06 Bruno Haible <bruno@clisp.org> + + * modules/freadptr (License): Change to LGPLv2+. + * modules/freadseek (License): Likewise. + Suggested by Eric Blake. + + * modules/memchr2 (License): Change to LGPLv2+. + Approved by Eric Blake. + +2008-09-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + 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 <bug-gnulib@mlists.thewrittenword.com>. + +2008-09-04 Albert Chin <bug-gnulib@mlists.thewrittenword.com> + Bruno Haible <bruno@clisp.org> + + * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next + also works after #include directives. + +2008-09-04 Ondřej Vašík <ovasik@redhat.com> + + 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 <bruno@clisp.org> + + * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module. + +2008-09-02 Simon Josefsson <simon@josefsson.org> + + * lib/bitrotate.h (rotl64, rotr64): Add. Suggested by Bruce Korb + <bruce.korb@gmail.com> with ideas from Ben Pfaff + <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric + Blake <ebb9@byu.net>. + + * tests/test-bitrotate.c: Add more test vectors. + +2008-09-02 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <simon@josefsson.org> + + * lib/bitrotate.h (rotl8, rotr8): Add. + + * modules/bitrotate (configure.ac): Need + AC_REQUIRE([AC_C_INLINE]). + (Description): Mention stdint.h. Reported by Bruno Haible + <bruno@clisp.org>. + + * lib/bitrotate.h (rotr16, rotl16): Fix mask value. Reported by + Paolo Bonzini <bonzini@gnu.org>. + +2008-08-31 Bruno Haible <bruno@clisp.org> + + 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 <bentaylor.solx86@gmail.com>. + +2008-08-31 Jim Meyering <meyering@redhat.com> + + * lib/strftime.h: Add comments describing the two added arguments. + + remove duplicate #include directives + * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>. + * lib/putenv.c: Remove duplicate #include <stdlib.h>. + +2008-08-31 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <sds@gnu.org>. + +2008-08-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <rrt@sc3d.org>. + +2008-08-29 Bruno Haible <bruno@clisp.org> + + * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT + any more. + +2008-08-29 Simon Josefsson <simon@josefsson.org> + + * 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * MODULES.html.sh: Remove --cvs-urls option. + +2008-08-28 Jose E. Marchesi <jemarch@gnu.org> (tiny change) + + maint.mk: adjust to file name change + * top/maint.mk: s/Makefile.cfg/cfg.mk/. + +2008-08-28 Jim Meyering <meyering@redhat.com> + + * 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 <bonzini@gnu.org> + + * 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 <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Run makeinfo in an English locale. + * doc/Makefile (MAKEINFO): New variable. + +2008-08-26 Bruno Haible <bruno@clisp.org> + + * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn. + Suggested by Eric Blake. + +2008-08-25 Bruno Haible <bruno@clisp.org> + + * doc/Makefile (INSTALL): Generate with @firstparagraphindent set. + +2008-08-25 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * doc/posix-functions/strftime.texi: Fix description of strftime + module. + +2008-08-24 Bruno Haible <bruno@clisp.org> + + * 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. + + 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 <lav@netis.ru>. + +2008-08-22 Eric Blake <ebb9@byu.net> + + 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. + + count-one-bits: relax license + * modules/count-one-bits (License): Relicense to LGPLv2+. + Suggested by Ludovic Courtès, approved by Ben Pfaff. + +2008-08-22 Andreas Schwab <schwab@suse.de> + + * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): + Remove spurious space in assignment. + +2008-08-21 Simon Josefsson <simon@josefsson.org> + + * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC. Reported by + Paul Eggert <eggert@CS.UCLA.EDU>. + +2008-08-20 Paolo Bonzini <bonzini@gnu.org> + + * modules/gettext: Add m4/threadlib.m4. + +2008-08-19 Eric Blake <ebb9@byu.net> + + test-c-stack: fix compilation failure on FreeBSD 5.0 + * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite + headers before <sys/resource.h>. + * doc/posix-headers/sys_resource.texi (sys/resource.h): Document + the bug. + Reported by Nelson H. F. Beebe. + + strverscmp: migrate from "strverscmp.h" to <string.h> + * 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. + + strverscmp: add unit test + * modules/strverscmp-tests: New file. + * tests/test-strverscmp.c: Likewise. + +2008-08-19 Simon Josefsson <simon@josefsson.org> + + * lib/gc-gnulib.c: Indentation cleanup. Add some comments + regarding Windows crypto stuff, from Mono. + +2008-08-19 Adam Strzelecki <ono@java.pl> (tiny change) + + * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT. Try to use Intel CSP + if present, for intel RND. Return error on failures. + +2008-08-18 Ben Pfaff <blp@gnu.org> + + 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. + +2008-08-18 Simon Josefsson <simon@josefsson.org> + + * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity. Use + ISO 8601 format. Suggested by Greg Troxel <gdt@ir.bbn.com>. + +2008-08-18 Bruno Haible <bruno@clisp.org> + + * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not + pthread_in_use(). + +2008-08-18 Bruno Haible <bruno@clisp.org> + + * lib/glthread/threadlib.c: Include <pthread.h>. + +2008-08-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/glthread/thread.c: Avoid forcing a context switch right after + thread creation. + +2008-08-17 Bruno Haible <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com> + + 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 <yoann.v@prelude-ids.com> + + 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 <bruno@clisp.org> + + * lib/glthread/lock.h: Include <stdlib.h> always. + * lib/glthread/tls.h: Likewise. + * lib/glthread/cond.h: Likewise. + +2008-08-17 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + * lib/fts_.h: Fix grammar (insert a missing "is") in a comment. + +2008-08-11 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + 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 <bonzini@gnu.org> + + * lib/lock.c (glthread_recursive_lock_init_multithreaded) + [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo. + +2008-08-07 Jim Meyering <meyering@redhat.com> + + * 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 <bruno@clisp.org> + + * lib/poll.c (poll): Further micro-optimization. + +2008-08-06 Jim Meyering <meyering@redhat.com> + + inet_pton.c: use locale-independent tolower + * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>. + (inet_pton6): Use c_tolower rather than tolower. + * modules/inet_pton (Depends-on): Add c-ctype. + +2008-08-06 Paolo Bonzini <bonzini@gnu.org> + + * 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 <meyering@redhat.com> + + * modules/inet_pton (License): Relicense under LGPLv2+. + +2008-08-03 Bruno Haible <bruno@clisp.org> + + Additional non-aborting API for lock and tls. + * lib/lock.h: Include <errno.h>. + (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 <errno.h>. + (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 <yoann@prelude-ids.org>. + +2008-08-04 Eric Blake <ebb9@byu.net> + + gnumakefile: use space, not TAB, outside of targets + * top/GNUmakefile (_dummy): Fix whitespace error in prior edit. + +2008-08-02 Jim Meyering <meyering@redhat.com> + + 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 <c-ctype.h> rather than <ctype.h>. + (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 <bicave@superonline.com> in + <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>. + * modules/getdate (Depends-on): Add c-ctype. + +2008-08-02 Bruno Haible <bruno@clisp.org> + + * 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 <jdenny@ces.clemson.edu>. + +2008-08-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + 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 <jp@centtech.com>. + +2008-07-31 Jim Meyering <meyering@redhat.com> + + sha256.h: correct definition of SHA224_DIGEST_SIZE + * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24. + Reported by Paulie Pena IV <paulie4@gmail.com>. + 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 <bruno@clisp.org> + + * 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 <jp@centtech.com>. + +2008-07-31 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Make change from 2008-06-23 more robust. + Reported by Paolo Bonzini <bonzini@gnu.org>. + +2008-07-30 Eric Blake <ebb9@byu.net> + + test-strtod: allow compilation without -lm + * tests/test-strtod.c (main): Avoid link dependence on fabs. + Reported by Dennis Clarke <blastwave@gmail.com>. + +2008-07-28 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + * users.txt: Add zile. + +2008-07-26 Ben Pfaff <blp@gnu.org> + + 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 <blp@gnu.org> + + 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 <blp@gnu.org> + + 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-07-23 Ulrich Drepper <drepper@redhat.com> + + 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 <Michael.Ringe@gmx.de> in + <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>. + + * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after + readlink on platforms without PATH_MAX. + +2008-07-21 Eric Blake <ebb9@byu.net> + + Warn, not fail, on stale version. + * top/GNUmakefile (_curr-ver): Tone down previous patch. + + Don't allow installation with stale devel version number. + * top/GNUmakefile (_is-install-target): New macro. + (_curr-ver): Forbid installation with stale version number. + +2008-07-20 Bruno Haible <bruno@clisp.org> + + * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to + TESTS_ENVIRONMENT. + * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use. + +2008-07-20 Bruno Haible <bruno@clisp.org> + + * lib/c-stack.h (c_stack_action): Add documentation. + * lib/c-stack.c (c_stack_action): Remove incomplete documentation. + +2008-07-20 Bruno Haible <bruno@clisp.org> + + * modules/canonicalize-lgpl (License): Relicense under LGPLv2+. + * modules/readlink (License): Likewise. + +2008-07-17 Eric Blake <ebb9@byu.net> + + * modules/c-stack (Link): Fix typo. + + 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. + +2008-07-16 Eric Blake <ebb9@byu.net> + + 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. + +2008-07-14 Bruno Haible <bruno@clisp.org> + + * m4/libsigsegv.m4: Remove unneeded AC_PREREQ. + Reported by Eric Blake. + +2008-07-14 Sam Steingold <sds@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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. + +2008-07-14 Bruno Haible <bruno@clisp.org> + + * modules/unictype/ctype-* (Description): Add the word "function". + Improves the resulting doc in MODULES.html. + +2008-07-12 Ben Pfaff <blp@gnu.org> + + Add longlong module. + * modules/longlong: New file. + +2008-07-12 Bruno Haible <bruno@clisp.org> + + * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM + to empty. + +2008-07-10 Ben Pfaff <blp@gnu.org> + + 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 <blp@gnu.org> + + 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 <blp@gnu.org> + + 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. + +2008-07-10 Ben Pfaff <blp@gnu.org> + + * 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. + +2008-07-11 Jim Meyering <meyering@redhat.com> + + 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. + +2008-07-10 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + posix-shell.m4: fix typo that made this test malfunction + * m4/posix-shell.m4: Remove capitalization in variable name. + +2008-07-08 Bruno Haible <bruno@clisp.org> + + * m4/onceonly.m4: Update comments. + Reported by Ben Pfaff <blp@cs.stanford.edu>. + +2008-07-04 Jim Meyering <meyering@redhat.com> + + * users.txt: Add vc-dwim. + (bison, coreutils): Use the gitweb URL. + +2008-07-03 Jim Meyering <meyering@redhat.com> + + * users.txt: Add libffcall. From Sam Steingold. + +2008-07-03 Ondřej Vašík <ovasik@redhat.com> + + 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-07-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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-02 Ondřej Vašík <ovasik@redhat.com> + + getdate.y: factor out common actions + * lib/getdate.y (apply_relative_time, set_hhmmss): New functions. + Use them in place of open-coded actions. + +2008-07-01 Simon Josefsson <simon@josefsson.org> + + Add self-test for getdate module. + * modules/getdate-tests: New file. + * tests/test-getdate.c: New file. + +2008-06-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or + .gitignore. + Reported by Sylvain Beucler <beuc@beuc.net>. + +2008-06-29 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option. + * m4/gnulib-tool.m4: Update to match current gnulib-tool. + +2008-06-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into + EXTRA_DIST. + Reported by Sylvain Beucler <beuc@beuc.net>. + +2008-06-26 Jim Meyering <meyering@redhat.com> + + 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. + +2008-06-24 Andreas Schwab <schwab@suse.de> + + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound + literals can be used as initializers for global variables. + +2008-06-23 Eric Blake <ebb9@byu.net> + + 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. + +2008-06-23 Bruno Haible <bruno@clisp.org> + + * 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-06-23 Bruno Haible <bruno@clisp.org> + + * lib/fatal-signal.c (fatal_signal_handler): Update comment. + (install_handlers): Don't set the SA_RESETHAND flag. + +2008-06-23 Bruno Haible <bruno@clisp.org> + + * m4/sigaction.m4: Comment fixes. + * lib/signal.in.h: Likewise. + +2008-06-23 Eric Blake <ebb9@byu.net> + + Fix typo. + * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator. + + Avoid SA_ namespace. + * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK. + Reported by Ralf Wildenhues. + + 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. + + 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 <bruno@clisp.org> + + * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test + conditionally. + Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>. + +2008-06-22 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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. + + 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. + + Fix nanosleep module on mingw. + * modules/nanosleep (Depends-on): Add sys_select. + * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module. + + Fix licensing of sigprocmask. + * modules/raise (License): Relicense as LGPL. + +2008-06-21 Bruno Haible <bruno@clisp.org> + + * lib/propername.c (proper_name_utf8): Don't use the transliterated + result if it contains question marks. + Reported by Michael Geng <linux@michaelgeng.de>. + +2008-06-19 Bruno Haible <bruno@clisp.org> + + 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 <ttn@gnuvola.org>. + +2008-06-19 Bruno Haible <bruno@clisp.org> + + * doc/Makefile (gnulib.info): Update and simplify dependencies. + Reported by Thien-Thi Nguyen <ttn@gnuvola.org>. + +2008-06-19 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/fatal-signal.c (init_fatal_signals): Add comment. + Reported by Eric Blake. + +2008-06-18 Eric Blake <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * users.txt: Update URL to article and add author/date + information. + +2008-06-17 Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net>. + +2008-06-17 Bruno Haible <bruno@clisp.org> + + * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also + when the macro ignores it. + Based on a patch by Eric Blake <ebb9@byu.net>. + +2008-06-17 Bruno Haible <bruno@clisp.org> + + * modules/tls (License): Change to LGPLv2+. + Reported by Eric Blake. + +2008-06-17 Eric Blake <ebb9@byu.net> + + Simplify c-stack prerequisites. + * lib/c-stack.c (includes): Remove unused <sys/resource.h>. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x + no longer requires <ucontext.h> to exist. Optimize setrlimit + check. + (gl_PREREQ_C_STACK): Remove check for unused getcontext and + <sys/resource.h>. + + 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 <ebb9@byu.net> + + 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. + +2008-06-14 Eric Blake <ebb9@byu.net> + + 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. + +2008-06-14 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + Add missing include. + * tests/test-strstr.c (includes): Add <signal.h>. + * tests/test-strcasestr.c (includes): Likewise. + * tests/test-memmem.c (includes): Likewise. + +2008-06-10 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.c (wait_subprocess): Add an assertion. + +2008-06-10 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code. + +2008-06-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <ianb@erislabs.net>. + + Produce autobuild blurb earlier in log. + * modules/autobuild (configure.ac-early): Move AB_INIT here. + +2008-06-09 Jim Meyering <meyering@redhat.com> + and Ondřej Vašík <ovasik@redhat.com> + + 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-06-09 Jim Meyering <meyering@redhat.com> + + 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. + +2008-06-08 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-06-08 Bruno Haible <bruno@clisp.org> + + 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-06-08 Bruno Haible <bruno@clisp.org> + + 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. + +2008-06-08 Bruno Haible <bruno@clisp.org> + + 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. + +2008-06-08 Bruno Haible <bruno@clisp.org> + + 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-06-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/set-mode-acl.c (qset_acl): Trivial code simplifications. + +2008-06-08 Jim Meyering <meyering@redhat.com> + + * modules/acl (Maintainer): Add Bruno Haible. + +2008-06-07 Bruno Haible <bruno@clisp.org> + + 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-06-07 Bruno Haible <bruno@clisp.org> + + 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. + +2008-06-07 Bruno Haible <bruno@clisp.org> + + Fix memory leak introduced on 2008-05-22. + * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after + use. + +2008-06-07 Bruno Haible <bruno@clisp.org> + + * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(), + to construct an empty ACL. + +2008-06-07 Bruno Haible <bruno@clisp.org> + + * lib/set-mode-acl.c (chmod_or_fchmod): Document return value + precisely. + * lib/copy-acl.c (qcopy_acl): Trivial code simplifications. + +2008-06-07 Bruno Haible <bruno@clisp.org> + + * lib/copy-acl.c (qcopy_acl): Make the #if branches independent. + * lib/set-mode-acl.c (qset_acl): Choose better local variable names. + +2008-06-07 Bruno Haible <bruno@clisp.org> + + * 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-06-06 Eric Blake <ebb9@byu.net> + + Document abort() bugs. + * doc/posix-functions/abort.texi (abort): Mention anomalies. + + * 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. + + 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. + + Avoid gcc warning on cygwin. + * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE && + !ACL_NO_TRIVIAL]: Avoid unused variable. + +2008-06-05 Eric Blake <ebb9@byu.net> + + 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. + +2008-06-05 Jim Meyering <meyering@redhat.com> + Paul Eggert <eggert@cs.ucla.edu> + + 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. + +2008-06-04 Bruno Haible <bruno@clisp.org> + + * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes + 2008-06-01 commit. + +2008-06-04 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-06-03 Bruno Haible <bruno@clisp.org> + + * 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-03 Eric Blake <ebb9@byu.net> + + 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. + +2008-06-02 Bruno Haible <bruno@clisp.org> + + * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if + it exists. + +2008-06-02 Bruno Haible <bruno@clisp.org> + + * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry. + * lib/copy-acl.c (qcopy_acl): Update comment. + +2008-06-02 Bruno Haible <bruno@clisp.org> + + * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft + like ACL APIs. + +2008-06-02 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-06-02 Bruno Haible <bruno@clisp.org> + + * tests/test-file-has-acl.sh: Remove unused code. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + * 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-01 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-06-02 Jim Meyering <meyering@redhat.com> + + 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 <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD. + Reported by Voroskoi Andras <voroskoi@gmail.com>. + +2008-06-01 Voroskoi Andras <voroskoi@gmail.com> (tiny change) + + * lib/stdio-impl.h [__DragonFly__]: Fix typo. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + 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. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead + function. + Reported by VOROSKOI Andras <voroskoi@gmail.com>. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + * modules/rpmatch (Depends-on): Add strdup. + +2008-06-01 Bruno Haible <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * modules/autobuild (configure.ac): Call AB_INIT. + +2008-05-30 Simon Josefsson <simon@josefsson.org> + + * tests/test-getaddrinfo.c: Don't print debug messages by default. + Suggested by Bruno Haible <bruno@clisp.org>. + +2008-05-30 Simon Josefsson <simon@josefsson.org> + + * tests/test-base64.c: Cast size_t to unsigned long when invoking + printf. Use %lu instead of %d. Reported by Bruno Haible + <bruno@clisp.org>. + +2008-05-29 Eric Blake <ebb9@byu.net> + + 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-28 Bruno Haible <bruno@clisp.org> + + * modules/stpcpy (License): Change to LGPLv2+. + Requested by David Lutterkort <dlutter@redhat.com>. + +2008-05-27 Bruno Haible <bruno@clisp.org> + + * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for + current mingw. + Reported by Jose E. Marchesi <jemarch@gnu.org>. + +2008-05-27 Bruno Haible <bruno@clisp.org> + + * 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-26 Jim Meyering <meyering@redhat.com> + + 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. + + 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 + + sha512.c: fix typo in comment + * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit. + +2008-05-25 Bruno Haible <bruno@clisp.org> + + * 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-25 Bruno Haible <bruno@clisp.org> + + * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL. + +2008-05-25 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + + 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. + + update code-in-comment to accept cast of free arg + * build-aux/useless-if-before-free: Update regexp. + +2008-05-25 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-05-24 Andreas Färber <andreas.faerber@web.de> (tiny change) + + * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds. + +2008-05-23 Bruno Haible <bruno@clisp.org> + + 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 Bruno Haible <bruno@clisp.org> + + 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. + +2008-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2008-05-22 Bruno Haible <bruno@clisp.org> + + * lib/acl.h: Don't include <sys/acl.h>. + (GETACLCNT): Move fallback to lib/acl-internal.h. + * lib/acl-internal.h: Include <sys/acl.h> here. + (GETACLCNT): New macro fallback, moved here from lib/acl.h. + +2008-05-22 Bruno Haible <bruno@clisp.org> + + 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. + +2008-05-22 Bruno Haible <bruno@clisp.org> + + * 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-22 Eric Blake <ebb9@byu.net> + + Avoid gcc warning. + * tests/test-memcmp.c (main): Pass NULL indirectly. + +2008-05-21 Bruno Haible <bruno@clisp.org> + + Add reference doc about ACLs. + * doc/acl-resources.txt: New file. + * doc/acl-cygwin.txt: New file. + +2008-05-21 Bruno Haible <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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-21 Simon Josefsson <simon@josefsson.org> + + * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is + declared. + +2008-05-20 Bruno Haible <bruno@clisp.org> + + * 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-20 Simon Josefsson <simon@josefsson.org> + + * modules/memcmp-tests: New file. + * tests/test-memcmp.c: New file. + +2008-05-19 Bruno Haible <bruno@clisp.org> + + * modules/propername (Notice, configure.ac): Put quoted "..." into + --keyword option. + * lib/propername.h: Update comments accordingly. + Reported by Eric Blake. + +2008-05-19 Martin Lambers <marlam@marlam.de> (tiny change) + + * modules/getpass-gnu (Depends-on): Add fseeko. + +2008-05-19 Simon Josefsson <simon@josefsson.org> + + * modules/base64-tests: New file. + +2008-05-19 Bo Borgerson <gigabo@gmail.com> + + * 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. + +2008-05-19 Jim Meyering <meyering@redhat.com> + + avoid a warning from gcc + * lib/trim.c (IF_LINT): Define. + (trim2): Use it to avoid a "may be used uninitialized" warning. + + Fix doc typo. + * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/. + +2008-05-19 Bruno Haible <bruno@clisp.org> + + * doc/glibc-functions/getpass.texi: Document limits of other + implementations. + +2008-05-19 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + * doc/glibc-functions/getpass.texi: Document gnulib implementation. + +2008-05-18 Bruno Haible <bruno@clisp.org> + + * 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-16 Jim Meyering <meyering@redhat.com> + Bruno Haible <bruno@clisp.org> + + Avoid some warnings from "gcc -Wshadow". + * lib/vasnprintf.c (exp, remainder): Define to different identifiers. + +2008-05-15 Eric Blake <ebb9@byu.net> + + 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. + +2008-05-15 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-05-15 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (Internationalization functions): Remove linebreak. + (Unicode string functions): Add unilbrk/*. + Reported by Karl Berry. + +2008-05-15 Eric Blake <ebb9@byu.net> + + Fix violation of <stdbool.h> 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 <Heinrich.Mislik@univie.ac.at>. + +2008-05-15 Jim Meyering <meyering@redhat.com> + + 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-15 Eric Blake <ebb9@byu.net> + + 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 <bonzini@gnu.org> + + * 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 <bruno@clisp.org> + + 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. + +2008-05-14 Lasse Collin <lasse.collin@tukaani.org> + + 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. + +2008-05-14 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + 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) <gl_LIBSOURCES>: ...rather than in one + m4_syscmd per file. + <m4_foreach_w>: Move... + * m4/gnulib-common.m4 (m4_foreach_w): ...here. + +2008-05-13 Eric Blake <ebb9@byu.net> + + * gnulib-tool: Fix various comment typos. + +2008-05-12 Bruno Haible <bruno@clisp.org> + + Tailor the linebreaking algorithm. + * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry. + +2008-05-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace. + +2008-05-11 Bruno Haible <bruno@clisp.org> + + * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c). + * modules/unilbrk/gen-lbrk: New file. + +2008-05-11 Bruno Haible <bruno@clisp.org> + + * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE. + * m4/sha512.m4 (gl_SHA512): Likewise. + +2008-05-11 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv. + (Input/Output <stdio.h>): Add xprintf. + (Signal handling <signal.h>): Add strsignal. + (Cryptographic computations (high-level)): Add crypto/gc-camellia. + (Core language properties): Add func. + (Mathematics <math.h>): 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 <bruno@clisp.org> + + * modules/unictype/gen-ctype: New file. + +2008-05-10 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>. + (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 <string.h>, uniconv.h. + Don't include <iconv.h>, 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 + <iconv.h>, 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + Add xmemdup0. + * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe + implementation. + * lib/xmalloc.c (xmemdup0): New C implementation. + +2008-05-08 Bruno Haible <bruno@clisp.org> + + * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation. + +2008-05-07 Eric Blake <ebb9@byu.net> + + Support cross-compilation of <wctype.h>. + * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in + AC_CACHE_CHECK. + +2008-05-06 Soren Hansen <soren@ubuntu.com> (tiny change) + + * build-aux/vc-list-files: Add support for bzr. + +2008-05-03 Jim Meyering <meyering@redhat.com> + + avoid failed assertion with tight malloc + * tests/test-getndelim2.c: Correct an off-by-one assertion. + +2008-05-03 Simon Josefsson <simon@josefsson.org> + + * 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. + +2008-05-02 Jim Meyering <meyering@redhat.com> + + avoid compilation error on FreeBSD 6 + * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define. + +2008-05-01 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + +2008-05-01 Bruno Haible <bruno@clisp.org> + + * lib/getndelim2.c (getndelim2): Fix newsize computation during + reallocation. Rename 'done' to 'found_delimiter'. + +2008-05-01 Jim Meyering <meyering@redhat.com> + + vc-list-files: accommodate /bin/sh like the one from Solaris 10 + * build-aux/vc-list-files: Use `...`, not $(...). + +2008-04-30 Jim Meyering <meyering@redhat.com> + + 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. + + avoid a warning from gcc + * lib/getndelim2.c (IF_LINT): Define. + (getndelim2): Use it to avoid a "may be used uninitialized" warning. + + 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. + + vc-list-files: work properly in the CVS+awk case, too + * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix. + + 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 + <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>. + +2008-04-29 Eric Blake <ebb9@byu.net> + + 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. + +2008-04-29 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-29 Jim Meyering <meyering@redhat.com> + + 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. + + 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. + +2008-04-29 Eric Blake <ebb9@byu.net> + + Use new header. + * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/. + +2008-04-29 Jim Meyering <meyering@redhat.com> + + Avoid test segfault on x86_64 due to lack of inet_ntop declaration. + * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed + by gnulib to exist and to declare e.g., inet_ntop. + Don't include "inet_ntop.h", now removed. + + * m4/arpa_inet_h.m4: Remove trailing blanks. + +2008-04-29 Eric Blake <ebb9@byu.net> + + 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. + +2008-04-29 Bruno Haible <bruno@clisp.org> + + * lib/arpa_inet.in.h: Include system's <arpa/inet.h> 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-04-29 Jim Meyering <meyering@redhat.com> + + * modules/mkdir (License): Re-license as LGPLv2+. + +2008-04-29 Bruno Haible <bruno@clisp.org> + + * modules/rawmemchr (Maintainer): Set to Eric. + * modules/strchrnul (Maintainer): Likewise. + +2008-04-29 Simon Josefsson <simon@josefsson.org> + + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set + HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON. + + * modules/arpa_inet (arpa/inet.h): Use them. + +2008-04-28 Eric Blake <ebb9@byu.net> + + 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-20 Bruno Haible <bruno@clisp.org> + + * lib/c-stack.c (die): Use raise. + * modules/c-stack (Depends-on): Add raise. + +2008-04-28 Bruno Haible <bruno@clisp.org> + + Expect rpmatch to be declared. + * lib/yesno.c (rpmatch): Remove declaration. + + Declare rpmatch. + * lib/stdlib.in.h (rpmatch): New declaration. + * lib/rpmatch.c: Include <stdlib.h> 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 <stdlib.h>. + * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and + HAVE_RPMATCH. + * NEWS: Document the change. + +2008-04-28 Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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. + + Whitespace cleanup. + * tests/test-strchrnul.c: Reindent. + * lib/strchrnul.c: Likewise. + + Optimize and test strchrnul. + * lib/strchrnul.c (strchrnul): Rewrite to do parallel search. + * modules/strchrnul-tests: New file. + * tests/test-strchrnul.c: Likewise. + + 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-28 Simon Josefsson <simon@josefsson.org> + + * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top. + Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2008-04-28 Simon Josefsson <simon@josefsson.org> + + * lib/inet_ntop.h, lib/inet_pton.h: Remove files. + + * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h. + + * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h. + + * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h + declarations. + [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations. + + * m4/inet_pton.m4: Don't check for header files. + + * m4/inet_ntop.m4: Don't check for header files. + +2008-04-28 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org>. + +2008-04-28 Bruno Haible <bruno@clisp.org> + + * doc/posix-functions/strdup.texi: Mention mingw problem. + +2008-04-27 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/rpmatch.c (rpmatch): Add some comments. + Reported by James Youngman <jay@gnu.org>. + +2008-04-27 Bruno Haible <bruno@clisp.org> + + * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on + quiet NaNs. + +2008-04-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Allow local renaming in config.h. + * lib/memrchr.c (memrchr): Don't undefine outside libc. + +2008-04-27 Bruno Haible <bruno@clisp.org> + + * lib/memchr.c (__memchr): Change type of 'i'. + * lib/memchr2.c (memchr2): Likewise. + +2008-04-26 Eric Blake <ebb9@byu.net> + and Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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. + +2008-04-26 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de>. + +2008-04-26 Bruno Haible <bruno@clisp.org> + + * modules/memchr-tests: New file. + * tests/test-memchr.c; New file, based on tests/test-memchr2.c. + +2008-04-26 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + * lib/memchr.c: Include intprops.h. + (__memchr): Optimize parallel detection of matching bytes. Rename local + variables. Add explanatory comments. + +2008-04-26 Bruno Haible <bruno@clisp.org> + + Fix module 'memchr', broken since 2000-10-28. + * lib/memchr.c: Outside glibc, define memchr, not __memchr. + +2008-04-26 Bruno Haible <bruno@clisp.org> + + * lib/memchr2.c (memchr2): Rename local variables. Add explanatory + comments. + +2008-04-25 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring + an inline function instead of a CPP macro. Patch by Ben Pfaff + <blp@cs.stanford.edu>. + +2008-04-23 Simon Josefsson <simon@josefsson.org> + + * 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-22 Jim Meyering <meyering@redhat.com> + + * modules/verify (License): Re-license as LGPLv2+. + +2008-04-22 Simon Josefsson <simon@josefsson.org> + + * lib/sys_socket.in.h: Define setsockopt macro to cast fourth + parameter to void* as per POSIX standard (MinGW uses char*). + +2008-04-21 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-21 Bruno Haible <bruno@clisp.org> + + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit. + Patch by Alain Guibert. + +2008-04-21 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-21 Bruno Haible <bruno@clisp.org> + + Fix test failure on mingw. + * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output. + +2008-04-21 Bruno Haible <bruno@clisp.org> + + * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN): + Actually assign a value. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * 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-20 Bruno Haible <bruno@clisp.org> + + * lib/isapipe.c: Port to native Windows platforms. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>. + +2008-04-21 Eric Blake <ebb9@byu.net> + + 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. + +2008-04-21 Simon Josefsson <simon@josefsson.org> + + * doc/posix-functions/strftime.texi (strftime): Explain better + Windows incompatibility. Suggested by Micah Cowan + <micah@cowan.name>. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen, + unistr/u8-mblen. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually + works. + * doc/posix-functions/roundf.texi: Mention roundf bug on mingw. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * tests/test-tsearch.c (main): Don't use initstate if it is missing. + * modules/tsearch-tests (configure.ac): Test for initstate function. + +2008-04-20 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-19 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-19 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error + from 0.0058 to less than 10^-7. + +2008-04-19 Bruno Haible <bruno@clisp.org> + + 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 <john@darrington.wattle.id.au> via + Ben Pfaff <blp@cs.stanford.edu>. + +2008-04-18 Simon Josefsson <simon@josefsson.org> + + * doc/posix-functions/strftime.texi (strftime): Clarify platform. + Suggested by Bruno Haible <bruno@clisp.org>. + +2008-04-17 Bruno Haible <bruno@clisp.org> + + * 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 <bmerry@gmail.com>. + +2008-04-17 Simon Josefsson <simon@josefsson.org> + + * doc/posix-functions/strftime.texi (strftime): Mention that %e + doesn't work under Windows. + +2008-04-16 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-16 Bruno Haible <bruno@clisp.org> + + * 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 <daniel@octocode.com>. + +2007-12-25 KJK::Hyperion <hackbunny@reactos.com> + Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-16 Eric Blake <ebb9@byu.net> + + Adjust strtod detection to catch glibc 2.7 bug. + * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior. + Reported by John Gatewood Ham. + +2008-04-16 Bruno Haible <bruno@clisp.org> + + 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 <alguibert+bts@free.fr>. + +2008-04-15 Bruno Haible <bruno@clisp.org> + + * modules/mathl (configure.ac): Define module indicator. + +2008-04-15 Bruno Haible <bruno@clisp.org> + + * lib/logl.c (logl): Remove unused variables. + +2008-04-15 Bruno Haible <bruno@clisp.org> + + * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8 + fails. + +2008-04-15 Bruno Haible <bruno@clisp.org> + + * lib/trim.c (trim2): Fix argument of isspace() macro. + +2008-04-15 Paolo Bonzini <bonzini@gnu.org> + + * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it + to 0. + * lib/trigl.c (ieee754_rem_pio2l): Fix range checks. + +2008-04-14 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-04-14 Jim Meyering <meyering@redhat.com> + + test-strtod: fix typos: s/abs/fabs/ + * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs". + +2008-04-13 Bruno Haible <bruno@clisp.org> + + 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-13 Bruno Haible <bruno@clisp.org> + + * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + Fix AIX compilation failure introduced on 2008-04-02. + * tests/test-frexp.c (exp): Undefine before redefining. + * tests/test-frexpl.c (exp): Likewise. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + Make test-signbit pass on HP-UX/hppa. + * tests/test-signbit.c (minus_zerol): New variable. + (test_signbitl): Use it. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * lib/unictype.h: Remove trailing comma from enumeration definitions. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification + expression, so as to avoid HP-UX 11 cc compiler bug. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * lib/git-merge-changelog.c: Remove empty declaration outside of + functions. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * 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 <sys/socket.h> + also if it exists but lacks definitions of the SHUT_* macros. + * modules/sys_socket (Description): Update. + Reported by Elbert Pol <e.pol@chello.nl>. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * lib/localcharset.c (OS2): Don't redefine if already defined. + Reported by Elbert Pol <e.pol@chello.nl>. + +2008-04-13 Bruno Haible <bruno@clisp.org> + + * lib/binary-io.h [__EMX__]: Include <io.h>. + Reported by Elbert Pol <e.pol@chello.nl>. + +2008-04-12 Bruno Haible <bruno@clisp.org> + + * lib/fpucw.h: Enable the definitions also for x86_64. + Needed for NetBSD/x86_64. + Reported by Thomas Klausner <tk@giga.or.at>. + +2008-04-12 Bruno Haible <bruno@clisp.org> + + * tests/test-strtod.c: Include isnand.h. + (main): Use isnand instead of isnan. + Reported by Jim Meyering. + +2008-04-12 Bruno Haible <bruno@clisp.org> + + * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN. + Reported by Nelson H. F. Beebe <beebe@math.utah.edu>. + +2008-04-12 Jim Meyering <meyering@redhat.com> + + * m4/math_h.m4 (gl_MATH_H): Fix typos. + +2008-04-12 Bruno Haible <bruno@clisp.org> + + * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion. + Reported by Elbert Pol <e.pol@chello.nl>. + +2008-04-12 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <peter@pogma.com>. + +2008-04-11 Bruno Haible <bruno@clisp.org> + + * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error. + +2008-04-11 Bruno Haible <bruno@clisp.org> + + * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD. + + * modules/getaddrinfo-tests (Makefile.am): Define + test_getaddrinfo_LDADD. + +2008-04-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc. + * modules/glob (Depends-on): Add stdbool. + +2008-04-11 Bruno Haible <bruno@clisp.org> + + * lib/trim.c: Include <string.h>. + +2008-04-11 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/wchar.in.h: Tweak comment. + +2008-04-11 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL. + +2008-04-11 Simon Josefsson <simon@josefsson.org> + + * 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 <ono@java.pl> in + <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>. + +2008-04-08 Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + 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 <rac@tenzing.org> and + Brian K. White <brian@aljex.com>. + +2008-04-06 Jim Meyering <meyering@redhat.com> + + * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic + +2008-04-06 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting, + hide error from 'ls', needed on OS/2. + Report by Elbert Pol <elbert.pol@gmail.com>. + +2008-04-04 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed + by m4/setenv.m4. + +2008-04-03 Eric Blake <ebb9@byu.net> + + 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 <meyering@redhat.com> + + vc-list-files: don't cause coreutils "make po-check" failure + * build-aux/vc-list-files: Skip postprocessing when $2 is '.' + +2008-04-03 Eric Blake <ebb9@byu.net> + + 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-02 Bruno Haible <bruno@clisp.org> + + Avoid some "statement with no effect" warnings from gcc. + * tests/test-wctype.c (main): Explicitly ignore unused values. + Reported by Jim Meyering. + +2008-04-02 Jim Meyering <meyering@redhat.com> + + Avoid some warnings from "gcc -Wshadow". + * tests/test-frexp.c (exp): Define to a different identifier. + * tests/test-frexpl.c (exp): Likewise. + +2008-04-03 Jim Meyering <meyering@redhat.com> + + 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/). + +2008-04-02 Bruno Haible <bruno@clisp.org> + + 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. + +2008-04-01 Bruno Haible <bruno@clisp.org> + + Fix test to work on IRIX 6.5 with cc. + * tests/test-math.c (numeric_equal): New function. + (main): Use it. + +2008-04-01 Bruno Haible <bruno@clisp.org> + + * doc/posix-headers/math.texi: Refine documentation of NAN problem. + +2008-04-01 Bruno Haible <bruno@clisp.org> + + * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>. + (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 <math.h>. + (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 <math.h>. + (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 <math.h>. + (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. + + * tests/test-trunc1.c: Include nan.h. + (main): Use NaNd instead of NAN. + * modules/trunc-tests (Files): Add tests/nan.h. + + * 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. + + * tests/test-ceilf1.c: Include nan.h. + (main): Use NaNf instead of NAN. + * modules/ceilf-tests (Files): Add tests/nan.h. + + * tests/test-floorf1.c: Include nan.h. + (main): Use NaNf instead of NAN. + * modules/floorf-tests (Files): Add tests/nan.h. + + * tests/test-isnanf.c: Include nan.h instead of <math.h>. + (main): Use NaNf instead of NAN. + * modules/isnanf-nolibm-tests (Files): Add tests/nan.h. + + * tests/test-isnand.c: Include nan.h instead of <math.h>. + (main): Use NaNd instead of NAN. + * modules/isnand-nolibm-tests (Files): Add tests/nan.h. + + * tests/test-frexp.c: Include nan.h. + (main): Use NaNd instead of NAN. + * modules/frexp-tests (Files): Add tests/nan.h. + + * lib/isnan.c: Don't include <math.h>. + (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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * tests/test-strtod.c (main): Update results for OSF/1 platforms. + * doc/posix-functions/strtod.texi: Likewise. + +2008-03-31 Bruno Haible <bruno@clisp.org> + + * tests/test-strtod.c (main): Don't use C99 syntax. + +2008-03-31 Bruno Haible <bruno@clisp.org> + + * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris. + Reported by Eric Blake. + +2008-03-31 Jim Meyering <meyering@redhat.com> + + 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 <ebb9@byu.net> + + More strtod documentation. + * doc/posix-functions/strtod.texi (strtod): Interpret more test + failures as distinct bugs. + +2008-03-30 Paul Eggert <eggert@cs.ucla.edu> + + * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>. + Problem reported by Erik Benada in + <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>. + +2008-03-30 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + strtod touchups. + * lib/strtod.c (strtod): Avoid compiler warnings. + Reported by Jim Meyering. + +2008-03-30 Bruno Haible <bruno@clisp.org> + + * 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. + + * 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. + + * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW. + + * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback. + * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW. + + * lib/xvasprintf.c (EOVERFLOW): Remove fallback. + * modules/xvasprintf (Depends-on): Add EOVERFLOW. + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/freadseek.c (freadseek): Don't ignore the return value of + freadptr. + +2008-03-29 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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. + +2008-03-29 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-03-28 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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-03-23 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-03-23 Bruno Haible <bruno@clisp.org> + + 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 <ton.voon@altinity.com>. + +2008-03-23 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (gettextize and autopoint): New section. + +2008-03-23 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + 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. + +2008-03-23 Bruno Haible <bruno@clisp.org> + + Tweak "gnulib --version" output. + * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified". + +2008-03-23 Bruno Haible <bruno@clisp.org> + + Tweak "gnulib --version" output. + * gnulib-tool (func_version): Use date of last commit to ChangeLog, + rather than contents of ChangeLog, when possible. + +2008-03-21 Eric Blake <ebb9@byu.net> + + More --version tweaks. + * gnulib-tool (func_version): Obey GNU Coding Standards. Output + date of last ChangeLog entry. + +2008-03-21 Jim Meyering <meyering@redhat.com> + + * build-aux/GNUmakefile (_have-git-version-gen): Split long line. + +2008-03-20 Eric Blake <ebb9@byu.net> + + VPATH fix. + * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir. + +2008-03-20 Simon Josefsson <simon@josefsson.org> + + * build-aux/GNUmakefile: Make git-version-gen optional. Add + _build-aux variable. Suggested by Eric Blake <ebb9@byu.net>. + +2008-03-20 Eric Blake <ebb9@byu.net> + + 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. + +2008-03-18 Jim Meyering <meyering@redhat.com> + + New script and module: mktempd + * MODULES.html.sh (maint+release support): Add mktempd. + * build-aux/mktempd: New file. + * modules/mktempd: New file. + +2008-03-15 Jim Meyering <meyering@redhat.com> + + Undo last change. + * lib/sha1.c, lib/md5.c: 63 != ~63. + Reported by Andreas Schwab. + + 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. + +2008-03-14 Eric Blake <ebb9@byu.net> + + 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. + + 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-03-12 Jim Meyering <meyering@redhat.com> + + Recognize optional cast of the argument to free. + * build-aux/useless-if-before-free: Update regexps. + + * build-aux/bootstrap (gnulib_tool): Remove trailing blanks. + +2008-03-11 Bruno Haible <bruno@clisp.org> + + 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 <sds@gnu.org>. + +2008-03-12 Sergey Poznyakoff <gray@gnu.org.ua> + + * build-aux/bootstrap (version_controlled_file): Adapt for SVN + repositories. + +2008-03-11 Bruno Haible <bruno@clisp.org> + + 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. + +2008-03-10 Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com> + Bruno Haible <bruno@clisp.org> + + 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 <stdarg.h> 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. + +2008-03-10 Bruno Haible <bruno@clisp.org> + + * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. + Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>. + +2008-03-10 Bruno Haible <bruno@clisp.org> + + * modules/stdlib (Depends-on): Add include_next, remove + absolute-header. + +2008-03-09 Bruno Haible <bruno@clisp.org> + + * 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-03-09 Bruno Haible <bruno@clisp.org> + + 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. + +2008-03-09 Bruno Haible <bruno@clisp.org> + + * doc/Makefile (%.pdf): Explain how to remedy the save_size error. + Report and solution by Simon Josefsson. + +2008-03-06 Bruno Haible <bruno@clisp.org> + + 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. + +2008-03-06 Eric Blake <ebb9@byu.net> + + Likewise for ftello. + * modules/ftello (Dependencies): Add extensions. + * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS. + +2008-03-06 Bruno Haible <bruno@clisp.org> + + * modules/fseeko (Dependencies): Add extensions. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS. + Needed on glibc systems. + +2008-03-06 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside + email address. + Reported by Thien-Thi Nguyen <ttn@gnuvola.org>. + +2008-03-06 Bruno Haible <bruno@clisp.org> + + * users.txt: Add libgnupdf. + +2008-03-06 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change) + + * 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. + +2008-03-06 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (VCS Issues): Small updates. + Reported by Thien-Thi Nguyen <ttn@gnuvola.org>. + +2008-03-06 Bruno Haible <bruno@clisp.org> + + * doc/func.texi: New file, extracted from doc/gnulib.texi. + * doc/gnulib.texi: Include it. + +2008-03-06 Simon Josefsson <simon@josefsson.org> + + * modules/func (License): Change license to unlimited; there was + no LGPL parts in the module anyway. + +2008-03-06 Simon Josefsson <simon@josefsson.org> + + * 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 <ebb9@byu.net>. + +2008-03-06 Simon Josefsson <simon@josefsson.org> + + * doc/gnulib.texi (__func__): Use C99 terminology when talking + about __func__. Make example self-contained. Suggested by Eric + Blake <ebb9@byu.net>. + + * tests/test-__func__.c (main): Avoid extraneous () around __func. + Suggested by Eric Blake <ebb9@byu.net>. + +2008-03-06 Simon Josefsson <simon@josefsson.org> + + * 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. + +2008-03-05 Simon Josefsson <simon@josefsson.org> + + * modules/byteswap (License): Re-license as LGPLv2+. + +2008-03-05 Simon Josefsson <simon@josefsson.org> + + * doc/Makefile: Add pdf target. + +2008-03-05 Simon Josefsson <simon@josefsson.org> + + * modules/inline (License): Use 'unlimited', since there are only + *.m4 files in this module. + +2008-03-03 John E. Malmberg <wb8tyw@qsl.net> (tiny change) + Bruno Haible <bruno@clisp.org> + + Add support for HP C 7.1 on OpenVMS 8.3. + * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS. + +2008-03-03 John E. Malmberg <wb8tyw@qsl.net> (tiny change) + + Update VMS specifics. + * lib/getopt.c [VMS]: Remove include of unixlib.h. + +2008-03-02 Jim Meyering <meyering@redhat.com> + + Remove the last dependency on the "free" module. + * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE. + Reported by Bob Proulx. + + * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc. + + 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. + + * build-aux/git-version-gen: Adjust a comment and the Usage string. + + bootstrap: sync from coreutils again + * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks. + +2008-03-01 Jim Meyering <meyering@redhat.com> + + 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-01 Eric Blake <ebb9@byu.net> + + 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. + + 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. + +2008-02-29 Bruno Haible <bruno@clisp.org> + + * modules/freadseek-tests: New file. + * tests/test-freadseek.sh: New file. + * tests/test-freadseek.c: New file. + + 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. + +2008-02-29 Sergey Poznyakoff <gray@gnu.org.ua> + + * users.txt: Add anubis, cpio, mailfromd, mailutils, radius, + wydawca. + + * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if + program_invocation_name and program_invocation_short_name are + present. + +2008-02-28 Bruno Haible <bruno@clisp.org> + + * tests/test-freadptr.c: Add a test for behaviour after ungetc. + * tests/test-freadptr.sh: Also test non-seekable stdin. + +2008-02-28 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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. + +2008-02-28 Atsushi SAKAI <sakaia@jp.fujitsu.com> + + * lib/xsize.h: Fix typo in comment: s/tupe/type/. + +2008-02-28 Bruno Haible <bruno@clisp.org> + + * 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 <karl@freefriends.org> + + Sync from Libtool: + * libltdl/argz.c (argz_add, argz_count): New functions. + * libltdl/argz.in.h: Declare them. + Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>. + +2008-02-22 Bruno Haible <bruno@clisp.org> + + * 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 <bug-gnulib@mlists.thewrittenword.com>. + +2008-02-24 Bruno Haible <bruno@clisp.org> + + * modules/environ-tests: New file. + * tests/test-environ.c: New file. + + 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. + +2008-02-24 Bruno Haible <bruno@clisp.org> + + * doc/posix-functions/environ.texi: Document the MacOS X problem. + +2008-02-20 Bob Proulx <bob@proulx.com> + + 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. + +2008-02-20 Martin Buchholz <martin@xemacs.org> (tiny change) + + * lib/fts.c (fts_build): Typo correction to comment. + +2008-02-17 Bruno Haible <bruno@clisp.org> + + * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid + generating no-op conflicts. + +2008-02-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <lasse.collin@tukaani.org> + + Don't rely on signed integer overflowing to negative value. + * lib/getugroups.c (getugroups): Include <limits.h>. + Instead, compare against INT_MAX, and increment only if the test passes. + +2008-02-13 Jim Meyering <meyering@redhat.com> + and Eric Blake <ebb9@byu.net> + + Avoid shadowing warning and compile errors on Linux. + * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h> + forwarding macros on Linux. + (dcgettext): Define a stub, for Linux. + (results_g, main): Avoid warnings. + +2008-02-12 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de>. + +2008-02-11 Bruno Haible <bruno@clisp.org> + + * .gitattributes: New file. + +2008-02-11 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + New module 'git-merge-changelog'. + * modules/git-merge-changelog: New file. + * lib/git-merge-changelog.c: New file. + +2008-02-10 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT". + Needed when ELEMENT is #defined to 'some_type *'. + +2008-02-10 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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-02-08 Jim Meyering <meyering@redhat.com> + + Avoid two "parameter unused" warnings. + * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime): + Mark "st" as used. + + 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-02-07 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems. + Avoids a crash on Windows Vista. + Reported by Adam Strzelecki <ono@java.pl> via + Simon Josefsson <simon@josefsson.org>. + +2008-02-06 Bruno Haible <bruno@clisp.org> + + 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 <psfales@alcatel-lucent.com>. + +2008-02-06 Bruno Haible <bruno@clisp.org> + + Fix bug introduced on 2008-01-26. + * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan. + +2008-02-06 Bruno Haible <bruno@clisp.org> + + Fix bug introduced on 2007-06-10. + * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if + !NEED_PRINTF_FLAG_ZERO. + +2008-02-05 Peter O'Gorman <pogma@thewrittenword.com> + + getloadavg: use libperfstat on AIX5 + * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat + +2008-02-03 Bruno Haible <bruno@clisp.org> + + * lib/diffseq.h: Add comments about required #includes. + Reported by Michael Biggs <gnulib@doubleplum.net>. + +2008-02-01 Bruno Haible <bruno@clisp.org> + + * users.txt: Add gnuit. + +2008-01-31 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-01-31 Jim Meyering <meyering@redhat.com> + + 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. + +2008-01-31 Simon Josefsson <simon@josefsson.org> + + * tests/test-sha1.c: New file, based on test-md5.c. + + * modules/crypto/sha1-tests: New file. + +2008-01-31 Simon Josefsson <simon@josefsson.org> + + * lib/sha1.h (SHA1_DIGEST_SIZE): Define. + +2008-01-31 Jim Meyering <meyering@redhat.com> + + 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 <simon@josefsson.org> + + * lib/sha1.c (set_uint32): Mark function as static. + +2008-01-31 Simon Josefsson <simon@josefsson.org> + + 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 <simon@josefsson.org> + + 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 <simon@josefsson.org> + + 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 <weasel@debian.org> + + 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 <schwab@suse.de> + Bruno Haible <bruno@clisp.org> + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a + correct definition of LDBL_MIN_EXP. + +2008-01-30 Karl Berry <karl@gnu.org> + + * config/srclist-update: try to preserve x bit on updates. + * config/srclistvars.sh: update for karl. + +2008-01-29 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu>. + +2008-01-26 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <math.h>): Replace isnan-nolibm with + isnand-nolibm. + * NEWS: Mention the change. + +2008-01-25 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + Prefer <config.h> over "config.h". See autoconf doc for explanation. + * lib/poll.c: Include <config.h>, not "config.h". + * tests/test-getaddrinfo.c: Likewise. + +2008-01-25 Simon Josefsson <simon@josefsson.org> + + * modules/sockets-tests: New file. + +2008-01-24 Simon Josefsson <simon@josefsson.org> + + * 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 <bruno@clisp.org> + + * doc/posix-headers: Renamed from doc/headers. + * doc/posix-functions: Renamed from doc/functions. + * doc/gnulib.texi: Update. + +2008-01-19 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/glibc-functions/memmem.texi: Include contents of + doc/functions/memmem.texi. + * doc/functions/memmem.texi: Remove file. + +2008-01-18 Bruno Haible <bruno@clisp.org> + + * doc/glibc-functions/*.texi: New files. + * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten + to use the new files. + +2008-01-17 Bruno Haible <bruno@clisp.org> + + * tests/test-gethostname.c (main): Fix printf statement. + +2008-01-17 Simon Josefsson <simon@josefsson.org> + + * modules/gethostname-tests: New file. + + * tests/test-gethostname.c: New file. + +2008-01-17 Simon Josefsson <simon@josefsson.org> + + * lib/gethostname.c: Include string.h unconditionally, strncpy is + used by the UNAME case. Reported by Bruno Haible + <bruno@clisp.org>. + +2008-01-17 Eric Blake <ebb9@byu.net> + + 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. + +2007-01-16 Paolo Bonzini <bonzini@gnu.org> + + * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable. + Use it in creating po/Makevars. + +2008-01-15 Simon Josefsson <simon@josefsson.org> + + * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default. + Applications that requires it should initialize libgcrypt + manually. + +2008-01-16 Simon Josefsson <simon@josefsson.org> + + * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy. + +2008-01-15 Paul Eggert <eggert@cs.ucla.edu> + + Fix problem with getdate on mingw32 reported by Simon Josefsson + in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>. + * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined + tzname", when deciding whether to declare tzname. + * lib/strftime.c (tzname): Likewise. + +2008-01-15 Bruno Haible <bruno@clisp.org> + + 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 <pipping@gentoo.org>. + +2008-01-14 Eric Blake <ebb9@byu.net> + + Touch up previous patch. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo. + * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug. + + 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 <cjwatson@debian.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/strsignal (Include): Change to <string.h>. + +2008-01-14 Colin Watson <cjwatson@debian.org> + + * 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 <cjwatson@debian.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * tests/test-memmem.c (main): Increase maximum allowed time. + * tests/test-strstr.c (main): Likewise. + +2008-01-11 Bruno Haible <bruno@clisp.org> + + * doc/functions/memmem.texi: Add more precisions about platforms. + * doc/functions/strstr.texi: Likewise. + +2008-01-10 Eric Blake <ebb9@byu.net> + + * m4/strstr.m4: Delete cruft from copy-n-paste. + Reported by Bruno Haible. + +2008-01-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * lib/relocatable.h: Fix a comment. + +2008-01-10 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <beuc@gnu.org>. + +2008-01-10 Colin Watson <cjwatson@debian.org> + + * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive: + s/S_ISNLK/S_ISLNK/. + +2008-01-09 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-wcwidth.c: Include <string.h> 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. + +2008-01-09 Paul Eggert <eggert@cs.ucla.edu> + + gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally. + See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>. + * NEWS: announce this. + * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H. + +2008-01-09 Simon Josefsson <simon@josefsson.org> + and Eric Blake <ebb9@byu.net> + + 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. + +2008-01-09 Eric Blake <ebb9@byu.net> + + 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. + +2008-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Support AIX 6.1 and higher. + * build-aux/config.libpath: Likewise. + * build-aux/config.rpath: Likewise. + +2008-01-08 Jim Meyering <meyering@redhat.com> + Bruno Haible <bruno@clisp.org> + + * 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>. + +2008-01-08 Bruno Haible <bruno@clisp.org> + + * 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. + +2008-01-08 Bruno Haible <bruno@clisp.org> + + * 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 <millerp@canb.auug.org.au>. + +2008-01-08 Eric Blake <ebb9@byu.net> + + 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. + +2008-01-08 Bruno Haible <bruno@clisp.org> + + * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT + augmentation. + +2008-01-08 Mike Frysinger <vapier@gentoo.org> + + 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-01-06 Simon Josefsson <simon@josefsson.org> + + * tests/test-localename.c: Don't include obsolete "setenv.h". + + * modules/localename-tests (Depends-on): Need unsetenv. + +2008-01-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * DEPENDENCIES: Require Texinfo version 4.6 or newer. + +2008-01-06 Colin Watson <cjwatson@debian.org> + + * users.txt: Add man-db. + +2008-01-07 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the + previous section name. + +2008-01-07 Bruno Haible <bruno@clisp.org> + + * lib/progname.c (set_program_name): Don't strip off a leading + "lt-" prefix outside a .libs directory. + Suggested by Paul Eggert. + +2008-01-01 Sylvain Beucler <beuc@gnu.org> + Bruno Haible <bruno@clisp.org> + + 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. + +2008-01-01 Bruno Haible <bruno@clisp.org> + + * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test + failure on older glibc systems. + Reported by Peter Fales <psfales@alcatel-lucent.com>. + +2008-01-05 Eric Blake <ebb9@byu.net> + + Avoid quadratic system memmem. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem. + Reported by Ralf Wildenhues. + + 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. + +2008-01-04 Bruno Haible <bruno@clisp.org> + + * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): + Require gl_HEADER_STRINGS_H_DEFAULTS, not + gl_HEADER_STRING_H_DEFAULTS. + +2008-01-04 Eric Blake <ebb9@byu.net> + + 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. + +2007-12-21 Simon Josefsson <simon@josefsson.org> + + * modules/relocatable-prog-wrapper (Depends-on): Add intprops and + string, needed by strerror. + +2008-01-03 Colin Watson <cjwatson@debian.org> + Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Localization): New section. + +2008-01-02 Bruno Haible <bruno@clisp.org> + + * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *' + variables to 'unsigned char *' type. + Reported by Paul Eggert. + +2008-01-02 Jim Meyering <jim@meyering.net> + + * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year. + +2007-12-31 Jim Meyering <jim@meyering.net> + + Avoid use of private FTS type name. + * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent". + +2007-12-30 Karl Berry <karl@gnu.org> + + * doc/gnulib.texi (Library vs. Reusable Code): remove period, to + work around defect in Texinfo and/or the standalone Info browser. + +2007-12-30 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not + defined. + +2007-12-30 Bruno Haible <bruno@clisp.org> + + * lib/xmalloca.h: Include xalloc.h. + (xnmalloca): New macro. + +2007-12-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/dirfd (License): Change to LGPLv2+. + Approved by Jim Meyering. + +2007-12-29 Paul Eggert <eggert@cs.ucla.edu> + + * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow + when multiplying M by sizeof (size_t). + +2007-12-10 Martin Lambers <marlam@marlam.de> + + 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 <bruno@clisp.org> + + * modules/localcharset (Notice): New field. + (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT. + Suggested by Ben Pfaff <blp@cs.stanford.edu>. + +2007-12-25 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Fixup after 2007-10-16 commit. + * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax. + +2007-12-24 Bruno Haible <bruno@clisp.org> + + 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 Левашев Иван <octagram@bluebottle.com>. + +2007-12-24 Bruno Haible <bruno@clisp.org> + + 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 Левашев Иван <octagram@bluebottle.com>. + +2007-12-24 Bruno Haible <bruno@clisp.org> + + 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 <stdlib.h>. + * modules/unsetenv: New file. + * lib/setenv.c: Include <stdlib.h> first, after alloca.h. + * lib/unsetenv.c: Include <stdlib.h> 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 <stdlib.h> 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 Левашев Иван <octagram@bluebottle.com>. + +2007-12-23 Bruno Haible <bruno@clisp.org> + + * lib/memmem.c (memmem): Use lowercase variable names. Tab + indentation. + +2007-12-23 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-memmem.c: Include <string.h> first. + +2007-12-22 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Change $auxdir while generating + the contents of $testsbase. + Reported by Ralf Wildenhues. + +2007-12-22 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with + two variables local_ldadd_before, local_ldadd_last. + +2007-12-20 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + + 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>. + +2007-12-17 Eric Blake <ebb9@byu.net> + + 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 <Petr.Salinger@seznam.cz> + + 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 <meyering@redhat.com> + + Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc, + which has no openat syscall, yet <fcntl.h> 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 <bruno@clisp.org> + + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to + avoid a segmentation fault of the configure test on x86_64 systems. + +2007-12-15 Jim Meyering <meyering@redhat.com> + + * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary. + +2007-12-13 Eric Blake <ebb9@byu.net> + + 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. + + Fix fseeko on mingw. + * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful + seek. + + Beef up fseek tests. + * tests/test-fseek.c (main): Also test eof handling. + * tests/test-fseeko.c (main): Likewise. + Reported by Larry Jones. + +2007-12-13 Larry Jones <lawrence.jones@siemens.com> (tiny change) + + Fix fseeko on BSD-based platforms. + * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on + successful seek. + +2007-12-12 Eric Blake <ebb9@byu.net> + + Allow circular dependency of separate libtests.a + * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS + when use_libtests. + +2007-12-11 Eric Blake <ebb9@byu.net> + + 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. + + 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 ==. + + Avoid link failures with separate libtests.a. + * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd + last, to satisfy circular dependencies. + +2007-12-11 Eric Blake <ebb9@byu.net> + and Bruno Haible <bruno@clisp.org> + + Fix OpenBSD 4.0 <float.h> 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. + +2007-12-11 Jim Meyering <meyering@redhat.com> + + * users.txt: Add libvirt. + + Support versions of autoconf prior to 2.59c. + * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w + if it is not already defined. + +2007-12-09 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_emit_tests_Makefile_am): Expand references to + the build-aux directory. + +2007-12-09 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code + introduced on 2006-09-09. + +2007-12-07 Jim Meyering <meyering@redhat.com> + + 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 <meyering@redhat.com> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * doc/functions/mprotect.texi: Mention the mingw problem. + +2007-12-03 Eric Blake <ebb9@byu.net> + + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure + REPLACE_STRERROR is initialized before this macro. + +2007-12-03 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>. + * 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 <jay@gnu.org> + + * doc/regexprops-generic.texi: change "an close-group" to "a + close-group" and "illegal" to "not allowed". + +2007-11-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <marlam@marlam.de> + Bruno Haible <bruno@clisp.org> + + * 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 <unistd.h> 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. + +2007-12-02 Bruno Haible <bruno@clisp.org> + + * modules/strings-tests: New file. + * tests/test-strings.c: New file. + + Move declarations of str{,n}casecmp from <string.h> to <strings.h>. + * 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 <strings.h>, not <string.h>. + Reported by Karl Berry. + +2007-12-01 Eric Blake <ebb9@byu.net> + + * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to + accomodate fix in cygwin 1.5.25. + +2007-12-01 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com>. + +2007-11-28 Paul Eggert <eggert@cs.ucla.edu> + + 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. + +2007-11-28 Jim Meyering <meyering@redhat.com> + + * modules/physmem (License): Change from GPL to LGPLv2+. + +2007-11-26 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (decode_long_double): Don't abort if the + 'long double' type has excess precision. + Reported by Jim Meyering in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>. + +2007-11-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi: + Sync from <http://gnu.org/licenses>. + * 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 + <http://savannah.gnu.org/projects/gnustandards>. + +2007-11-22 Ondřej Vašík <ovasik@redhat.com> + and Jim Meyering <meyering@redhat.com> + + 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 <unsigned number, + signed relative offset> sequence consistently. + +2007-11-18 Jim Meyering <meyering@redhat.com> + + 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 <gray@gnu.org.ua> + + bootstrap: work also with 4-argument variant of AC_INIT + * build-aux/bootstrap (gnulib_extra_files): Adjust sed command. + +2007-11-16 Paul Eggert <eggert@cs.ucla.edu> + + Port test-getaddrinfo to Solaris. + Problem reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>. + * 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 <eggert@cs.ucla.edu> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * lib/config.charset: Update for OpenBSD 4.1. + Reported and helped by Ben Pfaff <blp@cs.stanford.edu>. + +2007-11-12 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/gperf: New file. + * modules/iconv_open (Depends-on): Add it. + (Makefile.am): Remove the GPERF definition. + +2007-11-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-argmatch.c (ARGMATCH_DIE): Undefine. + (usage): Remove function. + +2007-11-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for + ptrdiff_t as m4/intl.m4. + +2007-11-10 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf + buffer. Fixes an inefficiency introduced on 2007-11-03. + +2007-11-09 Bruno Haible <bruno@clisp.org> + + * 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * 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 <stdlib.h>. + (rpl_realloc): Turn malloc(0) into malloc(1) if necessary. + Needed on OSF/1 4.0. + +2007-11-05 Jim Meyering <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end. + +2007-11-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop. + +2007-11-04 Bruno Haible <bruno@clisp.org> + + * modules/relocatable-prog (Files): Add m4/lib-ld.m4. + Reported by Sylvain Beucler <beuc@gnu.org>. + +2007-11-03 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Fix out-of-memory handling of vasnprintf. + * lib/printf-parse.c: Include <errno.h>. + (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 <ebb9@byu.net> + + Fix tests on cygwin. + * modules/xprintf-posix-tests (Makefile.am): Link against -lintl. + +2007-11-01 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking + for compatibility with GNU. + +2007-11-01 Bruno Haible <bruno@clisp.org> + + * lib/putenv.c: Include <stdlib.h>. 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 <stdlib.h>. + * 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 <peter@pogma.com>. + +2007-11-01 Jim Meyering <meyering@redhat.com> + + 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: + <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>. + +2007-10-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/xvasprintf-posix: New file. + Suggested by Eric Blake. + +2007-10-30 Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files. + * modules/freadable-tests (MOSTLYCLEANFILES): Likewise. + * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise. + +2007-10-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <blp@gnu.org> + + * 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 <blp@gnu.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition, + borrowed from autoconf. + +2007-10-26 Bruno Haible <bruno@clisp.org> + + * 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 <micah@cowan.name> + + 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 <meyering@redhat.com> + + 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 <meyering@redhat.com> + Get gnulib from the git repository, not from an obsolete cvs one. + * build-aux/bootstrap: Suggestion from Micah Cowan. + 2007-10-04 Jim Meyering <jim@meyering.net> + * 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 <eggert@cs.ucla.edu> + + * README: Append ".git" to git and cg examples. + Problem reported by Benoit Sigoure. + +2007-10-23 Micah Cowan <micah@cowan.name> + + * users.txt: Add wget. + +2007-10-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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. + + 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. + +2007-10-22 Bruno Haible <bruno@clisp.org> + + * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same + size. + +2007-10-22 Eric Blake <ebb9@byu.net> + + Tweak x*printf documentation. + * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust + variable name and comments. + Suggested by Bruno Haible. + +2007-10-22 Bruno Haible <bruno@clisp.org> + + * lib/acl.c (copy_acl): Fix file name in comment. + +2007-10-22 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>. + +2007-10-22 Eric Blake <ebb9@byu.net> + + Also wrap vf?printf. + * lib/xprintf.h (xvprintf, xvfprintf): New declarations. + * lib/xprintf.c (xprintf, xfprintf): Work for C89. + (xvprintf, xvfprintf): New functions. + +2007-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add + @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3. + + * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define. + * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise. + +2007-10-22 Paul Eggert <eggert@cs.ucla.edu> + + * lib/acl.c (copy_acl): Adjust to IRIX 6.5. Problem reported + by Bruno Haible. + +2007-10-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * lib/getloadavg.c + [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]: + Undef `sys' after including sys/table.h, for Tru64 4.0D. + + * tests/test-i-ring.c: Work for C89. + +2007-10-22 Bruno Haible <bruno@clisp.org> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>. + +2007-10-22 Eric Blake <ebb9@byu.net> + + * tests/test-yesno.sh: Silence stderr during test. + +2007-10-22 Simon Josefsson <simon@josefsson.org> + + * modules/crypto/gc-camellia: New file. + + * m4/gc-camellia.m4: New file. + + * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia. + + * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256. + +2007-10-22 Simon Josefsson <simon@josefsson.org> + + * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends + --help to stdout. Reported by sms@antinode.org (Steven + M. Schweda). + +2007-10-22 Simon Josefsson <simon@josefsson.org> + + * users.txt: Fix link to libksba. + +2007-10-21 Ben Pfaff <blp@gnu.org> + + * modules/roundf-tests: Add dependency on floorf, ceilf to allow + round.c roundf implementation that depends on floorf and ceilf to + be tested unconditionally. + +2007-10-21 Ben Pfaff <blp@gnu.org> + + * 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. + +2007-10-21 Bruno Haible <bruno@clisp.org> + + * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF + context. + +2007-10-21 Bruno Haible <bruno@clisp.org> + + * tests/test-wcwidth.c (main): Allow negative result for some control + characters. + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B. + Needed on OSF/1 5.1. + +2007-10-21 Bruno Haible <bruno@clisp.org> + + * 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(). + +2007-10-21 Eric Blake <ebb9@byu.net> + + * users.txt: Update URL for m4. + +2007-10-21 Bruno Haible <bruno@clisp.org> + + * users.txt: Add clisp. Update URLs to Simon Josefsson's projects. + +2007-10-21 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_megatestdir): Determine the cvsdate from + Git's management files if the CVS files are not present. + +2007-10-20 Bruno Haible <bruno@clisp.org> + + * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for + gcc-3.4.x. + +2007-10-20 Ben Pfaff <blp@gnu.org> + + * 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. + +2007-10-20 Jim Meyering <meyering@redhat.com> + + * lib/xprintf.c: Include <config.h> unconditionally. + + 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. + + xprintf fixes. + * lib/xprintf.c (xprintf, xfprintf): Use va_end. + Use a clearer diagnostic. + Patch from Bruno Haible. + +2007-10-20 Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de>. + +2007-10-20 Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de>. + +2007-10-20 Bruno Haible <bruno@clisp.org> + + * modules/ceil: New file. + * m4/ceil.m4: New file. + * doc/functions/ceil.texi: Mention the 'ceil' module. + +2007-10-20 Bruno Haible <bruno@clisp.org> + + * modules/floor: New file. + * m4/floor.m4: New file. + * doc/functions/floor.texi: Mention the 'floor' module. + +2007-10-20 Bruno Haible <bruno@clisp.org> + + * 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. + +2007-10-19 Jim Meyering <meyering@redhat.com> + + * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err". + Don't bother testing specific errno values. Just test ferror. + + New module: xprintf + * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files. + +2007-10-19 Bruno Haible <bruno@clisp.org> + + * 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. + +2007-10-18 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems. + Reported by Jim Meyering. + +2007-10-18 Eric Blake <ebb9@byu.net> + + * modules/filenamecat-tests (Makefile.am): Link against -lintl. + +2007-10-18 Bruno Haible <bruno@clisp.org> + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put + the format string into writable memory. Needed in Fortify conditions. + +2007-10-18 Colin Watson <cjwatson@debian.org> (tiny change) + Bruno Haible <bruno@clisp.org> + + * 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. + +2007-10-17 Paul Eggert <eggert@cs.ucla.edu> + + 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 <stdbool.h>; 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. + +2007-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * gnulib-tool (func_get_dependencies): Fix sed script to + match only tests. + +2007-10-17 Bruno Haible <bruno@clisp.org> + + * 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. + +2007-10-16 Bruno Haible <bruno@clisp.org> + + * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix. + * lib/getgroups.c (getgroups): Likewise. + * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise. + +2007-10-16 Bruno Haible <bruno@clisp.org> + + * 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. + +2007-10-16 Paul Eggert <eggert@cs.ucla.edu> + + Merge glibc changes into lib/glob.c. + + * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated + 2007-10-15 04:59:03 UTC. Here are the changes: + + 2007-10-14 Ulrich Drepper <drepper@redhat.com> + + * lib/glob.c: Reimplement link_exists_p to use fstatat64. + + * lib/glob.c: Add some branch prediction throughout. + + 2007-10-07 Ulrich Drepper <drepper@redhat.com> + + [BZ #5103] + * lib/glob.c (glob): Recognize patterns starting \/. + + 2007-02-14 Jakub Jelinek <jakub@redhat.com> + + [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 <drepper@redhat.com> + + * lib/glob.c (glob_in_dir): Add some comments and asserts to + explain why there are no leaks. + + 2006-09-25 Jakub Jelinek <jakub@redhat.com> + + [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 <eggert@cs.ucla.edu> + + Check for 64-bit int errors in HP-UX 10.20 preprocessor. + Problem reported by H.Merijn Brand in + <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>. + * 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name. + +2007-10-15 Bruno Haible <bruno@clisp.org> + + * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use + <stddef.h> instead of <stdlib.h> since we only need NULL. + Reported by Ben Pfaff <blp@cs.stanford.edu>. + +2007-10-15 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Initial import): Swap order of -I directives. + Replace paragraph talking about LIBOBJS. + Reported by Colin Watson <cjwatson@debian.org>. + +2007-10-15 Bruno Haible <bruno@clisp.org> + + * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include + <stdlib.h> before using NULL. + +2007-10-15 Simon Josefsson <simon@josefsson.org> + + * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers. + Reported by Albert Chin <china@thewrittenword.com>. + +2007-10-14 Bruno Haible <bruno@clisp.org> + + * 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 <china@thewrittenword.com> + Bruno Haible <bruno@clisp.org> + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo + through a link check that includes <netdb.h>. Needed for OSF/1 5.1. + +2007-10-13 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/freading.h (freading): Enable the use of __freading for + glibc >= 2.7. + * lib/freading.c (freading): Likewise. + +2007-10-12 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + Simplify and modernize strerror substitute, partly to fix Solaris 8 bug. + + * lib/strerror.c: Include <string.h> 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 <ebb9@byu.net> + + Silence test-fpending. + * modules/fpending-tests (Files): Add wrapper script. + * tests/test-fpending.sh: New file. + +2007-10-09 Bruno Haible <bruno@clisp.org> + + * 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 <blp@gnu.org> + + * lib/xmalloca.h: Fix typo in comment. + +2007-10-08 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <simon@josefsson.org> + + * modules/dummy (License): Change to LGPLv2+. + * modules/float (License): Likewise + * modules/realloc (License): Likewise + * modules/stdlib (License): Likewise + +2007-10-07 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <meyering@redhat.com> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/trunc (Dependencies): Add 'extensions'. + * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS. + Reported by Ben Pfaff <blp@gnu.org>. + +2007-10-06 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <tsuna@lrde.epita.fr> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * doc/gnulib.texi (Function Substitutes): Explain what an absent module + means. + Reported by Benoît Sigoure <tsuna@lrde.epita.fr>. + +2007-10-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-fpending.c: New file, mostly copied + from coreutils/lib/t-fpending.c. + * modules/fpending-tests: New file. + +2007-10-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + Jim Meyering <jim@meyering.net> + Eric Blake <ebb9@byu.net> + + * doc/relocatable.texi: Use @command instead of @program. + +2007-10-02 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c. + Needed for the alloca-opt module. + +2007-09-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition. + Needed on BeOS. + +2007-09-30 Bruno Haible <bruno@clisp.org> + + * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS. + +2007-09-29 Bruno Haible <bruno@clisp.org> + + * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak. + +2007-09-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_emit_initmacro_done): Indentation. + +2007-09-29 Bruno Haible <bruno@clisp.org> + + * README: Add CVS checkout update instructions. + Info from Bob Proulx <bob@proulx.com>. + +2007-09-28 Eric Blake <ebb9@byu.net> + + 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 <jim@meyering.net> + + 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 <string.h>. + (STREQ): Define. + (triple_compare_ino_str): New function. + * lib/hash-triple.h (triple_compare_ino_str): Declare it. + +2007-09-28 Eric Blake <ebb9@byu.net> + + 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 <jim@meyering.net> + + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment. + +2007-09-27 Jim Meyering <jim@meyering.net> + + 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * README: Update git instructions. + +2007-09-24 Eric Blake <ebb9@byu.net> + + 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 <jim@meyering.net> + + 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 <simon@josefsson.org> + + * tests/test-canonicalize.sh: Turn on executable bit. + +2007-09-19 Eric Blake <ebb9@byu.net> + + * README: Update CVS instructions. + +2007-09-18 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * lib/savewd.c (ESTALE) [!defined]: Define. + Reported to be required on Interix by Martin Koeppe. + +2007-09-17 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_version): Use $version. + +2007-09-16 Bruno Haible <bruno@clisp.org> + + * 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 <gschafer@zip.com.au>. + +2007-09-15 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (sed): Try a little harder to make bash understand the + alias. + Reported by Bruce Korb <bruce.korb@gmail.com>. + +2007-09-13 Eric Blake <ebb9@byu.net> + + * ChangeLog: Remove conflict markers. + +2007-09-13 Simon Josefsson <simon@josefsson.org> + + * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value. + Reported by Bruno Haible <bruno@clisp.org>. + +2007-09-12 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * m4/isc-posix.m4: Remove file. + Suggested by Eric Blake. + +2007-09-11 Eric Blake <ebb9@byu.net> + + * ChangeLog: Restore lines accidentally truncated 2007-04-06. + +2007-09-10 Bruno Haible <bruno@clisp.org> + + * posix-modules: Fix typo in error message. + Reported by Matt <mkraai@beckman.com>. + +2007-09-09 Bruno Haible <bruno@clisp.org> + + * doc/functions/getdelim.texi: Update list of platforms lacking the + function. + * doc/functions/getline.texi: Likewise. + +2007-09-09 Jim Meyering <jim@meyering.net> + + * lib/hash.c (hash_initialize): Detect calloc failure. + Reported by Bruno Haible. + +2007-09-09 Bruno Haible <bruno@clisp.org> + + * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when + malloc or realloc fails. + +2007-09-09 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Prefer rsync over wget when available, + for fetching the PO files. + +2007-09-08 Bruno Haible <bruno@clisp.org> + + * posix-modules: New file. Portions copied from gnulib-tool. + * doc/gnulib.texi (POSIX Substitutes Library): New chapter. + +2007-09-08 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * m4/inttypes-h.m4: Remove stub file. + +2007-09-07 Simon Josefsson <simon@josefsson.org> + + * doc/headers/stdint.texi: Discuss #include_next issue. + +2007-09-06 Paul Eggert <eggert@cs.ucla.edu> + + * build-aux/bootstrap: Remove obsolete comment about wget --help. + +2007-09-06 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling + in variable name. + +2007-09-03 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + 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 <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>. + +2007-09-01 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/streq.h: Add double-inclusion guard. + +2007-09-01 Karl Berry <karl@gnu.org> + + * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size. + +2007-08-28 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_import): When deciding which files to remove, + consider also dangling symbolic links. + Reported by Eric Blake. + +2007-08-26 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L". + +2007-08-23 Simon Josefsson <simon@josefsson.org> + + * lib/readline.c: Don't include getline.h, the prototype is now + found in stdio.h. + +2007-08-23 Jim Meyering <jim@meyering.net> + + 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 <ebb9@byu.net> + + 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 <ludo@gnu.org> + + * users.txt: Add Guile. + +2007-08-22 Eric Blake <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-lseek.c (main): Disable a test for BeOS. + * doc/functions/lseek.texi: Document the BeOS bug. + +2007-08-19 Bruno Haible <bruno@clisp.org> + Eric Blake <ebb9@byu.net> + + * lib/lseek.c: Include <sys/stat.h>. + (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 <bruno@clisp.org> + + * modules/fstrcmp-tests: New file. + * tests/test-fstrcmp.c: New file. + +2007-08-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <sys/types.h>. + Add a FIXME comment. + Move file-scoped "static" declarations to the top. + * lib/idcache.h: New file. Include <sys/types.h> here, instead. + +2007-08-17 Bruno Haible <bruno@clisp.org> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + Import changes from coreutils for bootstrap script. + + 2007-07-21 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + If there's a GPL vN copyright comment, require that N == 3. + + 2007-07-08 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <blp@gnu.org> + + * lib/count-one-bits.h: Add comments. From Bruno Haible. + +2007-08-14 Paul Eggert <eggert@cs.ucla.edu> + + * lib/count-one-bits.h: Don't include <limits.h>; 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 <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * 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 <simon@josefsson.org> + + * 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 <eggert@cs.ucla.edu> + and Bruno Haible <bruno@clisp.org> + + * NEWS: Describe interface changes to human, xstrtol. + * lib/human.h: Include <xstrtol.h>. + (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 <xstrtol.h>, 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 <simon@josefsson.org> + + * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+. + +2007-07-31 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX + are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly). + Reported by Joerg Sonnenberger <joerg@britannica.bec.de>. + +2007-07-31 Bruno Haible <bruno@clisp.org> + + * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag. + Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>. + +2007-07-30 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <bmason@redhat.com>, via Jose Maria Plans + in <http://bugzilla.redhat.com/250077>. + +2007-07-25 Peter O'Gorman <peter@pogma.com> + Bruno Haible <bruno@clisp.org> + + * 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 <gary@thewrittenword.com>. + +2007-07-24 Ben Pfaff <blp@gnu.org> + + 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 <blp@gnu.org> + + * 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 <blp@gnu.org> + + * 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 <bruno@clisp.org> + + * 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 <blp@gnu.org> + + * lib/popcount.h: Use faster, branchless algorithm for non-GCC + case. + Suggested by Eric Blake. + +2007-07-22 Ben Pfaff <blp@gnu.org> + + 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 <eggert@cs.ucla.edu> + + * build-aux/announce-gen: Update to GPLv3. + + * build-aux/config.guess: Update from config. + +2007-07-21 Bruno Haible <bruno@clisp.org> + + * lib/error.c (_) [ENABLE_NLS]: Define to gettext. + * lib/verror.c (_) [ENABLE_NLS]: Likewise. + +2007-07-20 Jim Meyering <jim@meyering.net> + + * check-module: Diagnose a self-dependency. + +2007-07-19 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Don't abort if pobase or po_domain is + empty. + Reported by Eric Blake. + +2007-07-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_get_automake_snippet): Synthesize also an + EXTRA_DIST augmentation for files in build-aux/. + +2007-07-16 Bruno Haible <bruno@clisp.org> + + * modules/lseek (License): Use the synonymous term "LGPLv2+". + * modules/getdelim (License): Likewise. + +2007-07-16 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * 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 <Ralf.Wildenhues@gmx.de> + + * modules/argz (License): LGPLv2+. + +2007-07-15 Karl Berry <karl@gnu.org> + + * doc/gnulib.texi: revise node structure per new fdl.texi. + +2007-07-14 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently + omitting sectioning and index commands. + +2007-07-13 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <clemens.koller@anagramm.de> via + Gary V. Vaughan <gary@gnu.org>. + +2007-07-13 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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: + <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878> + Reported by Albert Chin. + +2007-07-13 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL. + (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+". + +2007-07-12 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations + in the modules files. + +2007-07-11 Karl Berry <karl@gnu.org> + + * 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 <gray@gnu.org.ua> + + * 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 <ebb9@byu.net> + + * lib/version-etc.c (version_etc_va): Default to GPLv3+. + * NEWS: Document this change. + +2007-07-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <wchar.h> 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 <wchar.h>. + * lib/wcwidth.c: Include <wchar.h> 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/Makefile (TEXI2HTML): Specify a --reference-limit. + +2007-07-06 Bruno Haible <bruno@clisp.org> + + * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than + a split double-inclusion guard. Needed for cygwin, where <sys/time.h> + includes <cygwin/sys_time.h> which includes <sys/select.h> which + include <sys/time.h>. + Reported by Eric Blake. + +2007-07-06 Eric Blake <ebb9@byu.net> + + 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 <jim@meyering.net> + + * lib/getugroups.c (getugroups): Detect getgrent failure. + Adjust comment to reflect reality: this function may return -1. + +2007-07-05 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <karl@gnu.org> + + * 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 <bruno@clisp.org> + + * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++ + mode, when inttypes.h comes from gnulib. + Reported by Joel E. Denny <jdenny@ces.clemson.edu>. + +2007-07-02 Simon Josefsson <simon@josefsson.org> + + * 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 <eggert@cs.ucla.edu> + + * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]: + #define __STDC_LIMIT_MACROS temporarily while including + <stdint.h>, so that __STDC_LIMIT_MACROS is defined. + Problem reported by Joel E. Denny in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>. + +2007-07-01 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle + Windows PATH as well. Conservative double-quoting. Comments. + +2007-07-01 Bruno Haible <bruno@clisp.org> + Eric Blake <ebb9@byu.net> + Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * gnulib-tool (self_abspathname): Fix algorithm to cope with + empty components in $PATH, denoting '.'. + +2007-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * gnulib-tool: Fix indentation. + (func_create_megatestdir): Likewise. + Report by Bruno Haible. + +2007-06-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Sync from Automake. + * build-aux/gnupload: Fix shell portability issues with for loops. + Report by Karl Berry. + +2007-06-29 Simon Josefsson <simon@josefsson.org> + + * build-aux/maint.mk (POURL): Use translationproject.org. + +2007-06-27 Simon Josefsson <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * MODULES.html.sh: remove xreadlink-with-size. + +2007-06-23 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>. + +2007-06-23 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (echo): Add a speedier workaround for ksh. + * tests/test-echo.sh: Likewise. + +2007-06-23 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (echo): Add workarounds also for bash versions < 2.04. + * tests/test-echo.sh: Likewise. + +2007-06-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * gnulib-tool (echo): Ensure the echo primitive does not interpret + backslashes. + * tests/test-echo.sh: New file. + +2007-06-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <fernando.prog@netcabo.pt>. + +2007-06-21 Karl Berry <karl@gnu.org> + + * config/srclist.txt: guess we can't handle the licenses via + srclist at the moment. + +2007-06-21 Paul Eggert <eggert@cs.ucla.edu> + + * MODULES.html.sh: Add include_next. + * modules/include_next: New file. + +2007-06-20 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * config/srclist.txt: track www changes in license files. + +2007-06-20 Sergey Poznyakoff <gray@gnu.org.ua> + + * build-aux/bootstrap: Remove stray dot. + Make sure build_aux settings are honored when linking + gnulib_extra_files. + +2007-06-19 Eric Blake <ebb9@byu.net> + + * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD): + Allow compilation on cygwin. + +2007-06-19 Jim Meyering <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + Detect porting problems to FreeBSD/arm, which has time_t wider than + long int. Original problem reported for GNU diff by Xin Li in + <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>. + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * 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 <gary@gnu.org>. + +2007-06-15 Paul Eggert <eggert@cs.ucla.edu> + + 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 <unistd.h>, not "lchown.h". + * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and + REPLACE_LCHOWN. + +2007-06-15 Jim Meyering <jim@meyering.net> + + 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 <blp@gnu.org> + + Missing part of allocsa -> malloca transition. + * modules/relocatable-prog-wrapper: gl_ALLOCSA should be + gl_MALLOCA. + +2007-06-12 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when + cross-compiling to x86_64. + +2007-06-12 Paul Eggert <eggert@cs.ucla.edu> + + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability + glitch reported by Ralf Wildenhues in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>. + + * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by + Vin Shelton. + +2007-06-11 Bruno Haible <bruno@clisp.org> + + * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL + replacement string. + Reported by Eric Blake. + +2007-06-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX. + +2007-06-10 Bruno Haible <bruno@clisp.org> + + * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t. + * lib/mbuiter.h: Likewise. + +2007-06-10 Bruno Haible <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf + declaration. + +2007-06-10 Karl Berry <karl@gnu.org> + + * config/srclist.txt: remove gettext entries, Bruno prefers + to update individually. + +2007-06-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros. + (CHAR_T): Remove macro. + (VASNPRINTF): Update. + +2007-06-09 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code. + +2007-06-09 Bruno Haible <bruno@clisp.org> + + 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 <stdlib.h>): Update. + +2007-06-08 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Work around the lack of <wchar.h> on some builds of uClibc. + * doc/headers/wchar.texi: Update. + * lib/wchar_.h: Include <wchar.h> only if it exists. + * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H. + * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>. + (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> 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 <eggert@cs.ucla.edu> + + Work around problem reported by Steven M. Schweda in + <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>: + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE || + NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h. + +2007-06-05 Bruno Haible <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix + typo in variable name. + +2007-06-05 Eric Blake <ebb9@byu.net> + + * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling. + Reported by Simon Josefsson. + +2007-06-04 Bruno Haible <bruno@clisp.org> + + 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 <gary@gnu.org>. + +2007-06-02 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-binary-io.c (main): Pass a third argument to open(). + Reported by Gary V. Vaughan <gary@gnu.org>. + +2007-06-01 Bruno Haible <bruno@clisp.org> + + * doc/functions/frexpl.texi: Update for mingw. + +2007-06-01 Bruno Haible <bruno@clisp.org> + + * tests/test-lseek.c (main): Disable test of errno for invalid third + argument. + * doc/functions/lseek.texi: Update. + Reported by Gary V. Vaughan <gary@gnu.org>. + +2007-05-28 Bruno Haible <bruno@clisp.org> + + * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES. + +2007-05-31 Eric Blake <ebb9@byu.net> + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when + cross compiling. + +2007-05-30 Eric Blake <ebb9@byu.net> + and Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t + for the moment. + +2007-05-29 Bruno Haible <bruno@clisp.org> + + * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN + invocation. + Reported by Eric Blake. + +2007-05-29 Bruno Haible <bruno@clisp.org> + + * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross- + compiling case. + +2007-05-29 Eric Blake <ebb9@byu.net> + Bruno Haible <bruno@clisp.org> + + * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on + cross compiles. + +2007-05-28 Eric Blake <ebb9@byu.net> + + * modules/closein-tests (test_closein_LDADD): Support test on + cygwin with libtool. + +2007-05-28 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + Unconditionally include <config.h> 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * lib/allocsa.h (safe_alloca): Avoid compiler warning. + +2007-05-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdio_.h (fflush): More comments. + +2007-05-28 Bruno Haible <bruno@clisp.org> + + * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real + runtime test. + +2007-05-28 Eric Blake <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * tests/test-unistd.c: Test all the types that <unistd.h> is expected + to define. + +2007-05-27 Bruno Haible <bruno@clisp.org> + + * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch. + +2007-05-27 Bruno Haible <bruno@clisp.org> + + * modules/openmp: New file. + * m4/openmp.m4: New file, taken from autoconf's CVS with changes by + Noah Misch. + +2007-05-26 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/stdio_.h (fseeko, ftello): Provide a link warning only if + GNULIB_POSIXCHECK is defined. + +2007-05-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * NEWS: Mention the incompatible change (s/futimens/gl_futimens/) + forced upon us by glibc-2.6. + +2007-05-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * lib/utimens.c (gl_futimens): Rename from futimens, + now that glibc-2.6 declares futimens. + * lib/utimens.h: Likewise. + +2007-05-19 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug + introduced on 2007-05-06. + +2007-05-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS. + +2007-05-18 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld + for printing 64-bit integers. Needed for mingw. + +2007-05-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * lib/dirent_.h: Prefer #include_next <foo.h> 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 <Ralf.Wildenhues@gmx.de> + + * modules/closein-tests (Makefile.am): Distribute + `test-closein.sh'. + +2007-05-17 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * lib/fcntl_.h: Prefer #include_next <foo.h> 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 <ttn@gnuvola.org> (tiny change) + + * doc/gnulib-tool.texi (CVS Issues): Fix typo. + +2007-05-13 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed + when used in C++ mode. + +2007-05-12 Bruno Haible <bruno@clisp.org> + + * lib/linebuffer.h: Tweak doc. + * lib/linebuffer.c: Likewise. + +2007-05-12 James Youngman <jay@gnu.org> + + * 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 <gray@gnu.org.ua> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-argp-2.sh (func_compare): Drop .exe suffix. + +2007-05-03 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>. + +2007-05-02 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/functions.texi: Remove file, now redundant through + doc/functions/*.texi. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * modules/argp (Depends-on): Add sleep. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/sigprocmask.h: Remove file. + * lib/signal_.h: Incorporate the previous contents of sigprocmask.h. + * lib/sigprocmask.c: Include <signal.h> 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 <signal.h> instead of sigprocmask.h. + * NEWS: Mention the change. + * lib/fatal-signal.c: Don't include sigprocmask.h. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * modules/signal: New file. + * lib/signal_.h: New file. + * m4/signal_h.m4: New file. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/header/assert.texi: Undo last change: don't mention the gnulib + 'assert' module here. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides + the portability of 'mkdir' to mingw systems. + +2007-05-01 Bruno Haible <bruno@clisp.org> + + * doc/headers/google-ranking.txt: New file. + +2007-04-30 Eric Blake <ebb9@byu.net> + + Prefer fseeko to fseek. + * modules/getpass (Depends-on): Add fseeko. + * lib/getpass.c (getpass): Use fseeko, not fseek. + +2007-04-30 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh (posix_functions): Remove 'contents'. + +2007-04-29 Karl Berry <karl@gnu.org> + + * config/srclist.txt (gendocs_template_min): new entry. + +2007-04-29 Bruno Haible <bruno@clisp.org> + + 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 <gray@gnu.org.ua> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/freading.c (freading): Trivial simplification. + +2007-04-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use + fseeko and ftello. + Suggested by Eric Blake. + +2007-04-28 Jim Meyering <jim@meyering.net> + + 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 <stddef.h>. + +2007-04-27 Eric Blake <ebb9@byu.net> + + * doc/headers/assert.texi (assert.h): Document assert module use. + +2007-04-27 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw. + +2007-04-27 Bruno Haible <bruno@clisp.org> + + * 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 <libtool@cwilson.fastmail.fm> + + * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of + SYSTEM_ARGZ_IS_BROKEN. Also, minor stylistic improvements. + Report by Bruno Haible <bruno@clisp.org>. + +2007-04-26 Eric Blake <ebb9@byu.net> + + 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 <ebb9@byu.net> + and Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/fflush-tests (Depends-on): Add fseeko. + +2007-04-25 Charles Wilson <libtool@cwilson.fastmail.fm> + Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <ebb9@byu.net> + + * lib/fpurge.c (includes): Use stdlib.h for free. + * tests/test-fflush.c (main): Also test fflush-fseeko. + +2007-04-25 Bruno Haible <bruno@clisp.org> + + Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X. + * lib/fseeko.c: New file. + * lib/stdio_.h: Include <sys/types.h> 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 <bruno@clisp.org> + + * modules/fflush (Depends-on): Add ftello. + +2007-04-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK. + +2007-04-25 Bruno Haible <bruno@clisp.org> + + * lib/unistd_.h: Include <stdio.h> 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 <ebb9@byu.net> + + * lib/fflush.c: Fix missing include. + Reported by Bruno Haible. + +2007-04-23 Bruno Haible <bruno@clisp.org> + + * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer. + Reported by Eric Blake. + +2007-04-23 Bruno Haible <bruno@clisp.org> + + * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64. + +2007-04-23 Bruno Haible <bruno@clisp.org> + + * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR. + +2007-04-23 Bruno Haible <bruno@clisp.org> + + * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf. + Needed on HP-UX 11. + +2007-04-16 Eric Blake <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings. + + * m4/autobuild.m4: Re-indent. + +2007-04-13 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment + MOSTLYCLEANFILES. + +2007-04-13 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4. + * modules/tls-tests (configure.ac): Likewise. + Reported by Arto C. Nirkko <anirkko@insel.ch>. + +2007-04-13 Bruno Haible <bruno@clisp.org> + + * lib/tls.c (glthread_tls_get): Fix return type. + Patch by Arto C. Nirkko <anirkko@insel.ch>. + +2007-04-12 Eric Blake <ebb9@byu.net> + + * modules/gettime (Depends-on): Remove gettime. + Reported by Dmitry V. Levin. + +2007-04-12 Bruno Haible <bruno@clisp.org> + + * modules/fflush (Include): Mention <stdio.h>. + * modules/strtoimax (Include): Mention <inttypes.h>. + * modules/strtoumax (Include): Likewise. + +2007-04-12 Eric Blake <ebb9@byu.net> + + * .cvsignore: New file. + * .gitignore: Likewise. + +2007-04-12 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + 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 <simon@josefsson.org> + + * 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 <simon@josefsson.org> + + * modules/sysexits (Depends-on): Add absolute-header. + +2007-04-12 Eric Blake <ebb9@byu.net> + + No need to preserve errno on success. + * lib/fflush.c (rpl_fflush): Simplify errno tracking. + Reported by Bruno Haible. + +2007-04-12 Simon Josefsson <simon@josefsson.org> + + * MODULES.html.sh (Support for maintaining and releasing + projects): Add autobuild. Suggested by Eric Blake <ebb9@byu.net>. + +2007-04-12 Simon Josefsson <simon@josefsson.org> + + * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy. + +2007-04-12 Simon Josefsson <simon@josefsson.org> + + * modules/autobuild: New module. + + * m4/autobuild.m4: New file. + +2007-04-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed. + +2007-04-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * 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 <stdio.h>): Document new module. + +2007-04-06 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c: Include <math.h>. 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <china@thewrittenword.com> in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>. + +2007-04-04 Eric Blake <ebb9@byu.net> + + * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin + 1.5.x. + +2007-04-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <simon@josefsson.org> + + * MODULES.html.sh: Rename crypto modules. Remove iconvme. + +2007-04-04 Karl Berry <karl@gnu.org> + + * MODULES.html.sh (func_module): missing '. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * DEPENDENCIES: Weaken m4 requirements. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * modules/frexp-tests (configure.ac): Remove AC_SUBST. + * modules/isnanl-tests (configure.ac): Likewise. + +2007-04-03 Ben Pfaff <blp@gnu.org> + + * modules/iconv_open: Add $(srcdir)/ to source directory + references in Makefile fragments that call gperf, to fix VPATH + builds. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm. + * lib/ldexpl.c: Undo last change. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * modules/printf-frexpl (Depends-on): Undo last change. + (Files): Add m4/ldexpl.m4. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/TEMPLATE-EXTENDED: New file. + * gnulib-tool (func_all_modules, func_verify_module): Exclude it. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * DEPENDENCIES: New file. + Suggested by Simon Josefsson. + +2007-04-03 Bruno Haible <bruno@clisp.org> + + * doc/gnulib.texi: Escape @. + +2007-04-03 James Youngman <jay@gnu.org> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <simon@josefsson.org> + + * 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 <ebb9@byu.net> + + * lib/ldexpl.c (includes): Avoid libm. + + * modules/printf-frexpl (Depends-on): Depend on ldexpl. + +2007-04-02 Bruno Haible <bruno@clisp.org> + + * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h> + on IRIX. + +2007-04-02 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like + i386. + +2007-04-01 Simon Josefsson <simon@josefsson.org> + + * 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 <jay@gnu.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when + the function is not present. + +2007-03-31 Bruno Haible <bruno@clisp.org> + + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when + the function is not present. + +2007-03-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh (func_module): Don't show gnulib-common.m4. + (Mathematics <math.h>): New section, add fpieee. + (Input/output <stdio.h>): Add fseterr. + (Mathematics <math.h>): New section, add printf-frexp. + (Container data structures): Add sublist. + (Core language properties): Add fpucw, inline. + (Functions for greatest-width integer types <inttypes.h>): Add + imaxabs, imaxdiv, inttypes. + (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl, + isnanl-nolibm, ldexp. + (Mathematics <math.h>): 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <gray@mirddin.farlep.net> + + * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB. + +2007-03-30 Karl Berry <karl@gnu.org> + + * config/srclist-update: double space after USA in the license + substitution, since that's how it's usually (?) written. + +2007-03-30 Paul Eggert <eggert@cs.ucla.edu> + + * lib/write-any-file.c (can_write_any_file): Fix else-else bug + reported by Bruno Haible. + +2007-03-29 Bruno Haible <bruno@clisp.org> + + * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against + a bug in AIX iconv(). + +2007-03-29 Bruno Haible <bruno@clisp.org> + + * modules/ldexpl-tests: New file. + * tests/test-ldexpl.c: New file. + +2007-03-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl. + +2007-03-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>. + +2007-03-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification + file. + * lib/asprintf.c [IN_LIBASPRINTF]: Likewise. + +2007-03-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>. + +2007-03-28 Bruno Haible <bruno@clisp.org> + + * lib/striconveh.c (utf8conv_carefully): New function. + (mem_cd_iconveh_internal): Invoke it. + +2007-03-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <simon@josefsson.org> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Make vasnprintf multithread-safe. + * lib/vasnprintf.c (decimal_point_char): New function. + (VASNPRINTF): Use it. + Suggested by Simon Josefsson. + +2007-03-27 Eric Blake <ebb9@byu.net> + + 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * lib/stat-time.h: Include <sys/stat.h>. + +2007-03-27 James Youngman <jay@gnu.org> + + * 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix + regression in logic sense of previous patch. + +2007-03-26 Bruno Haible <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use + unportable shell command "if ! ...". + Reported by Ralf Wildenhues. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original + <sysexits.h> file, and only add EX_CONFIG. + * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> 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 <bruno@clisp.org> + + * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when + hints is NULL. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t. + (PRINTF_PARSE): Make the support for size specifier 'j' unconditional. + * modules/vasnprintf (Depends-on): Add stdint. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf) + returns inf. Needed on IRIX 6.5. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * lib/regexec.c (merge_state_with_log): Make static. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * lib/trigl.c (kernel_rem_pio2): Make static. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * lib/sincosl.c (sincosl_table): Make static. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * lib/argp.h (__restrict): Define to empty, rather than to 'restrict', + if the compiler does not support C99. + +2007-03-25 Bruno Haible <bruno@clisp.org> + + * modules/time (Makefile.am): Ensure all rule action lines start with a + tab. + +2007-03-24 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 agains +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 <bruno@clisp.org> + + * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't + include isnanl-nolibm.h. + +2007-03-24 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change. + +2007-03-24 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/strptime.c (__strptime_internal): Use ANSI C syntax. + +2007-03-23 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * gnulib-tool: Rearrange space-tab sequences, since some editors + like to eat them. + +2007-03-23 Eric Blake <ebb9@byu.net> + + * lib/version-etc.c (version_etc_va): Update license wording to + be more concise. Recommended by Richard Stallman. + +2007-03-22 Bruno Haible <bruno@clisp.org> + + * lib/poll.c (MSG_PEEK): New fallback definition. + +2007-03-22 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/frexp.c: Remove older implementation that uses divisions. + +2007-03-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP. + Needed on AIX 5.1. Reported by Matthew Woehlke. + +2007-03-19 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + * modules/iconvme: Remove file. + * lib/iconvme.h: Remove file. + * lib/iconvme.c: Remove file. + * m4/iconvme.m4: Remove file. + +2007-03-19 Bruno Haible <bruno@clisp.org> + + * doc/relocatable-maint.texi: Break long shell script line. + Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>. + +2007-03-19 Paul Eggert <eggert@cs.ucla.edu> + + 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 <blp@gnu.org> + + * doc/gnulib.texi: Fix typos. + Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>. + +2007-03-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <simon@josefsson.org> + + * des.c: Remove weak_keys_chksum. Reported by Bruno Haible + <bruno@clisp.org>. + +2007-03-18 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch. + Suggested by Eric Blake. + +2007-03-18 Ben Pfaff <blp@gnu.org> + + * 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 <bruno@clisp.org> + + * lib/fchownat.c: Include lchown.h. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * tests/test-argp-2.sh (func_compare): Output a context diff. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the + locale's decimal-point character. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-dirname.c (main): Make printf statements 64-bit clean. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove + unused variable. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * tests/test-c-strcasecmp.c: Include c-strcase.h. + * tests/test-c-strncasecmp.c: Likewise. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * modules/stdlib (Depends-on): Add unistd. + * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired. + Needed for MacOS X 10.3. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * lib/unistr/u-strdup.h: Include <stdlib.h>. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>. + +2007-03-17 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * NEWS: Document stdlib change from 2007-02-18. + +2007-03-17 Jim Meyering <jim@meyering.net> + + 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 <ams@gnu.org> + + * 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 <ams@gnu.org> + + * build-aux/bootstrap (gnulib_name): New variable. + (gnulib_tool_options): Use it. + +2007-03-13 Simon Josefsson <simon@josefsson.org> + + * tests/test-des.c: Use new namespace. + +2007-03-15 Bruno Haible <bruno@clisp.org> + + * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'. + Reported by James Youngman <jay@gnu.org>. + +2007-03-15 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-stdbool.c (i): Update after last patch. + +2007-03-12 Bruno Haible <bruno@clisp.org> + + * lib/quotearg.c: Include <wctype.h> early, before the definition of + the iswprint macro. Needed on Solaris 2.5.1. + +2007-03-12 Bruno Haible <bruno@clisp.org> + + * tests/test-printf-frexp.c (main): Declare x as volatile. + +2007-03-12 Simon Josefsson <simon@josefsson.org> + + * doc/gnulib.texi (Build robot for gnulib): New section. + +2007-03-12 Jim Meyering <jim@meyering.net> + + * build-aux/bootstrap: New file. + * build-aux/bootstrap.conf: New file, from coreutils. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE. + +2007-03-12 Simon Josefsson <simon@josefsson.org> + + * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to + avoid collisions with 'des_setkey'. Reported by Bruno Haible + <bruno@clisp.org>. Also change 'tripledes_' to '3des_'. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX + formula. Needed for SunPRO C 5.0. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * modules/long-options (Depends-on): Add getopt. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * modules/modechange (Depends-on): Add stdbool. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * modules/i-ring (Depends-on): Add stdbool. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * modules/gc-des (Depends-on): Add stdbool. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (sprintf): Undefine. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding + initializers in SunPRO C and Compaq C compilers. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer + decrementing code ANSI C compliant. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's + <stdbool.h> substitute doesn't pass. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion. + +2007-03-11 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_megatestdir): Create also an autobuild + script, for submission to autobuild.josefsson.org. + +2007-03-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the + fallback; use #error instead. + Suggested by Simon Josefsson. + +2007-03-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdint_.h (uint_least64_t): Fix typo in last patch. + +2007-03-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant + variable. + * modules/dirname-tests (test_dirname_SOURCES): Remove redundant + variable. + +2007-03-09 Eric Blake <ebb9@byu.net> + and Matthew Woehlke <mw_triad@users.sourceforge.net> (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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdio_.h: Treat __need___FILE like __need_FILE. + +2007-03-08 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * users.txt: Add parted. + + * ChangeLog: Restore 1500 lines mistakenly removed from the end. + +2007-03-07 Bruno Haible <bruno@clisp.org> + + * m4/printf.m4: Make the shell script snippets copy&pastable. + +2007-03-02 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h> + 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 + <sys/socket.h> 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 <sys/types.h>. + +2007-03-02 Bruno Haible <bruno@clisp.org> + + * lib/byteswap_.h (bswap_32): Fix formula. + +2007-03-06 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/vsnprintf (Depend-on): Remove minmax. + +2007-03-06 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdio_.h: Include <stddef.h>. + +2007-03-05 Bruno Haible <bruno@clisp.org> + + * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro. + +2007-03-05 Bruno Haible <bruno@clisp.org> + + * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20, + NetBSD 4, from Ralf Wildenhues. + +2007-03-04 Bruno Haible <bruno@clisp.org> + + * lib/vasprintf.h: Update #if logic for the case when the functions + exist but are overridden. + +2007-03-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <jim@meyering.net> + + * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro. + Use it consistently, rather than enumerating errno constants. + +2007-03-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * modules/relocatable-prog (Depends-on): Add back progreloc's + dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd. + +2007-03-03 Bruno Haible <bruno@clisp.org> + + * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib. + * modules/relocatable-lib: New file. + +2007-03-03 Bruno Haible <bruno@clisp.org> + + * modules/relocatable-prog: Renamed from modules/relocatable. + * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'. + +2007-03-03 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/xreadlink.c: Include <unistd.h> unconditionally. + * modules/xreadlink (Depends-on): Add unistd. + * modules/xreadlink-with-size (Depends-on): Likewise. + +2007-03-03 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/gettext (configure.ac): Require gettext infrastructure + from version 0.16.1. + +2007-03-02 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * build-aux/config.libpath: Update to libtool-1.5.22. + Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>. + +2007-03-01 Bruno Haible <bruno@clisp.org> + + * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not + foo_CFLAGS. + Reported by Ralf Wildenhues. + +2007-03-01 Bruno Haible <bruno@clisp.org> + + * build-aux/install-reloc: Remove object files left over by some + compilers. + Reported by Ralf Wildenhues. + +2007-03-01 Bruno Haible <bruno@clisp.org> + + * build-aux/install-reloc: Break long lines. + +2007-03-01 Bruno Haible <bruno@clisp.org> + + * doc/relocatable.texi: Document that it may not work on OpenBSD. + Reported by Ralf Wildenhues. + +2007-03-01 Bruno Haible <bruno@clisp.org> + + * doc/gnulib-tool.texi (Initial import): Remove paragraph about + include ordering constraints. + +2007-03-01 Paul Eggert <eggert@cs.ucla.edu> + + Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>. + * 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 <bruno@clisp.org> + + * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC. + * m4/utimens.m4 (gl_UTIMENS): Likewise. + +2007-03-01 Jim Meyering <jim@meyering.net> + + * modules/xreadlink (Maintainer): Add my name. + * modules/xreadlink-with-size (Depends-on): Alphabetize. + +2007-02-26 Ben Pfaff <blp@cs.stanford.edu> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * build-aux/announce-gen: When complaining about excess arguments, + list them. + +2007-02-25 Paul Eggert <eggert@cs.ucla.edu> + + * README: Document signed integer overflow situation more + accurately. + +2007-02-25 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a + 'a' or 'A' conversion. + +2007-02-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net>. + +2007-02-24 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>. + +2007-02-23 Bruno Haible <bruno@clisp.org> + + * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003. + Needed for help2man. + +2007-02-23 Karl Berry <karl@gnu.org> + + * 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 <ebb9@byu.net> + + * lib/getdate.h (includes): Include <time.h>, 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 <bruno@clisp.org> + + * lib/glob.c: Don't include getlogin_r.h. + +2007-02-22 Jim Meyering <jim@meyering.net> + + * modules/utimens (Depends-on): Add timespec, required for + utimens.h's inclusion of timespec.h. + +2007-02-21 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getcwd.c (__getcwd): Undo previous change; it mishandled + long unreadable paths in GNU/Linux. Problem reported by Andreas + Schwab in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>. + 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 <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + 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 <stdlib.h> rather than prototyping separately. + +2007-02-20 Bruno Haible <bruno@clisp.org> + + * 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 <stdio.h> instead of vsnprintf.h. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set + HAVE_DECL_VSNPRINTF. + * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h. + + * modules/snprintf (Files): Remove lib/snprintf.h. + (Depends-on): Add stdio. + (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. + (Include): Use <stdio.h> instead of snprintf.h. + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set + HAVE_DECL_SNPRINTF. + * lib/snprintf.c: Include <stdio.h> 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 <jim@meyering.net> + + * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is + used by e.g., mingw. From Bruno Haible. + +2007-02-19 Bruno Haible <bruno@clisp.org> + + * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc + warnings. + Reported by Ben Pfaff <blp@cs.stanford.edu>. + +2007-02-19 Bruno Haible <bruno@clisp.org> + + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail + from mingw users. + +2007-02-19 Bruno Haible <bruno@clisp.org> + + * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc + warnings. + Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert. + +2007-02-19 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * lib/readlink.c: Include <unistd.h>. + * 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 <unistd.h>. + + * lib/getlogin_r.h: Remove file. + * lib/getlogin_r.c: Include <unistd.h> 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 <unistd.h> instead of getlogin_r.h. + + * lib/getcwd.h: Remove file. + * lib/getcwd.c: Include <unistd.h> 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 <unistd.h> instad of getcwd.h. + + * lib/ftruncate.c: Include <unistd.h> 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 <unistd.h> 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 <unistd.h> 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 <unistd.h> 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 <bruno@clisp.org> + + * 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 <stdlib.h> 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 <bruno@clisp.org> + + * modules/fchdir (Depends-on): Add dup2. + +2007-02-18 Bruno Haible <bruno@clisp.org> + + * lib/stdlib_.h: Handle glibc's special invocation convention + specially. + +2007-02-18 Bruno Haible <bruno@clisp.org> + + * 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 <stdlib.h> 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 <stdlib.h> 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 <stdlib.h> 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 <stdlib.h> 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 <stdlib.h> 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 <bruno@clisp.org> + + * 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 <math.h> instead of mathl.h. + * lib/math_.h: New file. + * lib/mathl.h: Remove file. + * lib/acosl.c: Include <config.h> and <math.h> 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <inttypes.h>. + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <blp@cs.stanford.edu> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>. + (supports_delete_on_close): New function. + (open_temp, fopen_temp): Use _O_TEMPORARY when supported. + +2007-02-14 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <langinfo.h> 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 <Ralf.Wildenhues@gmx.de> + + * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. + +2007-02-13 Bruno Haible <bruno@clisp.org> + + * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug. + Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2007-02-12 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2007-02-12 Paul Eggert <eggert@cs.ucla.edu> + + * lib/string_.h (strncasecmp): Fix typo: this macro takes 3 + args, not 2. + +2007-02-12 Paul Eggert <eggert@cs.ucla.edu> + + New module 'time', so that apps can include <time.h> 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 <sys/types.h>; 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 <time.h> 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 <sys/time.h> before <time.h>; + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/mbscasecmp-tests: New file. + * tests/test-mbscasecmp.sh: New file. + * tests/test-mbscasecmp.c: New file. + +2007-02-11 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Support for copying multibyte string iterators. + * lib/mbiter.h: Include <string.h>. + (mbiter_multi_copy): New function. + (mbi_copy): New macro. + * lib/mbuiter.h: Include <string.h>. + (mbuiter_multi_copy): New function. + (mbui_copy): New macro. + +2007-02-11 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <jdenny@ces.clemson.edu>. + +2007-02-08 Bruno Haible <bruno@clisp.org> + + * modules/regex (Depends-on): Add stdbool. + Reported by Dalibor Topic <robilad@kaffe.org>. + +2007-02-05 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/strsep.c (strsep): Fix actions in case of no delimiters. + Optimize search in case of 1 delimiter. + +2007-02-05 Paolo Bonzini <bonzini@gnu.org> + + * lib/acl.h: Include sys/types.h before sys/acl.h. + +2007-02-05 Paolo Bonzini <bonzini@gnu.org> + + Merge upstream fix for glibc bugzilla #3957: + + 2007-02-05 Jakub Jelinek <jakub@redhat.com> + + * 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 <simon@josefsson.org> + + * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512. + +2007-02-04 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h. + * lib/memmem.c [!defined _LIBC]: Include config.h. + +2007-02-04 Bruno Haible <bruno@clisp.org> + + * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the + warning message. + +2007-02-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <http://bugzilla.redhat.com/227168>. + +2007-02-02 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + 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 <jim@meyering.net> + + * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac: + section, not in the Makefile.am: one. + +2007-02-02 Eric Blake <ebb9@byu.net> + + * 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 <simon@josefsson.org> + + * m4/socklen.m4: Fix typo. + +2007-02-02 Eric Blake <ebb9@byu.net> + + * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races. + * modules/netinet_in (Makefile.am): Likewise. + +2007-02-01 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h. + +2007-02-01 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (Unicode string functions): Update after 2007-01-27 + renamings. + +2007-02-01 Eric Blake <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Enforce the use of gnulib modules for unportable <string.h> 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 <martineau@zmanda.com> (tiny change) + + * lib/gai_strerror.c (values): Add EAI_OVERFLOW. + +2007-01-30 Jim Meyering <jim@meyering.net> + + * lib/mpsort.c (mpsort): Remove spurious "return" in void function. + +2007-01-29 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * lib/memrchr.c: Assume <string.h> unconditionally, to pull in + declaration. + +2007-01-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <config.h> 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 <stdlib.h>; 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 <bruno@clisp.org> + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strptime. + * modules/strptime (Depends-on): Add stdbool. + * lib/strptime.h: Include <time.h> always. Add comments. + +2007-01-29 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * modules/strptime: New file. + * lib/strptime.h: New file. + * lib/strptime.c: New file. + * m4/strptime.m4: New file. + +2007-01-28 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>. + 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 <jim@meyering.net> + + * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use + sys/time.h here, reverting that part of the previous patch: + <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>. + +2007-01-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES. + * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation. + +2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <bruno@clisp.org> + + * modules/unistr/base: Update. + +2007-01-27 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * modules/strcasestr (Files): Remove lib/strcasestr.h. + (Depends-on): Add string. + (Includes): Use <string.h> 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 <string.h> not <strings.h>. 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 <string.h> instead of strcasestr.h. + * lib/string_.h (strcasestr): New declaration. + +2007-01-27 Bruno Haible <bruno@clisp.org> + + * lib/string_.h: Use 'extern'. + +2007-01-27 Jim Meyering <jim@meyering.net> + + * lib/regex_internal.c (re_string_reconstruct): Remove declaration + of set-but-not-used local, "q". + + * lib/mempcpy.c: Include <config.h> before <string.h>. + This fixes a compilation error on HP-UX, due to the system's + "restrict"-using mempcpy prototype. + +2007-01-26 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <string.h>. + * 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 <string.h> 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 <string.h>, 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 + <string.h> now suffices. + * tests/test-memmem.c: Don't include "memmem.h", since + <string.h> now suffices. + +2007-01-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See + <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>. + * 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/striconveha-tests: New file. + * tests/test-striconveha.c: New file. + + * lib/striconveha.h: Include <stdbool.h>. + (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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + Import the following changes from libc. + + 2005-10-14 Ulrich Drepper <drepper@redhat.com> + + * lib/fnmatch_loop.c: Adjust for changed secondary hash function. + + 2004-12-01 Jakub Jelinek <jakub@redhat.com> + + * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after + normal_bracket label. + + 2004-09-01 Jakub Jelinek <jakub@redhat.com> + + [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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * modules/gettimeofday (License): Change from GPL to LGPL, since + gettimeofday is a library function. + +2007-01-22 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32. + +2007-01-21 Bruno Haible <bruno@clisp.org> + + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro. + +2007-01-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails. + * lib/striconveh.c (str_iconveh): Likewise. + +2007-01-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool: Fix test whether sed is GNU sed supporting --posix. + +2007-01-20 Jim Meyering <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>. + * 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 <time.h>. + (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 <jim@meyering.net> + + 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 <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + * MODULES.html.sh (Support for systems lacking POSIX:2001): New + module sys_time. + * lib/gethrxtime.c: Include <sys/time.h>, 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 <sys/time.h> instead of "gettimeofday.h". + Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed. + Include <time.h>, 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 <sys/time.h> 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 <sys/types.h>; 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 <time.h> 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 <sys/time.h>. + (Maintainer): Add self. + * modules/sys_time: New file. + * modules/tempname (Depends-on): Add gettimeofday. + * tests/test-gettimeofday.c: Include <sys/time.h> + rather than gettimeofday.h. + +2007-01-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <marlam@marlam.de> +2005-10-08 Paul Eggert <eggert@cs.ucla.edu> +2007-01-16 Bruno Haible <bruno@clisp.org> + + * 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 <sys/timeb.h> and _ftime. + * lib/gettimeofday.h: New file. + * lib/gettimeofday.c: Include <sys/timeb.h>. + (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 <ebb9@byu.net> + + * modules/fnmatch (Depends-on): Depend on wchar. + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>. + * m4/fnmatch.m4: Likewise. + * modules/mbchar (Makefile.am): Assume <wchar.h>. + * m4/mbchar.m4: Likewise. + * modules/mbswidth (Depends-on): Depend on wchar. + * lib/mbswidth.c: Assume <wchar.h>. + * m4/mbswidth.m4: Likewise. + * modules/quotearg (Depends-on): Depend on wchar. + * lib/quotearg.c: Assume <wchar.h>. + * m4/quotearg.m4: Likewise. + * modules/regex (Depends-on): Depend on wchar. + * lib/regex_internal.h: Assume <wchar.h>. + * m4/regex.m4: Likewise. + * modules/stdint (Depends-on): Depend on wchar. + * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>. + * 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 <wchar.h>. + * modules/strtol (Depends-on): Depend on wchar. + * lib/strtol.c: Assume <wchar.h>. + * modules/wcwidth (Depends-on): Depend on wchar. + * lib/wcwidth.h: Assume <wchar.h>. + * m4/wcwidth.m4: Likewise. + +2007-01-16 Bruno Haible <bruno@clisp.org> + + * modules/csharpexec-script: New, created from... + * modules/csharpexec: ... this. + +2007-01-16 Paolo Bonzini <bonzini@gnu.org> + + * modules/javaexec-script: New, created from... + * modules/javaexec: ... this. + +2007-01-16 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * modules/poll (Dependencies): Add sys_select. + +2007-01-15 Jim Meyering <jim@meyering.net> + + * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct- + redefinition bug when using both <utmp.h> and <utmpx.h> headers. + * lib/readutmp.h: Likewise. Reported by Daniel Richard G. in + <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>. + +2007-01-15 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/gnulib-intro.texi (Copyright): Explain the different license + terms for module descriptions, autoconf macros, tests, documentation. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/striconv-tests: New file. + * tests/test-striconv.c: New file. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/iconv-tests: New file. + * tests/test-iconv.c: New file. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_get_license): For test modules, use the license of + the main module. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/iconv (Include): Clarify that <iconv.h> can only be included + if iconv is found to exist. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/c-ctype-tests: New file. + * tests/test-c-ctype.c: New file. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/array-oset-tests: New file. + * tests/test-array_oset.c: New file. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/array-list-tests: New file. + * tests/test-array_list.c: New file. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Don't unnecessarily run configure + and make. + Reported by Simon Josefsson in + <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html> + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/allocsa-tests: New file. + * tests/test-allocsa.c: New file. + +2007-01-14 Bruno Haible <bruno@clisp.org> + + * modules/fchdir (Depends-on): Add absolute-header. + * modules/unistd (Depends-on): Likewise. + +2006-12-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/striconv.c (mem_cd_iconv): Align the temporary buffer. + +2007-01-12 Eric Blake <ebb9@byu.net> + + Provide a robust <wchar.h>. 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 <eggert@cs.ucla.edu> + + * 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 <simon@josefsson.org> + + * gnulib-tool (func_all_modules): Exclude all .* files (e.g., + Emacs .#* auto-save files). + +2007-01-11 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_all_modules): Exclude all files inside the CVS + directory. + +2007-01-10 Paul Eggert <eggert@cs.ucla.edu> + + 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 <ebb9@byu.net> + + * 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 <jim@meyering.net> + + 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 <ebb9@byu.net> + + * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before + <wchar.h>, 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 <Ralf.Wildenhues@gmx.de> + + * gnulib-tool (func_all_modules): Use POSIX conforming escaping + in sed script. + +2007-01-09 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * doc/error.texi: mention that main() fns must set program_name + when progname is used. + +2007-01-08 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>. + +2007-01-08 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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_<algorithm> instead of + GC_USE_<algorithm>. + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting + command. + +2007-01-08 Jim Meyering <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t, + not wint_t. Also, include <ctype.h>, 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 <karl@gnu.org> + + * doc/error.texi: new file, explaining interaction with progname. + * doc/gnulib.texi: include it. Update copyright. + +2007-01-03 Simon Josefsson <simon@josefsson.org> + + * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and + AC_CANONICAL_HOST, to improve autobuild outputs. + +2007-01-03 Paolo Bonzini <bonzini@gnu.org> + Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * 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 <bruno@clisp.org> + + * modules/lchmod (Include): Require lchmod.h, not lchown.h. + +2007-01-03 Jim Meyering <jim@meyering.net> + + * modules/fts-lgpl (Depends-on): Add i-ring. Reported by Bruno Haible. + +2007-01-02 Bruno Haible <bruno@clisp.org> + + * modules/settime (Include): Require timespec.h. + * modules/nanosleep (Include): Likewise. + +2007-01-01 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_copyright_notice): Bump year. + (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro. + +2007-01-01 Bruno Haible <bruno@clisp.org> + + 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 <ebb9@byu.net> + + * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year. + +2006-12-30 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + Import the following change from libc; problem reported by + Sven Verdoolaege. + + 2005-10-13 Ulrich Drepper <drepper@redhat.com> + + [BZ #1373] + * lib/argp.h: Remove __NTH for __argp_usage inline function. + +2006-12-28 Jim Meyering <jim@meyering.net> + + * 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 <simon@josefsson.org> + + * modules/announce-gen: New file. + +2006-12-27 Paul Eggert <eggert@cs.ucla.edu> + + * lib/mbchar.h: Just include <wctype.h>; 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 <ebb9@byu.net> + + * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this + module uses more than what <wctype.h> is required to provide. + +2006-12-26 Eric Blake <ebb9@byu.net> + + * gnulib-tool (sed_extract_prog): Avoid space-tab. + +2006-12-26 Eric Blake <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + Fix bug reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html> + where quotearg.c didn't compile on Mac OS X 10.2 because it + lacks <wchar.h> and wint_t. + * lib/wctype_.h (__wctype_wint_t): New type. + Include <stdio.h>, <time.h>, <wchar.h> 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 <bruno@clisp.org> + + * lib/safe-read.h [C++]: Wrap declarations in extern "C". + +2006-12-23 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (SED): New variable. + Use $SED instead of sed everywhere. + +2006-12-22 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. + Include <limits.h>, and use its INT_MAX to rewrite the + j loop so that it does not overflow 'int'. Problem reported by + Ralf Wildenhues in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>. + 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 <eggert@cs.ucla.edu> + + * MODULES.html.sh: New module wctype. + * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files. + * lib/fnmatch.c: Don't bother to include <wchar.h> before + <wctype.h>, since the new wctype module should fix this. + * lib/quotearg.c: Include <wctype.h> 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 <bruno@clisp.org> + + * lib/strdup.h [C++]: Wrap definitions in extern "C". + Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>. + +2006-12-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * modules/savewd (Depends-on): Fix dependency on fcntl. + +2006-12-18 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + and Eric Blake <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error. + Reported by Andreas Schwab <schwab@suse.de>. + +2006-12-12 Bruno Haible <bruno@clisp.org> + + Merge these changes. + 2006-09-05 Bruno Haible <bruno@clisp.org> + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <Ralf.Wildenhues@gmx.de> + + * tests/test-argp-2.sh: Fix test to match actual output. + (func_compare): Fix sed script to be portable. + +2006-12-05 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES + using +=. + Reported by Simon Josefsson <simon@josefsson.org>. + +2006-11-28 James Youngman <jay@gnu.org> + + * 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 <bruno@clisp.org> + + * m4/ptrdiff_max.m4: Remove file. + +2006-11-21 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid + warning from "gcc -Wshadow" about shadowing the builtin. + +2006-11-27 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity. + +2006-11-26 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + noinst_LTLIBRARIES. + +2006-11-27 Paul Eggert <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0 + if compiling with "gcc -ansi". + +2006-11-26 Paul Eggert <eggert@cs.ucla.edu> + + 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 <nix@esperi.org.uk> (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 <bob@hoplon.com> (tiny change) + + * lib/sincosl.c (kernel_sinl): Fix typo in threshold. + +2006-11-23 Jim Meyering <jim@meyering.net> + + * build-aux/announce-gen: New file. From coreutils. + +2006-11-22 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use + changequote instead of pairs of brackets. + Reported by Andreas Schwab <schwab@suse.de>. + +2006-11-21 Jim Meyering <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * Makefile: New file. + +2006-11-20 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * modules/inline (License): Change from GPL to LGPL. + +2006-11-17 Jim Meyering <jim@meyering.net> + + * modules/d-type (License): Switch to LGPL. + +2006-11-15 Bruno Haible <bruno@clisp.org> + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message. + +2006-11-15 Eric Blake <ebb9@byu.net> + + * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by + the module dependency. + +2006-11-15 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Add license consistency check. + +2006-11-15 Eric Blake <ebb9@byu.net> + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a + random "(cached)" in configure output. + +2006-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <eggert@cs.ucla.edu> + + * modules/inttostr (License): Change to LGPL. + +2006-11-14 Eric Blake <ebb9@byu.net> + + * modules/tempname (License): Change to LGPL. + +2006-11-14 Eric Blake <ebb9@byu.net> + + * doc/functions.texi (Function Portability): *printf functions on + Cygwin now understand all POSIX size specifiers. + +2006-11-14 Bruno Haible <bruno@clisp.org> + + * modules/c-ctype (License): Change to LGPL. + +2006-11-12 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Set gl_source_base correctly in + the tests directory. + Reported by Ralf Wildenhues. + +2006-11-13 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the + element, not its node. + +2006-11-12 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_ln): New function. + (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s". + +2006-11-12 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <Ralf.Wildenhues@gmx.de> + + * 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 <jim@meyering.net> + + * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s. + +2006-11-09 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t. + Problem reported by Matthew Woehlke. + +2006-11-09 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <Ralf.Wildenhues@gmx.de> + + Sync from Automake. + * build-aux/gnupload: Add missing 'gnu' to example URL. + Report by Karl Berry. + +2006-11-08 Bruno Haible <bruno@clisp.org> + + * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__. + Suggested by Paul Eggert. + +2006-11-08 Jim Meyering <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * README: Fix typo. + * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename... + (Miscellanous Notes): ...from this. + +2006-11-07 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc. + +2006-11-06 Paul Eggert <eggert@cs.ucla.edu> + + 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 <Ralf.Wildenhues@gmx.de> + + * lib/gl_oset.h: Use C comment style, not C++ comment style. + +2006-11-06 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * lib/idcache.c: Include <stddef.h>, 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html> + 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 <bruno@clisp.org> + + * gnulib-tool (func_import, func_create_testdir): Create directories + also for files in subdirectories of lib/. + +2006-11-05 Bruno Haible <bruno@clisp.org> + + * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement + ANSI C compliant. + +2006-11-03 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <cygwin@cwilson.fastmail.fm> + + * gnulib-tool (func_import): Fix typo in actioncmd. + +2006-11-02 Bruno Haible <bruno@clisp.org> + + * 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 <perrog@gmail.com>. + +2006-11-01 Bruno Haible <bruno@clisp.org> + + * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is + already declared in <string.h>. + * lib/strcase.h (strncasecmp): Don't declare it if yes. + +2006-11-01 Bruno Haible <bruno@clisp.org> + + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here. + * lib/strcase.h: Include <string.h>. + (strcasecmp): Define to rpl_strcasecmp here. + +2006-11-01 Bruno Haible <bruno@clisp.org> + + * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results. + +2006-11-01 Eric Blake <ebb9@byu.net> + + * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation. + + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration. + +2006-10-29 Bruno Haible <bruno@clisp.org> + + Make it compile in C++ mode. + * lib/full-write.c (full_rw): Add a cast. + +2006-11-01 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to + be POSIX compliant. + Reported by Roger Persson <perrog@gmail.com>. + +2006-11-01 Eric Blake <ebb9@byu.net> + + * lib/getopt_.h: Fix comments. + +2006-10-31 Eric Blake <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * 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 <ebb9@byu.net> + + * lib/xstrndup.c: Assume config.h. + +2006-10-27 Paul Eggert <eggert@cs.ucla.edu> + + 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 <sys/stat.h> 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <ebb9@byu.net> + + * 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 <sys/stat.h> + 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 <eggert@cs.ucla.edu> + + * COPYING: Explain how gnulib-tool converts licence headers. + Almost all wording by Eric Blake. + +2006-10-25 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * lib/progname.h (set_program_name): Undefine before defining. + +2006-10-25 Bruno Haible <bruno@clisp.org> + + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to + false for non-gcc C++ compilers. + Reported by Nelson H. F. Beebe <beebe@math.utah.edu>. + +2006-10-24 Bruno Haible <bruno@clisp.org> + + * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU + iconv implementations like Irix iconv. + +2006-10-24 Paul Eggert <eggert@cs.ucla.edu> + + * modules/vararrays: New file. + * m4/vararrays.m4: New file, taken from diffutils. + * MODULES.html.sh: New module vararrays. + +2006-10-24 Karl Berry <karl@gnu.org> + + * doc/gnulib-intro.texi: --- instead of --; non-naive naive. + Don't call GNU Unix. + +2006-10-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * users.txt: Add Libtool. + + Sync from Libtool: + + 2006-10-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * MODULES.html.sh: Remove uinttostr. It's not a module. + Reported by Karl Berry. + +2006-10-23 Bruno Haible <bruno@clisp.org> + + * lib/fts.c (fts_build): Move variable declaration, for C89 compliance. + +2006-10-24 Bruno Haible <bruno@clisp.org> + + * lib/gl_list.h: Use C comment style, not C++ comment style. + +2006-10-23 Eric Blake <ebb9@byu.net> + + * lib/getaddrinfo.c (includes): Add missing include. + +2006-10-23 Bruno Haible <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * doc/gnulib-intro.texi: New file. + * doc/gnulib.texi: Include it. + +2006-10-21 Bruno Haible <bruno@clisp.org> + + * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters + "Introduction", "Miscellanous Notes", "Particular Modules". + +2006-10-21 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <stdlib.h>): + Add uinttostr. + * modules/getaddrinfo (Depends-on): Remove snprintf. Add inttostr. + +2006-10-21 Paul Eggert <eggert@cs.ucla.edu> + + * lib/canonicalize.c (ELOOP): Define if not already defined. + Problem reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>. + +2006-10-21 Paul Eggert <eggert@cs.ucla.edu> + + * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>. + 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 <bruno@clisp.org> + + * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed + for mingw. + +2006-10-19 Bruno Haible <bruno@clisp.org> + + * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition. + Needed for mingw. + +2006-10-19 Bruno Haible <bruno@clisp.org> + + * m4/size_max.m4 (gl_SIZE_MAX): Cache the result. + +2006-10-19 Bruno Haible <bruno@clisp.org> + + * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE + it. + +2006-10-19 Bruno Haible <bruno@clisp.org> + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP + invocation. + +2006-10-19 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Don't include ftruncate and + mountlist by default. + +2006-10-16 Bruno Haible <bruno@clisp.org> + + * lib/c-strstr.c: Include c-strstr.h. + +2006-10-18 Charles Wilson <cygwin@cwilson.fastmail.fm> + + * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends + in a slash. + +2006-10-18 Bruno Haible <bruno@clisp.org> + + * lib/lock.h [C++]: Wrap definitions in extern "C". + +2006-10-18 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the + gl_LIBOBJS list. + +2006-10-18 Bruno Haible <bruno@clisp.org> + + * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning. + +2006-10-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> (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 <jim@meyering.net> + + * 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 <gray@gnu.org.ua> + + * 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 <eggert@cs.ucla.edu> + + * lib/localcharset.c: Do not check HAVE_SETLOCALE. + * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale. + +2006-10-17 Eric Blake <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define + differently if DEFAULT_TEXT_DOMAIN is set. + +2006-10-16 Bruno Haible <bruno@clisp.org> + + * lib/clean-temp.c: Include fwriteerror.h. + +2006-10-16 Bruno Haible <bruno@clisp.org> + + * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack. + +2006-10-16 Bruno Haible <bruno@clisp.org> + + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t. + * lib/sigprocmask.h: Include <sys/types.h>. + (sigset_t): Use the system's definition if present. + +2006-10-17 Eric Blake <ebb9@byu.net> + + * lib/xvasprintf.c (includes): Assume config.h. + * lib/xasprintf.c (includes): Likewise. + +2006-10-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <adl@gnu.org> + + (Imported from Automake.) + * build-aux/gnupload: Update to version 1.1 of directive file. + +2006-10-16 Eric Blake <ebb9@byu.net> + + * modules/configmake (Makefile.am): Add pkglibexecdir support, to + match Automake 1.10a. + +2006-10-14 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>. + Also, don't bother to check for -m bugs unless we're using -m; + suggested by Stepan Kasal. + +2006-10-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * modules/error (Makefile.am): Distribute files through + EXTRA_DIST, not lib_SOURCES. + +2006-10-12 Eric Blake <ebb9@byu.net> + + * modules/error (Makefile.am): Distribute files in /lib. + * modules/obstack (Makefile.am): Likewise. + +2006-10-12 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * 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 <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/longlong.m4: Add comments. + * m4/ulonglong.m4: Likewise. + +2006-10-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + Make it possible to #define gcd to an alias. + * lib/gcd.c: Include config.h. + +2006-10-10 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + 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 <eggert@cs.ucla.edu> + + * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too, + for NetBSD. Problem reported by Bruno Haible. + +2006-10-09 Jim Meyering <jim@meyering.net> + + * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h". + Patch from Bruno Haible. + +2006-10-09 Jim Meyering <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + Don't include <config.h> twice; this doesn't work in some cases, + e.g., when config.h has "#define intmax_t long long int" and + we include <config.h>, <inttypes.h>, <config.h> 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 <bruno@clisp.org> + + * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink + option. + +2006-10-07 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * modules/sublist: New file. + +2006-10-07 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/gl_sublist.h: New file. + * lib/gl_sublist.c: New file. + +2006-10-06 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + 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 <bruno@clisp.org> + + * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp + instead of fopen, fwriteerror. + +2006-10-06 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd. + Reported by Eric Blake. + +2006-10-06 Bruno Haible <bruno@clisp.org> + + * modules/closeout (Description): Mention stderr too. + +2006-10-06 Bruno Haible <bruno@clisp.org> + and Paul Eggert <eggert@cs.ucla.edu> + + * lib/closeout.c (close_stdout): Also close stderr. + * lib/closeout.h: Update comment. + +2006-10-05 Paul Eggert <eggert@cs.ucla.edu> + + Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>. + * 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 <unistd.h>. + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * lib/fts.c (fts_open): Tiny comment change. + +2006-10-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal. + +2006-10-03 Bruno Haible <bruno@clisp.org> + + * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed + from gl_avltreehash_list_implementation. + +2006-10-03 Bruno Haible <bruno@clisp.org> + + * lib/gl_oset.c (gl_oset_add): Fix return type. + +2006-10-02 Paolo Bonzini <bonzini@gnu.org> (tiny change) + + * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int. + +2006-10-02 Eric Blake <ebb9@byu.net> + + * modules/strnlen (Depends-on): Add extensions. + +2006-10-02 Eric Blake <ebb9@byu.net> + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's + definition in 2.60+. + +2006-10-02 Dmitry V. Levin <ldv@altlinux.org> + + * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant + checks. + +2006-10-02 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning. + +2006-09-28 Paolo Bonzini <bonzini@gnu.org> + + * 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 <jim@meyering.net> + + * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c". + Include <unistd.h>. + +2006-09-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h. + * lib/gl_linkedhash_list.c: Likewise. + * lib/gl_rbtreehash_list.c: Likewise. + +2006-09-27 Paul Eggert <eggert@cs.ucla.edu> + + * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0 + getaddrinfo. + + * lib/__fpending.h: Don't include <stdio_ext.h> unless + HAVE_DECL___FPENDING. This avoids a bug with lsbcc, where + it causes <stdio_ext.h> 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 <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + * modules/savewd (Depends-on): Add 'raise'. + * lib/savewd.c: Include <signal.h>, for 'raise'. + +2006-09-26 Jim Meyering <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * lib/verror.c: Include <config.h> unconditionally. + +2006-09-25 Paul Eggert <eggert@cs.ucla.edu> + + * modules/clock-time (Maintainer): Add self. + * modules/getlogin_r (Depends-on): Add extensions. + +2006-09-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>. + +2006-09-25 Jim Meyering <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message. + Reported by Jim Meyering. + +2006-09-24 Jim Meyering <jim@meyering.net> + + * 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 <jas@extundo.com> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + + * modules/bison-i18n (Depends-on): Add gettext. + +2006-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of + getloadavg.c as first argument. + +2006-09-22 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_create_megatestdir): Don't include the config-h + module. + Suggested by Ralf Wildenhues. + +2006-09-20 Paul Eggert <eggert@cs.ucla.edu> + + Import this patch from libc: + + 2006-09-06 Jakub Jelinek <jakub@redhat.com> + + * 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 <stdlib.h>. + (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 <stdlib.h>. + (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 <drepper@redhat.com> + + * 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 <bruno@clisp.org> + + * lib/mkdtemp.c: Import from libc. + 2006-04-07 Ulrich Drepper <drepper@redhat.com> + * 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 <eggert@twinsun.com> + * sysdeps/posix/tempname.c (__gen_tempname): Try at least + ATTEMPTS_MIN or TMP_MAX times, whichever is greater. + +2006-09-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <karl@gnu.org> + + * doc/gnulib.texi: note about the license texinfo files. + +2006-09-19 Eric Blake <ebb9@byu.net> + + * gnulib-tool: Avoid space-tab. + +2006-09-18 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * gnulib-tool (avoidlist): Fix typo that broke options like + --avoid=lock that are used by coreutils bootstrap. + +2006-09-18 Mark D. Baushke <mdb@gnu.org> + + * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args + more systematically. + +2006-09-18 Jim Meyering <jim@meyering.net> + + * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/. + +2006-09-18 Bruno Haible <bruno@clisp.org> + + * modules/inttypes (Files): Remove m4/inttypes-h.m4. + +2006-09-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/javaversion.c: Include configmake.h. + +2006-09-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh (func_module): Break long lines. + Suggested by Bruce Korb <bkorb@gnu.org>. + +2006-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + 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 <bruno@clisp.org> + + * modules/javaversion (Makefile.am): Remove DEFS setting. + (Depends-on): Add configmake, for PKGDATADIR definition. + +2006-09-17 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Rewrite all files at once. + +2006-09-17 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + 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 <Ralf.Wildenhues@gmx.de> + + 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 <Ralf.Wildenhues@gmx.de> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/savewd.m4: New file. + +2006-09-15 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <sys/types.h>, for portability to older + hosts that require <sys/types.h> before <sys/stat.h>. 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 <stddef.h>, 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * lib/allocsa.c: Include <config.h> 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 <jas@extundo.com> + + * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of + that internally, suggested by Ralf Wildenhues + <Ralf.Wildenhues@gmx.de>. + +2006-09-13 Simon Josefsson <jas@extundo.com> + + * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not + @LIBOBJS@. + Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2006-09-13 Paul Eggert <eggert@cs.ucla.edu> + + * lib/_fpending.c: Include <config.h> 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 <ebb9@byu.net> + + * lib/getopt.c: Fix typo in last commit. + +2006-09-12 Sergey Poznyakoff <gray@gnu.org.ua> + + * lib/argp-help.c (argp_doc): Make sure NULL is not passed to + dgettext. + +2006-09-12 Jim Meyering <jim@meyering.net> + + * lib/nanosleep.c: Include <sys/types.h> 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 <gray@gnu.org.ua> + + * 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 <bruno@clisp.org> + + * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + +2006-09-10 Bruno Haible <bruno@clisp.org> + + * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require + gl_AC_TYPE_UINTMAX_T. + +2006-09-10 Bruno Haible <bruno@clisp.org> + + * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>. + +2006-09-09 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Undo latest change; the bug was fixed. + +2006-09-09 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + Add year_2050_test to catch glibc bug 2821 + <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>. + + 2006-08-15 Paul Eggert <eggert@cs.ucla.edu> + Prefer #ifdef to #if. + + 2006-04-02 Paul Eggert <eggert@cs.ucla.edu> + Return from 'main' instead of calling 'exit'. + +2006-09-08 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>. + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Temporarily comment out mktime.c until glibc bug + 2821 is fixed. + +2006-09-08 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + Avoid new build failure on FreeBSD 6.0. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include + <sys/param.h> when testing whether getmntinfo uses statvfs. Patch by + Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>. + +2006-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo. + +2006-09-07 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * modules/striconv: New file. + * modules/xstriconv: New file. + * MODULES.html.sh (Internationalization functions): Add striconv, + xstriconv. + +2006-09-06 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + lib_..._LDFLAGS. + +2006-09-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * lib/argz_.h: Sync from Libtool. + + 2006-09-04 George Bosilca <bosilca@cs.utk.edu> + and Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus. + +2006-09-05 Davide Angelocola <davide.angelocola@tiscali.it> + + * modules/trim: New file. + +2006-09-05 Davide Angelocola <davide.angelocola@tiscali.it> + + * lib/trim.h: New file. + * lib/trim.c: New file. + +2006-09-05 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (String handling): Add trim. + +2006-09-04 Karl Berry <karl@gnu.org> + + * config/srclist.txt (signed.m4, gettext.m4): changes not propagated + until next release. + +2006-09-03 Bruno Haible <bruno@clisp.org> + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries + correctly. + +2006-09-01 Paul Eggert <eggert@cs.ucla.edu> + + * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG, + not gl_GETLOADAVG. Omit unneeded semicolons. + Problems reported by Ralf Wildenhues in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>. + (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 <eggert@cs.ucla.edu> + + * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG. + Problem reported by Ralf Wildenhues in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>. + + * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by + HAVE_STRUCT_STATFS_F_FSTYPENAME. + +2006-09-01 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <fcntl.h>, 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 <ebb9@byu.net> + + * gnulib-tool: Don't let emacs change spaces to TAB. + +2006-08-31 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: When calling func_import more than once, do it in a + subshell. + Reported by Eric Blake <ebb9@byu.net>. + +2006-08-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>. + * 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 <eggert@cs.ucla.edu> + + 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>. + * 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 <eggert@cs.ucla.edu> + + * modules/nanosleep (Depends-on): Add gettime. + +2006-08-30 Paul Eggert <eggert@cs.ucla.edu> + and Simon Josefsson <jas@extundo.com> + and Oskar Liljeblad <oskar@osk.mine.nu> + + * 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 <jim@meyering.net> + + * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid + shadowing the parameter. + +2006-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Sync from Libtool: + + 2006-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code + sharing with gnulib. Report by Eric Blake. + +2006-08-29 Paul Eggert <eggert@cs.ucla.edu> + + * modules/isapipe: New file. + * MODULES.html.sh (File descriptor based Input/Output): Add isapipe. + +2006-08-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/isapipe.m4: New file. + +2006-08-29 Paul Eggert <eggert@cs.ucla.edu> + + * lib/isapipe.c, lib/isapipe.h: New files. + +2006-08-29 Jim Meyering <jim@meyering.net> + + * modules/configmake (Makefile.am): Make configmake.h depend on + Makefile. Otherwise, a stale configmake.h could hang around. + +2006-08-29 Eric Blake <ebb9@byu.net> + + * lib/error.c (error_at_line, print_errno_message): Match libc, after + resolution of upstream bug 3044. + +2006-08-29 Bruno Haible <bruno@clisp.org> + + * modules/localcharset (Depends-on): Add configmake. + (Makefile.am): Remove setting of LIBDIR through DEFS. + +2006-08-29 Bruno Haible <bruno@clisp.org> + + * lib/localcharset.c: Include configmake.h in order to get LIBDIR + defined. + +2006-08-28 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/fcntl_h.m4: New file. + +2006-08-28 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <inttypes.h>, to avoid circular inclusion. + +2006-08-28 Jim Meyering <jim@meyering.net> + + * doc/visibility.texi: Actually read and correct the grammar of the + sentence affected by yesterday's change. + +2006-08-28 Eric Blake <ebb9@byu.net> + + * modules/inttypes (Makefile.am): Fix sed error when inttypes.h + needs wrapper. + +2006-08-28 Eric Blake <ebb9@byu.net> + + * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif. + +2006-08-28 Eric Blake <ebb9@byu.net> + + * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * modules/c-strstr: New file, from GNU gettext. + * MODULES.html.sh (String handling): Add c-strstr. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX* + macros. + Reported by Eric Blake. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/inttypes_.h (SCNX*): Remove definitions. + Reported by Eric Blake. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * lib/c-strstr.h: New file, from GNU gettext. + * lib/c-strstr.c: New file, from GNU gettext. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Reorder some statements. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_verify_module): Check against misapplying patch. + +2006-08-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + Simon Josefsson <jas@extundo.com> + + BeOS portability. + * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros. + +2006-08-27 Jim Meyering <jim@meyering.net> + + * doc/visibility.texi: Remove duplicate word: "pointer". + +2006-08-26 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/inttypes_.h: New file. + * lib/inttypes.h: Remove file. + * lib/stdint_.h: Include <inttypes.h> through its absolute filename. + + * lib/imaxabs.c: New file. + + * lib/imaxdiv.c: New file. + +2006-08-25 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * m4/config-h.m4: New file. + +2006-08-24 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Add elisp-comp. + +2006-08-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Use non-default values of + sourcebase and m4base. + +2006-08-24 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix + HTML structure. + +2006-08-23 Paul Eggert <eggert@cs.ucla.edu> + + * modules/openat (Depends-on): Add lchown. + +2006-08-23 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import, func_create_testdir): Emit an invocation + of gl_LOCK_EARLY instead of gl_LOCK. + +2006-08-23 Bruno Haible <bruno@clisp.org> + + * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads + on OSF/1 to no. + Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>. + +2006-08-23 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes + to md5 module. + +2006-08-22 Simon Josefsson <jas@extundo.com> + + * MODULES.html.sh: Add "Support for maintaining and release + projects". + + * build-aux/gnupload: New file, from coreutils. + +2006-08-22 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * modules/regexprops-generic: New file. + * MODULES.html.sh (Support for building documentation): List it. + +2006-08-22 Eric Blake <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * build-aux/x-to-1.in: New file, from GNU gettext. + +2006-08-22 Bruno Haible <bruno@clisp.org> + + * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or + <utmpx.h> exists. + +2006-08-22 Bruno Haible <bruno@clisp.org> + + * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor + <utmpx.h> exists. + +2006-08-21 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <mdb@gnu.org> + Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2 + /bin/sh understanding of '!' conditional negation. + +2006-08-21 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * 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 <marlam@marlam.de>. + +2006-08-21 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + BeOS portability. + * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since + BeOS has mbrtowc() but no <wctype.h>. + +2006-08-21 Bruno Haible <bruno@clisp.org> + + BeOS portability. + * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't + exist. + +2006-08-21 Bruno Haible <bruno@clisp.org> + + BeOS portability. + * lib/mbchar.h: Include <wctype.h> only if it exists. + +2006-08-20 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * lib/cycle-check.h: Include <stdint.h> 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 <eggert@cs.ucla.edu> + + * modules/openat (Files): Add lib/fchmodat.c. + Fixes problem reported by Jay Youngman. + +2006-08-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * modules/bison-i18n: New file. + * MODULES.html.sh (Internationalization functions): Add it. + +2006-08-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/bison-i18n.m4: New file, from bison. + +2006-08-18 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + Update from coreutils. + + 2006-08-15 Jim Meyering <jim@meyering.net> + + * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES. + + 2006-01-17 Jim Meyering <jim@meyering.net> + + * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT. + + 2006-01-11 Jim Meyering <jim@meyering.net> + + * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c. + Check for the lchmod function. + +2006-08-17 Paul Eggert <eggert@cs.ucla.edu> + + 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 <jim@meyering.net> + + * lib/at-func.c: New file, with the logic of all emulated at-functions. + * lib/openat-priv.h: Include <errno.h> 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 <errno.h>, now that "openat-priv.h" does + it. Don't include "unistd--.h" -- it wasn't ever used. + + 2006-01-17 Jim Meyering <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too. + Problem and fix reported by Pádraig Brady in + <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>. + +2006-08-15 Paul Eggert <eggert@cs.ucla.edu> + + * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK. + +2006-08-15 Paul Eggert <eggert@cs.ucla.edu> + + * lib/memcoll.c (memcoll): Optimize for the common case where the + arguments are bytewise equal. + +2006-08-15 Paul Eggert <eggert@cs.ucla.edu> + + * doc/regexprops-generic.texi: Add a copyright notice. + +2006-08-15 Bruno Haible <bruno@clisp.org> + + * modules/tmpdir (License): Change to LGPL. + +2006-08-15 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a + module. + +2006-08-14 Simon Josefsson <jas@extundo.com> + + * config/srclist.txt: Add gnupload. + +2006-08-14 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * config/srclistvars.sh: Add copyright notice. + +2006-08-14 Eric Blake <ebb9@byu.net> + + Import the following change from libc: + + 2006-08-12 Ulrich Drepper <drepper@redhat.com> + + Upstream bug 2997. + * lib/misc/error.c: Add space between program name and message if file + name is missing. + +2006-08-12 Karl Berry <karl@gnu.org> + + * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4): + remove, these originate in gnulib now. + +2006-08-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * doc/Makefile (standards.info standards.html standards.dvi): + Also depend on make-stds.texi. + +2006-08-11 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * users.txt: Sort. Add tar. + +2006-08-11 Bruno Haible <bruno@clisp.org> + + * users.txt: New file. + +2006-08-11 Bruno Haible <bruno@clisp.org> + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h> + before <wchar.h>. Needed for OSF/1 and BSD/OS. + +2006-08-10 Paul Eggert <eggert@cs.ucla.edu> + + * modules/snprintf (Depends-on): Remove minmax. + (Maintainer): Add self and Bruno. + +2006-08-10 Paul Eggert <eggert@cs.ucla.edu> + + * lib/.cppi-disable: Add snprintf.h, socket_.h. + * lib/snprintf.c: Include <errno.h> and <limits.h>. + (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 <jakub@redhat.com> + + * 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 <drepper@redhat.com> + + * lib/posix/regex.h: g++ still cannot handled [restrict]. + + 2006-04-21 Ulrich Drepper <drepper@redhat.com> + + * lib/posix/regex.h: Remove special handling for VMS. + +2006-08-10 Jim Meyering <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck + in from original proposal. + +2006-08-10 Eric Blake <ebb9@byu.net> + and Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * gnulib-tool (func_import): Detect unexpanded macros in gnulib + namespace. + +2006-08-10 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Detect unexpanded macros here + as well. + +2006-08-09 Paul Eggert <eggert@cs.ucla.edu> + + Sync from coreutils. + + 2006-07-19 Mike Frysinger <vapier@gentoo.org> + + * lib/mountlist.c [ME_REMOTE]: Filter out cifs. + Reported by Toralf Förster in <http://bugs.gentoo.org/141012>. + +2006-08-09 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * config/srclist.txt: no more gettext-tools, per Bruno. + +2006-08-08 Eric Blake <ebb9@byu.net> + + * modules/verror: New module. + * MODULES.html.sh: Document it. + +2006-08-08 Eric Blake <ebb9@byu.net> + + * lib/verror.h, lib/verror.c: New files. + +2006-08-08 Eric Blake <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer + versions of AIX. + Reported by Ralf Wildenhues. + +2006-08-07 Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + + * 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 <ebb9@byu.net> + + * lib/error.h: Fold in some upstream changes from glibc. + * lib/error.c: Likewise. + +2006-08-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>, + <stdlib.h>, <string.h>. + +2006-07-30 Bruno Haible <bruno@clisp.org> + + * modules/readlink (License): Change to LGPL. + +2006-07-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/clean-temp (Depends-on): Add linkedhash-list, remove + linked-list. + +2006-07-30 Bruno Haible <bruno@clisp.org> + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists. + +2006-07-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/setenv (Depends-on): Add unistd. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * lib/setenv.c: Undo unintended modification done on 2006-02-27. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (import, update): If there is no Makefile.am, look at + aclocal.m4, instead of bailing out. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Extend error message about missing + --doc-base. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Don't create the $docbase directory if + there is no file to store there. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option. + +2006-07-29 Bruno Haible <bruno@clisp.org> + + * config/srclist.txt (*setenv.[ch]): Remove rules. + +2006-07-28 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too. + +2006-07-28 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before + arpa/inet.h. + +2006-07-28 Simon Josefsson <jas@extundo.com> + + * modules/inet_ntop (Depends-on): Depend on arpa_inet. + * modules/inet_pton (Depends-on): Likewise. + +2006-07-28 Simon Josefsson <jas@extundo.com> + + * m4/netinet_in_h.m4: New file. + +2006-07-28 Simon Josefsson <jas@extundo.com> + + * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h + #include's. + +2006-07-28 Simon Josefsson <jas@extundo.com> + + * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h + #include's. + +2006-07-28 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89 + macro expansion. + +2006-07-28 Bruno Haible <bruno@clisp.org> + + * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*. + +2006-07-28 Bruno Haible <bruno@clisp.org> + + * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl. + +2006-07-28 Bruno Haible <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com>. + + * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character + encoding. + * lib/mbswidth.c (iswcntrl): Likewise. + +2006-07-27 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the + test. + +2006-07-27 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe. + +2006-07-26 Eric Blake <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/version-etc (Depends-on): Add stdarg. + +2006-07-25 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of + complex commands. + +2006-07-25 Bruno Haible <bruno@clisp.org> + + * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be + defined in <stdarg.h> or config.h. + +2006-07-24 Paul Eggert <eggert@cs.ucla.edu> + + * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros. + (gl_STDIO_SAFER): Remove. + +2006-07-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/tmpdir: New file. + * MODULES.html.sh (File system functions): Add it. + +2006-07-24 Bruno Haible <bruno@clisp.org> + + * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io, + getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr. + +2006-07-24 Bruno Haible <bruno@clisp.org> + + * modules/clean-temp: New file. + +2006-07-24 Bruno Haible <bruno@clisp.org> + + * m4/tmpdir.m4: New file, from GNU gettext. + +2006-07-24 Bruno Haible <bruno@clisp.org> + + * lib/tmpdir.h: New file, from GNU gettext. + * lib/tmpdir.c: New file, from GNU gettext. + +2006-07-24 Bruno Haible <bruno@clisp.org> + + * lib/clean-temp.h: New file, from GNU gettext. + * lib/clean-temp.c: New file, from GNU gettext. + +2006-07-23 Eric Blake <ebb9@byu.net> + + * modules/stdio-safer (Files): Add tmpfile-safer.c. + (Depends-on): Add binary-io. + +2006-07-23 Eric Blake <ebb9@byu.net> + + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c. + +2006-07-23 Eric Blake <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * 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 <yoann.v@prelude-ids.com> + and Simon Josefsson <jas@extundo.com> + + * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined. + + * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE. + +2006-07-22 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/close-stream.m4: New file. + +2006-07-22 Paul Eggert <eggert@cs.ucla.edu> + + * lib/close-stream.c, lib/close-stream.h: New files. + +2006-07-22 Bruno Haible <bruno@clisp.org> + + Merge from GNU gettext 0.15. + + 2006-05-01 Bruno Haible <bruno@clisp.org> + + * build-aux/javacomp.sh.in: Update for changed javacomp.m4. + + 2006-07-22 Bruno Haible <bruno@clisp.org> + + * modules/javaversion: New file. + * MODULES.html.sh (Java): Add javaversion. + + 2006-03-12 Bruno Haible <bruno@clisp.org> + + * build-aux/javaexec.sh.in: Update for changed javaexec.m4. + + 2005-12-04 Bruno Haible <bruno@clisp.org> + + * build-aux/csharpexec.sh.in: Add support for 'clix' launcher + (untested). + + 2006-06-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * build-aux/csharpcomp.sh.in: Suffix for resources is + .resources, not .resource. + + 2005-07-09 Bruno Haible <bruno@clisp.org> + + * build-aux/csharpcomp.sh.in (options_csc): For -l option, + add a .dll suffix. + Reported by Mark Junker <mjscod@gmx.de>. + + 2006-07-22 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Merge from GNU gettext 0.15. + + 2006-03-25 Bruno Haible <bruno@clisp.org> + + * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro. + + 2006-07-21 Bruno Haible <bruno@clisp.org> + + * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to + "1.1". + + 2006-05-09 Bruno Haible <bruno@clisp.org> + + * javacomp.m4 (gt_JAVACOMP): On Cygwin, set + CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR + for the conftestver execution. + + 2006-05-01 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x. + + 2006-05-09 Bruno Haible <bruno@clisp.org> + + * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set + CLASSPATH_SEPARATOR to a semicolon. + + 2006-03-12 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <nmlarsgaard@atmel.no>. + + 2005-12-04 Bruno Haible <bruno@clisp.org> + + * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix' + launcher (untested). + + 2005-12-04 Bruno Haible <bruno@clisp.org> + + * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS. + + 2006-07-22 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Merge from GNU gettext 0.15. + + 2005-07-05 Bruno Haible <bruno@clisp.org> + + * printf-args.c (printf_fetchargs): Work around broken + definition of wint_t on mingw. + + 2005-02-12 Bruno Haible <bruno@clisp.org> + + * xallocsa.h: Add extern "C" for C++. + + 2006-05-17 Bruno Haible <bruno@clisp.org> + + Cygwin portability. + * progreloc.c (WIN32_NATIVE): Renamed from WIN32. + + 2006-04-30 Bruno Haible <bruno@clisp.org> + + * progreloc.c: Include <mach-o/dyld.h> if available. + (find_executable): Use _NSGetExecutablePath when possible. + + 2006-05-06 Charles Wilson <cygwin@cwilson.fastmail.fm> + + * progreloc.c (maybe_executable) [CYGWIN]: Use the access() + function. + + 2005-12-29 Bruno Haible <bruno@clisp.org> + + * progreloc.c (set_program_name_and_installdir): Fix + compilation error. + + 2005-12-04 Bruno Haible <bruno@clisp.org> + + Cygwin portability. + * progreloc.c: Include <windows.h> 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 <bruno@clisp.org> + + * javacomp.c: Fix a comment. + Reported by Jim Meyering. + + 2006-04-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Assume correct S_ISDIR macro. + * mkdtemp.c: Remove test of STAT_MACROS_BROKEN. + + 2006-07-22 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Cygwin portability. + * javaexec.c (execute_java_class): Test for jview program + also on Cygwin. + + 2006-04-09 Bruno Haible <bruno@clisp.org> + + * fatal-signal.c: Don't include string.h. + (at_fatal_signal): Use a copying loop instead of memcpy. + + 2005-12-04 Bruno Haible <bruno@clisp.org> + + * csharpexec.c: Add support for 'clix' launcher (untested). + (execute_csharp_using_sscli): New function. + (execute_csharp_program): Call it. + + 2006-06-21 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * csharpcomp.c (compile_csharp_using_sscli): For -l option, + add a .dll suffix. + Reported by Mark Junker <mjscod@gmx.de>. + + 2006-06-17 Bruno Haible <bruno@clisp.org> + + * config.charset: Update for NetBSD 3.0. + + 2006-05-17 Bruno Haible <bruno@clisp.org> + + Cygwin portability. + * localcharset.c (WIN32_NATIVE): Renamed from WIN32. + + 2006-05-16 Bruno Haible <bruno@clisp.org> + + * localcharset.c [CYGWIN]: Include <windows.h>. + (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 <bruno@clisp.org> + + * config.charset: Update Juan Manuel Guerrero's address. + + 2005-02-12 Bruno Haible <bruno@clisp.org> + + * allocsa.h: Add extern "C" for C++. + + 2005-02-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gettext.h: Update to GNU gettext-0.15. + +2006-07-22 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * modules/stdlib-safer: New file. + * MODULES.html.sh (File stream based Input/Output): Add + stdlib-safer. + +2006-07-21 Eric Blake <ebb9@byu.net> + + * lib/stdlib-safer.h: New file from coreutils, required by + stdlib--.h. + +2006-07-20 Paul Eggert <eggert@cs.ucla.edu> + + * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'. + +2006-07-20 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh (func_all_modules): Add a missing func_begin_table. + +2006-07-19 Derek R. Price <derek@ximbiot.com> + + * lib/getaddrinfo.h: Don't define unimplemented AI_* flags. + Reindent and repaginate. + +2006-07-19 Derek Price <derek@ximbiot.com> + + * doc/gnulib.texi (Libtool and Windows): Eliminate passive voice. + Correct grammar. + +2006-07-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/gl_list.m4: New file. + +2006-07-17 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * gnulib-tool: help message wording/arrangement. + +2006-07-14 Simon Josefsson <jas@extundo.com> + + * doc/gnulib.texi (Libtool and Windows): New section. + +2006-07-12 Simon Josefsson <jas@extundo.com> + + * modules/gendocs (License): Fix license, approved by Karl. + +2006-07-12 Eric Blake <ebb9@byu.net> + + * MODULES.html.sh: Add gendocs. + +2006-07-11 Eric Blake <ebb9@byu.net> + + * 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 <ebb9@byu.net> + + * m4/absolute-header.m4: Fix comments to match recent change. + +2006-07-11 Eric Blake <ebb9@byu.net> + + * gnulib-tool: List --doc-base before --tests-base. + +2006-07-11 Derek R. Price <derek@ximbiot.com> + + * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/. + +2006-07-11 Bruno Haible <bruno@clisp.org> + + * README: Mention where to put documentation. + +2006-07-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos. + +2006-07-10 Paul Eggert <eggert@cs.ucla.edu> + + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change + to stdint.m4. + +2006-07-10 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * doc/maintain.texi, make-stds.texi: Sync from + <http://savannah.gnu.org/projects/gnustandards>. + +2006-07-09 Paul Eggert <eggert@cs.ucla.edu> + + * build-aux/depcomp, build-aux/install-sh: Sync from Automake. + +2006-07-09 Jim Meyering <jim@meyering.net> + + * m4/glob.m4: Remove a doubled word in a comment. + +2006-07-09 Jim Meyering <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment. + +2006-07-07 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <Ralf.Wildenhues@gmx.de> (tiny change) + + * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL, + not gl_PREREQ_GETUSERSHELL. + +2006-07-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <Ralf.Wildenhues@gmx.de> + + * lib/strtod.c (strtod): cast the argument of tolower to unsigned char. + +2006-07-06 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jhyslop@dreampossible.ca> (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 <derek@ximbiot.com> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/memcasecmp.c: Include <limits.h>. + (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 <ebb9@byu.net> + + * modules/getaddrinfo (Depends-on): Add snprintf. + +2006-07-05 Eric Blake <ebb9@byu.net> + + * 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 <ebb9@byu.net> + + * 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 <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + + * 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 <bruno@clisp.org> + + * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether + the function exists, before testing against AIX. + Reported by Martin Lambers <marlam@marlam.de>. + +2006-07-04 Paul Eggert <eggert@cs.ucla.edu> + + * modules/cycle-check (lib_SOURCES): Add same-inode.h. + From Mark D. Baushke. + +2006-07-04 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + Assume ANSI C header files and <ctype.h> functions. + * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros. + (mbsnwidth): Use isprint, iscntrl instead. + +2006-07-03 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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_<header>, not gl_full_path_<header>. + Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>. + All uses changed. + + Merge from coreutils. + + 2006-06-30 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's + --as-needed option if available. Problem reported by Albert Chin in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>. + 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 <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration. + + 2006-03-12 Jim Meyering <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for + MacOS X 10.4.6. Don't mention <sys/int_types.h>. Problems + reported by Mark D. Baushke, one in + <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>. + + Merge from coreutils. + + * lib/.cppi-disable: Add stdint_.h. + * lib/.cvsignore: Add stdint.h. + + 2006-06-30 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <string.h> 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 <eggert@cs.ucla.edu> + + * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, 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 <inttypes.h> and <stdint.h> if they exist. + + 2006-03-19 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * 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 <ebb9@byu.net>, + Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <ebb9@byu.net> + + * modules/dirname (Depends-on): Add xstrndup. + +2006-07-02 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS. + +2006-07-01 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <stdint.h> isn't working, and is + unlikely to be needed for any other reason, then don't do it + unless <stdint.h> 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 <sys/types.h> 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 <eggert@cs.ucla.edu> + + * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid + possible collision with system files. + (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined + __STDC_CONSTANT_MACROS)]: Do not include, since we don't need + WCHAR_MIN and WCHAR_MAX in this case. + (<stddef.h>): Do not include; no longer needed. + (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if + (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)). + (<sys/inttypes.h>): 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 <stdint.h> incompatibility. + (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ && + !defined(__c99))]: Include in this case too, since it's harmless + now. + (<inttypes.h>) [@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 <inttypes.h>. + (_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 <ebb9@byu.net> + + * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM. + Reported by Andreas Buening. + +2006-07-01 Eric Blake <ebb9@byu.net> + + * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy. + +2006-06-30 Jim Hyslop <jhyslop@dreampossible.ca> (tiny change) + + * lib/getaddrinfo.c: fixed typo + +2006-06-29 Jim Meyering <jim@meyering.net> + + * modules/strftime (Maintainer): Add my name, since with the + FPRINTFTIME changes strftime.c has forked from glibc. + +2006-06-29 Eric Blake <ebb9@byu.net> + + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE. + +2006-06-29 Eric Blake <ebb9@byu.net> + + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file. + +2006-06-29 Eric Blake <ebb9@byu.net> + + * lib/stat_.h: New file. + +2006-06-29 Eric Blake <ebb9@byu.net> + + * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about + unused static function. + +2006-06-29 Eric Blake <ebb9@byu.net> + + * doc/functions.texi (Function Portability): Document missing lstat + on mingw. + +2006-06-29 Eric Blake <ebb9@byu.net> + + * MODULES.html.sh: Add sys_stat. + * modules/sys_stat: New module. + * modules/mkstemp (Depends-on): Add sys_stat. + +2006-06-29 Derek R. Price <derek@ximbiot.com> + + * m4/strftime.m4: Don't call AC_FUNC_STRFTIME. + +2006-06-29 Derek R. Price <derek@ximbiot.com> + + * m4/c-bs-a.m4: Removed. + +2006-06-29 Derek R. Price <derek@ximbiot.com> + + * lib/strftime.c: Assume strftime() exists. + +2006-06-29 Derek Price <derek@ximbiot.com> + + * modules/c-bs-a: Removed - \a is C89. + * MODULES.html.sh: Remove c-bs-a. + +2006-06-29 Bruno Haible <bruno@clisp.org> + + * modules/wcwidth (License): Change to LGPL. + +2006-06-28 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/getaddrinfo.m4: Look for getnameinfo prototypes too. + +2006-06-28 Simon Josefsson <jas@extundo.com> + + * 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 <ebb9@byu.net> + + * 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 <ebb9@byu.net> + + * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here... + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file. + +2006-06-28 Eric Blake <ebb9@byu.net> + + * lib/xvasprintf.h: Fix comments. + +2006-06-28 Eric Blake <ebb9@byu.net> + + * 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 <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + + * lib/savedir.c (CLOSEDIR): Remove. All uses changed to closedir. + Autoconf 2.60 says this stuff was obsolete. + +2006-06-28 Bruno Haible <bruno@clisp.org> + + * modules/wcwidth (Files): Add m4/wchar_t.m4. + +2006-06-28 Bruno Haible <bruno@clisp.org> + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and + gt_TYPE_WCHAR_T. + +2006-06-28 Bruno Haible <bruno@clisp.org> + + * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback + declaration for wcwidth. + * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>. + +2006-06-28 Bruno Haible <bruno@clisp.org> + + * lib/mkdtemp.c [MINGW]: Include <io.h>. + (mkdir): Define using _mkdir. + +2006-06-28 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/sys_select: New file, suggested by Bruno Haible, Paul + Eggert and Martin Lambers. + +2006-06-27 Simon Josefsson <jas@extundo.com> + + * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul + Eggert and Martin Lambers. + +2006-06-27 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the + result to 0, not to empty. + Reported by Martin Neitzel <neitzel@sco.gaertner.de>. + +2006-06-27 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef. + +2006-06-26 Simon Josefsson <jas@extundo.com> + + * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is + present. + +2006-06-26 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>. + +2006-06-26 Mark D. Baushke <mdb@gnu.org> + + * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD. + +2006-06-26 Bruno Haible <bruno@clisp.org> + + * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H. + +2006-06-26 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>. + +2006-06-26 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the + SGI C compiler in pre-C99 mode. + Suggested by Mark D. Baushke and Larry Jones. + +2006-06-26 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or + WCHAR_MAX. + Reported by Mark D. Baushke and Larry Jones. + +2006-06-26 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler + in pre-C99 mode. + Suggested by Mark D. Baushke and Larry Jones. + +2006-06-23 Simon Josefsson <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + * 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 <mdb@gnu.org> + + * lib/stdint_.h: Treat BSD/OS like OpenBSD. + +2006-06-23 Bruno Haible <bruno@clisp.org> + + * tests/test-stdint.c: Update to match ISO C 99 Technical + Corrigendum 1. + +2006-06-23 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD. + +2006-06-23 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Treat IRIX like OpenBSD. + +2006-06-23 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to + ISO C 99 Technical Corrigendum 1. + +2006-06-22 Simon Josefsson <jas@extundo.com> + + * m4/sockpfaf.m4: Include winsock2.h too, to make it work under + MinGW. + +2006-06-22 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>. + +2006-06-21 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * doc/gnulib.texi (Windows sockets): Add. + +2006-06-21 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210 + <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>. + Problem reported by Denis Excoffier in + <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>. + +2006-06-19 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + + * modules/sys_socket, modules/socklen: Include sys/types since + FreeBSD 4.x's sys/socket.h needs it. + +2006-06-19 Simon Josefsson <jas@extundo.com> + + * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it. + +2006-06-19 Paul Eggert <eggert@cs.ucla.edu> + + * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare. + +2006-06-19 Bruno Haible <bruno@clisp.org> + + * 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 <mdb@gnu.org>. + +2006-06-17 Eric Blake <ebb9@byu.net> + + * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares + errno. + +2006-06-17 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include + <sys/inttypes.h>. + +2006-06-17 Bruno Haible <bruno@clisp.org> + + * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test + whether errno is declared. Assume <errno.h> declares errno. + +2006-06-17 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>. + +2006-06-17 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a + problem on Solaris 2.5.1. + +2006-06-16 Eric Blake <ebb9@byu.net> + + * 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 <ebb9@byu.net> + + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror. + +2006-06-15 Eric Blake <ebb9@byu.net> + + * config/srclist.txt (ssize_t.m4): Lose sync. + +2006-06-15 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling. + +2006-06-15 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Rewritten to be fully auto-configured. + Fixes bug on HP-UX/IA64. + +2006-06-11 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun + reported by Andreas Schwab. + +2006-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * 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 <Ralf.Wildenhues@gmx.de> + Bruno Haible <bruno@clisp.org> + + * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition. + +2006-05-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <karl@gnu.org> + + * config/srclist.txt (printf-args.c): lose sync. + +2006-05-26 Martin Lambers <marlam@marlam.de> + + * lib/getpass.c: Updates the test for the native W32 API, and adds + missing includes, thus fixing compilation warnings. + +2006-05-25 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>. + +2006-05-24 Bruno Haible <bruno@clisp.org> + + * 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 <torte@netztorte.de> via + Aaron Stone <aaron@serendipity.cx>. + +2006-05-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>. + Use the usual Autoconf way to include <time.h> and/or sys/time.h. + (my_usleep): Don't mishandle maximum value. + +2006-05-19 Jim Meyering <jim@meyering.net> + + * lib/getugroups.c: Correct an outdated comment. From Bruno Haible. + +2006-05-17 Bruno Haible <bruno@clisp.org> + + Cygwin portability. + * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'. + +2006-05-17 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Fix recognition of Cygwin. + +2006-05-15 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <http://forum.sun.com/jive/thread.jspa?threadID=96202>. + +2006-05-11 Simon Josefsson <jas@extundo.com> + + * m4/xvasprintf.m4: Fix obvious typo. + +2006-05-11 Jim Meyering <jim@meyering.net> + + * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/. From + James Lemley. + +2006-05-10 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * lib/des.c: Cast to avoid warnings. + +2006-05-09 Bruno Haible <bruno@clisp.org> + + * modules/xvasprintf (Files): Add m4/xvasprintf.m4. + (Depends-on): Depend also on xsize, stdarg. + (configure.ac): Add gl_XVASPRINTF. + +2006-05-09 Bruno Haible <bruno@clisp.org> + + * m4/xvasprintf.m4: New file. + +2006-05-09 Bruno Haible <bruno@clisp.org> + + * 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 <ebb9@byu.net> + + * 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 <bruno@clisp.org> + + * modules/stdarg: New file. + * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>. + +2006-05-08 Bruno Haible <bruno@clisp.org> + + * m4/stdarg.m4: New file, from GNU gettext. + +2006-05-08 Bruno Haible <bruno@clisp.org> + + * config/srclist.txt (build-aux/config.rpath): different from latest + release. + +2006-05-08 Bruno Haible <bruno@clisp.org> + + * build-aux/config.rpath: Add support for Sun C 5.9 on Linux. + +2006-05-05 Jim Meyering <jim@meyering.net> + + * m4/warning.m4: New file, derived from bison's file by the same name. + +2006-05-03 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Shorter URL. + * lib/inttypes.h: Likewise. + +2006-05-02 Paul Eggert <eggert@cs.ucla.edu> + + * modules/inttypes (Maintainer): Change from Derek Price to 'all'. + +2006-05-02 Paul Eggert <eggert@cs.ucla.edu> + + * lib/verify.h: Document the internals better. Most of this change + was written by Bruno Haible. + +2006-05-02 Paul Eggert <eggert@cs.ucla.edu> + + * doc/verify.texi: New file, partly based on a proposal by + Bruno Haible. + +2006-05-02 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd. + Suggested by Oskar Liljeblad <oskar@osk.mine.nu>. + +2006-04-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Make --update option actually work. + +2006-04-29 Bruno Haible <bruno@clisp.org> + + * doc/gcd.texi: New file. + * doc/gnulib.texi: Include it. + +2006-04-25 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Output the include directives in three + blocks, sorted separately. + Reported by Ben Pfaff <blp@cs.stanford.edu>. + +2006-04-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <stdlib.h>. + * 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 <karl@gnu.org> + + * config/srclist.txt (longdouble.m4): sync lost. + +2006-04-24 Eric Blake <ebb9@byu.net> + + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning. + +2006-04-24 Bruno Haible <bruno@clisp.org> + + * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the + poll() implementation in AIX. + Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2006-04-24 Bruno Haible <bruno@clisp.org> + + * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets + assigned exactly once. + +2006-04-23 Claudio Fontana <claudio@gnu.org> + Bruno Haible <bruno@clisp.org> + + * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>. + * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value + for AM_CPPFLAGS. + +2006-04-23 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/fwriteerror.c (fwriteerror): Call fclose also when an error + condition was already detected. + Reported by Ben Pfaff <blp@cs.stanford.edu>. + +2006-04-23 Bruno Haible <bruno@clisp.org> + + * lib/copy-file.c: Include <unistd.h> 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 <bruno@clisp.org> + + * 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 <karl@freefriends.org>. + +2006-04-20 Bruno Haible <bruno@clisp.org> + + * 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 <derek@ximbiot.com> + Eric Blake <ebb9@byu.net> + + * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h> + rather than "/full/path.h". Update comment to match. Shorten & + generalize m4_translit call via AS_TR_CPP. + +2006-04-19 Derek Price <derek@ximbiot.com> + Eric Blake <ebb9@byu.net> + + * lib/inttypes.h: Correct grammar in comment. + +2006-04-18 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * modules/inttypes: New file. + * modules/strtoimax, modules/strtoumax: Depend on inttypes. + +2006-04-18 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4: + New files. + +2006-04-18 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * lib/inttypes.h: New file. + * lib/strtoimax.c: Assume <inttypes.h>. + +2006-04-15 Paul Eggert <eggert@cs.ucla.edu> + + * lib/utimens.c (futimens): glibc futimesat messes up if /proc + isn't mounted. Problem reported by Kir Kolyshkin. + +2006-04-13 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * 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 <eggert@cs.ucla.edu> + + * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and + time_r.h. + +2006-04-09 Paul Eggert <eggert@cs.ucla.edu> + + 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 <roland@redhat.com> + + * lib/regcomp.c (calc_eclosure_iter): Remove dead variables. + Reported by Mike Frysinger <vapier@gentoo.org>. + + 2006-01-15 Andreas Jaeger <aj@suse.de> + + [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 <drepper@redhat.com> + + * lib/regex_internal.h: Include <stdint.h> if available. + + 2005-12-06 Paolo Bonzini <bonzini@gnu.org> + + * lib/regex_internal.h (SIZE_MAX): Provide a default definition. + + 2005-10-14 Ulrich Drepper <drepper@redhat.com> + + * lib/regcomp.c: Adjust for changed secondary hash function. + + 2005-09-30 Ulrich Drepper <drepper@redhat.com> + + * lib/regex.h: Pretty printing. + Clean up namespace a bit. + + 2005-09-30 Jakub Jelinek <jakub@redhat.com> + + * lib/regexec.c (update_cur_sifted_state, check_arrival, + check_arrival_add_next_nodes): Avoid using uninitialized variable. + + 2005-09-06 Paul Eggert <eggert@cs.ucla.edu> + Ulrich Drepper <drepper@redhat.com> + + [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 <drepper@redhat.com> + + [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 <kasal@ucw.cz>. + + 2005-09-07 Ulrich Drepper <drepper@redhat.com> + + * 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 <drepper@redhat.com> + + * 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 <eggert@cs.ucla.edu> + + * modules/regex (Depends-on): Add ssize_t. + +2006-04-09 Paul Eggert <eggert@cs.ucla.edu> + + * m4/regex.m4 (gl_REGEX): Check for new glibc interface to + translation table. + +2006-04-09 Paul Eggert <eggert@cs.ucla.edu> + + * doc/gnulib-tool.texi (Modified imports): pathname -> file name. + +2006-03-29 Mark D. Baushke <mdb@gnu.org> + Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: On OpenBSD, don't redefine types already included in + <sys/types.h> and <inttypes.h>. + +2006-03-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>, + including some doc fixes. + (base64_encode_alloc): Fix +1 bug on allocation failures. + +2006-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + * 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 <ebb9@byu.net> + + * lib/time_r.c (copy_string_result): Remove, as it is no longer used. + +2006-03-22 Karl Berry <karl@gnu.org> + + * config/srclist.txt (*setenv.[ch]): get from coreutils. + * config/srclistvars.sh (COREUTILS): new var. + +2006-03-17 Jim Meyering <jim@meyering.net> + + * m4/regex.m4 (gl_REGEX): Fix typo in last change: + s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/. + +2006-03-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT. + +2006-03-13 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * m4/gc-random.m4: Permit 'no' as variable values and fix warnings, + suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2006-03-08 Simon Josefsson <jas@extundo.com> + + * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of + $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2006-03-08 Simon Josefsson <jas@extundo.com> + + * lib/gc-gnulib.c (randomize): Don't open files called 'no', they + signal that configure disabled the device. + +2006-03-08 Simon Josefsson <jas@extundo.com> + + * build-aux/maint.mk: Fix refresh-po, to handle no translated + languages. + +2006-03-07 Simon Josefsson <jas@extundo.com> + + * modules/getopt (Depends-on): Add unistd. + + * modules/unistd: New file. + +2006-03-07 Simon Josefsson <jas@extundo.com> + + * modules/gc-random: New file. + +2006-03-07 Simon Josefsson <jas@extundo.com> + + * m4/unistd_h.m4: New file. + +2006-03-07 Simon Josefsson <jas@extundo.com> + + * 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 <Ralf.Wildenhues@gmx.de>. + +2006-03-07 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * lib/unistd_.h: New file. + +2006-03-07 Simon Josefsson <jas@extundo.com> + + * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM. + +2006-03-07 Paul Eggert <eggert@cs.ucla.edu> + + * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file. + Problem reported by Juan Manuel Guerrero. + +2006-03-07 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * build-aux/maint.mk: Add several syntax checks from CoreUtils. + +2006-03-03 Simon Josefsson <jas@extundo.com> + + * build-aux/maint.mk: Add refresh-po rule, based on ideas from + libidn and bison. + +2006-03-03 Simon Josefsson <jas@extundo.com> + + * build-aux/maint.mk: Add indent target. + +2006-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (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 <jas@extundo.com> + + * lib/readline.c: Fix typo, tiny patch from Stepan Kasal + <kasal@ucw.cz>. + +2006-03-01 Paul Eggert <eggert@cs.ucla.edu> + + * modules/gettime (Depends-on): Add extensions module. + * modules/nanosleep (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + +2006-03-01 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * doc/Copyright/request-*: new files, synced from gnuorg. + +2006-03-01 Karl Berry <karl@gnu.org> + + * config/srclist.txt (Copyright/*): new entries. + +2006-02-28 Simon Josefsson <jas@extundo.com> + + * lib/getopt.c: Protect #include of unistd.h, for MSVS. + +2006-02-27 Simon Josefsson <jas@extundo.com> + + * lib/base64.h: Indent #define's. From Jim Meyering + <jim@meyering.net>. + +2006-02-27 Jim Meyering <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + * modules/intprops: New file. + * MODULES.html.sh (Numeric conversion functions <stdlib.h>): + 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 <Ralf.Wildenhues@gmx.de> (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 <Ralf.Wildenhues@gmx.de> + + * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of + `config.h'. + +2006-02-24 Paul Eggert <eggert@cs.ucla.edu> + + * lib/glob.c: Say "invalid" rather than "illegal" in comments. + +2006-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Sync from coreutils. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and + gl_CHDIR_SAFER. + +2006-02-22 Jim Meyering <jim@meyering.net> + + Sync from coreutils. + * m4/chdir-safer.m4: New file. + +2006-02-20 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <address@hidden> + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error. + +2006-02-16 Simon Josefsson <jas@extundo.com> + + * modules/getaddrinfo (Depends-on): Add sys_socket. + +2006-02-15 Simon Josefsson <jas@extundo.com> + + * build-aux/maint.mk: Add dsyntax-check rule. + +2006-02-15 Eric Blake <ebb9@byu.net> + + * 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 <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <jas@extundo.com> + + * gnulib-tool (Usage): Fix --import, from + karl@freefriends.org (Karl Berry). + +2006-02-13 Sergey Poznyakoff <gray@gnu.org.ua> + + * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12 + +2006-02-07 Sergey Poznyakoff <gray@gnu.org.ua> + + * lib/argp-namefrob.h: Restore changes accidentally lost during the + "autoupdate" on 2005-12-12. + +2006-02-07 Paul Eggert <eggert@cs.ucla.edu> + + * modules/closeout (Depends-on): Remove atexit. + +2006-02-07 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>. + All uses changed. + +2006-01-26 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :". + Reported by Paul Eggert. + +2006-01-26 Bruno Haible <bruno@clisp.org> + Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * 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 <gray@gnu.org.ua> + + * lib/argp-namefrob.h: Bugfix. Remove stray # + +2006-01-25 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * config/srclist.txt (vasnprintf.c): sync lost. + +2006-01-25 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + * lib/fileblocks.c: Remove more useless parentheses. + * lib/readutmp.h: Likewise. + +2006-01-25 Bruno Haible <bruno@clisp.org> + + * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid + warnings. + Reported by Paul Eggert. + +2006-01-25 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get + rid of a trap command. For Solaris sh. + Reported by Mark D. Baushke <mdb@gnu.org>. + +2006-01-24 Simon Josefsson <jas@extundo.com> + + * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by + Bruno. + +2006-01-24 Karl Berry <karl@gnu.org> + + * config/srclist.txt (argp-namefrob.h): sync lost. + +2006-01-24 Jim Meyering <jim@meyering.net> + + * modules/openat (Files): Add lib/intprops.h. + From Mark D. Baushke. + +2006-01-24 Jim Meyering <jim@meyering.net> + + * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]). + Reported by Mark D. Baushke. + +2006-01-24 Jim Meyering <jim@meyering.net> + + * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'. + +2006-01-24 Bruno Haible <bruno@clisp.org> + + * modules/strnlen (Maintainer): Change from glibc to all. + +2006-01-24 Bruno Haible <bruno@clisp.org> + + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs. + Patch by Paul Eggert. + +2006-01-24 Bruno Haible <bruno@clisp.org> + + * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler + already has it. + Report and patch by Albert Chin-A-Young <china@thewrittenword.com> 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Avoid constructing complicated sed + expressions inside backquote. + Report and solution by Mark D. Baushke <mdb@gnu.org>. + +2006-01-23 Ulrich Drepper <drepper@redhat.com> + + 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 <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + Work around porting bugs reported by Dieter in + <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>. + * lib/getopt.c (_NOPROTO): Remove; no longer needed. + Include <stdlib.h> and <unistd.h> 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 <eggert@cs.ucla.edu> + + * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl. + +2006-01-23 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Adjust to reflect glibc reorganization. + This affects only comments. + +2006-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) + + * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp. + Reported by Bruce Korb <bkorb@gnu.org>. + +2006-01-22 Paul Eggert <eggert@cs.ucla.edu> + + * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;" + to pacify gcc -Wswitch-default. + +2006-01-22 Bruno Haible <bruno@clisp.org> + + * 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 <gray@gnu.org.ua> + + * modules/argp-tests: New module + * tests/test-argp.c: New file + * tests/test-argp-2.sh: New file + +2006-01-21 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <jas@extundo.com> + + * modules/inet_ntop (Depends-on): Depend on sys_socket. + +2006-01-20 Simon Josefsson <jas@extundo.com> + + * lib/inet_ntop.h: Unconditionally include sys/socket.h. + +2006-01-20 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out + until changes propagate, I guess. + +2006-01-19 Simon Josefsson <jas@extundo.com> + + * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32. + +2006-01-19 Simon Josefsson <jas@extundo.com> + + * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly. + +2006-01-19 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * modules/socklen (Depends-on): Depend on sys_socket. + +2006-01-18 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * modules/socklen (Include): Need sys/socket.h. + +2006-01-17 Bruno Haible <bruno@clisp.org> + + * modules/ssize_t (Include): Add <sys/types.h>. + +2006-01-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * lib/base64.c: Fix warning, reported by Bruno Haible + <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>. + +2006-01-12 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/ldd.m4: New file. + +2006-01-12 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * lib/stdint_.h (SIZE_MAX): Add missing (. + +2006-01-11 Paul Eggert <eggert@cs.ucla.edu> + + 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 <jim@meyering.net> + + Sync from coreutils. + * lib/md5.c (OP): Fix spacing. + +2006-01-11 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_import, func_create_testdir): Replace build-aux + with $auxdir in AC_CONFIG_FILES statements. + +2006-01-11 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize also noinst_HEADERS to empty. + +2006-01-11 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New + variables. + (func_create_megatestdir): Call aclocal, autoconf, automake here, not + autoreconf. + +2006-01-11 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make + overridable by the user. + Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2006-01-10 Simon Josefsson <jas@extundo.com> + + * modules/sys_socket: New file. + +2006-01-10 Simon Josefsson <jas@extundo.com> + + * m4/sys_socket_h.m4: New file. + +2006-01-10 Simon Josefsson <jas@extundo.com> + + * lib/socket_.h: New file. + +2006-01-10 Paul Eggert <eggert@cs.ucla.edu> + + * modules/readutmp (Maintainer): Add myself. + +2006-01-10 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>. + +2006-01-10 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + * m4/fpending.m4: Also include <stdio.h>, for Dragonfly. + Patch by Joerg Sonnenberger. + +2006-01-10 Bruno Haible <bruno@clisp.org> + + * modules/readutmp: Depend on module free. + * modules/strtok_r: Depend on module restrict. + +2006-01-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked. + Reported by Werner Lemberg <wl@gnu.org>. + +2006-01-10 Bruno Haible <bruno@clisp.org> + + * lib/localcharset.c: Update from GNU gettext. + +2006-01-10 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/inet_ntop (Depends-on): Add restrict. + +2006-01-09 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + Sync from coreutils. + * m4/lib-ignore.m4: New file. + * m4/lchmod.m4: New file. + +2006-01-09 Paul Eggert <eggert@cs.ucla.edu> + + 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 <limits.h>. + (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 <eggert@cs.ucla.edu> + + 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 <jim@meyering.net> + + 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 <stdlib.h>, <unistd.h>, <fcntl.h>, + "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 <stdio.h>, <string.h>, "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 <jim@meyering.net> + + Sync from coreutils. + * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c. + Require openat-priv.h. + +2006-01-09 Bruno Haible <bruno@clisp.org> + + * modules/strnlen (Include): Use strnlen.h. + +2006-01-09 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>. + +2006-01-09 Bruno Haible <bruno@clisp.org> + + * lib/sysexit_.h (EX_OK): New macro. + Suggested by Martin Lambers <marlam@marlam.de>. + +2006-01-09 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and + don't define _STDINT_H_NEED_SIGNED_INT_TYPES. + +2006-01-09 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h (SIZE_MAX): Write the value without involving negative + numbers. + +2006-01-09 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <agruen@suse.de> + + 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 <agruen@suse.de> + + Sync from coreutils. + * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests. + +2006-01-07 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to + gl_EARLY. + +2006-01-04 Paul Eggert <eggert@cs.ucla.edu> + + * lib/strftime.c (tzname): Don't declare if it is already #defined. + Problem reported for Mingw by Mark Junker. + +2006-01-04 Paul Eggert <eggert@cs.ucla.edu> + + * README: Gnulib normally doesn't generate a tarball. + +2006-01-03 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * build-aux/config.rpath: Update from GNU gettext. + +2005-12-16 Jim Meyering <jim@meyering.net> + + * modules/fprintftime: New module. + * MODULES.html.sh (Date and time <time.h>): Add fprintftime. + +2005-12-16 Jim Meyering <jim@meyering.net> + + * m4/fprintftime.m4: New file. + +2005-12-16 Jim Meyering <jim@meyering.net> + + * lib/fprintftime.c, lib/fprintftime.h: New files. + +2005-12-15 Simon Josefsson <jas@extundo.com> + + * modules/socklen (configure.ac): Fix M4 macro name, to align with + new m4/socklen.m4. + +2005-12-10 Sergey Poznyakoff <gray@gnu.org.ua> + + * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and + HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME + +2005-12-10 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <gray@gnu.org.ua> + + * modules/argp (Files): Add argp-pin.c + (Depends-on): dirname + (lib_SOURCES): Add argp-pin.c + +2005-12-09 Sergey Poznyakoff <gray@gnu.org.ua> + + * 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 <gray@gnu.org.ua> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>. + +2005-12-07 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>. + +2005-12-05 Bruno Haible <bruno@clisp.org> + + * 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 <mjscod@gmx.de>. + +2005-12-02 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * modules/savedir (Depends-on): Add openat. + +2005-11-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * modules/obstack (Files): Add m4/ulonglong.m4. + Problem reported by Davide Angelocola. + +2005-11-15 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * lib/mkstemp-safer.c: Include <config.h>, required for possible + replacement of mkstemp. + +2005-11-10 Simon Josefsson <jas@extundo.com> + + * lib/readline.c: Remove EOL. + +2005-11-10 Paul Eggert <eggert@cs.ucla.edu> + + * modules/gethrxtime (Depends-on): Add gettime. + +2005-11-10 Paul Eggert <eggert@cs.ucla.edu> + + * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME + or gettimeofday; no longer needed. + +2005-11-10 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <ebb9@byu.net> + + * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-11-08 Eric Blake <ebb9@byu.net> + + * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + +2005-11-04 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Implement --update mode. + +2005-10-30 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <jkj@sco.com> + + 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 <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/inet_ntop.m4: More tests. + + * m4/gc-md2.m4, md2.m4: New file. + +2005-10-28 Simon Josefsson <jas@extundo.com> + + * 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 <bruno@clisp.org>. + + * 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 <eggert@cs.ucla.edu> + + * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave + errno alone. Problem reported by Frederic Jolliton. + +2005-10-27 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * modules/sha1: Relicense to LGPL. + +2005-10-24 Simon Josefsson <jas@extundo.com> + + * lib/md4.h: Shrink buffer size, now that we changed the type. + +2005-10-23 Simon Josefsson <jas@extundo.com> + + * gnulib-tool (func_import): Fix --tests-base. + +2005-10-22 Simon Josefsson <jas@extundo.com> + + * modules/arcfour (Depends-on): Need stdint. + +2005-10-22 Simon Josefsson <jas@extundo.com> + + * m4/gc.m4: Don't be fooled by --disable-*random-device parameters, + suggested by Bruno Haible <bruno@clisp.org>. Fix error messages. + +2005-10-22 Simon Josefsson <jas@extundo.com> + + * lib/md4.h, md4.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible <bruno@clisp.org>. + +2005-10-22 Simon Josefsson <jas@extundo.com> + + * lib/crc.h: Include stddef.h, for size_t. + +2005-10-22 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by + Bruno Haible <bruno@clisp.org>. + + * m4/gc-des.m4: New file. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * m4/arctwo.m4: New file. + + * m4/gc-arctwo.m4: New file. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one + block. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible + <bruno@clisp.org>. + + * lib/hmac-sha1.c (hmac_sha1): Likewise. + + * lib/crc.c (crc32_update): Actually use crc parameter, suggested by + Bruno Haible <bruno@clisp.org>. + + * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible + <bruno@clisp.org>. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/gc-gnulib.c: Support ARCTWO in CBC mode. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/des.h, lib/des.c: New files. + + * lib/gc-gnulib.c: Support DES.c + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/arctwo.h, lib/arctwo.c: New files. + + * lib/gc-gnulib.c: Support ARCTWO. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro, + suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. + +2005-10-21 Simon Josefsson <jas@extundo.com> + + * 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 <bruno@clisp.org>. + + * modules/gc (Makefile.am): Use it. + +2005-10-21 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import, func_create_testdir): Add quoting to last + patch. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * tests/test-gc-rijndael.c: New file. + + * modules/gc-rijndael, modules/gc-rijndael-test: New files. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer + interface too. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * tests/test-gc-arcfour.c: New file. + + * modules/gc-arcfour, modules/gc-arcfour-tests: New files. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * modules/gc-md4, modules/gc-md4-tests: New file. + + * tests/test-gc-md4.c: New file. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * m4/gc-md4.m4: New file. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4, + gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal + <kasal@ucw.cz>. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * m4/gc-arcfour.m4: New file. + + * m4/gc-rijndael.m4: New file. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * lib/gc-gnulib.c: Support ARCFOUR. + +2005-10-19 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * tests/test-md5.c: New file. + + * modules/md5-tests: New file. + +2005-10-18 Simon Josefsson <jas@extundo.com> + + * tests/test-md4.c: New file. + + * modules/md4, modules/md4-tests: New files. + +2005-10-18 Simon Josefsson <jas@extundo.com> + + * m4/md4.m4: New file. + +2005-10-18 Simon Josefsson <jas@extundo.com> + + * lib/md4.h, lib/md4.c: New files, based on md5.?. + +2005-10-17 Stepan Kasal <kasal@ucw.cz> + + * gnulib-tool (func_create_testdir): Omit the second check whether + BUILT_SOURCES in nonempty. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * tests/test-rijndael.c: New file. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * modules/sha1: Depend on stdint instead of md5. + + * modules/md5: Depend on stdint, remove uint32_t. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * modules/gc-sha1-tests: New file. + + * tests/test-gc-sha1.c: New file. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * m4/md5.m4: Remove call to uint32_t.m4. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * lib/gc.h, gc-libgcrypt.c: Add ciphers. + +2005-10-17 Simon Josefsson <jas@extundo.com> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/rijndael-tests: New file. + + * modules/rijndael: New file. + +2005-10-15 Simon Josefsson <jas@extundo.com> + + * m4/rijndael.m4: New file. + +2005-10-15 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * tests/test-arcfour.c: New file. + + * modules/arcfour, modules/arcfour-tests: New files. + +2005-10-14 Simon Josefsson <jas@extundo.com> + + * m4/arcfour.m4: New file. + +2005-10-14 Simon Josefsson <jas@extundo.com> + + * lib/arcfour.h, lib/arcfour.c: New files. + +2005-10-14 Roland McGrath <roland@redhat.com> + + Import from libc. [BZ #1331] + * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed + macro argument. + Reported by Matej Vela <vela@debian.org>. + +2005-10-14 Paul Eggert <eggert@cs.ucla.edu> + + * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't + include <wchar.h>; no longer needed. + +2005-10-14 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h. + +2005-10-14 Jakub Jelinek <jakub@redhat.com> + and Ulrich Drepper <drepper@redhat.com> + + 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation. + Move memory allocation outside of loop. + +2005-10-13 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <oskar@osk.mine.nu> + + * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * tests/test-hmac-sha1.c: New file. + + * modules/hmac-sha1-tests: New file. + + * modules/hmac-sha1: New file. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * modules/gc-sha1: New file. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files. + + * tests/test-gc-pbkdf2-sha1.c: New file. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * modules/gc-md5, modules/gc-hmac-md5: New files. + + * modules/gc (Files): Remove md5, memxor and hmac files. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types, + suggested by Bruno Haible <bruno@clisp.org>. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * lib/gc-pbkdf2-sha1.c: New file. + + * lib/gc.h: Add gc_pbkdf2_sha1 prototype. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * lib/gc-libgcrypt.c (gc_hmac_sha1): New function. + + * lib/gc-gnulib.c (gc_hmac_sha1): New function. + +2005-10-12 Simon Josefsson <jas@extundo.com> + + * 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 <bruno@clisp.org> + + * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H. + Reported by Stepan Kasal <kasal@ucw.cz>. + +2005-10-11 Simon Josefsson <jas@extundo.com> + + * tests/test-crc.c: New file. + + * modules/crc, modules/crc-tests: New files. + +2005-10-11 Simon Josefsson <jas@extundo.com> + + * m4/crc.m4: New file. + +2005-10-11 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * lib/crc.h, lib/crc.c: New files. + + * lib/gc.h (gc_hash_buffer): Add doc. + +2005-10-11 Bruno Haible <bruno@clisp.org> + + * modules/c-strcasestr: New file. + * MODULES.html.sh (String handling <string.h>): Add c-strcasestr. + +2005-10-11 Bruno Haible <bruno@clisp.org> + + * modules/c-strcase: New file. + * MODULES.html.sh (String handling <string.h>): Add c-strcase. + +2005-10-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/c-strcasestr.h: New file, from GNU gettext. + * lib/c-strcasestr.c: New file, from GNU gettext. + +2005-10-11 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * modules/mempcpy (License): GPL -> LGPL. + * modules/strchrnul (License): Likewise. + * modules/sysexits (License): Likewise. + +2005-10-08 Simon Josefsson <jas@extundo.com> + + * config/srclist.txt: Bug 1423 is closed, but 1439 remains. + +2005-10-07 Simon Josefsson <jas@extundo.com> + + * m4/memxor.m4: Remove gl_C_RESTRICT call. + +2005-10-06 Simon Josefsson <jas@extundo.com> + + * tests/test-hmac-md5.c: New file. + + * modules/hmac-md5-tests: New file. + + * modules/hmac-md5: New file. + +2005-10-06 Simon Josefsson <jas@extundo.com> + + * m4/hmac-md5.m4: New file. + + * m4/memxor.m4: Require gl_C_RESTRICT. + +2005-10-06 Simon Josefsson <jas@extundo.com> + + * lib/memxor.c (memxor): Avoid casts and warnings. + +2005-10-06 Simon Josefsson <jas@extundo.com> + + * lib/hmac-md5.c: New file. + + * lib/hmac.h: New file. + +2005-10-06 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/memxor.m4: New file. + +2005-10-05 Simon Josefsson <jas@extundo.com> + + * lib/memxor.c (memxor): Fix compiler error. + + * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also + <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>. + + * 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 + <jim@meyering.net>. 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 <jas@extundo.com> + + * config/srclist.txt: Add glibc bug 1423 for md5.h. + +2005-10-05 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + + * lib/getdelim.c (SIZE_MAX): New macro, if not already defined. + +2005-10-05 Bruno Haible <bruno@clisp.org> + + * modules/stdint (License): Change to LGPL. + +2005-10-04 Simon Josefsson <jas@extundo.com> + + * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark + D. Baushke" <mdb@gnu.org>. + +2005-10-04 Bruno Haible <bruno@clisp.org> + + * lib/verify.h (verify_true): Provide alternative definition for C++. + +2005-10-03 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getdelim.c: Include getdelim.h first. Include <limits.h>. + (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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + Sync from coreutils. + * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>. + * 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 <ams@gnu.org> + + 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <ebb9@byu.net> (tiny change) + + * lib/getdelim.c (getdelim): Remove unused variables. + +2005-09-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * lib/getcwd.c: Change #ifdef<TAB>HAVE_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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c + also uses socklen_t. + +2005-09-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>. + 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * modules/getaddrinfo (Depends-on): Add socklen. + +2005-09-23 Bruno Haible <bruno@clisp.org> + + * tests/test-verify.c: New file. + +2005-09-22 Paul Eggert <eggert@cs.ucla.edu> + + 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 <assert.h>): New section, + with "verify" module. + +2005-09-22 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + Sync from coreutils. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. + +2005-09-22 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <unistd.h> 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 <fcntl.h> unconditionally, + and don't include <sys/file.h>). + +2005-09-22 Eric Blake <ebb9@byu.net> (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 <bruno@clisp.org> + + * lib/unicodeio.h (unicode_to_mb): New declaration. + +2005-09-20 Derek Price <derek@ximbiot.com> + + * lib/getaddrinfo.c: Don't include <netdb.h> included from + getaddrinfo.h. + +2005-09-20 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Remove trailing slashes from the values specified for + --source-base, --m4-base, --tests-base, --aux-dir. + Suggested by Simon Josefsson <jas@extundo.com>. + +2005-09-20 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * m4/socklen.m4: Fix typo. + +2005-09-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Use a consistent style for including <config.h>. + * 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 <jim@meyering.net> + + * modules/pathmax (License): Change to LGPL. + +2005-09-19 Derek Price <derek@ximbiot.com> + + * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h. + +2005-09-19 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (import): Provide default for --tests-base. + +2005-09-19 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + Portability fix. + * gnulib-tool (func_readlink): New function. + (func_ln_if_changed): Use it. + +2005-09-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Comment out code that spits out the + new files with --dry-run. + +2005-09-18 Bruno Haible <bruno@clisp.org> + + * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten. + +2005-09-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c. + +2005-09-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + + * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here. + +2005-09-15 Derek Price <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <derek@ximbiot.com> + + * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation + failure. + Reported by Jim Meyering <jim@meyering.net>. + +2005-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) + + * lib/base64.c: Typo. + (base64_encode): Put b64str in initialized data section. + +2005-09-12 Paul Eggert <eggert@cs.ucla.edu> + + 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 <derek@ximbiot.com> + + 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 <derek@ximbiot.com> + + 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 <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + + * lib/gai_strerror.c: Include config.h when available. Include + getaddrinfo.h before other headers to test interface. + Reported by Larry Jones <lawrence.jones@ugs.com>. + +2005-09-12 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * modules/glob (Files): Add glob-libc.h. + +2005-09-12 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * modules/socklen: New file. + +2005-09-08 Simon Josefsson <jas@extundo.com> + + * m4/socklen.m4: New file. + +2005-09-08 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Remove glibc bug 1061; it's been fixed. + +2005-09-06 Simon Josefsson <jas@extundo.com> + + * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not + TCSETATTR. Reported by Derek Price <derek@ximbiot.com>. + +2005-09-06 Paul Eggert <eggert@cs.ucla.edu> + + * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall + warning. + +2005-09-06 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bug 1302. + +2005-09-05 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Fix comparison in handling of symbolic + links. + +2005-09-04 Martin Lambers <marlam@marlam.de> (tiny change) + + * modules/size_max (Makefile.am): Add size_max.h + +2005-09-04 Derek Price <derek@ximbiot.com> + + * gnulib-tool (func_import): Fix reversed $symbolic logic. + +2005-09-03 Simon Josefsson <jas@extundo.com> + + * gnulib-tool: Fix typo. + +2005-09-03 Simon Josefsson <jas@extundo.com> + + * config/srclist.txt: Add glibc bug 1293. + +2005-09-03 Derek Price <derek@ximbiot.com> + + * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error. + From Larry Jones <lawrence.jones@ugs.com>. + +2005-09-02 Simon Josefsson <jas@extundo.com> + + * modules/socklen: New file. + +2005-09-02 Simon Josefsson <jas@extundo.com> + + * modules/havelib: New module. + + * modules/gettext, modules/iconv, modules/lock, modules/readline: + Use havelib. + +2005-09-02 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * gnulib-tool (import): In the other first-use case, provide defaults + as well. + +2005-09-02 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>. + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bugs 1285-1287. + +2005-09-01 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * gnulib-tool (import): In the first-use case, provide defaults. + +2005-09-01 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Remove the .tmp files. + +2005-09-01 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Fix handling of symbolic links. + +2005-08-31 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284. + +2005-08-31 Jim Meyering <jim@meyering.net> + + * 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 <jim@meyering.net> + + * check-module: Add a FIXME comment. + +2005-08-31 Eric Blake <ebb9@byu.net> + + * modules/unistd-safer (Files): Add unistd--.h. + * modules/stdio-safer (Files): Add stdio--.h. + +2005-08-31 Derek Price <derek@ximbiot.com> + + * lib/getdelim.c (getdelim): Return EOF on EOF. + Reported by Larry Jones <lawrence.jones@ugs.com>. + +2005-08-31 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * lib/strstr.c: Include <stddef.h>, for NULL. + * lib/strcasestr.c: Likewise. + Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>. + +2005-08-31 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: New option --macro-prefix. + (func_import): Use macro_prefix. + (import): Handle option --macro-prefix. + +2005-08-31 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (import): Rename most ac_* variables to cached_*. + Also use new variables cached_lgpl, cached_libtool. + +2005-08-31 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of + always instantiating them. + +2005-08-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit + declaration macro definitions from generated gnulib.m4. + +2005-08-30 Oskar Liljeblad <oskar@osk.mine.nu> + + * lib/iconvme.h: Add prototype for iconv_alloc. + +2005-08-29 Simon Josefsson <jas@extundo.com> + + * lib/iconvme.c: Fix errno. + +2005-08-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Enclose all occurrences of $destdir in "...", so + that it works when the directory contains spaces. + +2005-08-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist. + +2005-08-29 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import): Emit more comments into gnulib.m4. + Emit more advice. + +2005-08-29 Bruno Haible <bruno@clisp.org> + and Stepan Kasal <kasal@ucw.cz> + + * 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 <blp@cs.stanford.edu> + + * modules/byteswap (Makefile.am): Fix rule to not assume GNU make. + +2005-08-29 Oskar Liljeblad <oskar@osk.mine.nu> + + * lib/iconvme.c: Split iconv_string into iconv_alloc. + +2005-08-28 Bruno Haible <bruno@clisp.org> + + * m4/gnulib-tool.m4: New file. + +2005-08-27 Jim Meyering <jim@meyering.net> + + * modules/unistd-safer (Files): Add pipe-safer.c. + * modules/fcntl-safer (Files): Add creat-safer.c. + +2005-08-27 Jim Meyering <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <sys/types.h> and declare creat_safer. + * lib/unistd--.h (pipe): Define to pipe_safer. + * lib/unistd-safer.h: Declare pipe_safer. + +2005-08-26 Simon Josefsson <jas@extundo.com> + + * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno + Haible <bruno@clisp.org>. + +2005-08-26 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <kasal@ucw.cz> + + * m4/regex.m4: Add AC_PREREQ(2.50). + (gl_REGEX): If --with-included-regex was given, skip the autodetection. + +2005-08-25 Simon Josefsson <jas@extundo.com> + + * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and + __fsetlocking. + +2005-08-25 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * modules/regex (Depends-on): Add malloc, since the code + assumes that !malloc(0) means failure. + +2005-08-25 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <alloca.h>. + (__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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bugs 1241, 1245. + +2005-08-25 Jim Meyering <jim@meyering.net> + + * lib/open-safer.c: Include <config.h>. + Otherwise, we'd lose LARGEFILE support in any file using + e.g. "fcntl--.h" + +2005-08-25 Bruno Haible <bruno@clisp.org> + + * 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 <kasal@ucw.cz>. + +2005-08-24 Simon Josefsson <jas@extundo.com> + + * tests/test-getpass.c: New file. + +2005-08-24 Paul Eggert <eggert@cs.ucla.edu> + + * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing + for GNU regex features. + +2005-08-24 Paul Eggert <eggert@cs.ucla.edu> + + * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX. + * lib/regex.h (regerror): Likewise. + + * lib/regex.c: Do not include <sys/types.h>, 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 <stddef.h> 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + Sync from coreutils. + * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files. + +2005-08-24 Jim Meyering <jim@meyering.net> + + * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line, + now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h. + +2005-08-24 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/tls-tests: New file. + * tests/test-tls.c: New file, from GNU gettext. + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * modules/lock-tests: New file. + * tests/test-lock.c: New file, from GNU gettext. + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * lib/lock.h: Add multiple inclusion guard. + * lib/tls.h: Add multiple inclusion guard. + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (import): Use compound statement instead of subshell + where possible. + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (import): Change --aux-dir default to "build-aux". + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_version): Update. + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_import, func_create_testdir, + func_create_megatestdir): Quote all autoconf macro arguments. + +2005-08-24 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>. + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bugs 1231-1233. + +2005-08-20 Paul Eggert <eggert@cs.ucla.edu> + + Fix problems reported by Sam Steingold in + <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>. + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Add glibc bugs 1220-1227. + +2005-08-20 Jim Meyering <jim@meyering.net> + + * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration + of unused local, dfa. + +2005-08-20 Bruno Haible <bruno@clisp.org> + + * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE. + +2005-08-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * lib/regexec.c (proceed_next_node): Redo local variables to + avoid GCC shadowing warnings. + +2005-08-18 Bruno Haible <bruno@clisp.org> + + * lib/strstr.c (strstr): Fix return value in multibyte case. + * lib/strcasestr.c (strcasestr): Likewise. + +2005-08-17 Paul Eggert <eggert@cs.ucla.edu> + + * lib/regex.h: Remove useless space-before-tab. From coreutils. + +2005-08-17 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * modules/strstr (Files): Add m4/mbrtowc.m4. + (Depends-on): Add mbuiter. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * modules/strcasestr: New file. + * MODULES.html.sh (String handling, based on ANSI C 89): Add + strcasestr. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * modules/mbuiter: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbuiter. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always. + (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * m4/strcasestr.m4: New file. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/strcasestr.h: New file. + * lib/strcasestr.c: New file. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * lib/strcasecmp.c: Use mbuiter.h. + +2005-08-17 Bruno Haible <bruno@clisp.org> + + * lib/mbuiter.h: New file. + +2005-08-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/tls: New file. + * MODULES.html.sh (Multithreading): Add tls. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * modules/strnlen1: New file. + * MODULES.html.sh (String handling): Add strnlen1. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * modules/strcase (Files): Add m4/mbrtowc.m4. + (Depends-on): Add strnlen1, mbchar. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * modules/mbiter: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbiter. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * modules/mbfile: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbfile. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * modules/mbchar: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + New section. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * m4/tls.m4: New file, from GNU gettext. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function + always. + (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * m4/mbiter.m4: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * m4/mbfile.m4: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * m4/mbchar.m4: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * lib/tls.h: New file, from GNU gettext. + * lib/tls.c: New file, from GNU gettext. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * lib/strnlen1.h: New file. + * lib/strnlen1.c: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/mbiter.h: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * lib/mbfile.h: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * lib/mbchar.h: New file. + * lib/mbchar.c: New file. + +2005-08-16 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/ssize_t (License): Change to 'unlimited'. + + * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license. + +2005-08-15 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h. + Add comments for each pending glibc patch. + +2005-08-15 Bruno Haible <bruno@clisp.org> + + * lib/regex.h (__restrict_arr): Don't define to __restrict if + __cplusplus is defined. + +2005-08-14 Jim Meyering <jim@meyering.net> + + 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>. + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/readline.m4: Look for termcap, curses or ncurses if required. + +2005-08-12 Simon Josefsson <jas@extundo.com> + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + ssize_t. + +2005-08-12 Simon Josefsson <jas@extundo.com> + + * 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 <bruno@clisp.org> + + * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first. + +2005-08-11 Simon Josefsson <jas@extundo.com> + + * modules/readline: New file. + + * modules/strnlen (Files): Add strnlen.h. + +2005-08-11 Simon Josefsson <jas@extundo.com> + + * m4/readline.m4: New file. + +2005-08-11 Simon Josefsson <jas@extundo.com> + + * lib/readline.h, readline.c: New file. + +2005-08-11 Simon Josefsson <jas@extundo.com> + + * doc/gnulib.texi (Initial import, Finishing touches): Mention + gl_AVOID. + +2005-08-11 Bruno Haible <bruno@clisp.org> + + * lib/strnlen.h (strnlen): Change parameter name to match comment. + +2005-08-10 Stepan Kasal <kasal@ucw.cz> + + * m4/onceonly_2_57.m4: Really require Autoconf 2.57. + +2005-08-10 Simon Josefsson <jas@extundo.com> + + * tests/test-iconvme.c: New file. + +2005-08-10 Simon Josefsson <jas@extundo.com> + + * m4/strnlen.m4: New file. + + * m4/strndup.m4: Don't check for strnlen declaration, done in + strnlen.m4. + +2005-08-10 Simon Josefsson <jas@extundo.com> + + * lib/strndup.c: Use strnlen.h. + + * lib/strnlen.h: New file. + +2005-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change) + + * README: Typos. + +2005-08-02 Simon Josefsson <jas@extundo.com> + + * modules/readline: New file. + +2005-08-02 Simon Josefsson <jas@extundo.com> + + * modules/getdelim: New file. + + * modules/getline: Rewrite, don't use getndelim2. + +2005-08-02 Simon Josefsson <jas@extundo.com> + + * m4/getline.m4: Separate out getdelim stuff into separate module. + + * m4/getdelim.m4: New file. + +2005-08-02 Simon Josefsson <jas@extundo.com> + + * lib/getline.h, getline.c: Rewrite. + + * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc. + +2005-07-31 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib. + Report from Ben Pfaff, regarding getopt. + +2005-07-26 Paul Eggert <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + * m4/lock.m4: Update from GNU gettext. + +2005-07-26 Bruno Haible <bruno@clisp.org> + + * lib/lock.h: Update from GNU gettext. + * lib/lock.c: Update from GNU gettext. + +2005-07-25 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/visibility: New file. + * MODULES.html.sh (Misc): Add visibility. + +2005-07-24 Bruno Haible <bruno@clisp.org> + + * m4/visibility.m4: New file. + +2005-07-24 Bruno Haible <bruno@clisp.org> + + * doc/visibility.texi: New file. + +2005-07-22 Bruno Haible <bruno@clisp.org> + + * 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 <adl@src.lip6.fr>. + +2005-07-18 Simon Josefsson <jas@extundo.com> + + * lib/check-version.c (check_version): Accept identical versions too. + +2005-07-18 Bruno Haible <bruno@clisp.org> + + * modules/lock: New file. + * MODULES.html.sh (Multithreading): New section. + +2005-07-18 Bruno Haible <bruno@clisp.org> + + * m4/lock.m4: New file, from GNU gettext. + +2005-07-18 Bruno Haible <bruno@clisp.org> + + * lib/lock.h: New file, from GNU gettext. + * lib/lock.c: New file, from GNU gettext. + +2005-07-18 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * doc/gnulib.texi (Library version handling): Add ELF symbol collision + workaround, suggested by Bruno. + +2005-07-15 Paul Eggert <eggert@cs.ucla.edu> + + * modules/xalloc (Depends-on): Add xalloc-die. + * modules/xvasprintf (Depends-on): Add xalloc-die. + +2005-07-15 Paul Eggert <eggert@cs.ucla.edu> + + * lib/quotearg.c: Add translator comment suggested by Bruno Haible, + with a minor change. + +2005-07-15 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * modules/argp (Depends-on): Remove unlocked-io. + +2005-07-14 Derek Price <derek@ximbiot.com> + + * m4/glob.m4 (gl_GLOB): Cache glob interface check result. Add check + for glob symlink bug. + +2005-07-14 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/size_max: New file. + + * modules/xsize: Depend on size_max module for size_max.m4. + +2005-07-11 Simon Josefsson <jas@extundo.com> + + * lib/size_max.h: New file. + +2005-07-11 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * doc/gnulib.texi (Quoting): new node. + (Initial import): more info, from Patrice. + +2005-07-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site. + Reported by Jim Meyering. + +2005-07-10 Bruno Haible <bruno@clisp.org> + + * 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 <gray@gnu.org.ua> + + * modules/argp (Depends-on): Add unlocked-io + +2005-07-09 Sergey Poznyakoff <gray@gnu.org.ua> + + * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary + block of defines. + +2005-07-08 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Comment out regcomp.c, since we have a porting + fix now. + +2005-07-08 Eric Blake <ebb9@byu.net> (tiny change) + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current + autoconf CVS. Needed for mingw. + +2005-07-03 Paul Eggert <eggert@cs.ucla.edu> + + Remove the dependency of the strftime module on the tzset module. + * modules/strftime (Depends-on): Remove dependency on tzset. + +2005-07-03 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * lib/backupfile.c (backup_args): Change a `0' to NULL. + +2005-07-01 Paul Eggert <eggert@cs.ucla.edu> + + * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h> + declares only 'struct timespec;' (!). + +2005-07-01 Jim Meyering <jim@meyering.net> + + * 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 <fcntl.h> unconditionally, + and don't include <sys/file.h>). + +2005-06-29 Jim Meyering <jim@meyering.net> + + * 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 <jas@extundo.com> + + * modules/check-version (Files): Add check-version.m4. + +2005-06-28 Simon Josefsson <jas@extundo.com> + + * m4/check-version.m4: New file, suggested by Jim Meyering + <jim@meyering.net>. + +2005-06-28 Simon Josefsson <jas@extundo.com> + + * lib/check-version.h, lib/check-version.c: New files. + +2005-06-28 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu>. + + * lib/base64.h: Indent. + +2005-06-28 Simon Josefsson <jas@extundo.com> + + * doc/gnulib.texi (Library version handling): New section. + +2005-06-28 Jim Meyering <jim@meyering.net> + + * 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 <jas@extundo.com> + + * modules/check-version: New file. + +2005-06-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + and Bruno Haible <bruno@clisp.org> + + 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 <derek@ximbiot.com> + and Bruno Haible <bruno@clisp.org> + + 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 <derek@ximbiot.com> + and Bruno Haible <bruno@clisp.org> + + Remove stat module & update lstat. + * config/srclist.txt (libc sources): Remove stat. + +2005-06-24 Derek Price <derek@ximbiot.com> + and Bruno Haible <bruno@clisp.org> + + 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 <sys/stat.h>. + +2005-06-23 Paul Eggert <eggert@cs.ucla.edu> + + * lib/mktime.c: Include <string.h> 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 <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + + * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be + unnecessary for Autoconfs > 2.59c. + +2005-06-16 Sergey Poznyakoff <gray@Mirddin.farlep.net> + + * 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 <jim@meyering.net> + + * 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 <derek@ximbiot.com> + + * m4/bison.m4: Declare YACC & YFLAGS precious. + +2005-06-10 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/csharpcomp: New file. + * MODULES.html.sh (C#): Add csharpcomp. + +2005-06-08 Bruno Haible <bruno@clisp.org> + + * m4/csharpcomp.m4: New file, from GNU gettext. + +2005-06-08 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc + warning on mingw. + +2005-06-07 Derek Price <derek@ximbiot.com> + + Sync from CVS. + * lib/glob_.h: Indent nested #ifdef. + +2005-06-02 Paul Eggert <eggert@cs.ucla.edu> + + 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 <limits.h> 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + * modules/csharpexec: New file. + * MODULES.html.sh (C#): New section. + +2005-06-01 Bruno Haible <bruno@clisp.org> + + * m4/csharp.m4: New file, from GNU gettext. + * m4/csharpexec.m4: New file, from GNU gettext. + +2005-06-01 Bruno Haible <bruno@clisp.org> + + * 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 <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + Sync from cvs. + * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. + +2005-05-31 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + Sync from cvs. + * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. + +2005-05-29 Derek Price <derek@ximbiot.com> + + * config/srclist.txt (glob_.h, glob.c): Add these files. + +2005-05-29 Derek Price <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * m4/glob.m4: New file. + +2005-05-29 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * lib/glob_.h, lib/glob.c: New files. + +2005-05-27 Paul Eggert <eggert@cs.ucla.edu> + + * modules/fts (Files): Remove m4/inttypes-pri.m4. + * modules/fts-lgpl (Depends-on): Remove gettext. + +2005-05-27 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * lib/getlogin_r.h: Remove second include of <stddef.h>. + +2005-05-26 Paul Eggert <eggert@cs.ucla.edu> + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define + _POSIX_PTHREAD_SEMANTICS for Solaris. + +2005-05-25 Derek Price <derek@ximbiot.com> + + * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section. + +2005-05-25 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * modules/getlogin_r, m4/getlogin_r.m4: New files. + * lib/getlogin_r.c, getlogin_r.h: New files. + +2005-05-25 Bruno Haible <bruno@clisp.org> + Derek Price <derek@ximbiot.com> + + * lib/getlogin_r.h: Simplify API documentation. + +2005-05-23 Derek Price <derek@ximbiot.com> + + * modules/minmax (Files): Add m4/minmax.m4. + (configure.ac): Add gl_MINMAX. + +2005-05-22 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * m4/minmax.m4: New file. + Based on a patch by Derek Price <derek@ximbiot.com>. + +2005-05-22 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs. + (INT64_MIN): Fix definition. + Suggested by Paul Eggert <eggert@cs.ucla.edu>. + + * 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 <bruno@clisp.org> + + * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX. + Also include <sys/param.h> if it defines MIN, MAX. + Based on a patch by Derek Price <derek@ximbiot.com>. + +2005-05-21 Jim Meyering <jim@meyering.net> + + * modules/fts (Files): Add m4/inttypes-pri.m4. + (Depends-on): Add lstat and remove gettext. Alphabetize. + +2005-05-20 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * MODULES.html.sh (File system functions): Add fts, fts-lgpl. + +2005-05-20 Jim Meyering <jim@meyering.net> + + * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]: + Now a macro, to pacify GCC. + +2005-05-20 Eric Blake <ebb9@byu.net> (tiny change) + + * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs + of -1. + +2005-05-20 Eric Blake <ebb9@byu.net> (tiny change) + + * lib/chown.c (rpl_chown): Return -1 on failure. + +2005-05-18 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/canonicalize.c: Include canonicalize.h first, to test interface. + Include <stddef.h> 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 <jim@meyering.net> + + * modules/dirfd (License): Change to LGPL. Most of the code + is already in the public domain. + +2005-05-18 Jim Meyering <jim@meyering.net> + + * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list. + Reported by Yoann Vandoorselaere. + +2005-05-17 Jim Meyering <jim@meyering.net> + + * m4/fts.m4: New file, from coreutils. + +2005-05-17 Jim Meyering <jim@meyering.net> + + * lib/fts.c, lib/fts_.h: New files, from coreutils. + +2005-05-14 Paul Eggert <eggert@cs.ucla.edu> + + Sync from coreutils. + * m4/unlinkdir.m4: New file. + +2005-05-14 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <gray@Mirddin.farlep.net> + + * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST + +2005-05-12 Eric Blake <ebb9@byu.net> (tiny change) + + * gnulib-tool (func_import): Sort and uniquify recommended includes. + +2005-05-11 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <yoann.v@prelude-ids.com> + + * 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 <jas@extundo.com> + + * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from + Yoann Vandoorselaere <yoann.v@prelude-ids.com>. + +2005-05-10 Karl Berry <karl@gnu.org> + + * 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 <karl@gnu.org> + + * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB. + (COPYING.DOC): remove. + + * config/srclist-update: new FSF address. + +2005-05-10 Derek Price <derek@ximbiot.com> + + * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when + possible. + +2005-05-09 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * modules/inet_ntop: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + inet_ntop. + +2005-05-09 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * m4/inet_ntop.m4: New file. + +2005-05-09 Yoann Vandoorselaere <yoann.v@prelude-ids.com> + Bruno Haible <bruno@clisp.org> + + * lib/inet_ntop.h: New file. + * lib/inet_ntop.c: New file, from glibc with modifications. + +2005-05-09 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing + blank. + +2005-05-06 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid + needless checks. + +2005-05-01 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * MODULES.html.sh (Misc): Add byteswap. + +2005-05-01 Oskar Liljeblad <oskar@osk.mine.nu> + + * modules/getcwd (Depends-on): Add extensions. + * modules/openat (Depends-on): Likewise. + +2005-05-01 Oskar Liljeblad <oskar@osk.mine.nu> + + * modules/byteswap: New file. + +2005-05-01 Oskar Liljeblad <oskar@osk.mine.nu> + + * m4/byteswap.m4: New file. + +2005-05-01 Oskar Liljeblad <oskar@osk.mine.nu> + + * lib/byteswap_.h: New file. + +2005-04-25 Karl Berry <karl@gnu.org> + + * m4/gettext.m4: Update from GNU gettext 0.14.4. + +2005-04-25 Albert Chin <china@thewrittenword.com> + + * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop + Toolkit C bug. + +2005-04-21 Oskar Liljeblad <oskar@osk.mine.nu> + + * 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 <jas@extundo.com> + + * gnulib-tool (Options): Make --symlink mean --symbolic. + +2005-04-18 Oskar Liljeblad <oskar@osk.mine.nu> + + * doc/gnulib.texi (Initial import): Fix. Mention --aux-dir. + +2005-04-16 Simon Josefsson <jas@extundo.com> + + * modules/getpass-gnu (Makefile.am): Don't mention getpass.h. + +2005-04-15 Simon Josefsson <jas@extundo.com> + + * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES. + +2005-04-15 Simon Josefsson <jas@extundo.com> + + * gnulib-tool: Rename --symlink to --symbolic. + +2005-04-15 Oskar Liljeblad <oskar@osk.mine.nu> + + * 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 <bruno@clisp.org> + + * modules/allocsa (License): Change to LGPL. + Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>. + +2005-04-13 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's + -Wuninitialized: initialize tm0.tm_year. + +2005-04-04 Paul Eggert <eggert@cs.ucla.edu> + + * 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 whther 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 <jas@extundo.com> + + * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny + patch from Yoann Vandoorselaere <yoann@prelude-ids.org>. + +2005-03-28 Eric Blake <ebb9@byu.net> (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 <jim@meyering.net> + + * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated. + +2005-03-26 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + Comment nits. + * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'. + Correct typos: s/or/of/. + +2005-03-26 Jim Meyering <jim@meyering.net> + + * modules/check-include-files: Move to ../ and rename to... + * check-module: ...this. + +2005-03-25 Jim Meyering <jim@meyering.net> + + * modules/xvasprintf (Files): Add xalloc.h. + +2005-03-23 Paul Eggert <eggert@cs.ucla.edu> + + * modules/gettext (Files): config/config.rpath -> + build-aux/config.rpath + * modules/iconv (Files): Likewise. + Problem reported by Oskar Liljeblad. + +2005-03-23 Jim Meyering <jim@meyering.net> + + * 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 <jim@meyering.net> + + * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'. + +2005-03-22 Jim Meyering <jim@meyering.net> + + * 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 <jim@meyering.net> + + * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro. + +2005-03-22 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <assert.h>. + 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. + +2005-03-16 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. + +2005-03-16 Bruno Haible <bruno@clisp.org> + + * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. + +2005-03-15 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * config/srclist.txt (config.rpath): from gettext. + * config/config.rpath: update. + +2005-03-15 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love + <fx@gnu.org>. + +2005-03-14 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * m4/lib-link.m4, gettext.m4, nls.m4, po.m4: + Update from GNU gettext 0.14.3. + +2005-03-10 Jim Meyering <jim@meyering.net> + + * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir. + +2005-03-10 Jim Meyering <jim@meyering.net> + + * 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 <eggert@cs.ucla.edu> + + 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 <signal.h>, 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 <stdbool.h>. 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 <bruno@clisp.org> + + * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions. + +2005-03-07 Bruno Haible <bruno@clisp.org> + + * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks. + +2005-03-04 Derek R. Price <derek@ximbiot.com> + + * 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 <derek@ximbiot.com> + + * m4/mmap-anon.m4: New file. + * m4/pagealign_alloc.m4: New file. + +2005-03-03 Derek R. Price <derek@ximbiot.com> + Bruno Haible <bruno@clisp.org> + + * modules/pagealign_alloc: New file. + * MODULES.html.sh (Memory management functions): Add pagealign_alloc. + +2005-03-03 Derek R. Price <derek@ximbiot.com> + Bruno Haible <bruno@clisp.org> + + * lib/pagealign_alloc.h: New file. + * lib/pagealign_alloc.c: New file. + +2005-03-03 Bruno Haible <bruno@clisp.org> + + * m4/inttypes.m4, isc-posix.m4, once-only.m4: + Use an all-permissive copyright notice, recommended by RMS. + +2005-03-02 Bruno Haible <bruno@clisp.org> + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because + of AIX, the replacement has to be done only after <string.h> is + included, therefore not in config.h. stpncpy.h does the replacement, + and stpncpy.c uses it. + +2005-03-02 Bruno Haible <bruno@clisp.org> + + * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that + stpncpy.c uses it. + +2005-03-01 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting + to detect nanosleep bug. + +2005-03-01 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed. + +2005-02-26 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/gethrxtime.m4, m4/xnanosleep.m4: New files. + * m4/gettime.m4 (gl_GETTIME): Check for nanotime. + +2005-02-25 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/gettext (Files): Add m4/glibc2.m4. + +2005-02-24 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/gettext.h: Update from GNU gettext 0.14.2. + +2005-02-23 Simon Josefsson <jas@extundo.com> + + * m4/iconvme.m4: New file. + +2005-02-23 Jim Meyering <jim@meyering.net> + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's + change. + Thanks to Bruno Haible for catching it. + +2005-02-22 Simon Josefsson <jas@extundo.com> + + * modules/iconvme: New file. + + * MODULES.html.sh: Add iconvme. + +2005-02-22 Simon Josefsson <jas@extundo.com> + + * lib/iconvme.h, lib/iconvme.c: New files, from libc. + +2005-02-22 Simon Josefsson <jas@extundo.com> + + * config/srclist.txt: Sync iconvme.h, iconvme.c from libc. + +2005-02-22 Jim Meyering <jim@meyering.net> + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: + s/ifndef/ifdef/. + +2005-02-20 Neil Conway <neilc@samurai.com> + + * 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 <gray@Mirddin.farlep.net> + + * 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 <eggert@cs.ucla.edu> + + * modules/chdir-long (Depends-on): Add memrchr. + * modules/memrchr (Files): Add lib/memrchr.h. + (Include): "memrchr.h". + +2005-02-03 Paul Eggert <eggert@cs.ucla.edu> + + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. + +2005-02-03 Paul Eggert <eggert@cs.ucla.edu> + + * lib/memrchr.h: New file. + * lib/chdir-long.c: Include it. + * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h> + Don't bother including stddef.h. + +2005-02-01 Paul Eggert <eggert@cs.ucla.edu> + + * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double + inclusion. + Include <sys/types.h>, 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 <bruno@clisp.org> + + * lib/progname.c (program_name): Initialize. + Needed when linking statically on MacOS X. + +2005-01-28 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <bruno@clisp.org> + + * modules/javacomp: New file. + * MODULES.html.sh (Java): Add javacomp. + +2005-01-28 Bruno Haible <bruno@clisp.org> + + * m4/javacomp.m4: New file, from GNU gettext. + +2005-01-28 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * lib/gai_strerror.c: Use GPL in header. + +2005-01-26 Bruno Haible <bruno@clisp.org> + + * modules/javaexec: New file. + * MODULES.html.sh (Java): Add javaexec. + +2005-01-26 Bruno Haible <bruno@clisp.org> + + * m4/javaexec.m4: New file, from GNU gettext. + +2005-01-26 Bruno Haible <bruno@clisp.org> + + * 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 <gray@Mirddin.farlep.net> + + * modules/lchown (Depends-on): Remove lchown.h + +2005-01-24 Sergey Poznyakoff <gray@Mirddin.farlep.net> + + * 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 <tv@duh.org> + +2005-01-24 Sergey Poznyakoff <gray@Mirddin.farlep.net> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * modules/chdir-long (Depends-on): Remove mempcpy. + +2005-01-21 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * modules/classpath: New file. + * MODULES.html.sh (Java): Add classpath. + +2005-01-21 Bruno Haible <bruno@clisp.org> + + * lib/classpath.h: New file, from GNU gettext. + * lib/classpath.c: New file, from GNU gettext. + +2005-01-20 Simon Josefsson <jas@extundo.com> + + * modules/version-etc-fsf: New file. + +2005-01-20 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@CS.UCLA.EDU>. + +2005-01-20 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume + it. + +2005-01-20 Paul Eggert <eggert@cs.ucla.edu> + + * lib/save-cwd.c (save_cwd): Remove code to support the case + where fchdir is missing or flaky. + +2005-01-20 Paul Eggert <eggert@cs.ucla.edu> + + * MODULES.html.sh (Command-line arguments): Add version-etc-fsf. + +2005-01-19 Paul Eggert <eggert@cs.ucla.edu> + + * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h; + AC_LIBSOURCES now does this. + * MODULES.html.sh (Sizes of integer types <limits.h>): New element, + with new ullong_max module. + +2005-01-19 Bruno Haible <bruno@clisp.org> + + * modules/sh-quote: New file. + * MODULES.html.sh (Executing programs): Add sh-quote. + +2005-01-19 Bruno Haible <bruno@clisp.org> + + * lib/sh-quote.h: New file, from GNU gettext. + * lib/sh-quote.c: New file, from GNU gettext. + +2005-01-18 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * 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 <bob@proulx.com> + + * 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 <bruno@clisp.org> + + * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, + redundant because stpncpy.m4 takes care of it. + +2005-01-17 Bruno Haible <bruno@clisp.org> + + * lib/progreloc.c: Include xalloc.h instead of xmalloc.h. + +2005-01-17 Bruno Haible <bruno@clisp.org> + + * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be + used. + +2005-01-17 Bruno Haible <bruno@clisp.org> + + * lib/fwriteerror.h (fwriteerror): Change specification to include + fclose. + * lib/fwriteerror.c: Include <stdbool.h>. + (fwriteerror): At the end, close the file stream. Record whether + stdout was already closed. + +2005-01-17 Bruno Haible <bruno@clisp.org> + + * lib/execute.c (environ): Declare if needed. + * lib/pipe.c (environ): Likewise. + Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>. + +2005-01-11 Sergey Poznyakoff <gray@Mirddin.farlep.net> + + * modules/argp: Depend on vsnprintf + +2005-01-10 Jim Meyering <jim@meyering.net> + + * modules/closeout (Depends-on): Add atexit. + +2005-01-06 Bruno Haible <bruno@clisp.org> + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here. + +2005-01-04 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + 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 <unistd.h> 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 <jas@extundo.com> + + * gnulib-tool: Print #include directives when --import'ing. + +2004-12-28 Simon Josefsson <jas@extundo.com> + + * tests/test-base64.c: Include required header files. Remove + unused variables. + +2004-12-28 Paul Eggert <eggert@cs.ucla.edu> + + * modules/error (Depends-on): Remove gettext. + +2004-12-28 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <libintl.h>; not needed. + +2004-12-24 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not + HAVE_DECL_STRTOLD. + +2004-12-23 Paul Eggert <eggert@cs.ucla.edu> + + * modules/getdate (Depends-on): Remove alloca-opt. + +2004-12-23 Paul Eggert <eggert@cs.ucla.edu> + + * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. + +2004-12-23 Paul Eggert <eggert@cs.ucla.edu> + + * lib/argp-parse.c: Include <stddef.h>. + (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 <gray@Mirddin.farlep.net> + + * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers. + +2004-12-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H. + Remove now-obsolete comment about AIX. + * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA. + (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA. + (YYMAXDEPTH): New macro. + +2004-12-18 Simon Josefsson <jas@extundo.com> + + * modules/alloca: Depend on alloca-opt, instead of duplicating it. + +2004-12-18 Bruno Haible <bruno@clisp.org> + + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction. + +2004-12-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * doc/alloca.texi: New file. + * doc/alloca-opt.texi: New file. + +2004-12-17 Jim Meyering <jim@meyering.net> + + * 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 <jas@extundo.com> + + * tests/test-base64.c: Add license. + +2004-12-15 Stepan Kasal <address@hidden> + + * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command. + +2004-12-12 Paul Eggert <eggert@cs.ucla.edu> + + * modules/getcwd (Files): Add m4/d-ino.m4. + Suggested by Mark D. Baushke. + +2004-12-08 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * doc/getdate.texi (Time of day items, Time zone items): + Describe new formats +00:00, UTC+00:00. + +2004-12-07 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * modules/getaddrinfo (License): Add LGPL, reported by Yoann + Vandoorselaere <yoann@prelude-ids.org>. + +2004-12-04 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + Changes imported from coreutils. + * lib/hard-locale.c: Assume <locale.h> 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 <locale.h> exists. + (human_readable): Assume localeconv exists. + +2004-12-04 Paul Eggert <eggert@cs.ucla.edu> + + * modules/hard-locale (Depends-on): Add strdup. + +2004-12-01 Jakub Jelinek <jakub@redhat.com> + + * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC, + convert T2, not T. (Imported from libc.) + +2004-11-30 Simon Josefsson <jas@extundo.com> + + * modules/restrict (License): Change to LGPL. + +2004-11-30 Simon Josefsson <jas@extundo.com> + + * m4/restrict.m4: Add copyright and copying conditions. + +2004-11-30 Simon Josefsson <jas@extundo.com> + + * m4/base64.m4: New file. + +2004-11-30 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <errno.h>, since readutmp.h no longer does that. + * lib/readutmp.h: Don't include <errno.h>, + <sys/param.h>, <time.h>; 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 <jas@extundo.com> + + * lib/base64.h, base64.c: New file. + +2004-11-27 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25. + +2004-11-26 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + 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 <stdbool.h>. + (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 <stddef.h>, <stdlib.h>, <string.h>, <limits.h> + unconditionally, as gnulib assumes C89 or better. + Do not include <sys/param.h>. + (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 <dirent.h> in a way that is compatible with modern Autoconf. + (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN): + New macros, if not already defined. + Include <unistd.h> 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 <limits.h>, <stdio.h>, <sys/types.h>, + <stdlib.h>, <unistd.h>, "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 <eggert@cs.ucla.edu> + + * 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 <errno.h> + and <fcntl.h> 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 <gray@Mirddin.farlep.net> + + * 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 <gray@Mirddin.farlep.net> + + * 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 <stdio.h> and <unistd.h> These + headers might have defined it. + +2004-11-23 Paul Eggert <eggert@cs.ucla.edu> + + * m4/utimens.m4 (gl_UTIMENS): Check for futimes function. + +2004-11-23 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * lib/getopt_.h: Remove trailing blanks. + +2004-11-23 Jim Meyering <jim@meyering.net> + + * lib/__fpending.c: Add comment. + +2004-11-22 Paul Eggert <eggert@cs.ucla.edu> + + * modules/canonicalize (Depends-on): Add xreadlink. + Problem reported by James Youngman. + +2004-11-20 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * lib/strtok_r.c: Move comments from here... + * lib/strtok_r.h: ... to here. + +2004-11-17 Paul Eggert <eggert@cs.ucla.edu> + + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc + implementations that mishandle size_t overflow. + +2004-11-17 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * modules/canon-host (Depends-on): Add strdup. + +2004-11-16 Paul Eggert <eggert@cs.ucla.edu> + + * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. + +2004-11-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <limits.h>, 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 <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * modules/closeout (Depends-on): Add fpending. + +2004-11-15 Jim Meyering <jim@meyering.net> + + * lib/closeout.c: Include "__fpending.h" once again. + Include <stdbool.h>. + (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 <jim@meyering.net> + + * m4/jm-macros.m4: Do require gl_FUNC_FPENDING. + +2004-11-12 Simon Josefsson <jas@extundo.com> + + * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a + small doc fix is still pending. + +2004-11-11 Simon Josefsson <jas@extundo.com> + + * modules/strtok_r: New file. + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strtok_r. + +2004-11-11 Simon Josefsson <jas@extundo.com> + + * m4/strtok_r.m4: New file. + + * m4/getopt.m4: Replace opterr. + +2004-11-11 Simon Josefsson <jas@extundo.com> + + * lib/strtok_r.h, strtok_r.c: New file. + +2004-11-11 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <stdlib.h> and <stdio.h>, and <unistd.h> 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 <jim@meyering.net> + + * 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 <jas@extundo.com> + + * m4/getaddrinfo.m4: New file. + +2004-11-10 Simon Josefsson <jas@extundo.com> + + * lib/getaddrinfo.h, lib/getaddrinfo.c: New files. + +2004-11-10 Simon Josefsson <jas@extundo.com> + + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + getaddrinfo. + + * modules/getaddrinfo: New file. + +2004-11-10 Paul Eggert <eggert@cs.ucla.edu> + + * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV. + +2004-11-10 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>. + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * modules/closeout (Depends-on): Remove fpending. + +2004-11-10 Jim Meyering <jim@meyering.net> + + * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING. + +2004-11-09 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <wchar.h>. + +2004-11-09 Paul Eggert <eggert@cs.ucla.edu> + + * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too. + +2004-11-09 Bruno Haible <bruno@clisp.org> + + * m4/sockpfaf.m4: New file. + +2004-11-05 Bruno Haible <bruno@clisp.org> + + * lib/readlink.c: Include stddef.h, needed for size_t on Woe32. + Reported by Mark D. Baushke <mdb@cvshome.org>. + +2004-11-04 Bruno Haible <bruno@clisp.org> + + 2004-09-11 Bruno Haible <bruno@clisp.org> + * allocsa.valgrind: New file. + 2004-02-06 Bruno Haible <bruno@clisp.org> + * 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 <chris.seip@hp.com>. + +2004-11-04 Bruno Haible <bruno@clisp.org> + + * modules/allocsa (Files): Add lib/allocsa.valgrind. + (Makefile.am): Distribute it. + +2004-11-03 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <china@thewrittenword.com> + Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris + 2.5.1. + +2004-11-02 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>, + if readlink fails with buffer size just under MAXSIZE, try again + with MAXSIZE. + +2004-11-02 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Add mktime.c; glibc bought all our changes. + +2004-11-02 Derek R. Price <derek@ximbiot.com> + and Paul Eggert <eggert@cs.ucla.edu> + + * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now. + (get_date): Overparenthesize to avoid GCC warning. + +2004-11-02 Bruno Haible <bruno@clisp.org> + + * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv() + returns void. + +2004-11-02 Bruno Haible <bruno@clisp.org> + + * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv() + function returns void. + +2004-11-01 Paul Eggert <eggert@cs.ucla.edu> + + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of + fflush_unlocked, flockfile, funlockfile, funlockfile, + fputs_unlocked, putc_unlocked. + +2004-11-01 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) + (funlockfile, fputs_unlocked, putc_unlocked): Don't define if + already declared. + +2004-10-29 Paul Eggert <eggert@cs.ucla.edu> + + * modules/getdate (Files): Add doc/getdate.texi. + (Depends-on): Add setenv, xalloc. + +2004-10-29 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <stdlib.h>, "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 <eggert@cs.ucla.edu> + + * doc/getdate.texi: New file, from coreutils with modifications for + the new TZ parsing. + +2004-10-27 Derek R. Price <derek@ximbiot.com> + + * lib/mktime.c (not_equal_tm): Remove redundant check. + +2004-10-24 Paul Eggert <eggert@cs.ucla.edu> + + * modules/regex (lib_SOURCES): Add regex.c. + Reported by James Youngman in + <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>. + +2004-10-24 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getdate.y: Use Bison 1.875 features, and some minor + code cleanups. This change does not affect semantics. + Don't include <stdlib.h>; 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 <eggert@cs.ucla.edu> + + * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>. + +2004-10-22 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> 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 <eggert@cs.ucla.edu> + + * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc. + +2004-10-17 Paul Eggert <eggert@cs.ucla.edu> + + * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was + missing. Problem reported by James Youngman. + +2004-10-16 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed. + +2004-10-15 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate + the portions belonging to each module. + Suggested by Derek Robert Price <derek@ximbiot.com>. + +2004-10-12 Simon Josefsson <jas@extundo.com> + + * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) + (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map + to real functions. + +2004-10-11 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * modules/vsnprintf: New file. + +2004-10-11 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * m4/vsnprintf.m4: New file. + +2004-10-11 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * lib/vsnprintf.h: New file. + * lib/vsnprintf.c: New file. + +2004-10-11 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (Support for systems lacking ISO C 99): Add + vsnprintf. + +2004-10-10 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only). + +2004-10-07 Bruno Haible <bruno@clisp.org> + + * lib/snprintf.c (snprintf): Avoid a memory allocation if the result + fits into the provided buffer. + +2004-10-06 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check + for the declaration of strsep. + +2004-10-05 Bruno Haible <bruno@clisp.org> + + * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP. + +2004-10-04 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/memmem.m4: New file. + +2004-10-04 Simon Josefsson <jas@extundo.com> + + * lib/memmem.h: New file. + * lib/memmem.c: New file, taken from glibc. + +2004-10-04 Simon Josefsson <jas@extundo.com> + + * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of + '#ifdef USE_UNLOCKED_IO'. + +2004-10-04 Simon Josefsson <jas@extundo.com> + + * config/srclist.txt: Add memmem from glibc. + +2004-10-04 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <bruno@clisp.org> + + * modules/README: New file. + * gnulib-tool (func_all_modules, func_verify_module): modules/README is + not a module. + +2004-10-02 Jim Meyering <jim@meyering.net> + + * lib/dirfd.h, getpagesize.h: Add copyright notice. + +2004-10-01 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * modules/strsep: New file. + +2004-10-01 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * m4/strsep.m4: New file. + +2004-10-01 Yoann Vandoorselaere <yoann@prelude-ids.org> + + * lib/strsep.h: New file. + * lib/strsep.c: New file. + +2004-10-01 Simon Josefsson <jas@extundo.com> + + * lib/snprintf.c (snprintf): Handle size==0. + +2004-10-01 Simon Josefsson <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>. + (snprintf): Declare 'args'. + +2004-10-01 Paul Eggert <eggert@cs.ucla.edu> + + * lib/snprintf.c: Remove comments as to why each header is needed. + +2004-10-01 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh: Add strsep. + +2004-09-30 Simon Josefsson <jas@extundo.com> + + * modules/snprintf: New file. + +2004-09-30 Simon Josefsson <jas@extundo.com> + + * m4/snprintf.m4: New file. + +2004-09-30 Simon Josefsson <jas@extundo.com> + + * lib/snprintf.h, lib/snprintf.c: New files. + +2004-09-30 Sergey Poznyakoff <gray@Mirddin.farlep.net> + + * 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 <eggert@cs.ucla.edu> + + * modules/argp (Maintainer): Replace Simon Josefsson + by Sergey Poznyakoff. + +2004-09-30 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Comment-out argp/argp.h, until we get the argp + changes merged back into glibc. + +2004-09-30 Paul Eggert <eggert@cs.ucla.edu> + + * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf. + +2004-09-29 Oskar Liljeblad <oskar@osk.mine.nu> + + * lib/xvasprintf.c: Include xalloc.h. + (xvasprintf): Use xalloc_die, not xmalloc_die. + +2004-09-29 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * modules/dummy: Change license to LGPL. + +2004-09-28 Paul Eggert <eggert@cs.ucla.edu> + + * lib/dummy.c: Change copyright notice to FSF, and license to GPL. + +2004-09-24 Simon Josefsson <jas@extundo.com> + + * modules/minmax (License): Change from GPL to LGPL. + +2004-09-23 Simon Josefsson <jas@extundo.com> + + * gnulib-tool (--import): Typo. + +2004-09-23 Simon Josefsson <jas@extundo.com> + + * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default. + +2004-09-22 Bruno Haible <bruno@clisp.org> + + * modules/*: Add 'License' field. + * gnulib-tool: Accept --extract-license option. + (func_get_license): New function. + +2004-09-21 Bruno Haible <bruno@clisp.org> + + * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4. + Reported by Simon Josefsson. + +2004-09-20 Paul Eggert <eggert@cs.ucla.edu> + + * modules/inttostr (Files): Add m4/longlong.m4, since it uses + gl_AC_TYPE_LONG_LONG. + +2004-09-20 Paul Eggert <eggert@cs.ucla.edu> + + * config/srclist.txt: Add getsubopt.c, since libc bought our changes. + +2004-09-18 Simon Josefsson <jas@extundo.com> + and Paul Eggert <eggert@cs.ucla.edu> + + * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal + calls with autoreconf. Define GL_LIB. + +2004-09-14 Karl Berry <karl@gnu.org> + + * config/srclist.txt: unsync setenv.c, sigh. + +2004-09-13 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Comment out argp-pvh.c. + +2004-09-11 Paul Eggert <eggert@cs.ucla.edu> + + * 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 + <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>. + +2004-09-09 Karl Berry <karl@gnu.org> + + * 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 <bruno@clisp.org> + + * modules/vasnprintf (Files): Add m4/eoverflow.m4. + +2004-09-09 Bruno Haible <bruno@clisp.org> + + * 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 <oskar@osk.mine.nu> + + * modules/xvasprintf: New file. + * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf. + +2004-09-08 Oskar Liljeblad <oskar@osk.mine.nu> + + * lib/xvasprintf.h: New file. + * lib/xvasprintf.c: New file. + * lib/xasprintf.c: New file. + +2004-09-08 Bruno Haible <bruno@clisp.org> + + * m4/stdint.m4: New file, taken from GNU clisp with modifications. + +2004-09-08 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/stdint_.h: New file, taken from GNU clisp. + +2004-09-08 Bruno Haible <bruno@clisp.org> + Oskar Liljeblad <oskar@osk.mine.nu> + + * modules/stdint: New file. + * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint. + +2004-08-19 Paul Eggert <eggert@cs.ucla.edu> + + Import from coreutils. + * lib/userspec.c: Don't use <alloca.h>, 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 + <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html> + (parse_user_spec): Rewrite to use parse_with_separator. + +2004-08-19 Paul Eggert <eggert@cs.ucla.edu> + + * modules/userspec: Don't depend on alloca. + +2004-08-19 Paul Eggert <eggert@cs.ucla.edu> + + * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA. + +2004-08-17 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jas@extundo.com> + + * gnulib-tool: Use sed instead of autoconf --trace, inspired by + libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>. + Add --dry-run for --import. + Let user provided command line parameters override configure.ac + settings. + +2004-08-12 Simon Josefsson <jas@extundo.com> + + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro, + as discussed with Paul Eggert in threads rooted at + <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html> + and + <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>. + 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 <jas@extundo.com> + + * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack. + * lib/getopt_.h: Renamed from getopt.h. + +2004-08-12 Simon Josefsson <jas@extundo.com> + + * 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 <getopt.h> instead of "getopt.h". + +2004-08-12 Paul Eggert <eggert@cs.ucla.edu> + + * modules/argp (Files): Add m4/unlocked-io.m4. + (Depends-on): Add extensions. + +2004-08-12 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of + its complicated substitute. + * lib/argp-help.c: Include <errno.h>, 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 <eggert@cs.ucla.edu> + + * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h), + getopt1.c. + +2004-08-11 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <inttypes.h> and <stdint.h> if available. + (union fooround): Use uintmax_t, not long int. + The rest is a merge from libc: + [defined _LIBC]: Include <shlib-compat.h>. + (_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 <eggert@cs.ucla.edu> + + * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, + m4/uintmax_t.m4. + +2004-08-09 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 + <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>. + + * 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 <jas@extundo.com> + + * 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 <jas@extundo.com> + + * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): + Check getpass declaration. + +2004-08-08 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu> + + * 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 <sys/types.h>. + Include <stddef.h> rather than <stdlib.h>. + +2004-08-08 Bruno Haible <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/progname (Depends-on): Don't depend on stdbool. + +2004-08-06 Simon Josefsson <jas@extundo.com> + + * modules/getsubopt: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + getsubopt. + +2004-08-06 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <time.h> 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 <eggert@cs.ucla.edu> + + 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 <jas@extundo.com> + + * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it. + +2004-08-05 Simon Josefsson <jas@extundo.com> + + * m4/getsubopt.m4: New file. + +2004-08-05 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + + 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 <stdbool.h>. + (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 <stdbool.h> + (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 <eggert@cs.ucla.edu> + + 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 <jas@extundo.com> + + * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined. + * lib/progname.h: Don't include stdbool.h. + +2004-08-03 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working. + +2004-08-03 Paul Eggert <eggert@cs.ucla.edu> + + * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or + working. + +2004-08-02 Simon Josefsson <jas@extundo.com> + + * 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 <eggert@cs.ucla.edu>. + +2004-08-01 Simon Josefsson <jas@extundo.com> + + * lib/xgetdomainname.c: Include stdlib.h, for free(). + +2004-07-19 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (func_all_modules): Add dummy. + +2004-07-16 Simon Josefsson <jas@extundo.com> + + * modules/dummy: New file. + +2004-07-16 Simon Josefsson <jas@extundo.com> + + * lib/dummy.c: New file. + +2004-07-16 Bruno Haible <bruno@clisp.org> + + * 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 <china@thewrittenword.com>. + +2004-07-13 Robert Millan <robertmh@gnu.org> + + * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g. + +2004-07-09 Simon Josefsson <jas@extundo.com> + + * lib/getndelim2.c: Include stddef.h, for ptrdiff_t. (FreeBSD 4.9 + failed without this.) + +2004-07-09 Paul Eggert <eggert@cs.ucla.edu> + + * modules/chown (Files): Add lib/fchown-stub.c, since + gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub). + +2004-07-09 Paul Eggert <eggert@cs.ucla.edu> + + * lib/fchown-stub.c: New file. + +2004-06-24 Jim Meyering <jim@meyering.net> + + * lib/obstack.h (obstack_base): Cast to (void *), per documentation. + +2004-06-22 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/argz.m4: New file, which is autoupdated from libtool. + +2004-06-22 Paul Eggert <eggert@cs.ucla.edu> + + * lib/argz.c, lib/argz_.h: New files, which are autoupdated from + libtool. + +2004-06-22 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <gary@gnu.org> + + * modules/argz: New file. + * MODULES.html.sh (func_all_modules): Add argz. + +2004-06-12 Jim Meyering <jim@meyering.net> + and Paul Eggert <eggert@cs.ucla.edu> + + * 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 <jim@meyering.net> + + * lib/calloc.c: New file. + +2004-06-06 Paul Eggert <eggert@cs.ucla.edu> + + * lib/getdate.y (yylex): Allow space between sign and number. + Problem reported by Dan Jacobson. + +2004-06-01 Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@cs.ucla.edu> + and Jim Meyering <jim@meyering.net> + + 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 <stddef.h>, 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 <jim@meyering.net> + + * m4/calloc.m4: New file. + +2004-05-31 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC + or AC_FUNC_REALLOC. + +2004-05-30 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <schwab@suse.de> + + * m4/free.m4: Replace free if it not known to work, not the other + way round. + +2004-05-19 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <karl@gnu.org> + + * config/srclist.txt: break link for vasnprintf.c. + +2004-05-17 Paul Eggert <eggert@cs.ucla.edu> + + 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 + <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>. + + * 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 <stddef.h>, 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 <eggert@cs.ucla.edu> + + * 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 <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * m4/argp: Depend on alloca. + +2004-05-17 Derek R. Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than + freecoding. + +2004-05-17 Bruno Haible <bruno@clisp.org> + + * 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 <tml@iki.fi>. + +2004-05-16 Paul Eggert <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + Derek Price <derek@ximbiot.com> + + * lib/alloca.c: Include <alloca.h>, to get our interface. + * lib/alloca_.h: Use __alloca on AIX, so that we don't have to + include <alloca.h> first. Use C89 prototype for alloca; this + requires including <stddef.h> 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 <alloca.h> instead of opencoding. + * lib/regex.c: Likewise. + +2004-05-16 Derek Price <derek@ximbiot.com> + Paul Eggert <eggert@cs.ucla.edu> + + 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 <limits.h>, <inttypes.h>, <stdint.h> + 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 <eggert@cs.ucla.edu> + + * 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 <eggert@cs.ucla.edu> + + * 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 <unistd.h>, 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 <jim@meyering.net> + + 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 <eggert@cs.ucla.edu> + + * lib/obstack.c, obstack.h: Import changes from libc. + +2004-04-28 Bruno Haible <bruno@clisp.org> + + * 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 <derek@ximbiot.com>. + +2004-04-21 Karl Berry <karl@gnu.org> + + * config/srclist.txt (localcharset.c): break sync. + +2004-04-20 Paul Eggert <eggert@twinsun.com> + + * m4/host-os.m4: Add a copyright notice. + +2004-04-20 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak + memory. + +2004-04-20 Jim Meyering <jim@meyering.net> + Bruno Haible <bruno@clisp.org> + + * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak + memory when realloc fails. + +2004-04-19 Jim Meyering <jim@meyering.net> + + * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, + now that readutmp.c may call `free (0)'. + +2004-04-19 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <eggert@twinsun.com> + + * lib/inttostr.h: Include <limits.h> unconditionally, since we assume + C89. + (CHAR_BIT): Remove, since we assume C89. + Include <stdint.h> if available, as per current Autoconf CVS advice. + +2004-03-31 Jim Meyering <jim@meyering.net> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * 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 <time.h> 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 <limits.h>. + (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 <jim@meyering.net> + + 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 <grp.h> before it. + Reported by Christian Krackowizer. + +2004-03-30 Jim Meyering <jim@meyering.net> + + 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 <stdbool.h>. + (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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * lib/getloadavg.c (getloadavg): Don't assume setlocale returns + nonnull. + +2004-03-29 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * m4/cloexec.m4: New file. + +2004-03-18 Paul Eggert <eggert@twinsun.com> + + * lib/getopt.h: Sync with libc CVS. + +2004-03-18 Paul Eggert <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares + mbswidth. + +2004-03-18 Paul Eggert <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + * lib/mbswidth.h: Include <wchar.h> only if + HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have + <wchar.h>. + * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>. + +2004-03-09 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 + <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>. + +2004-03-07 Paul Eggert <eggert@twinsun.com> + + * 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 + <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>. + +2004-02-25 Simon Josefsson <jas@extundo.com> + + * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared. + +2004-02-25 Simon Josefsson <jas@extundo.com> + + * 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 <karl@gnu.org> + + * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files + (from fencepost.gnu.org:/gd/gnuorg). + +2004-02-23 Karl Berry <karl@gnu.org> + + * config/srclistvars.sh (GNUORG) [karl]: redefine. + * config/srclist.txt: add maintain/standards documents. + +2004-02-18 Bruno Haible <bruno@clisp.org> + + * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE. + Reported by Derek Robert Price <derek@ximbiot.com>. + +2004-02-16 Karl Berry <karl@gnu.org> + + * config/mkinstalldirs, install-sh: update from automake. + +2004-02-06 Karl Berry <karl@gnu.org> + + * m4/po.m4: update from gettext 0.14.1. + +2004-02-06 Karl Berry <karl@gnu.org> + + * lib/config.charset: update from gettext 0.14.1. + +2004-02-05 Paul Eggert <eggert@twinsun.com> + + 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 <bruno@clisp.org> + + * m4/pipe.m4: New file, from GNU gettext. + +2004-02-03 Bruno Haible <bruno@clisp.org> + + * lib/pipe.h: New file, from GNU gettext. + * lib/pipe.c: New file, from GNU gettext. + +2004-01-27 Bruno Haible <bruno@clisp.org> + + * m4/execute.m4: New file, from GNU gettext. + +2004-01-27 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <jim@meyering.net> + + * 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 <karl@gnu.org> + + * config/config.guess: update from config. + + * config/srclistvars.sh: GNUWWWLICENSES for karl. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * m4/eealloc.m4: New file, from GNU gettext. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * m4/allocsa.m4: New file, from GNU gettext. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * lib/xallocsa.h: New file, from GNU gettext. + * lib/xallocsa.c: New file, from GNU gettext. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.c: On Windows, include windows.h. Needed on mingw. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid() + patch. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * lib/eealloc.h: New file. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * lib/binary-io.h: Avoid warnings on Cygwin. + +2004-01-20 Bruno Haible <bruno@clisp.org> + + * lib/allocsa.h: New file, from GNU gettext. + * lib/allocsa.c: New file, from GNU gettext. + +2004-01-18 Karl Berry <karl@gnu.org> + + * doc/gpl.texi, doc/lgpl.texi: new files. + +2004-01-18 Karl Berry <karl@gnu.org> + + * config/srclistvars.sh (GNUWWWLICENSES): new variable. + * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there. + +2004-01-15 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + Merge from coreutils. + + * lib/posixver.c: Include posixver.h. + + * lib/same.c: Include <stdbool.h>, <limits.h>. + (_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 <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <adl@gnu.org> + + 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 <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * config/install-sh: update from automake. + +2004-01-13 Karl Berry <karl@gnu.org> + + * config/install-sh: update from automake. + +2004-01-09 Karl Berry <karl@gnu.org> + + * config/install-sh: update from automake. + +2004-01-05 Karl Berry <karl@gnu.org> + + * config/config.{sub,guess}: update from config. + +2003-12-31 Karl Berry <karl@gnu.org> + + * config/depcomp: update from automake. + +2003-12-14 Karl Berry <karl@gnu.org> + + * lib/config.charset: update from gettext-runtime. + +2003-12-03 Paul Eggert <eggert@twinsun.com> + + * lib/getgroups.c (getgroups): xmalloc takes one argument, not two. + Bug reported by Alfred M. Szmidt. + +2003-12-03 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc. + +2003-11-25 Paul Eggert <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/vasnprintf (Files): Remove m4/ssize_t.m4. + +2003-11-25 Bruno Haible <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require + gt_TYPE_SSIZE_T. + +2003-11-24 Paul Eggert <eggert@twinsun.com> + + * modules/alloca: Remove dependency on xalloc. + +2003-11-24 Paul Eggert <eggert@twinsun.com> + + * 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 <jim@meyering.net> + + * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments: + s/size/size_t/. + +2003-11-21 Karl Berry <karl@gnu.org> + + * config/config.{sub,guess}: update from config. + +2003-11-18 Karl Berry <karl@gnu.org> + + * config/config.{sub,guess}: update from config. + + * config/(printf-{parse,args}.[ch]): sync broken, sigh. + +2003-11-17 Paul Eggert <eggert@twinsun.com> + + * 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 <jim@meyering.net> + + 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 <unistd.h> and <errno.h>. + (utime_null): Be sure to close `fd' and to preserve errno. + Reported by Geoff Collyer via Arnold Robbins. + +2003-11-17 Bruno Haible <bruno@clisp.org> + + * modules/vasnprintf (Files): Add m4/ssize_t.m4. + (Depends-on): Add xsize. + +2003-11-17 Bruno Haible <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T. + +2003-11-17 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + 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 <alloca.h> 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 <bruno@clisp.org> + + * lib/xsize.h (xmax): New function. + (xsum, xsum3, xsum4): Declare as "pure" functions. + +2003-11-12 Paul Eggert <eggert@twinsun.com> + + * modules/xalloc (Files): Undo latest change, since xalloc.h + no longer needs SIZE_MAX or PTRDIFF_MAX. + +2003-11-12 Paul Eggert <eggert@twinsun.com> + + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or + gl_PTRDIFF_MAX. + +2003-11-12 Paul Eggert <eggert@twinsun.com> + + * lib/xstrtol.c (__xstrtol): Remove "break" immediately after + "return", to pacify some unknown compiler. Problem reported + by Joerg Schilling. + +2003-11-12 Paul Eggert <eggert@twinsun.com> + + * lib/xalloc.h: Do not include <limits.h> or <stdint.h>. + (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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * config/mkinstalldirs, depcomp, mdate-sh: update from automake. + +2003-11-06 Paul Eggert <eggert@twinsun.com> + + * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>. + (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 <bruno@clisp.org> + + * lib/xsize.h: Include limits.h, to avoid a possible collision with + SIZE_MAX defined in <limits.h> on Solaris. + +2003-11-04 Jim Meyering <jim@meyering.net> + + * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd + variable names, rather than @VAR@. + * modules/poll: Likewise. + +2003-11-04 Bruno Haible <bruno@clisp.org> + + * modules/xsize: New file. + * modules/linebreak: Depend on xsize. + * MODULES.html.sh (func_all_modules): Add xsize. + +2003-11-04 Bruno Haible <bruno@clisp.org> + + * m4/xsize.m4: New file. + +2003-11-04 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * config/config.{guess,sub}: update from config. + +2003-11-03 Jim Meyering <jim@meyering.net> + + * modules/userspec (lib_SOURCES): Add userspec.h. + (Include): Add "userspec.h". + Improve description. + +2003-11-03 Jim Meyering <jim@meyering.net> + + * lib/userspec.c: Include "userspec.h". + * lib/userspec.h: New file. + +2003-11-03 Bruno Haible <bruno@clisp.org> + + * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid. + +2003-11-03 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * config/srclist.txt (vasprintf.c): sync broken, sigh. + +2003-10-31 Paul Eggert <eggert@twinsun.com> + + * 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 <jim@meyering.net> + + * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized. + + * lib/linebuffer.c: Include <string.h> for declaration of memset. + +2003-10-30 Paul Eggert <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + * lib/vasprintf.c: Include <limits.h>, <stdlib.h>. + (vasprintf): Fail if the resulting length doesn't fit in an 'int'. + +2003-10-30 Paul Eggert <eggert@cs.ucla.edu> + + * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to + netbsd*-gnu*. Suggested by Robert Millan. + +2003-10-29 Paul Eggert <eggert@twinsun.com> + + * modules/group-member: Depend on stdbool. + +2003-10-29 Paul Eggert <eggert@twinsun.com> + + * m4/xalloc.m4 (gl_XALLOC): Undo previous change. + +2003-10-29 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/xalloc.h (xalloc_oversized): Now a macro, not a function, + so that it works even if SIZE_MAX < N. Do not include <stdbool.h>; + no longer needed. + * lib/quotearg.c (quotearg_n_options): Use it. + * lib/group-member.c: Include <stdbool.h>. + (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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <bruno@clisp.org> + + * lib/stdbool_.h: Better support for BeOS. + +2003-10-26 Paul Eggert <eggert@twinsun.com> + + * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h + now uses inline. + +2003-10-26 Paul Eggert <eggert@twinsun.com> + + * lib/xalloc.h (xalloc_oversized): New static inline function, for + callers that want to do their own size-overflow checking. Include + <stdbool.h>, 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 <karl@gnu.org> + + * config/srclist.txt (COPYING.DOC): no longer available from + /gd/gnuorg; don't know where the ultimate source is. + +2003-10-25 Paul Eggert <eggert@twinsun.com> + + Fix several address-calculation bugs in the hash modules, + plus some minor code cleanup. + + * lib/hash.h: Include <stdbool.h>, for bool. + * lib/hash.c: Don't include <stdbool.h>, 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 <stddef.h>, for size_t. + * lib/hash-pjw.c (hash_pjw): Likewise. + Switch to method described by Bruno Haible. + Include <limits.h>, for CHAR_BIT. + (SIZE_BITS): New macro. + +2003-10-23 Paul Eggert <eggert@twinsun.com> + + * 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 + <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>. + This patch can be withdrawn after Autoconf 2.58 is required for gnulib. + * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise. + +2003-10-21 Paul Eggert <eggert@twinsun.com> + + * 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 <obstack.h>, 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 <libio/iolibio.h>. + + * 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 <bruno@clisp.org> + + * modules/wait-process: New file. + * MODULES.html.sh (func_all_modules): Add wait-process. + +2003-10-20 Bruno Haible <bruno@clisp.org> + + * m4/wait-process.m4: New file. + +2003-10-20 Bruno Haible <bruno@clisp.org> + + * lib/wait-process.h: New file, from GNU gettext. + * lib/wait-process.c: New file, from GNU gettext. + +2003-10-19 Jim Meyering <jim@meyering.net> + + * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on + HPUX 10.20. + +2003-10-18 Karl Berry <karl@gnu.org> + + * config/config.guess: update from config. + +2003-10-16 Paul Eggert <eggert@twinsun.com> + + * lib/getgroups.c: Include <errno.h>, <stdlib.h>. + (getgroups): First arg is int, not size_t. + Don't let 'free' mangle errno. + +2003-10-16 Paul Eggert <eggert@twinsun.com> + + * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL. + +2003-10-16 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from config. + +2003-10-16 Jim Meyering <jim@meyering.net> + + * lib/xmalloc.c: Include <string.h>, for declarations of memset and + memcpy. + +2003-10-15 Paul Eggert <eggert@twinsun.com> + + * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>. + (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 <eggert@twinsun.com> + + 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 <bruno@clisp.org> + + * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list. + +2003-10-14 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + * modules/xalloc: Do not depend on 'exit'. Depend on 'stdbool'. + Change maintainer from Bruno Haible to 'all'. + +2003-10-12 Paul Eggert <eggert@twinsun.com> + + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE. + +2003-10-12 Paul Eggert <eggert@twinsun.com> + + * 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 <jas@extundo.com> + + * modules/argp (Depends-on): Add restrict and strcase. + +2003-10-10 Simon Josefsson <jas@extundo.com> + + * m4/argp.m4: Add AC_C_INLINE. + +2003-10-08 Paul Eggert <eggert@twinsun.com> + + Merge getpass from libc, plus a few fixes. + + * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1. + Include <stdbool.h>. + Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define + __fsetlocking to empty. + [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but + do include <bits/libc-lock.h>. + Do not include <fcntl.h>; not needed. + [_LIBC]: Include <wchar.h>. + (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 <stdio.h>, so that the caller + doesn't have to include <stdio.h> 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 <eggert@twinsun.com> + + * modules/getpass: Depend on stdbool. + +2003-10-08 Paul Eggert <eggert@twinsun.com> + + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. + +2003-10-07 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from config. + +2003-10-06 Jim Meyering <jim@meyering.net> + Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/version-etc-2: Remove file. + * MODULES.html.sh (func_all_modules): Remove version-etc-2. + +2003-10-06 Bruno Haible <bruno@clisp.org> + + * modules/fatal-signal: New file. + * MODULES.html.sh (func_all_modules): Add fatal-signal. + +2003-10-06 Bruno Haible <bruno@clisp.org> + + * m4/fatal-signal.m4: New file. + * m4/signalblocking.m4: New file, from GNU gettext. + +2003-10-06 Bruno Haible <bruno@clisp.org> + + * lib/version-etc-2.h: Remove file. + * lib/version-etc-2.c: Remove file. + +2003-10-06 Bruno Haible <bruno@clisp.org> + + * lib/fatal-signal.h: New file, from GNU gettext. + * lib/fatal-signal.c: New file, from GNU gettext. + +2003-10-05 Paul Eggert <eggert@twinsun.com> + + * README: Rework advice for preventing empty .o files. + Don't recommend ELIDE constructs. Recommend <stddef.h>, + not <sys/types.h>. + +2003-10-04 Karl Berry <karl@gnu.org> + + * lib/argp*: update from libc. + +2003-10-04 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from config. + +2003-10-02 Bruno Haible <bruno@clisp.org> + + * modules/lchown (Include): Add lchown.h. + * modules/time_r (Include): Use "..." syntax. + * modules/xgetdomainname (Include): Add xgetdomainname.h. + +2003-10-01 Simon Josefsson <jas@extundo.com> + + * MODULES.html.sh (func_all_modules): Move gethostname from section + 'based on' to section 'lacking' POSIX:2001. + +2003-10-01 Larry Jones <lawrence.jones@eds.com> + + * 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 <eggert@twinsun.com> + + * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]: + Fix arg typo in previous patch. + +2003-09-28 Jim Meyering <jim@meyering.net> + + * lib/error.c: Correct cpp indentation. + +2003-09-27 Paul Eggert <eggert@twinsun.com> + + * modules/free: New file. + +2003-09-27 Paul Eggert <eggert@twinsun.com> + + * m4/free.m4: New file. + +2003-09-27 Paul Eggert <eggert@twinsun.com> + + * 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 <oskar@osk.mine.nu> + + 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 <karl@gnu.org> + + * config/mkinstalldirs: update from automake. + +2003-09-26 Paul Eggert <eggert@twinsun.com> + + * 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 <errno.h>, <bits/libc-lock.h>. + (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 <jim@meyering.net> + + * lib/error.c (error_tail): Move some declarations + into inner scope where the local variables are used. + +2003-09-26 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * lib/xgetdomainname.h: New file. + * lib/xgetdomainname.c: New file. + +2003-09-25 Simon Josefsson <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + * modules/getdomainname: New file. + * modules/xgetdomainname: New file. + * MODULES.html.sh (func_all_modules): Add getdomainname, + xgetdomainname. + +2003-09-25 Simon Josefsson <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + * m4/getdomainname.m4: New file. + +2003-09-25 Simon Josefsson <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + * lib/getdomainname.h: New file. + * lib/getdomainname.c: New file. + +2003-09-25 Karl Berry <karl@gnu.org> + + * lib/argp-fmtstream.c, argp-help.c: update from libc. + +2003-09-25 Karl Berry <karl@gnu.org> + + * config/install-sh: update from automake. + +2003-09-25 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jas@extundo.com> + + * modules/xgethostname: Add xgethostname.h. + +2003-09-24 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * lib/argp.h: update from libc. + +2003-09-17 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <bruno@clisp.org> + + * gnulib-tool (func_create_testdir): Warn about duplicated + dependencies. + +2003-09-15 Paul Eggert <eggert@twinsun.com> + + * modules/argmatch, modules/fatal, modules/obstack, + modules/xalloc, modules/xgethostname: Sort dependencies by + importance, not alphabetically. + +2003-09-15 Paul Eggert <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * config/srclist.txt (strdup.c): disable for c89 changes. + +2003-09-14 Jim Meyering <jim@meyering.net> + + * lib/getloadavg.c: Correct cpp indentation. + * lib/strdup.c: Likewise. + * lib/vasnprintf.c: Likewise. + +2003-09-14 Bruno Haible <bruno@clisp.org> + + * modules/fwriteerror: New file. + * MODULES.html.sh (func_all_modules): Add fwriteerror. + +2003-09-14 Bruno Haible <bruno@clisp.org> + + * lib/fwriteerror.h: New file. + * lib/fwriteerror.c: New file. + +2003-09-12 Paul Eggert <eggert@twinsun.com> + + * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack, + modules/xgethostname, modules/xalloc: Depend on exit. + +2003-09-12 Paul Eggert <eggert@twinsun.com> + + * 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 <string.h>, <stdlib.h> + unconditionally. + * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h. + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): + Include <string.h>, <stdlib.h> 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 <eggert@twinsun.com> + + * 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 <string.h> or <sys/types.h>; not + needed. + * lib/strdup.c: Include <stdlib.h>, <string.h> 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 <limits.h>, <stddef.h>, <stdlib.h>, <string.h> 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 <float.h>, <stdlib.h>, <string.h> + unconditionally. + (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls. + * lib/strtoimax.c: Include <stdlib.h> unconditionally. + (strtoul, strtol): Remove decls. + * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX, + LONG_MAX): Remove. + Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> 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 <string.h> unconditionally. + * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally. + * lib/xgethostname.c (main): Define with a prototype. + * lib/xmalloc.c: Include "xalloc.h" first, to check interface. + Include <stdlib.h> unconditionally. + (calloc, malloc, realloc, free): Remove decls. + * lib/xstrtod.c: Include "xstrtod.h" first, to check interface. + Include <stdlib.h> unconditionally. Sort include file names. + (strtod): Remove. + (xstrtod): Define with a prototype. + * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally. + (strtol, strtoul): Remove decls. + +2003-09-11 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>. + Include <stdlib.h>, <string.h> unconditionally. + Remove now-unnecessary cast to char *. + * lib/strnlen.c: Include <string.h> unconditionally. + * lib/yesno.c (yesno): Define with a prototype. + +2003-09-11 Bruno Haible <bruno@clisp.org> + + * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment. + +2003-09-10 Jim Meyering <jim@meyering.net> + + * lib/error.c: Correct indentation of cpp directives. + +2003-09-10 Bruno Haible <bruno@clisp.org> + + * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check. + * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check. + * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check. + * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check. + * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove + <stdlib.h> and <string.h> checks. + * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check. + * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check. + +2003-09-10 Bruno Haible <bruno@clisp.org> + + * lib/strcspn.c: Include <string.h> unconditionally. + * lib/strpbrk.c: Include <string.h> unconditionally. + * lib/strstr.c: Include <string.h> unconditionally. + * lib/unicodeio.c: Include <string.h> unconditionally. + * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally. + * lib/unsetenv.c: Likewise. + * lib/xreadlink.c: Include <stdlib.h> unconditionally. + * lib/yesno.c: Include <stdlib.h> unconditionally. + (rpmatch): Add prototype. + +2003-09-09 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <string.h> 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 <string.h> unconditionally. + + * lib/getusershell.c: Include <stdlib.h> unconditionally. + (getusershell, setusershell, endusershell, readname, main): + Define with prototypes. + + * lib/group-member.c: Include group-member.h first. + Include <stdlib.h> unconditionally. + + * lib/hard-locale.c: Include hard-locale.h first. + Include <stdlib.h>, <string.h> unconditionally. + + * lib/hash.c (free, malloc): Remove decls. + Include <stdlib.h> unconditionally. + + * lib/human.c: Include <stdlib.h>, <string.h> unconditionally. + (getenv): Do not declare. + + * lib/idcache.c: Include <string.h> unconditionally. + + * lib/long-options.c: Include long-options.h first, to test interface. + Include <stdlib.h> unconditionally. + + * lib/makepath.c: Include makepath.h first, to test interface. + Include <stdlib.h> and <string.h> unconditionally. + + * lib/linebuffer.c: Include <stdlib.h>. + (free): Remove decl. + + * lib/malloc.c: Include <stdlib.h>, 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 <limits.h> 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 <stdlib.h>, <string.h> 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 <string.h> unconditionally. + * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally. + * lib/memchr.c: Include <stdlib.h> 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 <stddef.h>. + Use types required by C89 in prototype. + + * lib/mkdir.c: Include <stdlib.h>, <string.h> 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 <stdlib.h>, <string.h> unconditionally. + + * lib/modechange.c: Include <stdlib.h> unconditionally. + (malloc): Remove decl. + + * lib/mountlist.c: Include <stdlib.h>, <string.h> 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 <string.h> 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 <stdlib.h> 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 <stdlib.h>, <string.h> unconditionally. + + * lib/physmem.c (physmem_total, physmem_available, main): Define + with prototypes. + + * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally. + (main): Define with a prototype. + + * lib/posixver.c (getenv): Remove decl. + + * lib/putenv.c (malloc): Returns void *, not char *. + Include <string.h> unconditionally. + (strchr, memcpy, NULL): Do not define. + + * lib/readtokens.c: Include readtokens.h first, to test interface. + Include <stdlib.h>, <string.h> unconditionally. + (init_tokenbuffer): Define with a prototype. + + * lib/regex.c (PARAMS): Remove. All uses removed. + All uses of _RE_ARGS removed, too. + Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h> + 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 <stdlib.h>, <string.h> unconditionally. + (free): Remove decl. + + * lib/rpmatch.c: Include <stdlib.h> unconditionally. + + * lib/same.c: Include <stdlib.h>, <string.h> unconditionally. + (free): Remove decl. + + * lib/save-cwd.c: Include <stdlib.h> unconditionally. + * lib/xgetcwd.c: Likewise. + + * lib/stat.c: Include <stdlib.h>, <string.h> 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 <sys/types.h>, 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 <eggert@twinsun.com> + + * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from + libc. + +2003-09-09 Paul Eggert <eggert@twinsun.com> + + * README: New section: portability guidelines. + +2003-09-09 Derek Robert Price <derek@ximbiot.com> + + * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the + C89 spec. + +2003-09-09 Derek Robert Price <derek@ximbiot.com> + + * lib/getndelim2.c: Assume stdlib.h per the C89 spec. + +2003-09-08 Paul Eggert <eggert@twinsun.com> + + Assume C89 or better; remove K&R cruft. + A few of these changes were first proposed by Derek Robert Price + in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>. + + * lib/addext.c: Include <string.h> unconditionally. + * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally. + Don't declare getenv or malloc. + + * lib/alloca.c: Include <string.h>, <stdlib.h> 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 <string.h> unconditionally. + + * lib/bcopy.c: Include <stddef.h>. + (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. + + * lib/canon-host.c: Include <stdlib.h>, <string.h> 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 <stdarg.h>, <stdlib.h>, <string.h> unconditionally. + (VA_START): Remove; all uses changeed to va_start. + (exit, strerror): Remove decls. + (error_print_progname): Prototype uncondionally. + Don't include <errno.h>; 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 <stdarg.h>, <stdlib.h>, <string.h> 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 <stdlib.h>, <string.h> unconditionally. + + * lib/exitfail.c: Include <stdlib.h> unconditionally. + + * lib/fnmatch_.h (__P): Remove. All uses changed to assume + prototypes. + * lib/fnmatch.c: Include fnmatch.h first, to test interface. + Include <string.h>, <stddef.h>, <stdlib.h> 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 <stdlib.h>, <string.h> unconditionally. + + * lib/gethostname.c: Include <stddef.h>. + (gethostname): Define with prototype. Length is size_t, not int. + +2003-09-08 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * 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 <sys/stat.h>, <fcntl.h>. + (utime_null): Fix typo: 'st' was sometimes called 'sb'. + +2003-09-08 Karl Berry <karl@gnu.org> + + * 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 <eggert@twinsun.com> + + * modules/time_r: Depend on 'restrict'. Fix from Simon Josefsson in + <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>. + +2003-09-07 Paul Eggert <eggert@twinsun.com> + + * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to + copy_tm_result. Bug reported by Simon Josefsson in + <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>. + +2003-09-06 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <time_r.h>. + (__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 <time_r.h>. + + * lib/timegm.c: Switch to glibc implementation, with the following + changes: + [defined HAVE_CONFIG_H]: Include <config.h>. + [!defined _LIBC]: Include "timegm.h" rather than <time.h>. + (__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 <time.h>" out of #ifdef. + (timegm): Declare only if HAVE_DECL_TIMEGM. + +2003-09-06 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k. + Bug reported by Lute Kamstra in + <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>. + + * 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 <jas@extundo.com> + + * modules/timegm: New file. + * MODULES.html.sh (func_all_modules): Add timegm. + +2003-08-31 Simon Josefsson <jas@extundo.com> + + * m4/timegm.m4: New file. + +2003-08-31 Simon Josefsson <jas@extundo.com> + + * 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 <karl@gnu.org> + + * lib/argp.h: update from libc. + +2003-08-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when + MSVC7 <stdio.h> is included later. + +2003-08-22 Simon Josefsson <jas@extundo.com> + + * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES. + +2003-08-20 Karl Berry <karl@gnu.org> + + * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial. + +2003-08-20 Bruno Haible <bruno@clisp.org> + + * modules/progname: New file. + * MODULES.html.sh (func_all_modules): Add progname. + +2003-08-20 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any + more. + +2003-08-19 Bruno Haible <bruno@clisp.org> + + * lib/xstrdup.c: Assume <string.h> exists. + +2003-08-18 Paul Eggert <eggert@twinsun.com> + + * modules/stdbool: Add BUILT_SOURCES. Prefer $@ to target name + in makefile rules. + +2003-08-18 Jim Meyering <jim@meyering.net> + + * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB). + * m4/lib-ld.m4: Likewise. + +2003-08-18 Jim Meyering <jim@meyering.net> + + * lib/setenv.h: Indent nested cpp directive. + * lib/vasnprintf.c: Remove trailing blanks. + +2003-08-17 Simon Josefsson <jas@extundo.com> + + * modules/xstrndup: New file. + * MODULES.html.sh (func_all_modules): Add xstrndup. + +2003-08-17 Simon Josefsson <jas@extundo.com> + + * modules/argp: Fix autoconf macro name. Add more dependencies. + +2003-08-17 Simon Josefsson <jas@extundo.com> + + * m4/xstrndup.m4: New file. + +2003-08-17 Simon Josefsson <jas@extundo.com> + + * m4/argp.m4: New file. + +2003-08-17 Simon Josefsson <jas@extundo.com> + Bruno Haible <bruno@clisp.org> + + * lib/xstrndup.h: New file. + * lib/xstrndup.c: New file. + +2003-08-17 Bruno Haible <bruno@clisp.org> + + * modules/strndup (Files, Include): Add lib/strndup.h. + +2003-08-17 Bruno Haible <bruno@clisp.org> + + * modules/euidaccess (Files): Add lib/euidaccess.h. + +2003-08-17 Bruno Haible <bruno@clisp.org> + + * lib/strndup.h: New file. + +2003-08-17 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white + space, undoing this 2003-08-12 change: + <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html> + +2003-08-16 Paul Eggert <eggert@twinsun.com> + + * config/srclist.txt: Get regex.h, strdup.c, strtoll.c, + strtoul.c from libc, undoing this 2003-08-12 change: + <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html> + +2003-08-16 Jim Meyering <jim@meyering.net> + + 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 <unistd.h>. On some systems, + it is required for the definition of _SC_PAGESIZE. + +2003-08-16 Jim Meyering <jim@meyering.net> + + Merge from coreutils. + * lib/xstrtoimax.c: #else #if -> #elif. + * lib/xstrtoumax.c: Likewise. + +2003-08-16 Jim Meyering <jim@meyering.net> + + * 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 <unistd.h>. On some systems, + it is required for the definition of _SC_PAGESIZE. + +2003-08-16 Jim Meyering <jim@meyering.net> + and Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@twinsun.com> + + Document merge from coreutils. + * modules/userspec: Depend on posixver. + * modules/strftime: Depend on tzset. + +2003-08-15 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <jim@meyering.net> + + Merge from coreutils. + * lib/xgethostname.c: Include <stdlib.h>. + (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 <jim@meyering.net> + and Paul Eggert <eggert@twinsun.com> + + 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 <jim@meyering.net> + and Paul Eggert <eggert@cs.ucla.edu> + + 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * modules/tzset: New file. + +2003-08-14 Jim Meyering <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + 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 <jim@meyering.net> + and Paul Eggert <eggert@twinsun.com> + + 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 <string.h> and <stdlib.h> 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/exclude.c: Include <ctype.h> + (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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + Merge from coreutils. + * modules/euidaccess: Add lib_SOURCES, include for new + file euidaccess.h + +2003-08-12 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * config/srclist.txt: can't sync vasnprintf.c any more, changes have + been made. + +2003-08-11 Paul Eggert <eggert@twinsun.com> + + * 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 <bruno@clisp.org> + + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen. + +2003-08-11 Bruno Haible <bruno@clisp.org> + + * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1. + (vasnprintf): Use it instead of wcslen. + +2003-08-11 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * lib/regex.h: update from libc (whitespace fix). + +2003-08-09 Paul Eggert <eggert@twinsun.com> + + Merge some files from coreutils. These changes were + originally made by Jim Meyering. + * lib/acl.c: Include <sys/types.h> before <sys/stat.h>; + 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * modules/restrict: New file. + * MODULES.html.sh (func_all_modules): Add restrict. + * modules/regex: Depend on restrict. + +2003-08-07 Paul Eggert <eggert@twinsun.com> + + * m4/restrict.m4: New file. + * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT. + +2003-08-07 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This + makes the module 'getndelim2' compatible with the module 'getline'. + +2003-08-05 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/bumpalloc.h: Remove. + +2003-08-05 Paul Eggert <eggert@twinsun.com> + + * MODULES.html.sh (func_all_modules): Remove bumpalloc. + * modules/bumpalloc: Remove. + +2003-08-04 Paul Eggert <eggert@twinsun.com> + + * 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 <d.love@dl.ac.uk> + + [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 <eggert@twinsun.com> + + * lib/stdbool_.h (_Bool): Make it signed char, instead of + an enum type, so that it's guaranteed to promote to int. See: + <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html> + +2003-08-03 Karl Berry <karl@gnu.org> + + * config/depcomp: update from automake. + +2003-07-31 Paul Eggert <eggert@twinsun.com> + + * 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 <bruno@clisp.org> + + * modules/getpass-gnu: New file. + * MODULES.html.sh (func_all_modules): Add getpass-gnu. + +2003-07-31 Bruno Haible <bruno@clisp.org> + + * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro. + +2003-07-24 Karl Berry <karl@gnu.org> + + * config/missing: update from automake. + +2003-07-24 Derek Robert Price <derek@ximbiot.com> + Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * config/config.sub: update from prep. + +2003-07-22 Paul Eggert <eggert@twinsun.com> + + * modules/xalloc (Depends-on): Add exitfail. + * modules/xmemcoll: Likewise. + +2003-07-22 Paul Eggert <eggert@twinsun.com> + + * 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 <jim@meyering.net> + + * modules/closeout (Depends-on): Add exitfail. + Suggestion from Bruno Haible. + +2003-07-19 Karl Berry <karl@gnu.org> + + * config/config.sub: update from prep. + +2003-07-18 Paul Eggert <eggert@twinsun.com> + + * 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 <stdlib.h>. + +2003-07-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <schwab@suse.de> + + * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. + +2003-07-17 Karl Berry <karl@gnu.org> + + * config/config.sub: update from prep. + +2003-07-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/getnline.m4: New file. + +2003-07-17 Bruno Haible <bruno@clisp.org> + + * m4/Makefile.am.in: Remove file. + * m4/Makefile.am: Remove file. + * m4/Makefile.in: Remove file. + +2003-07-17 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/Makefile.am: Remove file. + * lib/Makefile.in: Remove file. + +2003-07-17 Bruno Haible <bruno@clisp.org> + + * configure.in: Remove file. + * Makefile.in: Remove file. + +2003-07-17 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh: Put the </BODY> right before </HTML>. + +2003-07-16 Karl Berry <karl@gnu.org> + + * 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 <jim@meyering.net> + + * modules/save-cwd: Depend on xgetcwd. From Derek Price. + +2003-07-15 Paul Eggert <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * lib/vasnprintf.c: update from gettext. + +2003-07-15 Karl Berry <karl@gnu.org> + + * config/srclist-update (fixfile): Change grep pattern, since 'Id' + gets expanded when surrounded by '$'. + +2003-07-15 Jim Meyering <jim@meyering.net> + + * modules/save-cwd: Don't depend on error. From Derek Price. + +2003-07-15 Jim Meyering <jim@meyering.net> + + * lib/makepath.c (make_path): Enclose diagnostic in _(...). + +2003-07-14 Simon Josefsson <jas@extundo.com> + + * modules/mempcpy: New file. + * MODULES.html.sh (func_all_modules): Add mempcpy. + +2003-07-14 Simon Josefsson <jas@extundo.com> + + * m4/mempcpy.m4: New file. + +2003-07-14 Simon Josefsson <jas@extundo.com> + + * lib/mempcpy.h: New file. + * lib/mempcpy.c: New file. + +2003-07-14 Paul Eggert <eggert@twinsun.com> + + * modules/getdate, modules/posixtm: Depend on mktime. + +2003-07-14 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <jim@meyering.net> + + 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 <adl@gnu.org> + + * 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 <jas@extundo.com> + + * modules/strchrnul (Makefile.am): Add strchrnul.h. + +2003-07-10 Jim Meyering <jim@meyering.net> + + * m4/clock_time.m4: Remove trailing blank. + * m4/intmax_t.m4: Likewise. + +2003-07-10 Jim Meyering <jim@meyering.net> + + * lib/vasnprintf.c: Remove trailing blanks. + Make cpp indentation consistent. + +2003-07-09 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * config/depcomp: update from automake. + * config/config.sub: update from prep. + +2003-07-03 Karl Berry <karl@gnu.org> + + * config/config.guess: update from prep. + +2003-07-01 Paul Eggert <eggert@twinsun.com> + + * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since + xreadlink.c now includes it unconditionally. + +2003-07-01 Paul Eggert <eggert@twinsun.com> + + * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of + having it depend on HAVE_SYS_TYPES_H. + +2003-07-01 Bruno Haible <bruno@clisp.org> + + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>. + <sys/types.h> should be sufficient. + Reported by Paul Eggert. + +2003-06-26 Karl Berry <karl@gnu.org> + + * config/depcomp: update from automake. + +2003-06-26 Bruno Haible <bruno@clisp.org> + + * modules/human: Depend on module stdbool. + +2003-06-25 Bruno Haible <bruno@clisp.org> + + * modules/readlink: New file. + * modules/xreadlink: Depend on it. + * MODULES.html.sh (func_all_modules): Add readlink. + +2003-06-25 Bruno Haible <bruno@clisp.org> + + * m4/readlink.m4: New file. + +2003-06-25 Bruno Haible <bruno@clisp.org> + + * lib/readlink.c: New file. + +2003-06-22 Karl Berry <karl@gnu.org> + + * config/srclist.txt: update mkinstalldirs from automake. + * config/mkinstalldirs: update. + +2003-06-22 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * modules/safe-read: Add m4/ssize_t.m4. + * modules/xreadlink: Add m4/ssize_t.m4. + +2003-06-20 Bruno Haible <bruno@clisp.org> + + Assume C89, so PARAMS isn't needed. + * lib/unicodeio.h (PARAMS): Remove. + * lib/unicodeio.c: Don't use PARAMS. + +2003-06-18 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from prep. + +2003-06-18 Jim Meyering <jim@meyering.net> + + Merge changes from coreutils. + * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally. + Remove explicit declarations of xmalloc and realloc. + Include xalloc.h. + (read_utmp): Remove anachronistic cast of xmalloc. + +2003-06-17 Paul Eggert <eggert@twinsun.com> + + 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 <jas@extundo.com> + + * modules/sysexits: New file. + * MODULES.html.sh (func_all_modules): Add sysexits. + +2003-06-11 Simon Josefsson <jas@extundo.com> + + * lib/sysexit_.h: New file. + +2003-06-11 Derek Price <derek@ximbiot.com> + + * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is + necessary. + +2003-06-11 Bruno Haible <bruno@clisp.org> + + * m4/sysexits.m4: New file. + +2003-06-10 Simon Josefsson <jas@extundo.com> + + * 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 <jas@extundo.com> + + * modules/strchrnul: New file. + +2003-06-10 Simon Josefsson <jas@extundo.com> + + * modules/argp: New file. + +2003-06-10 Simon Josefsson <jas@extundo.com> + + * m4/strchrnul.m4: New file. + +2003-06-10 Simon Josefsson <jas@extundo.com> + + * lib/strchrnul.h: New file. + * lib/strchrnul.c: New file. + +2003-06-10 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (func_all_modules): Add strchrnul and argp. + +2003-06-07 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from prep. + +2003-06-07 Jim Meyering <jim@meyering.net> + + * modules/strtod: Use $(...) notation, not @...@ for + AC_REPLACE'd variables. + * modules/localcharset: Likewise. + +2003-06-07 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <sys/mount.h>. + + * lib/posixtm.c: Include <stdbool.h> unconditionally. + +2003-06-06 Jim Meyering <jim@meyering.net> + + * lib/stdbool_.h: Renamed from stdbool.h.in. + +2003-06-06 Jim Meyering <jim@meyering.net> + Bruno Haible <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + * 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; <limits.h> 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/mktime.c: Fix Debian bug 177940 + <http://bugs.debian.org/cgi-bin/bugreport.cgi?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. + <sys/types.h>, <stdio.h>: Do not include; no longer needed. + <limits.h>: Do not include, since human.h does. + (SIZE_MAX, UINTMAX_MAX): New macros. + <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H. + <locale.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 <limits.h> and <stdbool.h> 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 <sys/types.h> + if we can get away with just <stddef.h>. + + * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c, + malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h> + rather than <sys/types.h>, as we merely need size_t. + * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>, + to get size_t. + * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h: + Include <stdio.h>, to get FILE. + * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume + memcasecmp.h has included <stddef.h> 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 <sys/types.h> + +2003-06-04 Paul Eggert <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * config/config.sub: update from prep. + +2003-06-02 Paul Eggert <eggert@twinsun.com> + + [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 <stdbool.h>. + (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 <karl@gnu.org> + + * config/mkinstalldirs (version): new variable. + (--version): new option. + (usage): improve message. + +2003-05-30 Karl Berry <karl@gnu.org> + + * lib/mktime.c: update from libc. + +2003-05-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * config/config.rpath: update from gettext. + +2003-05-28 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <limits.h> 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 <limits.h> is guaranteed to do that. + * lib/fatal.c: Include <stdarg.h> without checking for __STDC__. + * lib/exclude.c: Include <stdbool.h> unconditionally. + * lib/tempname.c: Include <stddef.h> unconditionally. + * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT. + * lib/modechange.c, rpmatch.c (NULL): Don't define, since + <stddef.h> does that. + * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed. + * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> 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 <stddef.h> 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 <jim@meyering.net> + + 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 <karl@gnu.org> + + * config/config.guess: update from prep. + +2003-05-22 Karl Berry <karl@gnu.org> + + * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg. + +2003-05-20 Karl Berry <karl@gnu.org> + + * config/config.guess: update from prep. + +2003-05-18 Karl Berry <karl@gnu.org> + + * 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 <bruno@clisp.org> + + * 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 <akim@epita.fr> in + http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html + +2003-05-12 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * lib/linebreak.c (iconv_string_length): Don't return -1 just because + the string is longer than 4 KB. + +2003-05-11 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from prep. + +2003-05-09 Bruno Haible <bruno@clisp.org> + + * modules/error: Add m4/strerror_r.m4 to file list. + +2003-05-03 Bruno Haible <bruno@clisp.org> + + 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 <jim@meyering.net> + + * lib/copy-file.c (copy_file_preserving): Declare buf_size to be + of type size_t, not int. + +2003-04-25 Bruno Haible <bruno@clisp.org> + + * lib/copy-file.c: Include <stddef.h>, for size_t. + +2003-04-21 Paul Eggert <eggert@twinsun.com> + + * 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 + <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>. + +2003-04-14 Bruno Haible <bruno@clisp.org> + + * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF. + +2003-04-11 Jim Meyering <jim@meyering.net> + + Merge changes from Coreutils. + + 2003-03-22 Jim Meyering <jim@meyering.net> + + * lib/strftime.c (widen): Cast alloca return value to proper type. + + 2003-01-19 Ulrich Drepper <drepper@redhat.com> + + 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * modules/findprog: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-10 Bruno Haible <bruno@clisp.org> + + * m4/findprog.m4: New file. + * m4/eaccess.m4: New file. + +2003-04-10 Bruno Haible <bruno@clisp.org> + + * lib/findprog.h: New file, from GNU gettext. + * lib/findprog.c: New file, from GNU gettext. + +2003-04-05 Jim Meyering <jim@meyering.net> + + 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 <bruno@clisp.org> + + * modules/linebreak: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-04 Bruno Haible <bruno@clisp.org> + + * m4/linebreak.m4: New file. + +2003-04-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/utf-ucs4.m4: New file. + * m4/ucs4-utf.m4: New file. + +2003-04-03 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/binary-io: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-02 Bruno Haible <bruno@clisp.org> + + * lib/binary-io.h: New file, from GNU gettext. + +2003-04-01 Bruno Haible <bruno@clisp.org> + + * modules/pathname: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-04-01 Bruno Haible <bruno@clisp.org> + + * lib/pathname.h: New file, from GNU gettext. + * lib/concatpath.c: New file, from GNU gettext. + +2003-03-30 Bruno Haible <bruno@clisp.org> + + * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown(). + +2003-03-30 Bruno Haible <bruno@clisp.org> + + * lib/copy-file.c (copy_file_preserving): Don't set owner if the + function chown() doesn't exist. + +2003-03-28 Bruno Haible <bruno@clisp.org> + + * modules/copy-file: New file. + * MODULES.html.sh (func_all_modules): Add it. + +2003-03-28 Bruno Haible <bruno@clisp.org> + + * m4/copy-file.m4: New file. + +2003-03-28 Bruno Haible <bruno@clisp.org> + + * lib/copy-file.h: New file, from GNU gettext. + * lib/copy-file.c: New file, from GNU gettext. + +2003-03-18 Jim Meyering <jim@meyering.net> + + * lib/quote.c (quote_n): Fix typo in comment. + +2003-03-18 Bruno Haible <bruno@clisp.org> + + * m4/onceonly.m4: Use m4_defn instead of defn, for better error + checking. + * m4/onceonly_2_57.m4: Likewise. + +2003-03-17 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + 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 <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + 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 <stdbool.h> unconditionally. + +2003-03-13 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version. + +2003-03-09 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + * lib/mbswidth.h: Include <wchar.h>. 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 <bruno@clisp.org> + + * MODULES.html.sh (func_all_modules): Add poll. + +2003-02-19 Paolo Bonzini <bonzini@gnu.org> + + * modules/poll: New file. + +2003-02-19 Paolo Bonzini <bonzini@gnu.org> + + * lib/poll_.h: New file. + * lib/poll.c: New file. + +2003-02-19 Paolo Bonzini <bonzini@gnu.org> + + * m4/poll.m4: New file. + +2003-02-18 Paolo Bonzini <bonzini@gnu.org> + + * modules/mathl: New file. + +2003-02-18 Paolo Bonzini <bonzini@gnu.org> + + * 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 <bonzini@gnu.org> + + * m4/mathl.m4: New file. + +2003-02-18 Bruno Haible <bruno@clisp.org> + + * MODULES.html.sh (func_all_modules): Add mathl. + +2003-02-17 Bruno Haible <bruno@clisp.org> + + * modules/mkdtemp: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-02-17 Bruno Haible <bruno@clisp.org> + + * m4/mkdtemp.m4: New file, from GNU gettext with modifications. + +2003-02-17 Bruno Haible <bruno@clisp.org> + + * lib/mkdtemp.h: New file, from GNU gettext. + * lib/mkdtemp.c: New file, from GNU gettext. + +2003-02-02 Jim Meyering <jim@meyering.net> + + * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in + e.g. glibc-2.2.93. + +2003-01-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/vasnprintf, modules/vasprintf: New modules. + * MODULES.html.sh (func_all_modules): Add them. + +2003-01-30 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/stpncpy: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-29 Bruno Haible <bruno@clisp.org> + + * m4/stpncpy.m4: New file. + +2003-01-29 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/c-ctype: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-28 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * modules/xsetenv: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-27 Bruno Haible <bruno@clisp.org> + + * lib/xsetenv.h: New file, from GNU gettext. + * lib/xsetenv.c: New file, from GNU gettext. + +2003-01-23 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * modules/minmax: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-23 Bruno Haible <bruno@clisp.org> + + * lib/minmax.h: New file, from GNU gettext, with comments from Paul + Eggert. + +2003-01-22 Bruno Haible <bruno@clisp.org> + + * modules/exit: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-22 Bruno Haible <bruno@clisp.org> + + * lib/exit.h: New file, from GNU gettext. + +2003-01-19 Bruno Haible <bruno@clisp.org> + + * gnulib-tool: Recognize option --extract-maintainer. + (func_get_maintainer): New function. + * modules/*: Add Maintainer entry. + +2003-01-16 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * MODULES.html.sh: Add a table of contents. Add the module name as + leftmost column. Add hyperlinks. + +2003-01-15 Bruno Haible <bruno@clisp.org> + + * m4/md5.m4 (gl_MD5): Require AC_C_INLINE. + +2003-01-15 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites. + +2003-01-15 Bruno Haible <bruno@clisp.org> + + * lib/stpcpy.h (stpcpy): Use ANSI C function declarations. + * lib/strcase.h (strcasecmp, strncasecmp): Likewise. + +2003-01-14 Jim Meyering <jim@meyering.net> + + * lib/same.c (same_name): Tweak a comment. + +2003-01-14 Bruno Haible <bruno@clisp.org> + + * lib/same.c (same_name): Reorder tests so as to avoid calling stat() + when a string comparison is sufficient. + +2003-01-14 Bruno Haible <bruno@clisp.org> + + * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not + 'unsigned int'. + +2003-01-14 Bruno Haible <bruno@clisp.org> + + * lib/hash-pjw.c: Add comment about low quality of this function. + +2003-01-13 Bruno Haible <bruno@clisp.org> + + * modules/stpcpy: Distribute lib/stpcpy.h. + * modules/setenv: Depend on alloca. Distribute lib/setenv.h. + +2003-01-13 Bruno Haible <bruno@clisp.org> + + * modules/*: Add a description. + * modules/strpbrk: Fix Makefile.am snippet. + * modules/strtoimax: Fix dependencies. + * modules/strtoumax: Likewise. + +2003-01-13 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <jim@meyering.net> + + * lib/makepath.c: Don't test HAVE_ERRNO_H. It's not necessary. + +2003-01-10 Bruno Haible <bruno@clisp.org> + + * modules/alloca: Change Makefile.am requirements. Simplify Include + requirements. Add lib/alloca_.h to file list. + +2003-01-10 Bruno Haible <bruno@clisp.org> + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H. + +2003-01-10 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * MODULES.html.sh: include `dirname $0` in PATH, to find + gnulib-tool. + +2003-01-09 Bruno Haible <bruno@clisp.org> + + * modules/stdbool: Change configure.ac, Makefile.am requirements. + Simplify Include requirements. Add lib/stdbool.h.in to file list. + +2003-01-09 Bruno Haible <bruno@clisp.org> + + * m4/stdbool.m4 (AM_STDBOOL_H): New macro. + +2003-01-09 Bruno Haible <bruno@clisp.org> + + * lib/stdbool.h.in: New file. + +2003-01-09 Bruno Haible <bruno@clisp.org> + + * gnulib-tool (func_all_modules): Ignore files ending in ~. + * MODULES.html.sh: Likewise. + +2003-01-08 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * modules/full-read: Depend on full-write. + +2003-01-08 Bruno Haible <bruno@clisp.org> + + * lib/safe-read.c: Include specification header first, to ensure its + selfcontainedness. + * lib/full-write.c: Likewise. + +2003-01-07 Jim Meyering <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * lib/strtoimax.c: Include <stdint.h> as an alternative to + <inttypes.h>. + * lib/xstrtol.h: Likewise. + * lib/xstrtoimax.c: Likewise. + * lib/xstrtoumax.c: Likewise. + * lib/human.h: Likewise. + + * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error + on systems that have <inttypes.h> but not <stdint.h>. + +2003-01-07 Bruno Haible <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * lib/version-etc.c: Update year in translatable copyright string. + +2003-01-03 Karl Berry <karl@gnu.org> + + * config/config.{guess,sub}: update from prep. + +2003-01-02 Karl Berry <karl@gnu.org> + + * doc/COPYING.DOC: belatedly updated to 1.2. + +2003-01-01 Karl Berry <karl@gnu.org> + + * 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 <eggert@twinsun.com> + + * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP. + +2002-12-31 Paul Eggert <eggert@twinsun.com> + + * lib/memcoll.c (memcoll): Fall back on a simple algorithm using + memcmp if strcoll doesn't work. + +2002-12-31 Bruno Haible <bruno@clisp.org> + + * lib/utime.c (utime_null): No need to call ftruncate if the file was + nonempty. + +2002-12-31 Bruno Haible <bruno@clisp.org> + + * lib/memcoll.c (STRCOLL): New macro. + (memcoll): Use it. + +2002-12-31 Bruno Haible <bruno@clisp.org> + + * lib/localcharset.h: New file. + * lib/localcharset.c: Include it. + * lib/unicodeio.c: Likewise. + +2002-12-31 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/getline.h: Include <stddef.h>, for size_t. + + * lib/unicodeio.h: Include <stddef.h>, for size_t. + * lib/unicodeio.c: Don't include <stddef.h>. + +2002-12-31 Bruno Haible <bruno@clisp.org> + + * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not + HAVE_TM_ZONE. + +2002-12-24 Karl Berry <karl@gnu.org> + + * config/config.guess: update from prep. + +2002-12-24 Bruno Haible <bruno@clisp.org> + + 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 <stdlib.h>, not + <sys/types.h>, 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 <sys/time.h>. + * m4/st_mtim.m4: Indentation. + + Module nanosleep. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro. + (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. 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 <stdlib.h>, 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 <sys/time.h>. 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 <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * doc/fdl.texi: update to version 1.2. + +2002-12-19 Karl Berry <karl@gnu.org> + + * config/config.guess: update from prep. + +2002-12-18 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h, + stdlib.h, string.h. + +2002-12-17 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * config/config.guess: update from prep. + +2002-12-11 Bruno Haible <bruno@clisp.org> + + * m4/setenv.m4: New file, from gettext-0.11.5. + +2002-12-11 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * setenv.c (alloca): Fall back to malloc. + (freea): New macro. + (setenv): Use freea() to free memory allocated with alloca(). + + 2002-11-13 Bruno Haible <bruno@clisp.org> + + * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C + function declarations. + * unsetenv.c (unsetenv): Likewise. + + 2002-03-04 Bruno Haible <bruno@clisp.org> + + 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 <bruno@clisp.org> + + * setenv.c (__add_to_environ): Don't call realloc(NULL,...), + use malloc instead. For SunOS 4. + + 2001-12-11 Bruno Haible <bruno@clisp.org> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <jim@meyering.net> + + * 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 <libio/libioP.h>. + [USE_IN_LIBIO]: Include <libio/iolibio.h> + (fflush): Tweak definition to use INTUSE. + (putc): Define. + +2002-12-05 Paul Eggert <eggert@twinsun.com> + + * 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 <xalloc.h>. + (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 <eggert@twinsun.com> + + 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <jim@meyering.net> + + * 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * 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 <eggert@twinsun.com> + + * 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 <karl@gnu.org> + + * lib/strdup.c: copy from libc again, with jim's ok. + * lib/.cppi-disable: re-add strdup.c + +2002-11-25 Karl Berry <karl@gnu.org> + + * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c> + instead of "strtol.c". + +2002-11-25 Karl Berry <karl@gnu.org> + + * 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 <jim@meyering.net> + + * lib/mktime.c: Sync from libc, now that it has the latest fix. + +2002-11-24 Karl Berry <karl@gnu.org> + + * 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 <jim@meyering.net> + + 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 <jim@meyering.net> + + * 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 <string.h>. + + * lib/fsusage.c: Remove unneeded parentheses around operands of + `defined'. + +2002-11-22 Paul Eggert <eggert@twinsun.com> + + * lib/quotearg.h: Allow multiple inclusion by surrounding with + "#ifndef QUOTEARG_H_". Include <stddef.h>, 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 <eggert@twinsun.com> + + * lib/hash.c: Avoid use of <assert.h>, 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 <bruno@clisp.org> + + * 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 <jim@meyering.net> + + * lib/strdup.c (strdup): Tweak comment and initial #if/#include. + + Merge in changes from the coreutils. + + 2002-09-25 Paul Eggert <eggert@twinsun.com> + * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include + <stdint.h>. + (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 <bruno@clisp.org> + + 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 <eggert@twinsun.com> + + 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 <string.h>, since we assume C89. + (EXIT_FAILURE): Remove pre-C89 bug workaround. + * lib/argmatch.h: Do not include <config.h> or <sys/types.h>. + Include <stddef.h> 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 <bruno@clisp.org> + + * lib/mbswidth.c: Include mbswidth.h right at the beginning. + * lib/mbswidth.h: Include <stddef.h>, 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 <bruno@clisp.org> + + * lib/strcspn.c: Include <stddef.h>. + (strcspn): Use ANSI C function declaration. Change return type to + size_t. Use NULL. + * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>. + (strpbrk): Use NULL. + * lib/strpbrk.h (PARAMS): Remove macro. + (strpbrk): Use ANSI C function declaration. + * lib/strstr.c: Don't include <sys/types.h>. + * lib/strstr.h (PARAMS): Remove macro. + (strstr): Use ANSI C function declarations. + +2002-11-14 Karl Berry <karl@gnu.org> + + * config/mkinstalldirs: `do' on separate line, instead of + `for var; do'. + +2002-11-06 Bruno Haible <bruno@clisp.org> + + * lib/gcd.h (gcd): Change argument type to 'unsigned long'. + * lib/gcd.c (gcd): Likewise. + +2002-11-05 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>. + * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>. + * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>. + * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>. + + * lib/argmatch.c: Include gettext.h instead of <locale.h> and + <libintl.h>. + * lib/makepath.c: Include gettext.h instead of <locale.h> and + <libintl.h>. + + * lib/closeout.c: Include gettext.h instead of <libintl.h>. + * lib/human.c: Include gettext.h instead of <libintl.h>. + * lib/quotearg.c: Include gettext.h instead of <libintl.h>. + * lib/rpmatch.c: Include gettext.h instead of <libintl.h>. + * lib/unicodeio.c: Include gettext.h instead of <libintl.h>. + * lib/userspec.c: Include gettext.h instead of <libintl.h>. + * lib/version-etc.c: Include gettext.h instead of <libintl.h>. + * lib/xmalloc.c: Include gettext.h instead of <libintl.h>. + (textdomain): Remove definition. + * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>. + + * lib/long-options.c: Remove include of <libintl.h> and definition of + _. + * lib/same.c: Remove include of <libintl.h> and definition of _. + +2002-11-04 Owen Taylor <otaylor@redhat.com> + + * lib/config.charset: A few additions for Solaris. + +2002-11-04 Bruno Haible <haible@clisp.cons.org> + + 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 <haible@clisp.cons.org> + + * lib/config.charset: msdos in uk_UA uses CP1125. + +2002-11-04 Bruno Haible <bruno@clisp.org> + + * 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 <bruno@clisp.org> + + * lib/localcharset.c (locale_charset): Don't return an empty string. + +2002-11-04 Bruno Haible <bruno@clisp.org> + + * lib/localcharset.c (get_charset_aliases): Add more Windows specific + aliases. + +2002-11-04 Bruno Haible <bruno@clisp.org> + + * lib/config.charset: Update for newest glibc. Add canonical names + ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS. + +2002-11-04 Bruno Haible <bruno@clisp.org> + + * lib/config.charset: Add support for NetBSD. + +2002-11-04 Bruno Haible <bruno@clisp.org> + + * lib/config.charset [msdosdjgpp]: For Russian, use CP866. + +2002-11-01 Bruno Haible <bruno@clisp.org> + + * 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 <karl@gnu.org> + + * 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 <karl@gnu.org> + + * 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 <karl@gnu.org> + + * 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 <monnier@cs.yale.edu> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/c-stack.c: Include sys/time.h. + From Volker Borchert. + +2002-06-26 Paul Eggert <eggert@twinsun.com> + + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. + +2002-06-26 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 + <sys/types.h> since we don't use any symbols that it defines. + +2002-06-15 Richard Dawe <richdawe@bigfoot.com> + + * 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 <eggert@twinsun.com> + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. + +2002-06-15 Jim Meyering <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef. + For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h> + have been included before this file. + +2002-06-14 Jim Meyering <meyering@lucent.com> + + * lib/file-type.h: Use the version from diffutils-2.8.2. + * lib/file-type.c: Likewise. + +2002-06-07 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'. + Reported by Volker Borchert. + +2002-05-27 Jim Meyering <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT. + +2002-04-29 Paul Eggert <eggert@twinsun.com> + + * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed. + +2002-04-29 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. + +2002-04-29 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/sig2str.h, lib/sig2str.c: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h. + +2002-04-28 Paul Eggert <eggert@twinsun.com> + + * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid + depending on <sys/wait.h> 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 <sys/wait.h>; no longer needed. + +2002-04-28 Jim Meyering <meyering@lucent.com> + + * lib/sig2str.c (WTERMSIG): Remove definition (unused). + +2002-04-24 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members: + ut_pid, ut_id, ut_exit. + +2002-04-16 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro. + +2002-04-09 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/makepath.c (make_path): Remove a comma from a diagnostic. + Suggestion from Santiago Vila. + +2002-03-08 Jim Meyering <meyering@lucent.com> + + * lib/rename.c: Mention that this wrapper is needed also on + mips-dec-ultrix4.4 systems. + +2002-03-02 Jim Meyering <meyering@lucent.com> + + * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME, + not HAVE_CLOCK_SETTIME. + +2002-02-27 Paul Eggert <eggert@twinsun.com> + + * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used. + Check for clock_settime. + +2002-02-27 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/acl.c, lib/acl.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. + +2002-02-24 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/getdate.c: Regenerate using bison-1.33. + +2002-02-17 Jim Meyering <meyering@lucent.com> + + * config/config.guess (main): Don't use `head -1'; it's no longer + portable. Use `sed 1q' instead. + +2002-02-16 gettextize <bug-gnu-gettext@gnu.org> + + * 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 <eggert@twinsun.com> + + * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro. + (jm_PREREQ): Use it. + +2002-02-15 Paul Eggert <eggert@twinsun.com> + + * lib/posixver.c, lib/posixver.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add them. + +2002-02-02 Paul Eggert <eggert@twinsun.com> + Bruno Haible <bruno@clisp.org> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h. + +2002-01-22 Paul Eggert <eggert@twinsun.com> + + * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. + +2002-01-22 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/version-etc.c (version_etc_copyright): Update copyright year. + +2001-12-19 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/jm-macros.m4 (jm_MACROS): Check for iswspace. + Suggestion from Bruno Haible. + +2001-12-10 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <akim@epita.fr> + + * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared + before being defined. + +2001-11-27 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif. + +2001-11-20 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv. + +2001-11-18 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define + WINSIZE_IN_PTEM if <termios.h> defines struct winsize. + +2001-11-17 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>. + (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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function. + (jm_PREREQ): Use it. + +2001-11-09 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/xstat.in (slash_aware_lstat): Correct a misleading comment. + +2001-11-04 Jim Meyering <meyering@lucent.com> + + * m4/fpending.m4: Remove unused cruft that saved, set, and restored + $DEFS. + +2001-11-03 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro. + * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD. + +2001-11-01 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__, + to avoid a warning if -Wall. + +2001-10-22 Jeff Bailey <jbailey@outpost.dnsalias.org> + + * 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 <eggert@twinsun.com> + + * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job. + +2001-10-21 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ... + and quote_n (1, ... to avoid clobbering a buffer. + +2001-10-05 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/mountlist.c [MOUNTED_GETFSSTAT]: + Include <sys/ucred.h>, 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 <eggert@twinsun.com> + + * lib/exclude.c (excluded_filename): 0 -> false, since it's + a boolean context. + +2001-09-29 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <meyering@lucent.com> + + 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 <bt@teknon.de> + + * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable + `result'. + +2001-09-24 Jim Meyering <meyering@lucent.com> + + * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS. + +2001-09-23 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/localcharset.c: Update from latest gettext. + * lib/config.charset: Likewise. + +2001-09-20 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. + * m4/jm-macros.m4: Require it. + +2001-09-16 Jim Meyering <meyering@lucent.com> + + * lib/mkdir.c: New file. + +2001-09-15 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4: Check for help2man. + +2001-09-11 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro. + (jm_PREREQ): Use it. + +2001-09-04 Paul Eggert <eggert@twinsun.com> + + * 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 <limits.h> doesn't declare. + * lib/xreadlink.h (xreadlink): Update prototype. + +2001-09-04 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and + sys/param.h, as pathmax.h includes them. + +2001-09-03 Paul Eggert <eggert@twinsun.com> + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD. + (jm_PREREQ_XGETCWD): New macro. + + * m4/getcwd.m4: New file. + +2001-09-03 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/xreadlink.c (xreadlink): Preserve errno around `free' during + failure. + +2001-09-02 Jim Meyering <meyering@lucent.com> + + * lib/error.c: Update from GNU libc. + +2001-09-01 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name. + Used by df. + +2001-09-01 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * lib/xstrtol.h: Add copyright notice. + (_DECLARE_XSTRTOL): Improve quality of diagnostic for + LONGINT_INVALID_SUFFIX_CHAR. + +2001-08-31 Paul Eggert <eggert@twinsun.com> + + * lib/xstrtol.c (strtoimax): New decl. + +2001-08-31 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE. + (jm_PREREQ_EXCLUDE): New macro. + +2001-08-30 Paul Eggert <eggert@twinsun.com> + + * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct + tm to be declared. + +2001-08-30 Paul Eggert <eggert@twinsun.com> + + * lib/hash.c: Remove '2001' from copyright notice. + +2001-08-30 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/exclude.c (bool): Declare, perhaps by including stdbool.h. + (<sys/types.h>): Include only if HAVE_SYS_TYPES_H. + (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>): + Include if available. + (<xalloc.h>): Include + (SIZE_MAX): Define if <stdint.h> or <inttypes.h> 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 <eggert@twinsun.com> + + * lib/alloca.c (alloca): Arg is of type size_t, not unsigned. + +2001-08-27 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@sic.twinsun.com> + + * lib/addext.c (<errno.h>): 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/gettimeofday.c: New file. + * lib/gtod.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h. + +2001-08-05 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4: Require autoconf-2.52. + +2001-08-04 Jim Meyering <meyering@lucent.com> + + * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if + stmt, to get in sync with glibc. + +2001-08-03 Paul Eggert <eggert@twinsun.com> + + 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 <limits.h>. + Include <stdlib.h> and <string.h> 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 <eggert@twinsun.com> + + 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 <haible@clisp.cons.org> + * 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 <string.h>; 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/gettimeofday.m4: New file. + Prompted by a report from Bernhard Baehr. + +2001-07-15 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/regex.c: Update from GNU libc. + +2001-05-27 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/readutmp.h (UT_TYPE): Define. + +2001-05-24 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/regex.m4: Change a couple backticks to single quotes to avoid + shell syntax errors. + +2001-05-21 Alexandre Duret-Lutz <duret_g@epita.fr> + + * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. + +2001-05-20 Paul Eggert <eggert@twinsun.com> + + * 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 <duret_g@epita.fr> + + * lib/dirname.c (dir_name): Compute append_dot using path, not newpath + which is not yet declared. + +2001-05-15 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if + undefined. + +2001-05-11 Paul Eggert <eggert@twinsun.com> + + 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 <dirname.h> 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 <stdio.h>, <assert.h>; no longer + needed. Include <string.h>, <dirname.h>. + (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 <string.h> instead of <stdlib.h>. + Do not include <assert.h>; 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 <stdlib.h> 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used. + +2001-04-21 Jim Meyering <meyering@lucent.com> + + * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask + doesn't interfere. + +2001-04-21 Alexandre Duret-Lutz <duret_g@epita.fr> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/regex.h, regex.c: Update from GNU libc. + +2001-03-24 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4: Require autoconf-2.49d. + +2001-03-20 Bruno Haible <haible@clisp.cons.org> + + * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv. + +2001-03-19 Paul Eggert <eggert@twinsun.com> + + * lib/version-etc.c (version_etc_copyright): Update to 2001. + +2001-03-17 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * 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 <haible@clisp.cons.org> + + * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add + support for DOS/DJGPP. + +2001-03-01 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that + AH_VERBATIM really does output its argument verbatim. + +2001-02-28 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + 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 (<config.h>): Include if HAVE_CONFIG_H. + (<stddef.h>, <stdint.h>, <string.h>): + Include only if STDC_HEADERS || _LIBC. + (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC. + (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC. + (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC. + (__set_errno): Define this macro if <errno.h> doesn't. + (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): + Define these macros if <stdio.h> doesn't. + (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): + Define these macros if <sys/stat.h> + doesn't. Ignore <sys/stat.h> 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 <eggert@twinsun.com> + + * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. + +2001-02-17 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/regex.c: Update from libc. + +2001-02-17 Bruno Haible <haible@clisp.cons.org> + + * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype + clash. + +2001-02-16 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug. + +2001-02-05 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + 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 <haible@clisp.cons.org> + + * lib/config.charset: Update for FreeBSD 4.2. + +2001-01-27 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that + quotearg.c includes it. + +2001-01-26 Jim Meyering <meyering@lucent.com> + + * 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 <monnier@cs.yale.edu> + + * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' + as if it was a `charset'. + +2001-01-21 Bruno Haible <haible@clisp.cons.org> + + * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration + has const. + +2001-01-21 Bruno Haible <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4. + From Bruno Haible. + +2001-01-14 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * lib/strftime.c: Sync with glibc time/strftime.c 1.81. + +2001-01-03 Jim Meyering <meyering@lucent.com> + + * 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 <bt@teknon.de> + + * m4/rename.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME. + +2001-01-01 Jim Meyering <meyering@lucent.com> + + * 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 <duret_g@epita.fr> + + * 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 <duret_g@epita.fr> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work + better with autoheader. + +2000-12-24 Jim Meyering <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * lib/localcharset.c (locale_charset): Add support for Win32. + +2000-12-18 Paul Eggert <eggert@twinsun.com> + + * 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 <haible@clisp.cons.org> + + * lib/config.charset: Add support for BeOS. + +2000-12-17 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * 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 <schwab@suse.de> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/dirname.c (dir_name_r): Add `const' in a few local declarations. + +2000-12-04 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/closeout.h: Make idempotent, to avoid some obscure warnings. + +2000-12-01 Paul Eggert <eggert@twinsun.com> + + * lib/memrchr.c: Include <config.h> before any system include file. + +2000-11-30 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h. + +2000-11-30 Jim Meyering <meyering@lucent.com> + + * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf. + +2000-11-29 Paul Eggert <eggert@twinsun.com> + + * lib/dirname.c (dir_name_r): Fix typo: int -> size_t. + +2000-11-26 Jim Meyering <meyering@lucent.com> + + * lib/memcoll.c: Include sys/types.h. From Werner Almesberger. + +2000-11-22 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/strstr.c: Update from GNU libc. + +2000-11-17 Akim Demaille <akim@epita.fr> + + * 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 <meyering@lucent.com> + + * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc. + +2000-11-11 Jim Meyering <meyering@lucent.com> + + * lib/error.c: Add a couple #includes, merging from GNU libc version. + +2000-11-10 Jim Meyering <meyering@lucent.com> + + * lib/obstack.h: Update from GNU libc. + * lib/obstack.c: Likewise. + +2000-11-08 Bruno Haible <haible@clisp.cons.org> + + * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb. + +2000-11-06 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/makepath.h (make_dir): Declare. + * lib/makepath.c (make_dir): Remove `static' attribute. + Tweak a comment. + +2000-11-04 Jim Meyering <meyering@lucent.com> + + * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'. + +2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr> + + * 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 <vesselin@bgnet.bg> + + * 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 <monnier@cs.yale.edu> + + * regex.c (re_iswctype, re_wctype_to_bit): Fix braino. + (regex_compile): Catch bogus \(\1\). + +2000-10-30 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf + renaming. + * m4/ls-mntd-fs.m4: Likewise + +2000-10-29 Jim Meyering <meyering@lucent.com> + + * lib/xstat.in: Fix grammar in comment. + +2000-10-29 Greg Louis <glouis@dynamicro.on.ca> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR. + (jm_PREREQ_MEMCHR): New function. + +2000-10-28 Jim Meyering <meyering@lucent.com> + + * 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 <monnier@cs.yale.edu> + + * 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 <meyering@lucent.com> + + * lib/strftime.c: Update from libc. + +2000-10-25 Stefan Monnier <monnier@cs.yale.edu> + + * 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 <meyering@lucent.com> + + * lib/obstack.c: Update from libc. + +2000-10-24 Kenichi Handa <handa@etl.go.jp> + + * 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 <andrewi@gnu.org> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/quote.h (PARAMS): Define and use. + Reported by Akim Demaille. + + * lib/getopt.c: Update from libc. + +2000-10-16 Jim Meyering <meyering@lucent.com> + + * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to + setlocale. + From Jan Fedak. + +2000-10-15 Stefan Monnier <monnier@cs.yale.edu> + + * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well. + +2000-09-25 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added. + Reported by Michael Stone. + +2000-09-20 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/regex.c: Update from libc. + +2000-09-10 Jim Meyering <meyering@lucent.com> + + * lib/getopt.c (_getopt_internal): Update from glibc. + +2000-09-09 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/getopt.c (_getopt_internal): Update from glibc. + +2000-08-30 Jim Meyering <meyering@lucent.com> + + * lib/strftime.c: Merge in changes from GNU libc. + +2000-08-26 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4: Use jm_FUNC_FPENDING. + * m4/fpending.m4: New file. + +2000-08-26 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <dave@hiauly1.hia.nrc.ca> + + 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 <eggert@twinsun.com> + + 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <greg@mcgary.org> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/xmalloc.c: Use `virtual memory exhausted', not + `Memory exhausted'. + * lib/obstack.c (print_and_abort): Likewise. + +2000-07-30 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * lib/mbswidth.c: Remove useless #else. From Bruno Haible. + +2000-07-23 Paul Eggert <eggert@twinsun.com> + + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. + +2000-07-23 Paul Eggert <eggert@twinsun.com> + + * lib/quotearg.c: Streamline by invoking multibyte code only if needed. + <wchar.h>: 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 <eggert@twinsun.com> + + * lib/quotearg.c: + Include <wchar.h> 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 <eggert@twinsun.com> + + * lib/mbswidth.c (_XOPEN_SOURCE): + Don't define; this causes problems on Solaris 7. + (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare. + +2000-07-23 Jim Meyering <meyering@lucent.com> + + * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these, + too: getgrgid, getpwuid, getuid. + +2000-07-23 Jim Meyering <meyering@lucent.com> + + * lib/basename.c (base_name): Add an assertion. + +2000-07-23 Bruno Haible <haible@clisp.cons.org> + + * lib/quotearg.c: When the system forces us to redefine mbstate_t, + shadow its mbsinit function. + +2000-07-17 Bruno Haible <haible@clisp.cons.org> + + * 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 <haible@clisp.cons.org> + + * lib/config.charset: Add support for FreeBSD. Improve support for + HP-UX and IRIX 6. + +2000-07-16 Bruno Haible <haible@clisp.cons.org> + + * m4/mbswidth.m4: New file. + * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. + +2000-07-15 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + 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 <meyering@lucent.com> + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require + jm_AC_TYPE_UINTMAX_T. + +2000-07-13 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/Most files: Update copyright dates to include 2000. + +2000-07-08 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + and Bruno Haible <haible@clisp.cons.org> + + * 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 <eggert@twinsun.com> + and Bruno Haible <haible@clisp.cons.org> + + * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't. + +2000-07-05 Bruno Haible <haible@clisp.cons.org> + + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer + to strerror_r. + Include <ctype.h> for use of isalpha. + +2000-07-05 Bruno Haible <haible@clisp.cons.org> + + * 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 <haible@clisp.cons.org> + + * lib/quotearg.c (struct quoting_options): Simplify quote_these_too + dimension. + +2000-07-04 Jim Meyering <meyering@lucent.com> + + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead + of the deprecated AC_CHECKING. + +2000-07-04 Jim Meyering <meyering@lucent.com> + + * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen. + Reported by Bruno Haible. + +2000-07-04 Jim Meyering <meyering@lucent.com> + + * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether + HAVE_MBRTOWC is set. Required at least for irix-5.6, which + lacks mbrtowc. + +2000-07-03 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + and Bruno Haible <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen. + +2000-07-03 Jim Meyering <meyering@lucent.com> + + * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/quotearg.c (mbstate_t): Don't define here. + +2000-07-02 Jim Meyering <meyering@lucent.com> + + * lib/nanosleep.c (SIGCONT): Define if not already defined. + +2000-07-01 Jim Meyering <meyering@lucent.com> + + * m4/uptime.m4: Put double quotes around use of $cross_compiling. + +2000-07-01 Jim Meyering <meyering@lucent.com> + + * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated + problem. + +2000-07-01 Bruno Haible <haible@clisp.cons.org> + + * 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 <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * lib/same.c: Include <string.h> or <strings.h>, as appropriate, + for declaration of strcmp. + + * lib/long-options.c: Include <stdlib.h>, 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well. + * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or + <utmpx.h> exists, put readutmp.o into LIBOBJS. + +2000-06-27 Bruno Haible <haible@clisp.cons.org> + + * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c. + +2000-06-26 Paul Eggert <eggert@twinsun.com> + + 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 (<unistd.h>): 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 <meyering@lucent.com> + + * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort. + +2000-06-25 Jim Meyering <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * lib/unicodeio.c (print_unicode_char): Work around ansi2knr + deficiency. + +2000-06-25 Bruno Haible <haible@clisp.cons.org> + + * lib/getusershell.c (xmalloc, xrealloc): Remove functions. + Include xalloc.h. + Don't include <stdlib.h>. Don't declare malloc, realloc. + +2000-06-24 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r. + +2000-06-23 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/quotearg.c: Include <wctype.h> after <wchar.h>, 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/getpass.c: New file, from Bruno Haible. Required for BeOS. + +2000-06-21 Jim Meyering <meyering@lucent.com> + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass. + +2000-06-21 Jim Meyering <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * 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 <haible@clisp.cons.org> + + * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is + the empty string. + +2000-06-21 Bruno Haible <haible@clisp.cons.org> + + * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an + address, not strdup. Include <stdlib.h> and don't declare free(). + +2000-06-19 Jim Meyering <meyering@lucent.com> + + * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define. + +2000-06-18 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. + +2000-06-15 Paul Eggert <eggert@twinsun.com> + + * lib/human.c (adjust_value): New function. + (human_readable_inexact): Apply rounding style even when + printing approximate values. + +2000-06-14 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * lib/getdate.y (get_date): Apply relative times after time + zone indicator, not before. Reported by Todd A. Jacobs. + +2000-06-13 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free". + +2000-06-12 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/largefile.m4: Remove file (now that it's part of autoconf). + +2000-06-04 Paul Eggert <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H. + +2000-06-04 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr. + +2000-06-03 Bruno Haible <haible@clisp.cons.org> + + * m4/glibc21.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21. + +2000-06-03 Bruno Haible <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'. + +2000-05-24 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/lstat.m4: Likewise. + +2000-05-22 Jim Meyering <meyering@lucent.com> + + * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block. + +2000-05-20 Jim Meyering <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro. + (jm_PREREQ): Use it. + +2000-05-18 Jim Meyering <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * lib/closeout.c: + <sys/stat.h>, <sys/types.h>, <unistd.h>, (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 <meyering@lucent.com> + + * lib/version-etc.c (version_etc_copyright): Update the copyright + string used in all --version output. + +2000-05-14 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/gettext.m4: Rename this... + * m4/libintl.m4: ...to this. + +2000-05-08 Jim Meyering <meyering@lucent.com> + + * lib/long-options.c: Don't include closeout.h. + (parse_long_options): Don't call close_stdout for --version. + +2000-05-06 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/closeout.c (close_stdout_status): Also check for errors on the + stderr stream. + +2000-05-05 Jim Meyering <meyering@lucent.com> + + * 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 + <shadow.h>. Reported by Dragos Harabor. + +2000-05-05 Bruno Haible <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup. + +2000-05-02 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/full-write.c (full_write): Remove `FIXME' part of comment. + +2000-04-29 Jim Meyering <meyering@lucent.com> + + * lib/path-concat.c: Declare strdup only if it's not defined. + * lib/canon-host.c: Likewise. + +2000-04-28 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro. + (jm_PREREQ): Use it. + +2000-04-18 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime. + +2000-04-13 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * 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 <eggert@twinsun.com> + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on + IRIX if the installer said otherwise. + +2000-04-05 Jim Meyering <meyering@lucent.com> + + Portability tweaks required for ultrix4.3. + * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>. + (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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h> + before checking struct stat.st_blksize, so that + HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly. + +2000-03-29 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H. + Otherwise, include <strings.h> + +2000-03-17 Bruno Haible <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * m4/lib-check.m4: Look for getspnam in -lgen, too. + From Marco Franzen. + +2000-03-07 Paul Eggert <eggert@twinsun.com> + + * lib/savedir.c (savedir): Work even if directory size is + negative; this can happen with some screwy NFS configurations. + +2000-03-06 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE, + for lib/localcharset.c. + +2000-03-04 Jim Meyering <meyering@lucent.com> + + * 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 (<errno.h>): 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 <haible@clisp.cons.org> + + * 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 <meyering@lucent.com> + + * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'. + +2000-03-02 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/Makefile.am (EXTRA_DIST): Add config.charset. + +2000-03-01 Jim Meyering <meyering@lucent.com> + + * lib/localcharset.c: Guard some #includes with `#if HAVE_...'. + * lib/unicodeio.c: Likewise. + +2000-03-01 Bruno Haible <haible@clisp.cons.org> + + * 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 <eggert@twinsun.com> + + * lib/quotearg.c (ALERT_CHAR): New macro. + (quotearg_buffer_restyled): Use it. + +2000-02-27 Jim Meyering <meyering@lucent.com> + + * m4/check-decl.m4: Add getenv to the list. + +2000-02-27 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + * 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 <intval>. + (tSNUMBER, tUNUMBER): Now of type <textintval>. + (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 <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/userspec.c (ISDIGIT): Define it. + (isdigit): Remove definition. + (is_number): Use ISDIGIT, not isdigit. + <libintl.h>: Include. + (_ and N_): Define. + (parse_user_spec): Mark translatable strings. + +2000-02-10 Jim Meyering <meyering@lucent.com> + + 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 <meyering@lucent.com> + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from + gnu_nanosleep to rpl_nanosleep. + +2000-02-09 Jim Meyering <meyering@lucent.com> + + * 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 <akim@epita.fr> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname. + +2000-02-03 Jim Meyering <meyering@lucent.com> + + * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION', + rather than with `#if HAVE_UTMPNAME'. + +2000-02-02 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/readutmp.h (UT_USER): Add parens. From Andreas Schwab. + +2000-01-31 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/lib-check.m4: New file containing library-related checks from + fileutils and sh-utils (textutils had none). + +2000-01-28 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of + obstack.c. + +2000-01-22 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eliz@is.elta.co.il> + * lib/dirname.c (dir_name): Support for DOS-style file names with drive + letters. + + * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of + iswprint. + + * lib/strverscmp.c (ISDIGIT): Define. + (strverscmp): Use ISDIGIT, not isdigit. + +2000-01-19 Jim Meyering <meyering@lucent.com> + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too. + Use AC_HEADER_TIME. Volker Borchert reported that OpenBSD-2.3/sparc + defines `struct timespec' in <sys/time.h> + + * m4/c-bs-a.m4: Remove uses of changequote altogether. + Thanks to Akim for explaining. + +2000-01-17 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * lib/interlock: Remove unused file. Reported by François Pinard. + +2000-01-16 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )' + because the latter didn't work. + +2000-01-15 Jim Meyering <meyering@lucent.com> + + * 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 <meyering@lucent.com> + + * 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 <eggert@twinsun.com> + + 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 <eggert@twinsun.com> + + * m4/uintmax_t.m4: Port to autoconf 2.13. + +2000-01-08 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@ascend.com> + + * m4/search-libs.m4: Escape `$' in $3 of dnl comment. I no longer + remember if this is necessary. + +1999-12-26 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4: Use it here. + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro. + +1999-12-23 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4: Check for clock_gettime (moved from + fileutils/configure.in) + Check for gettimeofday. + +1999-12-20 Jim Meyering <meyering@ascend.com> + + * m4/strftime.m4: Remove kludge, now that I'm using the fixed + autoconf-2.14a-1999-12-20. + +1999-12-19 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@ascend.com> + + * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES. + +1999-11-07 Jim Meyering <meyering@ascend.com> + + * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE. + +1999-11-06 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/jm-macros.m4: Don't require autoconf-2.14.1. + +1999-09-22 Paul Eggert <eggert@twinsun.com> + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC + 2.95.1 bug with HP-UX 10.20. + +1999-09-17 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/jm-macros.m4: Require jm_BISON. + * m4/bison.m4: New file. + +1999-08-17 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/jm-macros.m4: Add a comment. + +1999-08-01 Paul Eggert <eggert@twinsun.com> + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether + <inttypes.h> defines strtoumax as a macro (and not as a + function). + +1999-08-01 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * m4/mktime.m4: New file, which is a preview of what should appear + in the next public autoconf release. + +1999-08-01 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * 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 <meyering@ascend.com> + + * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from + m4. + +1999-07-20 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove. + +1999-07-15 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize. + +1999-05-22 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr. + +1999-05-20 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS. + +1999-05-10 Jim Meyering <meyering@ascend.com> + + * 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 <schwab@issan.cs.uni-dortmund.de> + + * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments. + +1999-05-04 Paul Eggert <eggert@twinsun.com> + + * 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 <eggert@twinsun.com> + + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2. + +1999-04-20 Paul Eggert <eggert@twinsun.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro. + * m4/jm-macros.m4: Use it. + +1999-04-06 Jim Meyering <meyering@ascend.com> + + * m4/strftime.m4: Remove test for %f. + +1999-03-29 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro. + +1999-03-12 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED. + +1999-03-07 Jim Meyering <meyering@ascend.com> + + * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are + declared. + +1999-02-17 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/group-member.m4: New file -- extracted from sh-utils' + configure.in. + + 1999-02-05 Eli Zaretskii <eliz@is.elta.co.il> + * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names. + +1999-02-06 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/getloadavg.m4: Check for locale.h and the function, setlocale. + +1999-01-30 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/jm-macros.m4 (ARGMATCH_DIE): Define. + (ARGMATCH_DIE_DECL): Define. + +1999-01-12 Jim Meyering <meyering@ascend.com> + + * m4/Makefile.am.in: Rewrite to avoid using fmt. + Reported by Lars Hecking. + +1999-01-10 Jim Meyering <meyering@ascend.com> + + * 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 <meyering@ascend.com> + + * m4/jm-macros.m4: Replace strcasecmp and strncasecmp. + +1998-12-18 Jim Meyering <meyering@ascend.com> + + * m4/Makefile.am.in (Makefile.am): Simplify rule. + Based on a suggestion from Lars Hecking. + +1998-11-16 Paul Eggert <eggert@twinsun.com> + + * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11. + +1998-11-16 Jim Meyering <meyering@ascend.com> + + * m4/lfs.m4: Double-quote the `uname...` expression. + +1998-11-14 Jim Meyering <meyering@ascend.com> + + * m4/lstat.m4: Correct comment. POSIX does not permit it to succeed. + * m4/stat.m4: Likewise. + +1998-11-03 Jim Meyering <meyering@ascend.com> + + * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG. + * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG. + +1998-10-18 Jim Meyering <meyering@ascend.com> + + * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro. + +1998-10-17 Jim Meyering <meyering@ascend.com> + + * 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. + + * m4/mktime.m4: Test for spring-forward gap before long-running test. + +1998-10-14 Jim Meyering <meyering@ascend.com> + + * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver". From Paul Eggert. + +1998-10-11 Jim Meyering <meyering@ascend.com> + + * 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. + +1998-09-27 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH. + + * 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. + + * m4/glibc.m4: New file/macro to test for the GNU C Library + versions 1 and 2. From Gordon Matzigkeit. + Indent. + +1998-09-21 Jim Meyering <meyering@ascend.com> + + * m4/chown.m4: Declare locals: before, after. From Andries Brouwer. + +1998-08-18 Paul Eggert <eggert@twinsun.com> + + Port nanosecond-resolution times to UnixWare 2.1.2 and + pedantic Solaris 2.6. + + * 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. + +1998-08-15 Jim Meyering <meyering@ascend.com> + + * 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. + +1998-08-12 Jim Meyering <meyering@ascend.com> + + * m4/st_dm_mode.m4: New file. From Johan Danielsson. + +1998-08-02 Jim Meyering <meyering@ascend.com> + + * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM + in acconfig.h manually. + +1998-07-31 Paul Eggert <eggert@twinsun.com> + + * m4/st_mtim.m4: New file. + +1998-07-28 Jim Meyering <meyering@ascend.com> + + * m4/utimes.m4: Undef stat. + +1998-07-25 Jim Meyering <meyering@ascend.com> + + * m4/utime.m4 (jm_FUNC_UTIME): New file and macro. + * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro. + +1998-07-09 Manfred Hollstein <manfred@s-direktnet.de> + + * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the + uid and gid actually remain unchanged. + +1998-07-07 Jim Meyering <meyering@ascend.com> + + * m4/jm-glibc-io.m4: Remove fclose_unlocked. + +1998-07-04 Jim Meyering <meyering@ascend.com> + + * 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. + +1998-07-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h> + is to be used. + +1998-07-03 Jim Meyering <meyering@ascend.com> + + * m4/gettext.m4: Add -lintl if it's found to be necessary. + + * m4/gettext.m4: New file -- from gettext-0.10.35. + * m4/lcmessage.m4: Likewise. + * m4/progtest.m4: Likewise. + + * m4/regex.m4 (jm_WITH_REGEX): New file and macro. + * m4/jm-macros.m4: Require the new macro. + +1998-06-29 Jim Meyering <meyering@ascend.com> + + * 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). + +1998-06-28 Jim Meyering <meyering@ascend.com> + + * m4/ls-mntd-fs.m4: New file. + * m4/fstypename.m4: New file. + + * m4/jm-macros.m4: Require the new macro. + * m4/jm-glibc-io.m4: New file. + +1998-05-19 Jim Meyering <meyering@ascend.com> + + * m4/jm-macros.m4: Add jm_FUNC_LCHOWN. + * m4/lchown.m4: New file. + + * m4/Makefile.am.in: New file. + * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in. + +1998-05-14 Jim Meyering <meyering@ascend.com> + + * m4/Makefile.am (EXTRA_DIST): Add them. + * m4/jm-macros.m4: New file. + * m4/utimbuf.m4: New file. + +1998-05-12 Jim Meyering <meyering@ascend.com> + + * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4. + +1998-05-11 Jim Meyering <meyering@ascend.com> + + * m4/isc-posix.m4: New file. + +1998-05-10 Jim Meyering <meyering@ascend.com> + + * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date. + +1998-05-09 Jim Meyering <meyering@ascend.com> + + * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4. + (EXTRA_DIST): Remove mktime.m4, now that the new version is included + with automake. + + * m4/ssize_t.m4: New file. + * m4/mktime.m4: Remove file -- the new automake has this now. + +1998-04-26 Jim Meyering <meyering@ascend.com> + + * m4/assert.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add assert.m4. + +1998-04-05 Jim Meyering <meyering@ascend.com> + + * m4/prereq.m4 (jm_PREREQ_REGEX): New macro. + (jm_PREREQ): Use it here. + +1998-03-23 Jim Meyering <meyering@eng.ascend.com> + + * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H + in acconfig.h. + +1998-03-15 Jim Meyering <meyering@eng.ascend.com> + + * m4/prereq.m4: New file. + * m4/error.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4. + +1998-02-07 Jim Meyering <meyering@eng.ascend.com> + + * 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. + +1998-02-06 Jim Meyering <meyering@eng.ascend.com> + + * m4/Makefile.am (EXTRA_DIST): Add perl.m4. + +1998-01-10 Jim Meyering <meyering@na-net.ornl.gov> + + * m4/Makefile.am (EXTRA_DIST): Add const.m4. + + * m4/const.m4: New file. Use an initializer in this declaration + typedef int charset[2]; const charset x; + Reported by Bob Glickstein. + +1997-12-21 Jim Meyering <meyering@na-net.ornl.gov> + + * m4/chown.m4: Fix reversed types on -1 args to chown. + From Kaveh Ghazi. + +1997-12-14 Jim Meyering <meyering@na-net.ornl.gov> + + * m4/check-decl.m4: s/DECLARATION_/DECL_/g. + Add lseek and memchr. + + * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g. + T.E.Dickey <dickey@clark.net> said that some older preprocessors + have a 20-character limit on names. + +1997-11-30 Jim Meyering <meyering@na-net.ornl.gov> + + * 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. + + + ----- + + Local Variables: + coding: utf-8 + End: + + Copyright (C) 1997-2011 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without + modification, are permitted provided the copyright notice + and this notice are preserved. |