+2008-06-22 Bruno Haible <bruno@clisp.org>
+
+ * 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.