setlocale: Enable replacement on Cygwin 1.5.
[gnulib.git] / ChangeLog
index 4db03d6..a412e01 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,427 @@
+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
@@ -5,8 +429,8 @@
        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"
+       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):