strsignal-tests: Fix test failure on macOS 10.13.
[gnulib.git] / ChangeLog
blobcbe4558d53cf20592a1767e35720147c79166004
1 2020-12-02  Bruno Haible  <bruno@clisp.org>
3         strsignal-tests: Fix test failure on macOS 10.13.
4         Reported by Martin Storsjö <martin@martin.st> in
5         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
6         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
7         to be longer than the expected result.
9 2020-12-02  Bruno Haible  <bruno@clisp.org>
11         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
12         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
13         recursive self-include problem on FreeBSD 12.2 in C++ mode.
15 2020-12-02  Bruno Haible  <bruno@clisp.org>
17         spawn-pipe: Allow caller to specify directory for the subprocess.
18         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
19         Add directory argument.
20         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
21         (create_pipe): Add directory argument. If specified, resolve the program
22         file name and make it absolute, first. Pass the directory to spawnpvech
23         and posix_spawn_file_actions_addchdir.
24         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
25         argument.
26         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
27         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
28         * tests/test-spawn-pipe-main.c (test_pipe): Update.
29         * NEWS: Mention the change.
30         * lib/csharpcomp.c (compile_csharp_using_mono,
31         compile_csharp_using_sscli): Update.
32         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
33         is_gcj_43): Update.
34         * lib/javaversion.c (execute_and_read_line): Update.
35         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
36         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
38 2020-12-02  Bruno Haible  <bruno@clisp.org>
40         execute: Allow caller to specify directory for the subprocess.
41         * lib/execute.h (execute): Add directory argument.
42         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
43         (execute): Add directory argument. If specified, resolve the program
44         file name and make it absolute, first. Pass the directory to spawnpvech
45         and posix_spawn_file_actions_addchdir.
46         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
47         posix_spawn, posix_spawn_file_actions_addchdir.
48         * tests/test-execute-main.c: Add test for passing a directory.
49         * tests/test-execute-child.c: Likewise.
50         * tests/test-execute.sh: Update.
51         * modules/execute-tests (Depends-on): Add mkdir.
52         * NEWS: Mention the change.
53         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
54         * lib/csharpexec.c (execute_csharp_using_mono,
55         execute_csharp_using_sscli): Update.
56         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
57         compile_using_javac, compile_using_jikes, is_javac_present,
58         is_jikes_present): Update.
59         * lib/javaexec.c (execute_java_class): Update.
61 2020-12-01  Bruno Haible  <bruno@clisp.org>
63         vma-iter: Add support for macOS11/arm64.
64         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
65         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
66         and by Martin Storsjö <martin@martin.st> in
67         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
68         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
70 2020-12-01  Bruno Haible  <bruno@clisp.org>
72         spawn-pipe: Fix handling of OS/2 kLIBC.
73         Reported by KO Myung-Hun <komh78@gmail.com> in
74         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
75         * modules/spawn-pipe (configure.ac): Use the common idiom for
76         recognizing the OS/2 operating system.
78 2020-11-30  Bruno Haible  <bruno@clisp.org>
80         execute: Fix uninitialized use of errno.
81         * lib/execute.c (execute): Preserve errno across several system calls.
83 2020-11-30  Bruno Haible  <bruno@clisp.org>
85         access tests: Fix test failure on native Windows.
86         * tests/test-access.c (main): Change permissions of f2 file before
87         attempting to remove it.
89 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
91         faccessat: link with $(LIB_EACCESS)
92         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
93         module depends on euidaccess.
95 2020-11-30  Bruno Haible  <bruno@clisp.org>
97         execute, spawn-pipe: Make multithread-safe on native Windows.
98         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
99         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
100         (spawnpvech): New declaration.
101         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
102         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
103         (_): Remove macro.
104         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
105         undup_safer_noinherit): Remove functions.
106         (spawnpvech): New function.
107         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
108         cloexec, dup2, error, gettext-h.
109         * lib/execute.c: Include msvc-nothrow.h.
110         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
111         * lib/spawn-pipe.c: Include msvc-nothrow.h.
112         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
113         instead of _spawnvpe.
114         * modules/execute (Depends-on): Add msvc-nothrow.
115         * modules/spawn-pipe (Depends-on): Likewise.
117 2020-11-30  Bruno Haible  <bruno@clisp.org>
119         execute, spawn-pipe: Improve documentation.
120         * lib/execute.h: Describe progname, prog_path, prog_argv.
121         * lib/spawn-pipe.h: Likewise.
123 2020-11-30  Bruno Haible  <bruno@clisp.org>
125         execute tests: Add more tests.
126         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
127         inherited file descriptors >= 3.
128         * tests/test-execute-child.c: Likewise.
129         * tests/test-execute.sh: Update.
131 2020-11-30  Bruno Haible  <bruno@clisp.org>
133         havelib: Fix for non-ELF platforms (regression 2019-11-17).
134         Reported by comex <comexk@gmail.com> in
135         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
136         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
137         don't expect an ELF header.
139 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
141         bitset: use integer_length in table implementation
142         * lib/bitset/table.c (tbitset_list_reverse): Use
143         BITSET_FOR_EACH_BIT_REVERSE.
145 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
147         bitset: use integer_length in list implementation
148         * lib/bitset/list.c (lbitset_list_reverse): Use
149         BITSET_FOR_EACH_BIT_REVERSE.
151 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
153         bitset: use integer_length in vector implementation
154         * lib/bitset/array.c (vbitset_list_reverse): Use
155         BITSET_FOR_EACH_BIT_REVERSE.
157 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
159         bitset: use integer_length in array implementation
160         * modules/bitset (Depends-on): Add integer_length_l.
161         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
162         * lib/bitset/array.c (abitset_list_reverse): Use it.
164 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
166         bitset: style: use consistent names
167         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
168         and 'boffset' as 'bitoff', for consistency with the other
169         implementations.
170         * bitset/table.c (tbitset_list_reverse): Likewise.
172 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
174         bitset: style: sort header
175         * lib/bitset/base.h (bitset_ffs): Rename as...
176         (bitset_ffs_): this.
177         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
179 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
181         bitset: tests: check BITSET_FOR_EACH_REVERSE
182         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
183         Check BITSET_FOR_EACH_REVERSE.
185 2020-11-29  Bruno Haible  <bruno@clisp.org>
187         spawn-pipe tests: Fix test failure with MSVC.
188         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
189         (gl_msvc_invalid_parameter_handler): New function.
190         (main): Set a global invalid-parameter handler.
191         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
193 2020-11-29  Bruno Haible  <bruno@clisp.org>
195         execute: Add tests.
196         * tests/test-execute.sh: New file.
197         * tests/test-execute-main.c: New file.
198         * tests/test-execute-child.c: New file.
199         * modules/execute-tests: New file.
201 2020-11-29  Bruno Haible  <bruno@clisp.org>
203         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
204         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
205         works.
206         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
207         fallback implementation as on Haiku.
208         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
209         effective.
210         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
212 2020-11-29  Bruno Haible  <bruno@clisp.org>
214         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
215         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
216         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
217         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
218         * lib/windows-spawn.c: Remove modifications for kLIBC.
219         * modules/spawn-pipe (Files): Add the new files.
220         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
222 2020-11-28  Bruno Haible  <bruno@clisp.org>
224         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
225         Reported by Paul Eggert in
226         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
227         * m4/sparcv8+.m4: New file.
228         * modules/sparcv8+: New file.
229         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
231 2020-11-28  Bruno Haible  <bruno@clisp.org>
233         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
234         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
236 2020-11-28  Bruno Haible  <bruno@clisp.org>
238         windows-spawn: New module.
239         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
240         implementations.
241         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
242         * modules/windows-spawn: New file.
243         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
244         * lib/spawn-pipe.c: Likewise.
245         * modules/execute (Files): Remove lib/w32spawn.h.
246         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
247         xalloc.
248         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
249         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
250         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
251         xalloc.
252         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
254 2020-11-27  Bruno Haible  <bruno@clisp.org>
256         ssfmalloc tests: Port to macOS 11.
257         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
259 2020-11-26  Bruno Haible  <bruno@clisp.org>
261         Fix dependencies of modules that use '_exit' on native Windows.
262         Reported by Jim Meyering in
263         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
264         * modules/_Exit (Depends-on): Add unistd.
265         * modules/closein (Depends-on): Likewise.
266         * modules/closeout (Depends-on): Likewise.
267         * modules/forkpty (Depends-on): Likewise.
268         * modules/posix_spawn-internal (Depends-on): Likewise.
269         * modules/savewd (Depends-on): Likewise.
270         * modules/stat-time-tests (Depends-on): Likewise.
272 2020-11-26  Bruno Haible  <bruno@clisp.org>
274         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
275         * modules/raise-tests (Depends-on): Add unistd.
276         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
278 2020-11-25  Jim Meyering  <meyering@fb.com>
280         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
281         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
282         non-NULL, since we don't bother handing strdup failure.
284         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
285         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
286         * tests/test-raise.c: Include unistd.h.
287         (handler): Use _exit, not exit.
289 2020-11-23  Bruno Haible  <bruno@clisp.org>
291         Use the correct printf format attribute for mingw.
292         Reported by Reuben Thomas <rrt@sc3d.org> in
293         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
295         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
296         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
298         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
299         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
300         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
301         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
302         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
303         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
305         * modules/vasnprintf (Depends-on): Add stdio.
306         * lib/vasnprintf.h: Include <stdio.h>.
307         (asnprintf, vasnprintf): Use the standard printf format attribute.
309         * modules/xvasprintf (Depends-on): Add stdio.
310         * lib/xvasprintf.h: Include <stdio.h>.
311         (xasprintf, xvasprintf): Use the standard printf format attribute.
313         * modules/xprintf (Depends-on): List stdio first.
314         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
315         depends on GNULIB_VPRINTF_POSIX.
316         (xfprintf, xvfprintf): Use a printf format attribute that depends on
317         GNULIB_VFPRINTF_POSIX.
319         * modules/c-vasnprintf (Depends-on): Add stdio.
320         * lib/c-vasnprintf.h: Include <stdio.h>.
321         (c_vasnprintf): Use the standard printf format attribute.
323         * modules/c-vasprintf (Depends-on): Add stdio.
324         * lib/c-vasprintf.h: Include <stdio.h>.
325         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
327         * modules/c-vsnprintf (Depends-on): Add stdio.
328         * lib/c-vsnprintf.h: Include <stdio.h>.
329         (c_vsnprintf): Use the standard printf format attribute.
331         * modules/c-snprintf (Depends-on): Add stdio.
332         * lib/c-snprintf.h: Include <stdio.h>.
333         (c_snprintf): Use the standard printf format attribute.
335         * modules/c-xvasprintf (Depends-on): Add stdio.
336         * lib/c-xvasprintf.h: Include <stdio.h>.
337         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
339         * modules/error (Depends-on): Depend on stdio always.
340         * lib/error.h: Include <stdio.h>.
341         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
342         (error, error_at_line): Use a printf format attribute that depends on
343         GNULIB_VFPRINTF_POSIX.
344         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
345         _GL_ATTRIBUTE_FORMAT_PRINTF.
347         * modules/verror (Depends-on): Add stdio.
348         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
349         (verror, verror_at_line): Use the standard printf format attribute.
350         * lib/verror.c: Include "error.h".
352         * modules/argp (Depends-on): Add stdio.
353         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
354         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
356         * modules/libtextstyle-optional (Depends-on): Add stdio.
357         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
358         printf format attribute.
360         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
361         format attribute.
363 2020-11-23  Pádraig Brady  <P@draigBrady.com>
365         selinux-at, selinux-h: use const correct declarations
366         * lib/se-selinux.in.h: Use const for "set" functions,
367         to match current selinux, and support cleaner user code.
368         * lib/selinux-at.c: Likewise.
369         * lib/selinux-at.h: Likewise.
371 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
373         canonicalize-lgpl: fix memory leak
374         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
375         which could have occurred if BUF was so large that malloc was
376         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
377         this eliminates the need to free BUF separately.
379 2020-11-22  Bruno Haible  <bruno@clisp.org>
381         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
382         * modules/xvasprintf (Depends-on): Add xalloc.
383         * modules/pipe-filter-gi (Depends-on): Likewise.
384         * modules/execute (Depends-on): Likewise, for w32spawn.h.
385         * modules/spawn-pipe (Depends-on): Likewise.
387 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
389         bootstrap: add option hooks
390         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
391         (bootstrap_option_hook): Likewise.
392         (usage): Call bootstrap_print_option_usage_hook.
394 2020-11-22  Bruno Haible  <bruno@clisp.org>
396         argp: Don't break getprogname on non-glibc systems.
397         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
398         program_invocation_name and program_invocation_short_name.
400 2020-11-22  Bruno Haible  <bruno@clisp.org>
402         doc: Document <link.h>.
403         * doc/glibc-headers/link.texi: New file.
404         * doc/gnulib.texi: Include it.
406 2020-11-22  Bruno Haible  <bruno@clisp.org>
408         doc: Add references to the LSB.
409         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
410         * doc/posix-functions/*.texi: Likewise.
412 2020-11-22  Bruno Haible  <bruno@clisp.org>
414         doc: Fix a makeinfo warning (regression 2020-11-03).
415         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
417 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
419         parse-datetime: fix printf format typo
420         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
421         previous patch to this file.  Problem reported by Chris Elvidge in
422         <https://bugs.gnu.org/44763#32>.
424         setlocale-null-tests: work around GCC bug 44511
425         * tests/test-setlocale_null-mt-all.c:
426         * tests/test-setlocale_null-mt-one.c:
427         Ignore -Wreturn-type, to work around GCC bug 44511.
429         nl_langinfo-tests: work around GCC bug 44511
430         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
431         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
432         Problem reported for GNU grep by Andreas Schwab
433         <https://bugs.gnu.org/44535>.
435         selinux-h: add stubs for selabel_open etc.
436         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
437         because matchpathcon is deprecated in favor of selabel_open etc.,
438         so this patch adds stubs for these functions.
439         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
440         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
441         as it is needed for selabel_open and selinux/selinux.h declares
442         this type here.
443         * modules/selinux-h (Files): Add the new files.
444         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
445         (lib_SOURCES): Add se-label.in.h, se-label.c.
446         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
447         (selinux/label.h): New rule, mimicking selinux/context.h.
448         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
449         (Include): Add selinux/label.h.
451 2020-11-21  Bruno Haible  <bruno@clisp.org>
453         Update after 'test-driver' in Automake changed.
454         * build-aux/test-driver.diff: Rebase.
456 2020-11-21  Daiki Ueno  <ueno@gnu.org>
458         read-file: remove dead assignment
459         * lib/read-file.c (fread_file): Remove dead assignment when
460         RF_SENSITIVE is set, flagged by clang-analyzer.
462 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
464         bitset: tests: exercise the stats too
466         * tests/test-bitset.c: Display the stats at the end of the test.
467         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
468         last bin, display "256-..." rather that "256-511", since the last bin
469         does count item greater than or equal to 256.
471 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
473         bitset: tests: try harder to break it
474         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
475         BITSET_LIST_SIZE.
476         (main): Likewise.
477         While at it, also exercise super small bitsets.
479 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
481         bitset: use ffs where possible in the vector implementation
482         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
484 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
486         bitset: use ffs where possible in the table implementation
487         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
489 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
491         bitset: check empty and full bitsets
492         * tests/test-bitset.c (check_zero, check_ones): New.
493         (check_attributes): Use them.
495 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
497         bitset: be sure to always return a value
498         * lib/bitset/array.c (abitset_small_list): Always update *next and
499         return a value.
501 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
503         vcs-to-changelog: Expect spaces in file names
504         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
505         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
506         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
507         tabs to spaces.
508         (list_changes): Use tabs to identify file names.
510 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
512         bitset: strengthen tests
513         * tests/test-bitset.c (compare): Also check count.
514         Deal only with random values, move the one-bit tests to...
515         (check_one_bit): this new function.
516         (check_attributes): Call it.
518 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
520         bitset: fix iteration over table bitsets
521         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
523 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
525         bitset: rename internal details for consistency
526         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
528 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
530         bitset: test: run deterministic tests on several bitset sizes
531         * tests/test-bitset.c (check_attributes): Run it with small and large
532         sizes.
534 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
536         bitset: use ffs where possible in the list implementation
537         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
539 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
541         bitset: use ffs where possible in array implementation
542         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
544 2020-11-17  Bruno Haible  <bruno@clisp.org>
546         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
547         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
548         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
549         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
550         C++ mode.
552 2020-11-17  Bruno Haible  <bruno@clisp.org>
554         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
555         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
556         is always declared.
557         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
558         declared.
560 2020-11-17  Bruno Haible  <bruno@clisp.org>
562         Fix link errors on AIX.
563         * modules/clean-temp (Link): Link with $(LIBTHREAD).
564         * modules/getumask (Link): Link with $(LIBTHREAD).
565         * modules/getumask-tests (Makefile.am): Link test-getumask with
566         $(LIBTHREAD).
567         * modules/supersede (Link): Link with $(LIBTHREAD).
568         * modules/supersede-tests (Makefile.am): Link test-supersede with
569         $(LIBTHREAD).
570         * modules/fatal-signal (Link): New section.
571         * modules/execute (Link): New section.
572         * modules/csharpexec (Link): Link with $(LIBTHREAD).
573         * modules/javaexec (Link): Link with $(LIBTHREAD).
574         * modules/spawn-pipe (Link): New section.
575         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
576         $(LIBTHREAD).
577         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
578         * modules/javacomp (Link): Link with $(LIBTHREAD).
579         * modules/javaversion (Link): Link with $(LIBTHREAD).
580         * modules/pipe-filter-gi (Link): New section.
581         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
582         test-pipe-filter-gi2-main with $(LIBTHREAD).
583         * modules/pipe-filter-ii (Link): New section.
584         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
585         test-pipe-filter-ii2-main with $(LIBTHREAD).
586         * modules/term-style-control (Link): New section.
587         * modules/term-style-control-tests (Makefile.am): Link
588         test-term-style-control-hello, test-term-style-control-yes with
589         $(LIBTHREAD).
590         * modules/wait-process (Link): New section.
591         * modules/nonblocking-pipe-tests (Makefile.am): Link
592         test-nonblocking-pipe-main with $(LIBTHREAD).
593         * modules/nonblocking-socket-tests (Makefile.am): Link
594         test-nonblocking-socket-main with $(LIBTHREAD).
596 2020-11-16  Bruno Haible  <bruno@clisp.org>
598         Fix link errors on platforms with libunistring.
599         * modules/c32isalnum (Link): New section.
600         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
601         $(LIBUNISTRING).
602         * modules/c32isalpha (Link): New section.
603         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
604         $(LIBUNISTRING).
605         * modules/c32isblank (Link): New section.
606         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
607         $(LIBUNISTRING).
608         * modules/c32iscntrl (Link): New section.
609         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
610         $(LIBUNISTRING).
611         * modules/c32isdigit (Link): New section.
612         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
613         $(LIBUNISTRING).
614         * modules/c32isgraph (Link): New section.
615         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
616         $(LIBUNISTRING).
617         * modules/c32islower (Link): New section.
618         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
619         $(LIBUNISTRING).
620         * modules/c32isprint (Link): New section.
621         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
622         $(LIBUNISTRING).
623         * modules/c32ispunct (Link): New section.
624         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
625         $(LIBUNISTRING).
626         * modules/c32isspace (Link): New section.
627         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
628         $(LIBUNISTRING).
629         * modules/c32isupper (Link): New section.
630         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
631         $(LIBUNISTRING).
632         * modules/c32isxdigit (Link): New section.
633         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
634         $(LIBUNISTRING).
635         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
636         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
637         $(LIBUNISTRING).
639 2020-11-16  Bruno Haible  <bruno@clisp.org>
641         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
642         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
643         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
644         * modules/getumask-tests (Makefile.am): Link test-getumask with
645         $(LIBINTL).
646         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
647         * modules/supersede-tests (Makefile.am): Link test-supersede with
648         $(LIBINTL).
649         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
650         $(LIBINTL).
652 2020-11-16  Bruno Haible  <bruno@clisp.org>
654         getumask: Document link dependencies.
655         * modules/getumask (Link): New section.
657 2020-11-16  Bruno Haible  <bruno@clisp.org>
659         Update link dependencies in modules after 2020-09-09 change.
660         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
661         * modules/mkdtemp (Link): Likewise.
662         * modules/mkostemp (Link): Likewise.
663         * modules/mkostemps (Link): Likewise.
664         * modules/mkstemp (Link): Likewise.
665         * modules/mkstemps (Link): Likewise.
666         * modules/supersede (Link): Likewise.
667         * modules/tmpfile (Link): Likewise.
668         * modules/tmpfile-safer (Link): Likewise.
670 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
672         getumask-tests: port to Solaris 10 etc.
673         Problem reported by Tom Christensen in:
674         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
675         * modules/getumask-tests (test_getumask_LDADD):
676         Add $(LIB_CLOCK_GETTIME).
678 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
680         bitset: use ffsl to accelerate iterations over set bits
681         Suggested by Bruno Haible.
682         * modules/bitset: Depend upon ffsl.
683         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
684         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
686 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
688         bitset: more tests
689         * tests/test-bitset.c (compare): Make it clear that the random values
690         should not be modified.
691         Check bitset_first, bitset_last and BITSET_FOR_EACH.
693 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
695         bitset: fix the copy from lbitset to other types
696         * lib/bitset/list.c (lbitset_copy): Rename as...
697         (lbitset_copy_): this.
698         (lbitset_copy): New.
699         Dispatch to heterogeneous/homogeneous copy.
701 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
703         bitset: making debug traces more useful
704         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
706         bitset: comment changes
707         * lib/bitset.c: Move some documenting comments to...
708         * lib/bitset.h: here.
709         * lib/bitset/array.c: Fix some comments.
711 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
713         careadlinkat: warn better about GCC bug 93644
714         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
715         not in effect, use "#warning" to let builders know more clearly
716         about GCC bug 93644, because the bug triggers even if no -W option
717         is given to GCC.
719 2020-11-13  Jim Meyering  <meyering@fb.com>
721         hard-locale-tests: avoid a -Wstrict-prototypes warning
722         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
723         changing "main ()" to "main (void)". This was the only case that
724         triggered a warning when building grep with --enable-gcc-warnings.
726 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
728         time_rz: simplify CVE-2017-7476 fix
729         * lib/time_rz.c: Do not include limits.h; I think it was included
730         under the mistaken impression that limits.h defines SIZE_MAX.
731         (SIZE_MAX): Remove.
732         (save_abbr): Put string length into a ptrdiff_t variable,
733         so that the size comparison works naturally.  This
734         fixes CVE-2017-7476 in a cleaner way.
736         parse-datetime: streamline overflow checking
737         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
738         did not work for unsigned destinations, and since time_t might
739         be unsigned that meant it did not work for time_t destinations.
740         This limitation of INT_ADD_WRAPV has been fixed, so we can
741         now streamline parse-datetime.y a bit.
742         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
743         has not been used for a while.
744         (yylex, parse_datetime2): Assume C99 declarations after statements.
745         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
746         to TYPE_MINIMUM.
747         (parse_datetime2): No need for time_overflow now that
748         INT_ADD_WRAPV works for unsigned results.
750         parse-datetime-tests: port to Alpine Linux 3.12.1
751         * tests/test-parse-datetime.c: Include errno.h for errno,
752         and unistd.h for _SC_TZNAME_MAX and sysconf.
753         (main): In the outlandishly-long time zone abbreviation test,
754         do not exceed TZNAME_MAX as this has undefined behavior,
755         and on Alpine Linux 3.12.1 it makes the test fail.
757 2020-11-09  Pádraig Brady  <P@draigBrady.com>
759         mgetgroups: avoid warning with clang
760         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
761         so disable -Wpointer-sign for all clang versions.
763 2020-11-07  Bruno Haible  <bruno@clisp.org>
765         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
766         Reported by Simon Josefsson in
767         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
768         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
769         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
770         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
772 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
774         tests: pacify Sun C 5.9
775         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
776         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
777         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
778         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
779         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
780         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
781         Remove unreachable ‘return NULL;’s.
783         tests: port better to XLC 12.01
784         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
785         even in code that is not executed, as IBM XLC 12.01 complains "The
786         subscript -1 is less than zero."
787         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
788         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
789         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
790         arguments than are required by the macro definition."
792 2020-11-03  Bruno Haible  <bruno@clisp.org>
794         aligned-malloc: Use fixes from the new modules.
795         * modules/aligned-malloc (Depends-on): Add posix_memalign,
796         aligned_alloc, memalign.
797         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
799 2020-11-03  Bruno Haible  <bruno@clisp.org>
801         aligned_alloc: Add tests.
802         * tests/test-aligned_alloc.c: New file.
803         * modules/aligned_alloc-tests: New file.
805         aligned_alloc: New module.
806         * lib/stdlib.in.h (aligned_alloc): New declaration.
807         * lib/aligned_alloc.c: New file.
808         * m4/aligned_alloc.m4: New file.
809         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
810         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
811         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
812         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
813         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
814         * modules/aligned_alloc: New file.
815         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
816         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
817         AIX bug.
819 2020-11-03  Bruno Haible  <bruno@clisp.org>
821         posix_memalign: Add tests.
822         * tests/test-posix_memalign.c: New file.
823         * modules/posix_memalign-tests: New file.
825         posix_memalign: New module.
826         * lib/stdlib.in.h (posix_memalign): New declaration.
827         * lib/posix_memalign.c: New file.
828         * m4/posix_memalign.m4: New file.
829         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
830         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
831         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
832         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
833         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
834         * modules/posix_memalign: New file.
835         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
836         * doc/posix-functions/posix_memalign.texi: Mention the new module and
837         the OpenBSD bug.
839 2020-11-03  Bruno Haible  <bruno@clisp.org>
841         memalign: Add tests.
842         * tests/test-memalign.c: New file.
843         * modules/memalign-tests: New file.
845         memalign: New module.
846         * modules/memalign: New file.
847         * doc/glibc-functions/memalign.texi: Mention the new module.
849 2020-11-03  Bruno Haible  <bruno@clisp.org>
851         verify tests: Fix crash with GCC (regression 2020-11-02).
852         * tests/test-verify.c (main): Fix initializer of s.
854 2020-11-03  Pádraig Brady  <P@draigBrady.com>
856         mountlist: recognize more file system types as remote
858         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
859         "remote" file systems from stat.c in coreutils.
861 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
863         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
864         * tests/test-verify.c (main): Initialize state variable.
865         Reported by Bruno Haible for GCC 5.4.0.
867 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
869         dfa.h: support inclusion from C++
870         * lib/dfa.h: Allow multiple inclusion, and inclusion from
871         C++ code.  The latter was suggested by Arnold Robbins.
873 2020-11-01  Bruno Haible  <bruno@clisp.org>
875         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
876         * tests/test-ssfmalloc.c: Include <limits.h>.
877         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
879 2020-11-01  Bruno Haible  <bruno@clisp.org>
881         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
882         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
884 2020-11-01  Jim Meyering  <meyering@fb.com>
886         dfa-tests: test for today's invalid-merge fix
887         * tests/test-dfa-invalid-merge.sh: New file.
888         * modules/dfa-tests (Files): Add it.
889         (TESTS): Add it.
891 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
893         dfa: retain sequences of similar nodes in optimization
894         DFA was merging similar nodes when it should not.  For example,
895         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
896         is not merged.  Problem reported by Gonzalo Padrino in
897         https://bugs.gnu.org/44351
898         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
899         optimization.
901 2020-11-01  Jim Meyering  <meyering@fb.com>
903         test-dfa-match-aux.c: accept EREs, not BREs
904         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
905         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
907 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
909         verify tests: avoid -Wmissing-declarations warnings
910         * tests/test-verify.c (test_assume_expressions): Add declaration.
911         (test_assume_optimization): Likewise.
912         (test_assume_noreturn): Likewise.
913         (main): Move down after all other definitions.  While at it, also
914         call test_assume_expressions and test_assume_optimization as a
915         runtime check.
917 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
919         sys_stat: update comments for S_IRWXUGO, S_IXUGO
920         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
921         Perhaps these macros should be removed, as they’re not in either
922         POSIX or GNU.  They could be moved to stat-macros.h, which would
923         be cleaner in some sense.
925 2020-10-25  Bruno Haible  <bruno@clisp.org>
927         ssfmalloc tests: Small tweaks.
928         * tests/test-ssfmalloc.c: Add comments.
929         (alloc_pages): Don't require PROT_EXEC bits.
930         (block_sizes): Add more small sizes, for better coverage of
931         ssfmalloc-bitmap.h.
933         ssfmalloc tests: Portability to Minix.
934         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
935         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
936         * m4/mmap-anon.m4: Update comment.
938         ssfmalloc: Portability to AIX.
939         * modules/ssfmalloc (Include): Add ssfmalloc.h.
940         (Link): New section.
941         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
942         $(LIBTHREAD).
944         ssfmalloc: Portability to Cygwin.
945         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
946         (pg_offset_t): Define depending on PAGESIZE_MAX.
947         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
948         (PAGESIZE_MAX): New macro.
950         ssfmalloc: Fix buffer overrun in bitmap search.
951         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
952         word *words_end.
954 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
956         doc: mention ‘restrict’ and C++
957         * doc/gnulib-readme.texi (C99 features assumed): Document
958         that ‘restrict’ should be avoided in C++ code.
960 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
962         selinux-at, selinux-h: port to SELinux 3.1
963         The new release finally deprecated the typedef 'security_context_t',
964         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
965         Use the simpler 'char *' instead.
966         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
967         (lgetfilecon): Likewise.
968         (fgetfilecon): Likewise.
969         (map_to_failure): Likewise.
970         (rpl_getfilecon): Likewise.
971         (rpl_lgetfilecon): Likewise.
972         (rpl_fgetfilecon): Likewise.
973         * lib/se-selinux.in.h (security_context_t): Remove typedef.
974         (getcon): Adjust type of context parameter.
975         (freecon): Likewise.
976         (getfscreatecon): Likewise.
977         (setfscreatecon): Likewise.
978         (matchpathcon): Likewise.
979         (getfilecon): Likewise.
980         (lgetfilecon): Likewise.
981         (fgetfilecon): Likewise.
982         (setfilecon): Likewise.
983         (lsetfilecon): Likewise.
984         (fsetfilecon): Likewise.
985         (security_check_context): Likewise.
986         (security_check_context_raw): Likewise.
987         (setexeccon): Likewise.
988         (security_compute_create): Likewise.
989         * lib/selinux-at.c (getfileconat): Likewise.
990         (lgetfileconat): Likewise.
991         (setfileconat): Likewise.
992         (lsetfileconat): Likewise.
993         * lib/selinux-at.h: Likewise.
995 2020-10-19  Bruno Haible  <bruno@clisp.org>
997         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
998         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
999         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
1000         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
1001         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
1002         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
1003         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
1005 2020-10-18  Bruno Haible  <bruno@clisp.org>
1007         ssfmalloc: Add tests.
1008         * tests/test-ssfmalloc.c: New file.
1009         * modules/ssfmalloc-tests: New file.
1011         ssfmalloc: New module.
1012         * lib/ssfmalloc.h: New file.
1013         * lib/ssfmalloc-bitmap.h: New file.
1014         * modules/ssfmalloc: New file.
1016 2020-10-18  Bruno Haible  <bruno@clisp.org>
1018         wchar: Fix configure test result on some versions of AIX.
1019         Reported by Clément Chigot <clement.chigot@atos.net> in
1020         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
1021         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
1022         systems.
1024 2020-10-18  Bruno Haible  <bruno@clisp.org>
1026         time: Fix warning about asctime when asctime is not used.
1027         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
1028         invocation.
1030 2020-10-18  Bruno Haible  <bruno@clisp.org>
1032         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
1033         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
1034         '_GL_ATTRIBUTE_CONST'.
1035         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
1036         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
1037         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
1038         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
1039         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
1040         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
1041         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
1043 2020-10-18  Bruno Haible  <bruno@clisp.org>
1045         obstack: Fix a clang warning.
1046         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
1048 2020-10-16  Bruno Haible  <bruno@clisp.org>
1050         hash: Rename hash_delete to hash_remove.
1051         * lib/hash.h (hash_remove): Renamed from hash_delete.
1052         (hash_delete): New declaration.
1053         * lib/hash.c (hash_remove): Renamed from hash_delete.
1054         (hash_delete): New function.
1055         * tests/test-hash.c (main): Update.
1056         * lib/fts-cycle.c (leave_dir): Likewise.
1057         * NEWS: Mention the change.
1059 2020-10-16  Bruno Haible  <bruno@clisp.org>
1061         hash, xhash: Make usable from C++.
1062         * lib/hash.h: Add extern "C".
1064 2020-10-16  Bruno Haible  <bruno@clisp.org>
1066         hash, xhash: Move comments to the .h file.
1067         * lib/hash.c: Move comments meant for the user from here...
1068         * lib/xhash.c: ... and here...
1069         * lib/hash.h: ... to here.
1071 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
1073         Don't declare an intention to modify the return value of strerror.
1074         * tests/test-perror2.c (main): Assign the return value of strerror to a
1075         'const char *' variable.
1077 2020-10-11  Bruno Haible  <bruno@clisp.org>
1079         *printf: Avoid "expanded before it was required" warning.
1080         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
1081         AC_DEFUN_ONCE.
1083 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
1085         getprogname: Add support for OpenServer 6 and UnixWare 7.
1086         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
1087         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
1089 2020-10-11  Bruno Haible  <bruno@clisp.org>
1091         tests: Avoid a name clash on UnixWare.
1092         Reported by Tim Rice <tim@multitalents.net> in
1093         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
1094         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
1096 2020-10-11  Bruno Haible  <bruno@clisp.org>
1098         stdioext: Update comments regarding UnixWare.
1099         Reported by Tim Rice <tim@multitalents.net> in
1100         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
1101         * lib/fbufmode.c: Update comments.
1102         * lib/fflush.c: Likewise.
1103         * lib/fpending.c: Likewise.
1104         * lib/fpurge.c: Likewise.
1105         * lib/freadable.h: Likewise.
1106         * lib/freadable.c: Likewise.
1107         * lib/freadahead.c: Likewise.
1108         * lib/freading.h: Likewise.
1109         * lib/freading.c: Likewise.
1110         * lib/freadptr.c: Likewise.
1111         * lib/freadseek.c: Likewise.
1112         * lib/fseeko.c: Likewise.
1113         * lib/fseterr.c: Likewise.
1114         * lib/fwritable.h: Likewise.
1115         * lib/fwritable.c: Likewise.
1116         * lib/fwriting.h: Likewise.
1117         * lib/fwriting.c: Likewise.
1119 2020-10-11  Bruno Haible  <bruno@clisp.org>
1121         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
1122         Reported by Tim Rice <tim@multitalents.net> in
1123         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
1124         Uses the info from
1125         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
1126         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
1128 2020-10-11  Bruno Haible  <bruno@clisp.org>
1130         stdioext: Avoid compilation errors on UnixWare 7.
1131         Reported by Tim Rice <tim@multitalents.net> in
1132         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
1133         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
1134         * lib/fpurge.c: Likewise.
1135         * lib/freadable.h: Likewise.
1136         * lib/freading.h: Likewise.
1137         * lib/fwritable.h: Likewise.
1138         * lib/fwriting.h: Likewise.
1139         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
1140         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
1141         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
1142         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
1143         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
1144         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
1146 2020-10-11  Bruno Haible  <bruno@clisp.org>
1148         stdioext: Update comments regarding Cygwin.
1149         * lib/fpending.c: Update comments.
1150         * lib/fpurge.c: Likewise.
1151         * lib/freadable.h: Likewise.
1152         * lib/freadable.c: Likewise.
1153         * lib/freading.h: Likewise.
1154         * lib/freading.c: Likewise.
1155         * lib/fwritable.h: Likewise.
1156         * lib/fwritable.c: Likewise.
1157         * lib/fwriting.h: Likewise.
1158         * lib/fwriting.c: Likewise.
1160 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
1162         Fix "warning: implicit declaration of function 'pthread_sigmask'".
1163         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
1164         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
1166 2020-10-10  Bruno Haible  <bruno@clisp.org>
1168         *-list, *-oset, *-omap: Avoid possible compiler warnings.
1169         Reported by Marc Nieper-Wißkirchen in
1170         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
1171         * lib/gl_anylinked_list2.h (gl_linked_iterator,
1172         gl_linked_iterator_from_to): Mark as 'pure'.
1173         (gl_linked_iterator_free): Mark as 'const'.
1174         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
1175         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
1176         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
1177         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
1178         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
1179         (gl_tree_iterator_free): Mark as 'const'.
1180         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
1181         'pure'.
1182         (gl_tree_iterator_free): Mark as 'const'.
1183         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
1184         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
1185         (gl_tree_iterator_free): Mark as 'const'.
1186         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
1187         compare_position_threshold): Mark as 'pure'.
1188         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
1189         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
1190         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
1191         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
1192         'pure'.
1193         (gl_array_iterator_free): Mark as 'const'.
1194         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
1195         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
1196         (gl_array_iterator_free): Mark as 'const'.
1197         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
1198         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
1199         gl_array_iterator_atleast): Mark as 'pure'.
1200         (gl_array_iterator_free): Mark as 'const'.
1201         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
1202         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
1203         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
1204         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
1205         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
1206         gl_carray_sortedlist_search): Mark as 'pure'.
1207         (gl_carray_iterator_free): Mark as 'const'.
1209 2020-10-10  Bruno Haible  <bruno@clisp.org>
1211         rbtree-list: Avoid possible compiler warnings.
1212         This mirrors the change of avltree-list on 2014-09-16.
1213         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
1214         declaration. Add cast to void for ignored value of check_invariants.
1216 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
1218         stack: New module.
1219         * MODULES.html.sh: Add entry for the stack module.
1220         * modules/stack: New file.
1221         * modules/stack-tests: New file.
1222         * lib/stack.h: New file.
1223         * tests/test-stack.c: New file.
1225 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
1227         attribute: improve const, pure doc
1228         Problem reported by Marc Nieper-Wißkirchen in:
1229         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
1230         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
1231         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
1233 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1235         thread: pacify GCC on Solaris 10
1236         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
1237         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
1238         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
1239         where pthread_t is unsigned int.
1241 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1243         c-stack: avoid AS_IF
1244         Problem reported by Bruno Haible in:
1245         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
1246         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
1248         c-stack: pacify GCC 9.3.1 when using libsigsegv
1249         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
1251 2020-10-04  Bruno Haible  <bruno@clisp.org>
1253         localename: Fix a couple of "unused parameter" warnings.
1254         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
1255         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
1256         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
1257         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
1258         parameter list.
1260 2020-10-04  Bruno Haible  <bruno@clisp.org>
1262         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
1263         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
1264         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
1265         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
1266         HAVE_SNPRINTF_TRUNCATION_C99.
1267         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
1268         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
1270 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
1272         c-stack: streamline Solaris configuration
1273         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
1274         the code is used only if a test for sigaltstack worked
1275         in some other way.
1276         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
1277         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
1278         heuristic does not work).
1279         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
1280         we no longer require the libsigsegv module.
1281         (Depends-on): Depend on havelib, not libsigsegv.
1283         c-stack: stop using SIGSTKSZ
1284         It’s been proposed to stop making SIGSTKSZ an integer constant:
1285         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
1286         Also, using SIGSTKSZ in #if did not conform to current POSIX.
1287         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
1288         * lib/c-stack.c (SIGSTKSZ): Remove.
1289         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
1290         All uses changed.
1292         c-stack: fix libsigsegv typo
1293         Problem reported by Bruno Haible in:
1294         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
1295         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
1296         to be used only on Solaris (exactly where it is not needed!).
1298 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
1300         MODULES.html.sh: Fix typo.
1301         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
1303 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
1305         version-etc: pacify Oracle Studio 12.6
1306         Without this patch, it complains: "version-etc.h", line 64:
1307         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
1308         pedantic mode.
1309         * lib/version-etc.h (version_etc): Port to C89 macro rules.
1311 2020-09-27  Bruno Haible  <bruno@clisp.org>
1313         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
1314         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
1315         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
1316         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
1317         ourselves; don't use AC_DECL_SYS_SIGLIST.
1319 2020-09-27  Bruno Haible  <bruno@clisp.org>
1321         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
1322         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
1323         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
1324         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
1325         instead of _AC_COMPUTE_INT.
1327 2020-09-27  Bruno Haible  <bruno@clisp.org>
1329         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
1330         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
1331         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
1332         Based on a patch by Paul Eggert.
1333         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
1334         test STDC_HEADERS. Assume <stdlib.h> exists.
1335         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
1337 2020-09-27  Bruno Haible  <bruno@clisp.org>
1339         Enable testing of prereleases of Autoconf 2.70.
1340         Suggested by Paul Eggert in
1341         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
1342         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
1343         >= 2.70.
1344         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
1345         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
1346         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
1348 2020-09-27  Bruno Haible  <bruno@clisp.org>
1350         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
1351         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
1352         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
1353         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
1354         AC_PROG_CC, depending on the Autoconf version.
1356 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
1358         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
1359         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
1360         of AC_HELP_STRING.
1361         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
1363 2020-09-27  Bruno Haible  <bruno@clisp.org>
1365         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
1366         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
1367         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
1368         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
1370 2020-09-27  Bruno Haible  <bruno@clisp.org>
1372         extensions: Simplify last commit.
1373         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
1374         AC_GNU_SOURCE ever.
1376 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1378         extensions: require AC_GNU_SOURCE only for <=2.63
1379         Problem reported by Gavin Smith in:
1380         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
1381         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
1382         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
1383         shouldn’t be needed after that, and Autoconf 2.70 complains about
1384         it being obsolete.
1386 2020-09-26  Bruno Haible  <bruno@clisp.org>
1388         regex-tests: Make test more robust.
1389         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
1390         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
1392 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
1394         regex-tests: fix possible Turkish false-alarm
1395         * modules/regex-tests (Depends-on): Add wctype-h.
1396         * tests/test-regex.c: Include wctype.h.
1397         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
1398         as the Turkish regex test assumes this.
1400         regex-tests: fix test and add debug output
1401         Perhaps this will fix the recent grep test failure reported at:
1402         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
1403         At least, the debug output should help narrow down the failure.
1404         * tests/test-regex.c: Include stdarg.h, stdio.h.
1405         (exit_status): New var.
1406         (report_error): New function.
1407         (main): Use it to report failures to stdout instead of merely
1408         exiting with some nonzero status.  The status info alone isn’t
1409         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
1410         regex before calling re_compile_pattern, fixing a portability bug.
1412         regex: no longer match glibc
1413         * config/srclist.txt: Comment out regex_internal.c for now.
1415 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
1417         regex: fix ignore-case Turkish bug
1418         * lib/regex_internal.c (build_wcs_upper_buffer):
1419         Do not assume that converting single-byte character to upper
1420         yields a single-byte character.  This is not true for Turkish,
1421         where towupper (L'i') yields L'İ', which is not single-byte.
1422         * tests/test-regex.c (main): Test for this bug.
1424         regex: port to weird isascii platforms
1425         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
1427 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1429         dfa: make dfasupported a global function
1430         * lib/dfa.c (dfasupported): Rename, and make it global.
1431         Update caller.
1432         * lib/dfa.h (dfasupported): Add prototype.
1434 2020-09-20  Bruno Haible  <bruno@clisp.org>
1436         canonicalize: Add support for UNC file names on native Windows.
1437         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
1438         <https://savannah.gnu.org/bugs/?59079>.
1439         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
1440         extend the prefix to include the server.
1442 2020-09-20  Bruno Haible  <bruno@clisp.org>
1444         supersede: Fix test failures on native Windows.
1445         * lib/supersede.c (open_supersede): Handle non-regular files on native
1446         Windows like on Solaris.
1447         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
1449 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
1451         test-stdalign: test Oracle Studio better
1452         * doc/posix-headers/stdalign.texi (stdalign.h):
1453         * tests/test-stdalign.c (main):
1454         Sun Studio Bug #2125432 seems to be fixed.
1456         c-stack: output diagnostic in single 'write'
1457         * lib/c-stack.c (die): In the typical case, use just one 'write'
1458         syscall to output the diagnostic, as this lessens interleaving.
1459         (die, c_stack_action): Assume C99.
1460         * modules/c-stack (Depends-on): Add c99, mempcpy.
1462         c-stack: improve checking if !libsigsegv
1463         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
1464         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
1465         unlikely pointer overflow.  Also, fix some obsolete code and typos.
1466         I found these problems while looking into this bug report:
1467         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
1468         * lib/c-stack.c: Include c-stack.h first, to test interface.
1469         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
1470         max_align_t, intprops.h for INT_ADD_WRAPV.
1471         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
1472         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
1473         for libsigsegv 2.8 and earlier since the bug should be fixed
1474         after that.
1475         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
1476         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
1477         Assume sprintf returns byte count; this assumption is safe now.
1478         (page_size): New static volatile variable, since sysconf isn’t
1479         documented to be async-signal-safe on Solaris.  This variable is
1480         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
1481         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
1482         SIGINFO_WORKS).
1483         (segv_handler): Use it if present.  Never report null pointer
1484         dereference as a stack overflow.  Check for (unlikely) unsigned
1485         and/or pointer overflow.
1486         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
1487         Rename cache variables to gl_cv_sys_stack_overflow_works
1488         and gl_cv_sys_xsi_stack_overflow_heuristic.
1489         All uses changed.
1490         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
1491         c-stack no longer uses STACK_DIRECTION.
1492         Do not check for unistd.h, since we depend on unistd.
1493         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
1494         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
1495         stdbool, stddef.
1497 2020-09-20  Bruno Haible  <bruno@clisp.org>
1499         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
1500         * m4/musl.m4: Revert 2020-09-19 patch.
1501         * m4/setlocale_null.m4: Likewise.
1502         * modules/setlocale-null: Likewise.
1504 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
1505             Bruno Haible  <bruno@clisp.org>
1507         relocatable-prog: Fix for multiple relocatable library directories.
1508         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
1509         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
1510         being attached to a single one.
1512 2020-09-19  Jim Meyering  <meyering@fb.com>
1514         test-verify.c: avoid -Wshadow warnings
1515         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
1516         (enum): Capitalize member names. Adjust uses.
1518 2020-09-19  Bruno Haible  <bruno@clisp.org>
1520         havelib: Avoid linking with libc.a on GNU systems.
1521         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
1522         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
1523         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
1524         dependency_libs value of a .la file, ignore '-lc' options on GNU
1525         systems.
1527 2020-09-19  Bruno Haible  <bruno@clisp.org>
1529         Fix recognition of musl libc on Alpine Linux 3.10.
1530         Reported by Jeffrey Walton <noloader@gmail.com> in
1531         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
1532         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
1533         (gl_MUSL_LIBC): Require it.
1534         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
1535         * modules/setlocale-null (Files): Add m4/musl.m4.
1537 2020-09-19  Bruno Haible  <bruno@clisp.org>
1539         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
1540         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
1541         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
1542         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
1543         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
1544         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
1545         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
1546         or <threads.h>.
1547         (ITEMS, MAX_RESULT_LEN): New macros.
1548         (nl_langinfo_unlocked): New function.
1549         (gl_get_nl_langinfo_lock): New declaration.
1550         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
1551         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
1552         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
1553         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
1554         REPLACE_NL_LANGINFO.
1555         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
1556         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
1557         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
1558         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
1559         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
1561 2020-09-18  Bruno Haible  <bruno@clisp.org>
1563         fsusage, getaddrinfo: Produce more regular configure output.
1564         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
1565         corresponding AC_MSG_RESULT.
1566         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
1568 2020-09-18  Bruno Haible  <bruno@clisp.org>
1570         Add back gl_SILENT.
1571         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
1573 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1575         c-stack-tests: fix -fsanitize=undefined false alarm
1576         * tests/test-c-stack2.sh: Skip the test-harness self-test
1577         if ‘gcc -fsanitize=undefined’ is in use.
1579 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
1581         signalblocking: simplify and remove gl_SILENT
1582         gl_SILENT was problematic because if a trap was sprung, stderr
1583         generated during the trap was lost.  Avoid the problem by
1584         removing the need for gl_SILENT.
1585         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
1586         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
1587         Simplify, avoiding the need for gl_SILENT while preserving the
1588         ability of the user to override the value of the cache variable,
1589         now ac_cv_func_sigprocmask.
1591 2020-09-17  Bruno Haible  <bruno@clisp.org>
1593         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
1594         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
1595         (gl_SILENT): Use 'exec', not a compound statement, to redirect
1596         AS_MESSAGE_FD.
1598 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
1600         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
1601         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
1602         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
1603         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
1604         Define to 0.
1605         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
1606         Do not use __builtin_mul_overflow_p.
1608         libc-config: port __THROW to Ubuntu 4
1609         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
1610         for GCC 3.3.  Problem reported by Jeffrey Walton in:
1611         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
1612         The GCC 3.3.4 documentation says the attribute should work, but
1613         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
1614         little point or desire to research this circa-2004 platform further,
1615         so just avoid the attribute there.
1617 2020-09-17  Jim Meyering  <meyering@fb.com>
1619         test-dfa-match.sh: port timeout work-around to newer Busybox
1620         * tests/test-dfa-match.sh: Update timeout -t portability test to
1621         accommodate Busybox 1.30.0 and newer.
1623 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1625         fnmatch: adjust to match glibc fix
1626         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
1627         This does not affect Gnulib; it merely keeps Gnulib and glibc
1628         closer together, to help with any eventual merge, by incorporating
1629         a recent glibc patch.  The patch and the following commentary is
1630         by Andreas Schwab.
1631         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
1632         contains the index into the extra array, whereas wextra points
1633         into the extra array at this index, containing the length of the
1634         following collating sequence in the wide character representation.
1636 2020-09-16  Bruno Haible  <bruno@clisp.org>
1638         stat, fstat: Fix compilation error with old mingw headers.
1639         Reported by Eli Zaretskii <eliz@gnu.org> in
1640         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
1641         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
1642         define it.
1644 2020-09-16  Bruno Haible  <bruno@clisp.org>
1646         stat, fstat: Fix when compiling for versions older than Windows Vista.
1647         Reported by Eli Zaretskii <eliz@gnu.org> in
1648         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
1649         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
1650         that was originally set before we redefined it.
1651         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
1652         (gl_PREREQ_STAT): Require it.
1653         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
1655 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1657         dfa: remove dfa-heap-overrun workaround
1658         * lib/dfa.c (reorder_tokens): Go back to a single pass that
1659         both sets map[*] and does other things.  This reverts
1660         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
1661         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
1662         fixed the underlying problem.
1664 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1666         dfa: avoid use of uninitialized constraint
1667         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
1668         to zero here.
1669         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
1670         use of an uninitialized constraint by later code when ! (flags[i]
1671         & OPT_QUEUED) means merge_nfa_state was not called to initialize
1672         the constraint.  Problem found by running 'valgrind src/grep -E
1673         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
1675         dfa: assume C99 in reorder_tokens
1676         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
1678         dfa: fix dfa-heap-overrun failure
1679         * lib/dfa.c (reorder_tokens): When setting
1680         map[d->follows[i].elems[j].index], instead of incorrectly assuming
1681         that (i < d->follows[i].elems[j].index), use two loops, one to set
1682         the map array and the other to use it.  The incorrect assumption
1683         caused some elements to be missed, and this in turn caused grep's
1684         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
1685         with GCC.  I found this bug while investigating
1686         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
1687         and I think the bug also occurs on GNU/Linux but with more-subtle
1688         symptoms.  The bug predates the recent dfa.c changes; perhaps the
1689         recent changes make the bug more likely.
1691 2020-09-13  Bruno Haible  <bruno@clisp.org>
1693         parse-datetime: Make the build rule work with parallel 'make'.
1694         Reported by Daiki Ueno <ueno@gnu.org> in
1695         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
1696         * modules/parse-datetime (Makefile.am): Use a phony target and the
1697         general idiom for rules that produce multiple files.
1699 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
1701         getpass: Check for nonnull prompt argument while avoiding warnings.
1702         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
1703         (getpass) [!_WIN32]: Print prompt only if nonnull.
1705 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
1707         dfa: epsilon-closure tweaks (Bug#40634)
1708         Rename BACKWORD to BACKWARD consistently.
1709         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
1710         (addtok_mb): Redo slightly to make it act more like a state machine.
1711         Check depth only when it increases.
1712         (epsclosure): Let the switch test the tokens.
1713         (dfaanalyze): Cache tindex.  Simplify position loops.
1714         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
1715         only if it is not null, since we're testing that anyway.
1716         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
1718 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1720         dfa: use backward set in removal of epsilon closure
1721         When removing in epsilon closure, the code searched all nodes
1722         sequentially, and this was slow for some cases.  Build a backward
1723         set before search, and only check previous position with the set.
1724         Problem reported in <https://bugs.gnu.org/40634>.
1725         * lib/dfa.c (struct dfa): New member 'epsilon'.
1726         (addtok_mb): Check whether a pattern has epsilon node or not.
1727         (epsclosure): New arg BACKWORD; caller changed.  When removing
1728         epsilon node and reconnecting, check only previous positions.
1729         Treat BEG as if it were character.
1730         (dfaanalyze): Build backward set.
1732 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1734         canonicalize: fix pointer indexing bugs
1735         Problem reported by Florian Weimer in:
1736         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
1737         * lib/canonicalize-lgpl.c (__realpath):
1738         * lib/canonicalize.c (canonicalize_filename_mode):
1739         Do not generate a pointer past the end of the array.
1740         * lib/canonicalize.c (canonicalize_filename_mode):
1741         Do not use a pointer after passing it to realloc.
1743 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1745         tempname: help merge with glibc
1746         Inspired by draft patches by Adhemerval Zanella in:
1747         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
1748         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
1749         * lib/tempname.c: Include stdalign.h, time.h.
1750         If _LIBC, do not include random-bits.h.
1751         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
1752         (RANDOM_BITS): Remove, replacing with ...
1753         (random_bits): ... this new static function.  All uses changed.
1754         Add entropy each time if getrandom is not supported.
1755         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
1756         Assume 64-bit support a la C99.
1757         (try_tempname_len): Take advantage of ASLR when initializing
1758         random value.
1759         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
1761         getcwd: merge recent glibc changes
1762         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
1763         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
1765 2020-09-06  Bruno Haible  <bruno@clisp.org>
1767         attribute: Clarify which file to include.
1768         * modules/attribute (Include): Add "attribute.h".
1770 2020-09-06  Bruno Haible  <bruno@clisp.org>
1772         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
1773         * lib/pipe-filter-ii.c: Include <process.h>.
1774         * lib/pipe-filter-gi.c: Likewise.
1776 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
1778         verify: avoid __builtin_assume
1779         Our latest attempt to use Clang’s __builtin_assume caused a crash
1780         in GNU Emacs that we spent quite some time tracking down as being
1781         caused by the switch to __builtin_assume.  It’s not known whether
1782         the crash is due is a Clang bug or a portability bug in GNU Emacs.
1783         For now, play it safe and avoid __builtin_assume.
1784         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
1785         (assume): Simplify by not trying to use Clang’s __builtin_assume.
1787 2020-09-05  Bruno Haible  <bruno@clisp.org>
1789         Fix several "warning: no previous prototype for function".
1790         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
1791         in front of the declaration of the lookup function in
1792         unicase/locale-languages.h.
1793         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
1794         unictype/bidi_byname.h.
1795         * modules/unictype/category-byname (Makefile.am): Likewise in
1796         unictype/categ_byname.h.
1797         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
1798         unictype/combiningclass_byname.h.
1799         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
1800         unictype/joininggroup_byname.h.
1801         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
1802         unictype/joiningtype_byname.h.
1803         * modules/unictype/property-byname (Makefile.am): Likewise in
1804         unictype/pr_byname.h.
1805         * modules/unictype/scripts (Makefile.am): Likewise in
1806         unictype/scripts_byname.h.
1807         * modules/uninorm/composition (Makefile.am): Likewise in
1808         uninorm/composition-table.h.
1810 2020-09-05  Bruno Haible  <bruno@clisp.org>
1812         select: Fix "warning: no previous prototype for function".
1813         * lib/select.c: Include <sys/select.h>.
1815 2020-09-05  Bruno Haible  <bruno@clisp.org>
1817         Use module 'c99' when needed for variadic macros with '...' syntax.
1818         * modules/crypto/sm3 (Depends-on): Add c99.
1820 2020-09-05  Bruno Haible  <bruno@clisp.org>
1822         Use module 'c99' when needed for subobject initializer syntax.
1823         * modules/tempname (Depends-on): Add c99.
1824         * modules/nstrftime-tests (Depends-on): Likewise.
1826 2020-09-05  Bruno Haible  <bruno@clisp.org>
1828         Use module 'c99' when needed for declaration-after-statement syntax.
1829         * modules/backup-rename (Depends-on): Add c99.
1830         * modules/backupfile (Depends-on): Likewise.
1831         * modules/bitset-tests (Depends-on): Likewise.
1832         * modules/bitsetv (Depends-on): Likewise.
1833         * modules/c-strtod (Depends-on): Likewise.
1834         * modules/c-strtold (Depends-on): Likewise.
1835         * modules/clean-temp (Depends-on): Likewise.
1836         * modules/copy-file (Depends-on): Likewise.
1837         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
1838         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
1839         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
1840         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
1841         * modules/crypto/md5-buffer (Depends-on): Likewise.
1842         * modules/crypto/md5-tests (Depends-on): Likewise.
1843         * modules/crypto/sha1-buffer (Depends-on): Likewise.
1844         * modules/crypto/sha1-tests (Depends-on): Likewise.
1845         * modules/crypto/sha256-buffer (Depends-on): Likewise.
1846         * modules/crypto/sha256-tests (Depends-on): Likewise.
1847         * modules/crypto/sha512-buffer (Depends-on): Likewise.
1848         * modules/crypto/sha512-tests (Depends-on): Likewise.
1849         * modules/diffseq (Depends-on): Likewise.
1850         * modules/fatal-signal (Depends-on): Likewise.
1851         * modules/fchmodat (Depends-on): Likewise.
1852         * modules/fstrcmp (Depends-on): Likewise.
1853         * modules/fsusage (Depends-on): Likewise.
1854         * modules/fts (Depends-on): Likewise.
1855         * modules/fts-tests (Depends-on): Likewise.
1856         * modules/getumask (Depends-on): Likewise.
1857         * modules/git-merge-changelog (Depends-on): Likewise.
1858         * modules/hash-map (Depends-on): Likewise.
1859         * modules/hash-set (Depends-on): Likewise.
1860         * modules/lchmod (Depends-on): Likewise.
1861         * modules/libgmp-tests (Depends-on): Likewise.
1862         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
1863         * modules/linkedhash-map (Depends-on): Likewise.
1864         * modules/linkedhash-set (Depends-on): Likewise.
1865         * modules/long-options (Depends-on): Likewise.
1866         * modules/mbrtoc32 (Depends-on): Likewise.
1867         * modules/memchr2-tests (Depends-on): Likewise.
1868         * modules/memmem-tests (Depends-on): Likewise.
1869         * modules/memrchr-tests (Depends-on): Likewise.
1870         * modules/mktime-internal (Depends-on): Likewise.
1871         * modules/nstrftime (Depends-on): Likewise.
1872         * modules/opendirat (Depends-on): Likewise.
1873         * modules/parse-datetime (Depends-on): Likewise.
1874         * modules/quotearg-simple-tests (Depends-on): Likewise.
1875         * modules/same (Depends-on): Likewise.
1876         * modules/supersede (Depends-on): Likewise.
1877         * modules/supersede-tests (Depends-on): Likewise.
1878         * modules/time_rz (Depends-on): Likewise.
1879         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
1880         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
1881         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
1882         * modules/xalloc (Depends-on): Likewise.
1883         * modules/xnanosleep (Depends-on): Likewise.
1885 2020-09-05  Bruno Haible  <bruno@clisp.org>
1887         Fix "warning: array initialized from parenthesized string constant".
1888         * tests/test-memmem.c (main): Remove parentheses around string constant.
1889         * tests/test-c-strcasestr.c (main): Likewise.
1890         * tests/test-strcasestr.c (main): Likewise.
1892 2020-09-05  Bruno Haible  <bruno@clisp.org>
1894         argmatch tests: Fix ISO C compliance warning.
1895         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
1896         invocation.
1898 2020-09-05  Bruno Haible  <bruno@clisp.org>
1900         uniname/uniname: Fix -Wshadow warning.
1901         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
1902         * modules/uniname/uniname (Depends-on): Add c99.
1904 2020-09-05  Bruno Haible  <bruno@clisp.org>
1906         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
1907         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
1908         argument to size_t.
1909         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
1910         n to size_t.
1912 2020-09-05  Bruno Haible  <bruno@clisp.org>
1914         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
1915         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
1916         u32_uctomb): Change type of last argument to ptrdiff_t.
1917         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
1918         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
1919         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
1920         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
1921         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
1923 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1925         manywarnings: remove -Wchkp and -Wabi from C++ too
1926         Suggested by Reuben Thomas in:
1927         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
1928         At some point somebody should merge the many other manywarnings-c.m4
1929         changes into manywarnings-c++.m4 too, e.g.,
1930         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
1931         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1932         Remove -Wchkp, -Wabi.
1934 2020-08-30  Bruno Haible  <bruno@clisp.org>
1936         strerrorname_np: Add tests.
1937         * tests/test-strerrorname_np.c: New file.
1938         * modules/strerrorname_np-tests: New file.
1940         strerrorname_np: New module.
1941         * lib/string.in.h (strerrorname_np): New declaration.
1942         * lib/strerrorname_np.c: New file.
1943         * m4/strerrorname_np.m4: New file.
1944         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
1945         is declared.
1946         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
1947         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
1948         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
1949         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
1950         * modules/strerrorname_np: New file.
1951         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
1952         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
1953         the glibc 2.32 bug.
1955 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
1957         perror, strerror_r: remove unportable tests
1958         Problem reported by Florian Weimer in:
1959         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
1960         * tests/test-perror2.c (main):
1961         * tests/test-strerror_r.c (main): Omit unportable tests.
1963 2020-08-26  Bruno Haible  <bruno@clisp.org>
1965         stdint, wchar, wctype-h: Change configure message.
1966         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
1967         enough..." instead of "checking whether wint_t is too small...".
1969 2020-08-26  Bruno Haible  <bruno@clisp.org>
1971         time_rz: Change configure message.
1972         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
1973         near extrema..." instead of "checking whether localtime loops forever
1974         near extrema...".
1976 2020-08-26  Bruno Haible  <bruno@clisp.org>
1978         stdint: Change configure message.
1979         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
1980         without ISO C predefines..." instead of "checking whether stdint.h
1981         predates C++11...".
1983 2020-08-26  Bruno Haible  <bruno@clisp.org>
1985         socketlib: Change configure message.
1986         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
1987         instead of "checking if we need to call WSAStartup in winsock2.h and
1988         -lws2_32...".
1990 2020-08-26  Bruno Haible  <bruno@clisp.org>
1992         include_next: Change configure message.
1993         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
1994         code line length is unlimited..." instead of "checking whether system
1995         header files limit the line length...".
1997 2020-08-26  Bruno Haible  <bruno@clisp.org>
1999         getcwd: Change configure message.
2000         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
2001         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
2002         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
2004 2020-08-26  Bruno Haible  <bruno@clisp.org>
2006         chdir-long: Change configure message.
2007         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
2008         system supports file names of any length..." instead of "checking
2009         whether this system has an arbitrary file name length limit...".
2010         Set gl_cv_have_unlimited_file_name_length instead of
2011         gl_cv_have_arbitrary_file_name_length_limit.
2012         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
2014 2020-08-26  Bruno Haible  <bruno@clisp.org>
2016         ceill: Change configure message.
2017         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
2018         instead of "checking whether ceill() breaks with small values...".
2020 2020-08-26  Bruno Haible  <bruno@clisp.org>
2022         iconv: Change configure message.
2023         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
2024         with its POSIX signature..." instead of "checking for iconv
2025         declaration...". Remove K&R C support.
2027 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
2029         getcwd: help the merge back into glibc
2030         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
2031         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
2032         The idea is to make it easier for Gnulib lib/getcwd.c to match
2033         glibc io/getcwd-generic.c.
2034         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
2035         Include not-cancel.h.
2036         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
2037         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
2038         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
2039         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
2040         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
2041         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
2042         (__getcwd_generic): Rename from __getcwd.
2043         Use the abovementioned macros for consistency with glibc.
2044         (weak_alias): Remove.
2046 2020-08-25  Bruno Haible  <bruno@clisp.org>
2048         verify: Avoid warnings when assume(0) is used.
2049         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
2050         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
2051         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
2052         the constant 0.
2053         * tests/test-verify.c (f): New function.
2054         (state): New type.
2055         (test_assume_expressions, test_assume_optimization,
2056         test_assume_noreturn): New functions.
2058 2020-08-25  Bruno Haible  <bruno@clisp.org>
2060         fstrcmp: Clarification regarding NOTE_ORDERED.
2061         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
2063 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2065         diffseq: new option NOTE_ORDERED
2066         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
2067         * NEWS: Mention this.
2068         * lib/diffseq.h (NOTE_ORDERED): New macro.
2069         (IF_LINT2): Remove; no longer needed.
2070         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
2071         subproblem and iterate to do the larger.
2073 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2075         sys_types: let Autoconf 2.70 do pid_t
2076         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
2077         only for Autoconf versions 2.69 and earlier, since 2.70
2078         will be fixed.
2080 2020-08-23  Bruno Haible  <bruno@clisp.org>
2082         tests: Don't assume that pid_t fits in an 'int'.
2083         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
2084         of 'int'.
2085         * tests/test-nonblocking-socket-main.c (main): Likewise.
2087         sys_types: Fix definition of pid_t on 64-bit MSVC.
2088         * m4/pid_t.m4: New file.
2089         * modules/sys_types (Files): Add it.
2090         * modules/dirent (Files): Likewise.
2091         * modules/fcntl-h (Files): Likewise.
2092         * modules/sched (Files): Likewise.
2093         * modules/signal-h (Files): Likewise.
2094         * modules/spawn (Files): Likewise.
2095         * modules/sys_stat (Files): Likewise.
2096         * modules/sys_wait (Files): Likewise.
2097         * modules/termios (Files): Likewise.
2098         * modules/unistd (Files): Likewise.
2100 2020-08-23  Bruno Haible  <bruno@clisp.org>
2102         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
2103         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
2104         program.
2106 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2108         intprops: be consistent about +X vs X+0
2109         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
2111         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
2112         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
2113         is a bit-field, on older GCC or non-GCC compilers where we do
2114         things ourselves instead of using __builtin_mul_overflow.
2115         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
2116         to applying sizeof to a bit-field.
2117         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
2118         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
2120 2020-08-23  Bruno Haible  <bruno@clisp.org>
2122         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
2123         Reported by Jörg Sonnenberger <joerg@netbsd.org>
2124         via Thomas Klausner <tk@giga.or.at> in
2125         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
2126         * lib/supersede.c (open_supersede): When opening an existing non-regular
2127         file on Solaris, use O_CREAT although it should not be necessary.
2129 2020-08-23  Bruno Haible  <bruno@clisp.org>
2131         verify: Make assume work on bit field expressions (regr. 2020-08-22).
2132         Reported by Benno Schulenberg <bensberg@telfort.nl> in
2133         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
2134         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
2135         variable.
2137 2020-08-23  Bruno Haible  <bruno@clisp.org>
2139         libc-config: Improve comments.
2140         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
2141         cannot use clang's __diagnose_if__ here.
2143 2020-08-22  Bruno Haible  <bruno@clisp.org>
2145         verify: Do use __builtin_assume on clang.
2146         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
2147         variable in a statement expression.
2149 2020-08-22  Bruno Haible  <bruno@clisp.org>
2151         sig2str: Add more signals.
2152         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
2154 2020-08-22  Bruno Haible  <bruno@clisp.org>
2156         doc: Update for OpenBSD 6.0, 6.7.
2157         * doc/*/*.texi: Update.
2158         * m4/printf.m4: Update comments and cross-compilation guesses.
2159         * m4/ceill.m4: Update comments.
2160         * m4/getcwd-abort-bug.m4: Likewise.
2161         * m4/ilogb.m4: Likewise.
2162         * m4/ilogbf.m4: Likewise.
2163         * m4/langinfo_h.m4: Likewise.
2164         * m4/modf.m4: Likewise.
2165         * m4/modff.m4: Likewise.
2167 2020-08-22  Bruno Haible  <bruno@clisp.org>
2169         doc: Mention sig2str module.
2170         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
2172 2020-08-21  Bruno Haible  <bruno@clisp.org>
2174         sigdescr_np: Add tests.
2175         * tests/test-sigdescr_np.c: New file.
2176         * modules/sigdescr_np-tests: New file.
2178         sigdescr_np: New module.
2179         * lib/string.in.h (sigdescr_np): New declaration.
2180         * lib/sigdescr_np.c: New file.
2181         * m4/sigdescr_np.m4: New file.
2182         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
2183         declared.
2184         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
2185         HAVE_SIGDESCR_NP.
2186         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
2187         HAVE_SIGDESCR_NP.
2188         * modules/sigdescr_np: New file.
2189         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
2190         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
2192 2020-08-20  Bruno Haible  <bruno@clisp.org>
2194         sigabbrev_np: Add tests.
2195         * tests/test-sigabbrev_np.c: New file.
2196         * modules/sigabbrev_np-tests: New file.
2198         sigabbrev_np: New module.
2199         * lib/string.in.h (sigabbrev_np): New declaration.
2200         * lib/sigabbrev_np.c: New file.
2201         * m4/sigabbrev_np.m4: New file.
2202         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
2203         declared.
2204         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
2205         HAVE_SIGABBREV_NP.
2206         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
2207         HAVE_SIGABBREV_NP.
2208         * modules/sigabbrev_np: New file.
2209         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
2210         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
2212 2020-08-20  Bruno Haible  <bruno@clisp.org>
2214         stdalign tests: Skip test with AIX xlclang.
2215         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
2217 2020-08-20  Bruno Haible  <bruno@clisp.org>
2219         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
2220         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
2221         workaround as for GCC versions < 4.9.
2223 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2225         Sync up ProjectQuirks comments and documentation
2226         Transform the ProjectQuirks comments into a docstring so that it can
2227         be accessed from python as ProjectQuirks.__doc__ and harmonize
2228         descriptions with the documentation.
2229         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
2230         Transform comments into a docstring.
2231         * doc/vcs-to-changelog.texi: Sync up description with comments.
2233         Split ProjectQuirks out into its own file
2234         ProjectQuirks is used by external quirks files and importing it from
2235         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
2236         is cleaner to put it in its own file anyway.
2237         * build-aux/vcstocl/projectquirks.py: A new file...
2238         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
2239         we move ProjectQuirks and import the file.
2241 2020-08-19  Bruno Haible  <bruno@clisp.org>
2243         uchar: Fix compilation errors in C++ mode on macOS.
2244         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
2245         system header file before attempting to use 'char16_t' and 'char32_t'.
2247 2020-08-19  Bruno Haible  <bruno@clisp.org>
2249         ansi-c++-opt: Work around an autoconf macro reordering problem.
2250         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
2251         section.
2253 2020-08-19  Bruno Haible  <bruno@clisp.org>
2255         math C++ tests: Fix compilation error in with GCC 10.
2256         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
2257         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
2258         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
2260 2020-08-19  Bruno Haible  <bruno@clisp.org>
2262         uchar: Fix compilation errors in C++ mode on OpenBSD.
2263         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
2264         CXX_HAS_UCHAR_TYPES is 1.
2265         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
2266         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
2267         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
2269 2020-08-19  Bruno Haible  <bruno@clisp.org>
2271         Fix compilation errors in C++ mode on OpenBSD.
2272         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
2273         OpenBSD with clang, use the approach without C preprocessor macro.
2275 2020-08-18  Bruno Haible  <bruno@clisp.org>
2277         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
2278         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
2279         AC_LANG_POP.
2281 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2283         verify: avoid __built_assume on Clang
2284         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
2285         Clang 9 incorrectly diagnoses arguments as having side effects
2286         even when they do not.  I guess Clang 9 considers any function
2287         call as if it had a side effect here.
2289         libc-config: avoid Clang’s __diagnose_if__
2290         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
2291         For now, do not use __diagnose_if__ here, as this fails
2292         on Fedora 31 with Clang 9.0.1, with diagnostic
2293         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
2294         size than length of destination buffer
2295         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
2296         for functions that are not called?
2298         careadlinkat: speedup for GCC 10 with GCC_LINT
2299         Inspired by a suggestion by Bruno Haible in:
2300         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
2301         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
2302         (readlink_stk): New function, with most of the old careadlinkat
2303         contents and with a new STACK_BUF arg.  Inline it in GCC 10
2304         if GCC_LINT.
2305         (careadlinkat): Use the new function for everything but the
2306         stack buffer.
2308         * build-aux/gcc-warning.spec: Update comments.
2310 2020-08-17  Bruno Haible  <bruno@clisp.org>
2312         Assume autoconf >= 2.64.
2313         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
2315 2020-08-17  Bruno Haible  <bruno@clisp.org>
2317         Revert autoupdate's revert.
2318         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
2320 2020-08-17  Bruno Haible  <bruno@clisp.org>
2322         uchar C++ tests: Fix build error on FreeBSD 12.
2323         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
2324         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
2325         <cuchar> does not exist.
2327 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
2329         time_rz: remove unused functions
2330         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
2332         time_rz: fix issues with mktime_z failures
2333         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
2334         Use a cheaper tm_yday test for failed mktime.
2336 2020-08-16  Bruno Haible  <bruno@clisp.org>
2338         intprops test: Strengthen on clang.
2339         * tests/test-intprops.c (VERIFY): Use verify_stmt.
2341 2020-08-16  Bruno Haible  <bruno@clisp.org>
2343         nstrftime: Guide inlining also on clang.
2344         * lib/nstrftime.c (iso_week_days): Inline also on clang.
2346 2020-08-16  Bruno Haible  <bruno@clisp.org>
2348         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
2349         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
2351 2020-08-16  Bruno Haible  <bruno@clisp.org>
2353         log2l: Disable MSVC workaround on clang.
2354         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
2356 2020-08-16  Bruno Haible  <bruno@clisp.org>
2358         argp: Emit a warning also with clang.
2359         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
2360         clang.
2362 2020-08-16  Bruno Haible  <bruno@clisp.org>
2364         libc-config: Enable __REDIRECT macro also on clang.
2365         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
2366         __ASMNAME2): Define on clang like on GCC.
2368 2020-08-16  Bruno Haible  <bruno@clisp.org>
2370         regex: Use initializer shorthand syntax also with clang.
2371         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
2372         with clang.
2374 2020-08-16  Bruno Haible  <bruno@clisp.org>
2376         regex: Use space optimization also with clang.
2377         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
2378         with clang.
2380 2020-08-16  Bruno Haible  <bruno@clisp.org>
2382         Use _Static_assert and static_assert primitives when present on clang.
2383         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
2384         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
2385         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
2387 2020-08-16  Bruno Haible  <bruno@clisp.org>
2389         Use 'throw ()' for optimization in C++ mode also on clang.
2390         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
2391         * lib/getopt-cdefs.in.h (__THROW): Likewise.
2392         * lib/md5.h (__THROW): Likewise.
2394 2020-08-16  Bruno Haible  <bruno@clisp.org>
2396         absolute-header: Add support for clang.
2397         * modules/absolute-header (Makefile.am): Include '__clang__' in the
2398         HAVE_INCLUDE_NEXT expression.
2400 2020-08-16  Bruno Haible  <bruno@clisp.org>
2402         Fix "warning: implicitly declaring library function 'strcasecmp'".
2403         * lib/argp-help.c: Include <strings.h>.
2405 2020-08-16  Bruno Haible  <bruno@clisp.org>
2407         stdio: Don't break attribute 'scanf' on clang.
2408         * lib/stdio.in.h (scanf): Treat clang like GCC.
2410 2020-08-16  Bruno Haible  <bruno@clisp.org>
2412         Use __restrict also on clang.
2413         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
2414         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
2415         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
2417 2020-08-16  Bruno Haible  <bruno@clisp.org>
2419         pthread-spin: Use GCC built-ins also on clang.
2420         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
2421         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
2422         also on clang.
2424 2020-08-16  Bruno Haible  <bruno@clisp.org>
2426         asyncsafe-spin tests: Update.
2427         * tests/test-asyncsafe-spin2.c: Update to match the change in
2428         lib/asyncsafe-spin.c from 2020-08-11.
2430 2020-08-16  Bruno Haible  <bruno@clisp.org>
2432         setenv: Use tree code also with clang.
2433         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
2435 2020-08-16  Bruno Haible  <bruno@clisp.org>
2437         math: Optimize signbit also on clang.
2438         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
2439         on clang.
2441 2020-08-16  Bruno Haible  <bruno@clisp.org>
2443         avltreehash-list, rbtreehash-list: Optimize also on clang.
2444         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
2445         __builtin_expect also on clang.
2447 2020-08-16  Bruno Haible  <bruno@clisp.org>
2449         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
2450         * lib/socket.c: Use WSASocketW, not WSASocketA.
2452         Fix "warning: format specifies type 'unsigned long'".
2453         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
2454         argument to match the format directive.
2456         Fix "warning: no case matching constant switch condition '0'".
2457         * tests/test-fcntl.c (check_flags): Add a 'default' case.
2459         Fix "warning: integer overflow in expression".
2460         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
2461         remove a 'long' overflow.
2463         Fix "warning: "getpagesize" redefined".
2464         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
2465         macro.
2467         Fix "warning: implicitly declaring library function 'strncasecmp'".
2468         * lib/strptime.c: Include <strings.h>.
2470         Fix "warning: 'snprintf' macro redefined".
2471         * lib/strerror_r.c (snprintf): Undefine before redefining.
2473         Fix "warning: address of array 'locale' will always evaluate to 'true'".
2474         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
2476         Fix "warning: '__stat64' macro redefined".
2477         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
2479         Fix "warning: 'format' attribute argument not supported: rpl_printf".
2480         * lib/stdio.in.h (printf): Treat clang like GCC.
2482         Fix "warning: attribute declaration must precede definition" with clang.
2483         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
2484         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
2485         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
2486         on non-glibc systems.
2487         * lib/netdb.in.h (gai_strerror): Likewise.
2488         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
2489         * lib/sys_stat.in.h (fstat): Likewise.
2490         * lib/utime.in.h (utime): Likewise.
2492         Fix undesired warnings.
2493         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
2494         clang.
2496 2020-08-16  Bruno Haible  <bruno@clisp.org>
2498         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
2499         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
2500         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
2501         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
2502         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
2504 2020-08-16  Bruno Haible  <bruno@clisp.org>
2506         Don't use Autoconf quadrigraphs.
2507         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
2508         Autoconf quadrigraph.
2509         * m4/free.m4 (gl_FUNC_FREE): Likewise.
2510         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
2511         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
2512         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
2513         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
2514         * m4/math_h.m4 (gl_MATH_H): Likewise.
2515         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
2517 2020-08-16  Bruno Haible  <bruno@clisp.org>
2519         Fix quoting of AC_LANG_PROGRAM arguments.
2520         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
2521         arguments through [[...]].
2522         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
2523         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
2524         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
2525         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
2526         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
2527         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2528         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
2529         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
2530         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
2531         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
2532         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
2533         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
2534         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
2536 2020-08-16  Bruno Haible  <bruno@clisp.org>
2538         Assume autoconf >= 2.64.
2539         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
2540         * DEPENDENCIES: Require Autoconf 2.64 or newer.
2541         * NEWS: Mention the changed requirement.
2542         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
2543         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
2544         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
2545         variables.
2546         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
2547         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
2548         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
2549         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
2550         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
2551         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
2552         Likewise.
2553         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
2554         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
2555         * m4/configmake.m4: Update comment.
2557 2020-08-16  Bruno Haible  <bruno@clisp.org>
2559         sys_ioctl: Simplify.
2560         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
2561         AC_INCLUDES_DEFAULT.
2563 2020-08-16  Bruno Haible  <bruno@clisp.org>
2565         Fix quoting of AC_LANG_SOURCE arguments.
2566         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
2567         GL_NOCRASH expansion.
2568         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
2569         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2570         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2571         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2572         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2574 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2576         nstrftime: be more predictable about errno
2577         This aligns nstrftime better with draft POSIX 202x strftime.
2578         * lib/nstrftime.c: Include errno.h.
2579         (width_add, __strftime_internal): Set errno on failure,
2580         and preserve it on success.  Check for mktime_z failure.
2581         * modules/nstrftime (Depends-on): Add errno.
2582         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
2583         * tests/test-nstrftime.c: Include intprops.h, limits.h.
2584         (errno_test): New test function.
2585         (main): Call it.
2587 2020-08-15  Bruno Haible  <bruno@clisp.org>
2589         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
2590         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
2591         from dependency analysis first.
2593 2020-08-15  Bruno Haible  <bruno@clisp.org>
2595         Determine asm output option and filename suffix for MSVC/clang.
2596         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
2597         clang-cl.
2599 2020-08-15  Bruno Haible  <bruno@clisp.org>
2601         doc: Update for MSVC/clang.
2602         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
2603         that MSVC 14 does not have.
2605 2020-08-15  Bruno Haible  <bruno@clisp.org>
2607         Revert autoupdate's revert.
2608         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
2610 2020-08-15  Bruno Haible  <bruno@clisp.org>
2612         frexpl: Fix configuration test result on MSVC.
2613         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
2614         zero.
2616 2020-08-15  Bruno Haible  <bruno@clisp.org>
2618         Support compiling without -loldnames on native Windows.
2619         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
2620         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
2621         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
2622         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
2623         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
2624         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2625         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
2626         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
2627         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
2628         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
2629         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
2630         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
2631         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
2632         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
2633         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
2634         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
2635         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2636         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2637         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
2638         Likewise.
2639         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
2640         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2641         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
2642         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2643         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
2644         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
2645         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
2646         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
2647         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
2648         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
2649         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2650         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
2651         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
2652         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
2653         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
2654         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2655         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
2656         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2657         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2658         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
2659         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
2660         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
2661         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
2662         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2663         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2664         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2665         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
2666         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
2667         test for getcwd.
2668         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
2669         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
2670         with GL_MDA_DEFINES.
2671         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
2672         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
2673         prefixed symbol.
2674         * lib/search.in.h (lfind, lsearch): Likewise.
2675         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
2676         Likewise.
2677         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
2678         * lib/string.in.h (memccpy, strdup): Likewise.
2679         * lib/sys_stat.in.h (chmod, umask): Likewise.
2680         * lib/time.in.h (tzset): Likewise.
2681         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
2682         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
2683         read, rmdir, swab, unlink, write): Likewise.
2684         * lib/utime.in.h (utime): Likewise.
2685         * lib/wchar.in.h (wcsdup): Likewise.
2686         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
2687         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
2688         rpl_-prefixed macro.
2689         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
2690         * lib/close.c (close_nothrow): On native Windows, use _close.
2691         * lib/creat.c (orig_creat): On native Windows, use _creat.
2692         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
2693         * lib/dup2.c (dup2_nothrow): Use _dup2.
2694         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
2695         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
2696         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
2697         * lib/open.c (orig_open): On native Windows, use _open.
2698         * lib/read.c (read_nothrow): Use _read.
2699         * lib/rmdir.c: On native Windows, use _rmdir.
2700         * lib/unlink.c: On native Windows, use _unlink.
2701         * lib/write.c (write_nothrow): Use _write.
2702         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
2703         undefined symbol.
2704         * lib/sys_socket.in.h (close): Likewise.
2705         * lib/sys_time.in.h (close): Likewise.
2706         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
2708 2020-08-15  Bruno Haible  <bruno@clisp.org>
2710         Fix "unknown pragma ignored" warnings with clang on native Windows.
2711         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
2712         * lib/cbrtf.c: Likewise.
2713         * lib/ceil.c: Likewise.
2714         * lib/floor.c: Likewise.
2715         * lib/fma.c: Likewise.
2716         * lib/fmod.c: Likewise.
2717         * lib/rint.c: Likewise.
2718         * lib/round.c: Likewise.
2719         * lib/trunc.c: Likewise.
2720         * tests/test-ceil2.c: Likewise.
2721         * tests/test-ceilf2.c: Likewise.
2722         * tests/test-floor2.c: Likewise.
2723         * tests/test-floorf2.c: Likewise.
2724         * tests/test-trunc2.c: Likewise.
2725         * tests/test-truncf2.c: Likewise.
2726         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2727         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2729 2020-08-15  Bruno Haible  <bruno@clisp.org>
2731         Fix compilation errors in C++ mode with clang on native Windows.
2732         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
2733         non-glibc systems.
2734         * lib/sched.in.h (sched_yield): Likewise.
2736 2020-08-14  Bruno Haible  <bruno@clisp.org>
2738         stdnoreturn: Work around problem with MSVC/clang.
2739         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
2740         system header after <stdnoreturn.h>.
2741         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
2743 2020-08-14  Bruno Haible  <bruno@clisp.org>
2745         utime-h: Generate an utime.h file always.
2746         * modules/utime-h (Makefile.am): Generate utime.h always.
2747         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
2748         GL_GENERATE_UTIME_H.
2750 2020-08-14  Bruno Haible  <bruno@clisp.org>
2752         mktime, mktime-internal: Remove obsolete code.
2753         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
2755 2020-08-14  Bruno Haible  <bruno@clisp.org>
2757         getcwd: Remove obsolete code.
2758         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
2759         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2761 2020-08-14  Bruno Haible  <bruno@clisp.org>
2763         tzset: Assume the function exists.
2764         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
2765         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
2766         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
2767         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
2768         HAVE_TZSET.
2769         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
2770         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
2772         nstrftime: Assume tzset exists.
2773         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
2774         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
2775         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
2777         mktime, mktime-internal: Assume tzset exists.
2778         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
2779         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
2781 2020-08-14  Bruno Haible  <bruno@clisp.org>
2783         strdup: Assume the function exists.
2784         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
2785         whether strdup exists.
2786         * modules/strdup (Files): Remove lib/strdup.c.
2787         (configure.ac): Don't compile strdup.c.
2788         * modules/strdup-posix (Depends-on, configure.ac): Don't test
2789         ac_cv_func_strdup.
2790         * doc/posix-functions/strdup.texi: Update.
2791         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
2792         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
2793         (Depends-on): Remove unistr/u8-strlen.
2795 2020-08-13  Bruno Haible  <bruno@clisp.org>
2797         sys_random: Work around an uClibc bug.
2798         Reported by akater <nuclearspace@gmail.com>
2799         via Stefan Kangas <stefan@marxist.se>
2800         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
2801         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
2802         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
2803         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
2804         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
2806 2020-08-12  Bruno Haible  <bruno@clisp.org>
2808         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
2809         Reported by Florian Weimer in
2810         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
2811         * lib/gen-uni-tables.c (output_predicate): Change the element type of
2812         the level3 array to 'unsigned int'.
2813         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
2814         * lib/unictype/categ_*.h: Regenerated.
2815         * lib/unictype/ctype_*.h: Regenerated.
2816         * lib/unictype/pr_*.h: Regenerated.
2817         * lib/unictype/sy_*.h: Regenerated.
2818         * lib/unicase/cased.h: Regenerated.
2819         * lib/unicase/ignorable.h: Regenerated.
2821 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
2823         stdint: port intptr_t to more-recent MinGW
2824         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
2825         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
2826         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
2827         Apparently those two macros were removed in mingwrt-3.22
2828         dated 2016-07-14.
2830 2020-08-12  Bruno Haible  <bruno@clisp.org>
2832         thread-optim: Export function-like macros only.
2833         Suggested by Paul Eggert.
2834         * lib/thread-optim.h (gl_multithreaded): New macro.
2835         (IF_MT_DECL, IF_MT): Remove macros.
2836         * doc/multithread.texi (Multithreading Optimizations): Add a small
2837         example.
2838         * lib/fatal-signal.c: Update all uses.
2839         * lib/clean-temp.c: Likewise.
2840         * lib/localename.c: Likewise.
2841         * modules/localename (Depends-on): Add stdbool.
2843 2020-08-12  Bruno Haible  <bruno@clisp.org>
2845         Revert autoupdate's revert.
2846         * config/srclist.txt: Mark regex.h as needing sync with glibc.
2848 2020-08-11  Bruno Haible  <bruno@clisp.org>
2850         thread-optim: Fix a compiler warning.
2851         * lib/thread-optim.h (IF_MT_DECL): Define differently.
2853 2020-08-11  Bruno Haible  <bruno@clisp.org>
2855         Use __restrict also on clang.
2856         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
2857         (__restrict_arr): On clang, define like on GCC.
2858         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
2859         (_Restrict_arr_): Use _Restrict_ also on clang.
2860         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
2861         (_Restrict_arr_): Use _Restrict_ also on clang.
2863 2020-08-11  Bruno Haible  <bruno@clisp.org>
2865         Use flexible array syntax also on clang.
2866         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
2867         define like for GCC 3.
2869 2020-08-11  Bruno Haible  <bruno@clisp.org>
2871         fcntl: On native Windows, use _setmode, not setmode.
2872         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
2873         * lib/binary-io.h: Update comment.
2874         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
2875         * tests/test-dup2.c: Likewise.
2876         * tests/test-dup-safer.c: Likewise.
2877         * tests/test-fcntl.c: Likewise.
2879 2020-08-11  Bruno Haible  <bruno@clisp.org>
2881         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
2882         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
2883         * lib/spawn-pipe.c (create_pipe): Likewise.
2884         * tests/test-nonblocking-pipe-main.c (main): Likewise.
2885         * tests/test-nonblocking-socket-main.c (main): Likewise.
2886         * lib/wait-process.c: Update comment.
2887         * doc/posix-functions/fork.texi: Update.
2889 2020-08-11  Bruno Haible  <bruno@clisp.org>
2891         asyncsafe-spin: Use GCC built-ins also on clang.
2892         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
2893         the newer GCC built-ins also on clang.
2895 2020-08-11  Bruno Haible  <bruno@clisp.org>
2897         Use expression statements also on clang.
2898         * lib/cdefs.h (__extension__): Don't define to empty on clang.
2899         * lib/obstack.h (__extension__): Likewise.
2900         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
2901         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
2902         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
2903         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
2904         obstack_finish, obstack_free): Enable as optimized macros also on clang.
2905         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
2907 2020-08-10  Bruno Haible  <bruno@clisp.org>
2909         Use many __attribute__s with clang.
2910         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
2911         on clang.
2912         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
2913         New macros.
2914         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
2915         on clang.
2916         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
2917         also on older clang versions.
2918         (__attribute__): Don't define to empty on clang.
2919         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
2920         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
2921         (__attribute_const__): Use __attribute__ __const__ also on clang.
2922         (__attribute_used__): Use __attribute__ __used__ also on clang.
2923         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
2924         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
2925         clang.
2926         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
2927         clang.
2928         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
2929         also on clang.
2930         (__nonnull): Use __attribute__ __nonnull__ also on clang.
2931         (__attribute_warn_unused_result__): Use __attribute__
2932         __warn_unused_result__ also on clang.
2933         (__always_inline): Use __attribute__ __always_inline__ also on clang.
2934         (__attribute_artificial__): Use __attribute__ __artificial__ also on
2935         clang >= 7.
2936         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
2937         clang versions.
2938         (_Noreturn): Don't redefine on clang >= 3.5.
2939         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
2940         also on clang.
2941         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
2942         on clang.
2943         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
2944         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
2945         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
2946         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
2947         also on clang.
2948         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
2949         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
2950         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
2951         also on clang.
2952         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
2953         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
2954         __attribute__ __noreturn__ also on clang.
2955         * lib/obstack.h (__attribute_noreturn__): Likewise.
2956         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
2957         clang.
2958         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
2959         always_inline also on clang.
2960         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
2961         clang.
2963 2020-08-10  Bruno Haible  <bruno@clisp.org>
2965         c-ldtoastr tests: Fix test failure.
2966         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
2967         is longer than 'double'.
2969 2020-08-10  Bruno Haible  <bruno@clisp.org>
2971         Revert autoupdate's revert.
2972         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
2974 2020-08-09  Bruno Haible  <bruno@clisp.org>
2976         string: Fix build error in C++ mode with clang (regression from today).
2977         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
2978         parameters, one for GCC, one for clang.
2979         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
2980         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
2981         as return type.
2983 2020-08-09  Bruno Haible  <bruno@clisp.org>
2985         ftruncate: Use _chsize, not chsize.
2986         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
2987         * lib/ftruncate.c: Test HAVE__CHSIZE.
2988         (chsize_nothrow): Use _chsize, not chsize.
2990 2020-08-09  Bruno Haible  <bruno@clisp.org>
2992         Silence warnings from clang 10 with -Wimplicit-fallthrough.
2993         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
2994         clang >= 10.
2995         * lib/fnmatch.c (FALLTHROUGH): Likewise.
2996         * lib/fts.c (FALLTHROUGH): Likewise.
2997         * tests/macros.h (FALLTHROUGH): Likewise.
2998         * lib/regex_internal.h (FALLTHROUGH): Likewise.
2999         * config/srclist.txt: Mark it as needing sync with glibc.
3001 2020-08-09  Bruno Haible  <bruno@clisp.org>
3003         stdbool tests: Enable the stricter tests also on clang.
3004         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
3005         (e): Enable the address-to-bool conversion test also on clang.
3007 2020-08-09  Bruno Haible  <bruno@clisp.org>
3009         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
3010         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
3012 2020-08-09  Bruno Haible  <bruno@clisp.org>
3014         Use attribute __aligned__ with clang.
3015         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
3016         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
3018 2020-08-09  Bruno Haible  <bruno@clisp.org>
3020         Use __alignof__ with clang.
3021         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
3022         on clang.
3023         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
3024         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
3025         clang.
3026         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
3027         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
3028         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
3029         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
3031 2020-08-09  Bruno Haible  <bruno@clisp.org>
3033         ignore-value: Simplify on clang.
3034         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
3035         workaround.
3037 2020-08-09  Bruno Haible  <bruno@clisp.org>
3039         Use __typeof__ with clang.
3040         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
3041         "clang -std=gnu99".
3042         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
3043         * tests/test-stdint.c (verify_same_types): Enable the check also on
3044         clang.
3046 2020-08-09  Bruno Haible  <bruno@clisp.org>
3048         Add ability to emit user-defined warnings and errors with clang.
3049         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
3050         _GL_ATTRIBUTE_WARNING using an attribute for clang.
3051         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
3052         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
3053         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
3054         attribute for clang.
3056 2020-08-09  Bruno Haible  <bruno@clisp.org>
3058         intprops: Fix typo in comment.
3059         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
3061 2020-08-09  Bruno Haible  <bruno@clisp.org>
3063         Use __builtin_signbit* with clang.
3064         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
3065         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
3066         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
3067         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
3068         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
3069         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
3070         not REPLACE_SIGNBIT_USING_GCC.
3072 2020-08-09  Bruno Haible  <bruno@clisp.org>
3074         Use __builtin_isnan with clang.
3075         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
3076         not __builtin_isnanf. Also on clang.
3077         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
3078         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
3079         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
3080         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
3081         built-in.
3082         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
3083         not __builtin_isnanl. Also on clang.
3084         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
3085         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
3086         * lib/math.in.h (__has_builtin): Remove macro.
3087         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
3088         __builtin_isnanf. Also on clang.
3089         (isnand, gl_isnan_d): With clang, use the GCC built-in.
3090         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
3091         __builtin_isnanl. Also on clang.
3092         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
3093         on clang.
3095 2020-08-09  Bruno Haible  <bruno@clisp.org>
3097         thread-optim: Fix logic error.
3098         Reported by Paul Eggert.
3099         * lib/thread-optim.h (IF_MT): Fix logic error.
3101 2020-08-08  Bruno Haible  <bruno@clisp.org>
3103         localename: Use module 'thread-optim'.
3104         * lib/localename.c: Include thread-optim.h.
3105         (struniq): Use IF_MT macro.
3106         * modules/localename (Depends-on): Add thread-optim.
3108         clean-temp: Use module 'thread-optim'.
3109         * lib/clean-temp.c: Include thread-optim.h.
3110         (register_temporary_file, unregister_temporary_file, create_temp_dir,
3111         register_temp_file, unregister_temp_file, register_temp_subdir,
3112         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
3113         close_temp, fclose_variant_temp): Use IF_MT macro.
3114         * modules/clean-temp (Depends-on): Add thread-optim.
3116         fatal-signal: Use module 'thread-optim'.
3117         * lib/fatal-signal.c: Include thread-optim.h.
3118         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
3119         macro.
3120         * modules/fatal-signal (Depends-on): Add thread-optim.
3122 2020-08-08  Bruno Haible  <bruno@clisp.org>
3124         New module 'thread-optim'.
3125         * lib/thread-optim.h: New file.
3126         * modules/thread-optim: New file.
3127         * doc/multithread.texi (Multithreading Optimizations): New section.
3129 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
3131         doc: more updates for glibc 2.32
3132         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
3133         * doc/posix-functions/fchmodat.texi: Update.
3135 2020-08-07  Bruno Haible  <bruno@clisp.org>
3137         doc: Update for glibc 2.32.
3138         * doc/glibc-functions/__libc_single_threaded.texi: New file.
3139         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
3140         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
3141         * doc/glibc-functions/sigabbrev_np.texi: New file.
3142         * doc/glibc-functions/sigdescr_np.texi: New file.
3143         * doc/glibc-functions/strerrordesc_np.texi: New file.
3144         * doc/glibc-functions/strerrorname_np.texi: New file.
3145         * doc/gnulib.texi: Include them.
3146         (Glibc sys/single_threaded.h): New section.
3147         * doc/pastposix-functions/h_errno.texi: Update.
3148         * doc/posix-functions/*.texi: Likewise.
3149         * doc/glibc-functions/*.texi: Likewise.
3151 2020-08-07  Bruno Haible  <bruno@clisp.org>
3153         alloca: No need to compile alloca.c with clang.
3154         * lib/alloca.c: Skip all code with clang.
3156         Use __builtin_alloca with clang.
3157         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
3159 2020-08-06  Bruno Haible  <bruno@clisp.org>
3161         Use __builtin_assume with clang.
3162         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
3163         (assume): Use __builtin_assume when available.
3165 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
3167         libgmp: add <gmp/gmp.h> support
3168         * m4/libgmp.m4 (gl_LIBGMP):
3169         * modules/libgmp (configure.ac, Makefile.am):
3170         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
3171         ‘#include <gmp.h>’.
3173 2020-08-06  Bruno Haible  <bruno@clisp.org>
3175         Consider that clang defines __OPTIMIZE__ like GCC does.
3176         * lib/streq.h: Define the inline functions also on clang.
3177         * lib/c-strcaseeq.h: Likewise.
3178         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
3179         the GCC workaround to clang.
3181 2020-08-06  Bruno Haible  <bruno@clisp.org>
3183         safe-alloc: Remove unused code.
3184         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
3186 2020-08-06  Bruno Haible  <bruno@clisp.org>
3188         Use __builtin_expect with clang everywhere.
3189         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
3190         also on clang.
3192 2020-08-05  Bruno Haible  <bruno@clisp.org>
3194         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
3195         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
3196         built-in also on clang.
3197         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
3198         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
3200 2020-08-05  Bruno Haible  <bruno@clisp.org>
3202         Use __builtin_clz{,l,ll} with clang, also on Windows.
3203         * lib/integer_length.c: With clang, use the GCC built-in, not
3204         <intrin.h>.
3205         * lib/integer_length_l.c: Likewise.
3206         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
3207         also on clang.
3208         * lib/vasnprintf.c (divide): Likewise.
3210 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
3212         Update srclist.txt as per recent glibc changes
3213         * config/srclist.txt: Uncomment lines to reflect recent merges
3214         from Gnulib to glibc.
3216 2020-08-03  Bruno Haible  <bruno@clisp.org>
3218         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
3219         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
3221 2020-08-03  Bruno Haible  <bruno@clisp.org>
3223         integer_length_ll: Optimize for MSVC in 64-bit mode.
3224         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
3225         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
3227 2020-08-03  Bruno Haible  <bruno@clisp.org>
3229         integer_length_ll: Optimize for MSVC in 32-bit mode.
3230         * lib/integer_length_l.c: Include <intrin.h>.
3231         (integer_length): Define as inline function, like in
3232         lib/integer_length.c.
3234 2020-08-03  Bruno Haible  <bruno@clisp.org>
3236         integer_length: Optimize for MSVC.
3237         * lib/integer_length.c: Include <intrin.h>.
3238         (integer_length): With MSVC, use the _BitScanReverse built-in.
3240 2020-08-03  Bruno Haible  <bruno@clisp.org>
3242         ffsll: Optimize for MSVC in 64-bit mode.
3243         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
3244         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
3245         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
3247 2020-08-03  Bruno Haible  <bruno@clisp.org>
3249         ffsll: Optimize for MSVC in 32-bit mode.
3250         * lib/ffsl.h: Include <intrin.h>.
3251         (ffs): Define as inline function, like in lib/ffs.c.
3253 2020-08-03  Bruno Haible  <bruno@clisp.org>
3255         ffs: Optimize for MSVC.
3256         * lib/ffs.c: Include <intrin.h>.
3257         (ffs): With MSVC, use the _BitScanForward built-in.
3259 2020-08-03  Bruno Haible  <bruno@clisp.org>
3261         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
3262         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
3263         variable.
3265 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
3267         fopen: Avoid undesired interactions with glibc headers.
3268         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
3269         __need_FILE, as the latter does not work with glibc.
3271 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3273         fcntl: document some F_SETLK errno variations
3274         * doc/posix-functions/fcntl.texi (fcntl): Document
3275         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
3277 2020-08-02  Bruno Haible  <bruno@clisp.org>
3279         oset: Add an 'iterator_atleast' operation.
3280         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
3281         extracted from gl_array_search_atleast.
3282         (gl_array_search_atleast): Use it.
3283         (gl_array_iterator_atleast): New function.
3284         (gl_array_oset_implementation): Use it.
3285         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
3286         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
3287         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
3288         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
3289         member.
3290         (gl_oset_iterator_atleast): New function.
3291         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
3292         (gl_OSet::iterator): Add another auxiliary constructor.
3293         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
3294         New functions.
3295         (main): Test also gl_oset_iterator_atleast.
3296         * tests/test-avltree_oset.c (is_at_least): New function.
3297         (main): Test also gl_oset_iterator_atleast.
3298         * tests/test-rbtree_oset.c (is_at_least): New function.
3299         (main): Test also gl_oset_iterator_atleast.
3300         * tests/test-oset-c++.cc (is_at_most): New function.
3301         (main): Test also gl_OSet::begin_atleast.
3303 2020-08-02  Bruno Haible  <bruno@clisp.org>
3305         oset-c++, omap-c++: Remove restriction for search_atleast method.
3306         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
3307         a different type than the element.
3308         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
3309         a different type than the key.
3311 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3313         gnumakefile: say ‘$(MAKE)’ not ‘make’
3314         * top/GNUmakefile (abort-due-to-no-makefile):
3315         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
3316         This change is backported from Autoconf.
3318 2020-08-01  Bruno Haible  <bruno@clisp.org>
3320         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
3321         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
3322         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
3323         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
3324         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
3325         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
3327 2020-08-01  Bruno Haible  <bruno@clisp.org>
3329         libtextstyle-optional: Update tests.
3330         * modules/libtextstyle-optional-tests (configure.ac): Invoke
3331         gl_LIBTEXTSTYLE_OPTIONAL.
3333 2020-08-01  Bruno Haible  <bruno@clisp.org>
3335         parse-datetime: Fix wrong #line statements.
3336         * modules/parse-datetime (Makefile.am): Correct #line statements also in
3337         parse-datetime-gen.h.
3339 2020-08-01  Bruno Haible  <bruno@clisp.org>
3341         libtextstyle[-optional]: Allow requesting a minimum version.
3342         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
3343         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
3344         gl_LIBTEXTSTYLE_SEARCH): New macros.
3345         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
3346         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
3347         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
3348         * modules/libtextstyle-optional (configure.ac): Don't invoke
3349         gl_LIBTEXTSTYLE_OPTIONAL.
3350         * NEWS: Mention the changes.
3352 2020-07-31  Bruno Haible  <bruno@clisp.org>
3354         _GL_CMP: Improve documentation.
3355         Reported by Paul Eggert in
3356         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
3357         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
3358         passed.
3360 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
3362         largefile: sync with Autoconf master
3363         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
3364         Avoid undefined behavior on platforms where off_t is 32 bits.
3365         See: https://bugs.debian.org/742780
3367         alloca: sync with Autoconf master
3368         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3369         Do not define if Autoconf 2.70 or later, since Autoconf master
3370         now matches us.
3372 2020-07-30  Bruno Haible  <bruno@clisp.org>
3374         unicodeio: Add comment.
3375         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
3376         different iconv behaviours.
3378 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
3380         Work around some Oracle Studio attribute bugs
3381         These were discovered when building bleeding-edge Emacs with
3382         Oracle Studio.
3383         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
3384         Port to Oracle Studio 12.6, which mishandles __attribute__
3385         ((__cold__)) and __attribute__ ((__may_alias__)) even though
3386         __has_attribute says they work.
3388 2020-07-29  Bruno Haible  <bruno@clisp.org>
3390         unicodeio: Fix wrong result on musl libc.
3391         Reported by A. Wilcox <awilfox@adelielinux.org> in
3392         <https://www.openwall.com/lists/musl/2020/07/29/2>.
3393         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
3394         on musl libc.
3395         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
3396         * modules/unicodeio (Files): Add m4/musl.m4.
3398 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
3400         fsusage, regex, stat-size: remove Cray support
3401         As near as I can make out this is actually support for UNICOS/mp,
3402         last released 2005, and Cray hasn’t supported that for years.
3403         * config/srclist.txt: Comment out regex.h for now.
3404         * lib/fsusage.c (get_fs_usage):
3405         * lib/regex.h (re_comp, re_exec):
3406         * lib/stat-size.h (ST_NBLOCKSIZE):
3407         Don’t worry about _CRAY.
3409 2020-07-29  Bruno Haible  <bruno@clisp.org>
3411         parse-datetime: Fix compilation error with bison 3.7.
3412         * modules/parse-datetime (Makefile.am): Create a generated header file
3413         parse-datetime-gen.h in the source directory. Correct #include and
3414         #line statements during preprocessing.
3416 2020-07-28  Bruno Haible  <bruno@clisp.org>
3418         fopen-gnu: Create files correctly (regression from 2020-05-24).
3419         * lib/fopen.c (rpl_open): Pass a third argument to open().
3421 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
3423         xalloc-die: don’t depend on xalloc
3424         This removes a circular dependency, as xalloc depends on xalloc-die.
3425         * modules/xalloc-die (Files): Add lib/xalloc.h.
3426         (Depends-on): Remove xalloc.
3427         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
3429         dfa-tests: port to MSVC
3430         Problem reported by Gisle Vanem in:
3431         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
3432         Also, remove an unnecessary dependency on getprogname.
3433         * modules/dfa-tests (Depends-on): Remove getprogname.
3434         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
3435         (exit_status): New static var.
3436         (dfawarn): Set it instead of exiting.
3437         Do not declare as _Noreturn, to pacify MSVC.
3438         (main): Return exit_status.
3440 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
3442         argz: pacify MSVC
3443         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
3444         Problem reported by Gisle Vanem.
3446         libgmp: remove dependency on havelib
3447         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
3448         use the more-traditional AC_SEARCH_LIBS approach.
3449         This should work better with GNU Emacs configuration,
3450         which uses pkg-config instead of a havelib-style approach.
3451         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
3452         * modules/libgmp (Depends-on): Remove havelib.
3454         libgmp: remove HAVE_GMP, LIB_GMP
3455         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
3456         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
3458 2020-07-26  Bruno Haible  <bruno@clisp.org>
3460         inttypes: Remove support for AIX 4.
3461         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
3462         * m4/inttypes-pri.m4: Remove file.
3463         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
3464         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
3465         * modules/inttypes-incomplete (Makefile.am): Don't substitute
3466         PRI_MACROS_BROKEN.
3467         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
3469 2020-07-26  Bruno Haible  <bruno@clisp.org>
3471         gettimeofday: Remove workaround for Mac OS X 10.0.
3472         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
3473         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
3474         * lib/gettimeofday.c: Don't include localtime-buffer.h.
3475         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
3476         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
3477         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
3478         * modules/localtime-buffer: Remove file.
3479         * lib/localtime-buffer.h: Remove file.
3480         * lib/localtime-buffer.c: Remove file.
3481         * m4/localtime-buffer.m4: Remove file.
3482         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
3484 2020-07-26  Bruno Haible  <bruno@clisp.org>
3486         tzset: Remove workaround for Solaris 2.6.
3487         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
3488         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
3489         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
3490         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
3491         * lib/localtime-buffer.c: Likewise.
3492         * lib/localtime.c: Likewise.
3493         * lib/tzset.c: Don't include localtime-buffer.h.
3494         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
3495         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
3496         is 1.
3497         * modules/tzset (Depends-on): Remove localtime-buffer.
3499 2020-07-26  Bruno Haible  <bruno@clisp.org>
3501         expl: Simplify autoconf test.
3502         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
3503         with small values..." test into the "checking whether expl works..."
3504         test.
3506 2020-07-26  Bruno Haible  <bruno@clisp.org>
3508         alloca: Remove Cray-2 and Cray Y-MP support.
3509         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
3510         Enable also on Autoconf >= 2.69.
3511         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
3512         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
3513         i00afunc): Remove.
3515 2020-07-25  Bruno Haible  <bruno@clisp.org>
3517         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
3518         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
3520 2020-07-25  Bruno Haible  <bruno@clisp.org>
3522         sigprocmask: Small autoconf macro improvement.
3523         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
3524         user to override the value of gl_cv_func_sigprocmask.
3525         * m4/gnulib-common.m4 (gl_SILENT): New macro.
3527 2020-07-25  Bruno Haible  <bruno@clisp.org>
3529         Small autoconf macro improvements.
3530         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
3531         override the value of gl_cv_func_working_mktime.
3532         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
3533         compiler produces multi-arch binaries..." in the configure output.
3534         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
3535         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
3537 2020-07-25  Bruno Haible  <bruno@clisp.org>
3539         doc: Update for NetBSD 7.1, 8.0, 9.0.
3540         * doc/*/*.texi: Update.
3541         * m4/exp2l.m4: Update comments.
3542         * m4/expl.m4: Likewise.
3543         * m4/ilogb.m4: Likewise.
3544         * m4/ilogbf.m4: Likewise.
3545         * m4/log10l.m4: Likewise.
3546         * m4/logl.m4: Likewise.
3547         * m4/printf.m4: Likewise.
3548         * m4/rintl.m4: Likewise.
3549         * m4/wcwidth.m4: Likewise.
3551 2020-07-24  Bruno Haible  <bruno@clisp.org>
3553         doc: Update for Mac OS X 10.13.
3554         * doc/*/*.texi: Update.
3555         * m4/expm1l.m4: Update comments.
3556         * m4/getgroups.m4: Likewise.
3557         * m4/getlogin_r.m4: Likewise.
3558         * m4/linkat.m4: Likewise.
3559         * m4/printf.m4: Likewise.
3561 2020-07-24  Bruno Haible  <bruno@clisp.org>
3563         doc: Update for Cygwin 2.9.0.
3564         * doc/*/*.texi: Update.
3566 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
3568         parse-datetime: modernize doc
3569         * doc/parse-datetime.texi: Use more-current examples.
3570         Don’t lead with 32-bit time_t, as it’s on its way out.
3571         Capitalize “Epoch” to be consistent with POSIX.
3573         timespec: remove dependence on ‘verify’
3574         * lib/timespec.h: Do not include verify.h; no longer needed.
3575         * modules/timespec (Depends-on): Remove ‘verify’.
3577         Optimize a few more three-valued comparisons
3578         * lib/timespec.h (timespec_cmp, timespec_sign):
3579         * lib/utimecmp.c (utimecmpat):
3580         Avoid conditional branches by using _GL_CMP.
3582         Fix _GL_CMP parenthesization typo
3583         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
3585 2020-07-24  Bruno Haible  <bruno@clisp.org>
3587         dfa: Revert breaking gawk.
3588         Reported by Arnold Robbins <arnold@skeeve.com>.
3589         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
3591 2020-07-23  Bruno Haible  <bruno@clisp.org>
3593         Optimize three-valued comparison between integers.
3594         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
3595         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
3596         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
3597         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
3598         * lib/dfa.c (compare): Likewise.
3599         * lib/fts.c (fts_compare_ino): Likewise.
3600         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
3601         * lib/mbscasecmp.c (mbscasecmp): Likewise.
3602         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
3603         * lib/memcasecmp.c (memcasecmp): Likewise.
3604         * lib/memcmp2.c (memcmp2): Likewise.
3605         * lib/savedir.c (direntry_cmp_inode): Likewise.
3606         * lib/strcasecmp.c (strcasecmp): Likewise.
3607         * lib/strncasecmp.c (strncasecmp): Likewise.
3608         * lib/unistr/u-cmp2.h (FUNC): Likewise.
3610 2020-07-23  Bruno Haible  <bruno@clisp.org>
3612         lchmod: Use /proc on Cygwin.
3613         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
3615 2020-07-23  Ken Brown  <kbrown@cornell.edu>
3617         fchmodat: Use /proc on Cygwin
3618         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
3620 2020-07-21  Bruno Haible  <bruno@clisp.org>
3622         aligned-malloc: Optionally use aligned_alloc.
3623         * lib/aligned-malloc.h: Verify the alignment.
3624         (aligned_malloc): Use aligned_alloc as an alternative.
3625         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
3626         * doc/posix-functions/aligned_alloc.texi: Mention the modules
3627         'aligned-malloc' and 'pagealign_alloc'.
3629 2020-07-21  Bruno Haible  <bruno@clisp.org>
3631         aligned-malloc: Add tests.
3632         * tests/test-aligned-malloc.c: New file.
3633         * modules/aligned-malloc-tests: New file.
3635         aligned-malloc: New module.
3636         * lib/aligned-malloc.h: New file.
3637         * m4/malloc-align.m4: New file.
3638         * modules/aligned-malloc: New file.
3639         * doc/posix-functions/posix_memalign.texi: Mention the new module.
3640         * doc/glibc-functions/memalign.texi: Likewise.
3642 2020-07-21  Bruno Haible  <bruno@clisp.org>
3644         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
3645         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
3646         sure PRIPTR_PREFIX is defined to "ll", not "l".
3648 2020-07-21  Bruno Haible  <bruno@clisp.org>
3650         printf-posix: Make an autoconf test more future-proof.
3651         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
3652         using uintptr_t.
3654 2020-07-20  Bruno Haible  <bruno@clisp.org>
3656         list, oset, omap: Relicense some of the container modules under LGPLv2+.
3657         * modules/list (License): Change to LGPLv2+.
3658         * modules/array-list (License): Likewise.
3659         * modules/carray-list (License): Likewise.
3660         * modules/linked-list (License): Likewise.
3661         * modules/avltree-list (License): Likewise.
3662         * modules/rbtree-list (License): Likewise.
3663         * modules/oset (License): Likewise.
3664         * modules/array-oset (License): Likewise.
3665         * modules/avltree-oset (License): Likewise.
3666         * modules/rbtree-oset (License): Likewise.
3667         * modules/omap (License): Likewise.
3668         * modules/array-omap (License): Likewise.
3669         * modules/avltree-omap (License): Likewise.
3670         * modules/rbtree-omap (License): Likewise.
3672 2020-07-20  Bruno Haible  <bruno@clisp.org>
3674         oset: Add an 'update' operation.
3675         * lib/gl_array_oset.c (gl_array_update): New function.
3676         (gl_array_oset_implementation): Use it.
3677         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
3678         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
3679         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
3680         extracted from gl_tree_nx_add_before.
3681         (gl_tree_nx_add_before): Invoke it.
3682         (gl_tree_add_node_after): New function, extracted from
3683         gl_tree_nx_add_after.
3684         (gl_tree_nx_add_after): Invoke it.
3685         (gl_tree_remove_node_no_free): New function, extracted from
3686         gl_tree_remove_node.
3687         (gl_tree_remove_node): Invoke it.
3688         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
3689         extracted from gl_tree_nx_add_before.
3690         (gl_tree_nx_add_before): Invoke it.
3691         (gl_tree_add_node_after): New function, extracted from
3692         gl_tree_nx_add_after.
3693         (gl_tree_nx_add_after): Invoke it.
3694         (gl_tree_remove_node_no_free): New function, extracted from
3695         gl_tree_remove_node.
3696         (gl_tree_remove_node): Invoke it.
3697         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
3698         from gl_tree_iterator_next.
3699         (gl_tree_iterator_next): Invoke it.
3700         (gl_tree_prev_node, gl_tree_update): New functions.
3701         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
3702         (gl_avltree_oset_implementation): Use gl_tree_update.
3703         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
3704         (gl_rbtree_oset_implementation): Use gl_tree_update.
3705         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
3706         (gl_oset_update): New function.
3707         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
3708         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
3709         * modules/rbtree-oset (configure.ac): Likewise.
3710         * tests/test-oset-update.h: New file.
3711         * tests/test-array_oset.c: Include test-oset-update.h.
3712         (main): Invoke test_update.
3713         * tests/test-avltree_oset.c: Likewise.
3714         * tests/test-rbtree_oset.c: Likewise.
3715         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
3716         * modules/avltree-oset-tests (Files): Likewise.
3717         * modules/rbtree-oset-tests (Files): Likewise.
3718         * tests/test-oset-c++.cc (action): New function.
3719         (main): Test the 'update' member function.
3721 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3723         md5, sha1, sha256, sha512: pacify Autoconf 2.70
3724         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
3725         shell if, so that the argument to AC_CHECK_HEADERS is
3726         a simple string that does not require shell evaluation.
3727         This fixes a warning generated by Autoconf 2.69b.
3729 2020-07-12  Bruno Haible  <bruno@clisp.org>
3731         libgmp: Avoid warning when --without-libgmp is used.
3732         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
3733         GCC >= 8, not for GCC >= 4.6.
3735 2020-07-12  Bruno Haible  <bruno@clisp.org>
3737         libgmp: Link to the correct shared library.
3738         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
3739         * modules/libgmp (Depends-on): Add havelib.
3740         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
3741         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
3743 2020-07-12  Bruno Haible  <bruno@clisp.org>
3745         libgmp tests: Add some safety checks.
3746         * modules/libgmp-tests (Depends-on): Add verify.
3747         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
3748         (main): Verify that gmp.h and libgmp versions match.
3750 2020-07-10  Bruno Haible  <bruno@clisp.org>
3752         unicodeio: Fix wrong result on NetBSD.
3753         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
3754         characters also on NetBSD.
3756 2020-07-09  Bruno Haible  <bruno@clisp.org>
3758         unicodeio: Fix wrong result on Solaris 11.
3759         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
3760         via Akim Demaille <akim.demaille@gmail.com> in
3761         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
3762         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
3763         characters on Solaris.
3764         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
3765         UTF-8 output or the specified fallback.
3767 2020-07-08  Bruno Haible  <bruno@clisp.org>
3769         unicodeio: Add tests.
3770         * tests/test-unicodeio.c: New file.
3771         * tests/test-unicodeio1.sh: New file.
3772         * tests/test-unicodeio2.sh: New file.
3773         * tests/test-unicodeio3.sh: New file.
3774         * modules/unicodeio-tests: New file.
3776 2020-07-08  Bruno Haible  <bruno@clisp.org>
3778         unicodeio: Document link requirements.
3779         * modules/unicodeio (Link): New section.
3781 2020-07-07  Bruno Haible  <bruno@clisp.org>
3783         doc: Remove support for some very old platforms.
3784         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
3785         * doc/posix-functions/memcpy.texi: Likewise.
3786         * doc/posix-functions/memmove.texi: Likewise.
3787         * doc/posix-functions/memset.texi: Likewise.
3788         * doc/posix-functions/getcwd.texi: Likewise.
3790         memchr: Remove support for some very old platforms.
3791         * m4/memchr-obsolete.m4: Remove file.
3792         * modules/memchr-obsolete: Remove file.
3793         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
3794         absent. Don't define HAVE_MEMCHR.
3795         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
3796         * modules/memchr (Depends-on): Remove memchr-obsolete.
3797         (configure.ac): Assume HAVE_MEMCHR is 1.
3798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3799         HAVE_MEMCHR.
3800         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
3801         * doc/posix-functions/memchr.texi: Don't mention module
3802         'memchr-obsolete'.
3803         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
3804         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
3805         * modules/strnlen (Depends-on): Remove memchr-obsolete.
3807         dup2: Remove support for some very old platforms.
3808         * m4/dup2-obsolete.m4: Remove file.
3809         * modules/dup2-obsolete: Remove file.
3810         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
3811         Don't define HAVE_DUP2.
3812         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
3813         * lib/dup2.c: Likewise.
3814         * modules/dup2 (Depends-on, configure.ac): Likewise.
3815         (Depends-on): Remove dup2-obsolete.
3816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
3817         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
3818         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
3820 2020-07-07  Bruno Haible  <bruno@clisp.org>
3822         canonicalize: Trim module dependencies.
3823         * lib/hash-triple.h: Group declarations.
3824         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
3825         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
3826         (STREQ): Remove macro.
3827         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
3828         * modules/hash-triple-simple: New file, based on modules/hash-triple.
3829         * modules/hash-triple (Files): Remove lib/hash-triple.h.
3830         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
3831         * modules/canonicalize (Depends-on): Remove hash-triple. Add
3832         hash-triple-simple.
3833         * modules/file-set (Depends-on): Likewise.
3835 2020-07-07  Bruno Haible  <bruno@clisp.org>
3837         Clarify dependencies to double-slash-root.
3838         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
3839         (Depends-on): Add double-slash-root.
3840         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
3841         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
3843 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3845         libgmp: new module
3846         The idea is to let programs simply include <gmp.h>, and
3847         so long as they live within the mini-gmp subset they need
3848         not worry about whether the GMP libraries are installed.
3849         * MODULES.html.sh: Mention it.
3850         * config/srclist.txt: Mention files copied from GMP source.
3851         * config/srclistvars.sh (GMP): New var.
3852         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
3853         * modules/libgmp-tests, tests/test-libgmp.c: New files.
3854         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
3856 2020-07-05  Bruno Haible  <bruno@clisp.org>
3858         mkancesdirs: Trim module dependencies.
3859         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
3860         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
3862 2020-07-05  Bruno Haible  <bruno@clisp.org>
3864         getprogname: Trim module dependencies.
3865         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
3866         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
3867         basename-lgpl.
3869 2020-07-05  Bruno Haible  <bruno@clisp.org>
3871         filenamecat-lgpl: Trim module dependencies.
3872         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
3873         dirname.h.
3874         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
3875         basename-lgpl, filename.
3877 2020-07-05  Bruno Haible  <bruno@clisp.org>
3879         backupfile, backup-rename: Trim module dependencies.
3880         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
3881         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
3882         basename-lgpl.
3883         * modules/backup-rename (Depends-on): Likewise.
3885 2020-07-05  Bruno Haible  <bruno@clisp.org>
3887         argp: Trim module dependencies.
3888         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
3889         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
3891 2020-07-05  Bruno Haible  <bruno@clisp.org>
3893         basename-lgpl: New module.
3894         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
3895         lib/basename-lgpl.c.
3896         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
3897         <stdbool.h>, filename.h.
3898         (last_component): Rename a local variable.
3899         * lib/dirname.h: Include basename-lgpl.h.
3900         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
3901         (last_component, base_len): Remove declarations.
3902         * modules/basename-lgpl: New file.
3903         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
3904         (Depends-on): Add basename-lgpl. Remove double-slash-root.
3905         (Makefile.am): Don't compile basename-lgpl.c.
3906         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
3907         not 'dirname'.
3909 2020-07-05  Bruno Haible  <bruno@clisp.org>
3911         dirname, dirname-lgpl: Simplify.
3912         * m4/dirname.m4: Remove file.
3913         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
3914         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
3915         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
3917 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
3919         tests: avoid shadowing warning
3920         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
3922 2020-07-05  Bruno Haible  <bruno@clisp.org>
3924         supersede: Add tests.
3925         * tests/test-supersede.c: New file.
3926         * tests/test-supersede-open.h: New file.
3927         * tests/test-supersede-fopen.h: New file.
3928         * modules/supersede-tests: New file.
3930         supersede: New module.
3931         * lib/supersede.h: New file.
3932         * lib/supersede.c: New file.
3933         * m4/supersede.m4: New file.
3934         * modules/supersede: New file.
3936 2020-07-05  Bruno Haible  <bruno@clisp.org>
3938         Add some copyright headers.
3939         * lib/dev-ino.h: Add copyright header.
3940         * lib/di-set.h: Likewise.
3941         * lib/fchown-stub.c: Likewise.
3942         * lib/file-set.h: Likewise.
3943         * lib/hash-triple.h: Likewise.
3944         * lib/idcache.h: Likewise.
3945         * lib/ino-map.h: Likewise.
3946         * lib/mkancesdirs.h: Likewise.
3947         * lib/scratch_buffer.h: Likewise.
3948         * lib/se-context.in.h: Likewise.
3949         * lib/stdopen.h: Likewise.
3950         * lib/userspec.h: Likewise.
3952 2020-07-04  Bruno Haible  <bruno@clisp.org>
3954         getrandom: Relicense under LGPLv2+.
3955         Paul Eggert's approval is in
3956         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
3957         * modules/getrandom (License): Change to LGPLv2+.
3959 2020-07-04  Bruno Haible  <bruno@clisp.org>
3961         getumask: Add tests.
3962         * tests/test-getumask.c: New file.
3963         * modules/getumask-tests: New file.
3965         getumask: New module.
3966         * lib/sys_stat.in.h (getumask): New declaration.
3967         * lib/getumask.c: New file.
3968         * m4/getumask.m4: New file.
3969         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
3970         declared.
3971         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
3972         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
3973         HAVE_GETUMASK.
3974         * modules/getumask: New file.
3975         * tests/test-sys_stat-c++.cc (getumask): Check signature.
3976         * doc/glibc-functions/getumask.texi: New file.
3977         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
3979 2020-07-04  Bruno Haible  <bruno@clisp.org>
3981         clean-temp: Add support for temporary files with given mode.
3982         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
3983         * lib/clean-temp.c (struct try_create_file_params): New type.
3984         (try_create_file): New function.
3985         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
3986         gen_tempname.
3988 2020-07-04  Bruno Haible  <bruno@clisp.org>
3990         clean-temp: Document limitations.
3991         * lib/clean-temp.h: Document limitations.
3993 2020-07-04  Bruno Haible  <bruno@clisp.org>
3995         clean-temp: Add support for temporary files with unpredictable names.
3996         * lib/clean-temp.h (gen_register_open_temp): New declaration.
3997         * lib/clean-temp.c: Include tempname.h.
3998         (gen_register_open_temp): New function.
3999         * modules/tempname (configure.ac): Define a module indicator.
4001 2020-07-04  Bruno Haible  <bruno@clisp.org>
4003         clean-temp: Add support for temporary files anywhere in the file system.
4004         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
4005         cleanup_temporary_file): New declarations.
4006         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
4007         variables.
4008         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
4009         (dir_cleanup_list): Renamed from cleanup_list.
4010         (cleanup_action): Process the file_cleanup_list as well.
4011         (do_init_clean_temp): New function.
4012         (clean_temp_once): New variable.
4013         (init_clean_temp): New function.
4014         (create_temp_dir): Invoke it.
4015         (register_temporary_file, unregister_temporary_file,
4016         cleanup_temporary_file): New functions.
4017         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
4018         argument.
4020 2020-07-04  Bruno Haible  <bruno@clisp.org>
4022         clean-temp: Improve comments.
4023         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
4024         fwriteerror_temp, close_stream_temp): Clarify intended use.
4025         * lib/clean-temp.c: Likewise.
4027 2020-07-04  Bruno Haible  <bruno@clisp.org>
4029         clean-temp: Make multithread-safe, part 2.
4030         * lib/fatal-signal.h: Include <signal.h>.
4031         (get_fatal_signal_set): New declaration.
4032         * lib/fatal-signal.c (get_fatal_signal_set): New function.
4033         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
4034         (struct closeable_fd): New type.
4035         (fatal_signal_set): New variable.
4036         (init_fatal_signal_set): New function.
4037         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
4038         (cleanup_action): Invoke asyncsafe_close instead of close.
4039         (create_temp_dir): Invoke init_fatal_signal_set.
4040         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
4041         element.
4042         (unregister_fd): Remove function.
4043         (close_temp): Cleanup descriptors list on the fly. Invoke
4044         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
4045         (fclose_variant_temp): New function.
4046         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
4047         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
4049 2020-07-04  Bruno Haible  <bruno@clisp.org>
4051         clean-temp: Make multithread-safe, part 1.
4052         * lib/clean-temp.c: Include glthread/lock.h.
4053         (cleanup_list_lock): New variable.
4054         (register_temp_file, unregister_temp_file, register_temp_subdir,
4055         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
4056         (create_temp_dir): Likewise. Don't free the old array.
4057         (descriptors_lock): New variable.
4058         (register_fd, unregister_fd): Use it.
4059         * modules/clean-temp (Depends-on): Add lock.
4061 2020-07-04  Bruno Haible  <bruno@clisp.org>
4063         fatal-signal: Make multithread-safe.
4064         * lib/fatal-signal.c (init_fatal_signals): Add comment.
4065         (do_init_fatal_signal_set): New function, extracted from
4066         init_fatal_signal_set.
4067         (fatal_signal_set_once): New variable.
4068         (init_fatal_signal_set): Use gl_once.
4070 2020-07-03  Bruno Haible  <bruno@clisp.org>
4072         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
4073         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
4074         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
4075         <bcrypt.h>.
4077 2020-07-03  Bruno Haible  <bruno@clisp.org>
4079         dfa tests: Follow common file naming conventions.
4080         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
4081         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
4082         * tests/test-dfa-invalid-char-class.sh: Renamed from
4083         tests/dfa-invalid-char-class.sh. Update.
4084         * modules/dfa-tests (Files, Makefile.am): Update.
4086 2020-07-03  Bruno Haible  <bruno@clisp.org>
4088         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
4089         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
4090         the GCC extended asm syntax also for the Sun Studio 12 compilers.
4092 2020-07-03  Bruno Haible  <bruno@clisp.org>
4094         asyncsafe-spin: Reduce code duplication.
4095         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
4096         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
4097         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
4099 2020-07-03  Bruno Haible  <bruno@clisp.org>
4101         lchmod: Simplify after 2020-02-22 change.
4102         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
4104 2020-07-03  Bruno Haible  <bruno@clisp.org>
4106         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
4107         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
4109 2020-07-03  Bruno Haible  <bruno@clisp.org>
4111         dfa: Make sure the compiler does not barf on 'inline'.
4112         * modules/dfa (configure.ac): Require AC_C_INLINE.
4114 2020-07-03  Bruno Haible  <bruno@clisp.org>
4116         bitset: Make sure the compiler does not barf on 'inline'.
4117         * modules/bitset (configure.ac): New section.
4119 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
4121         manywarnings: improve port to GCC 10.1
4122         * build-aux/gcc-warning.spec: Also list warnings that are default
4123         or are enabled by already-given flags.  This lets us speed up
4124         checking for attributes, and makes the generated compilation
4125         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
4126         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
4127         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
4128         to shell variables that may have long values.
4129         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
4130         consequences of other flags, to speed up checking and
4131         shorten commands.
4133         tests: pacify gcc -fanalyzer on zerosize_ptr
4134         * tests/test-memcasecmp.c (main):
4135         * tests/test-memchr.c (main):
4136         * tests/test-memchr2.c (main):
4137         * tests/test-memcmp.c (main):
4138         * tests/test-memmem.c (main):
4139         * tests/test-memrchr.c (main):
4140         * tests/unistr/test-chr.h (main):
4141         * tests/unistr/test-cmp.h (test_cmp):
4142         Check whether zerosize_ptr returns NULL before using it.
4143         This pacifies GCC 10.1’s new fanalyzer option, and matches
4144         other uses of zerosize_ptr.
4146 2020-07-01  Bruno Haible  <bruno@clisp.org>
4148         asyncsafe-spin: Add tests.
4149         * tests/test-asyncsafe-spin1.c: New file.
4150         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
4151         tests/test-pthread-spin.c.
4152         * modules/asyncsafe-spin-tests: New file.
4154 2020-07-01  Bruno Haible  <bruno@clisp.org>
4156         asyncsafe-spin: New module.
4157         * lib/asyncsafe-spin.h: New file.
4158         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
4159         * modules/asyncsafe-spin: New file.
4161 2020-07-01  Bruno Haible  <bruno@clisp.org>
4163         windows-spin: Fix race condition on multiprocessor systems.
4164         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
4166 2020-07-01  Bruno Haible  <bruno@clisp.org>
4168         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
4169         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4170         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
4171         an implementation based on other GCC built-ins.
4173 2020-07-01  Bruno Haible  <bruno@clisp.org>
4175         pthread-spin: Optimize fallback for GCC versions >= 4.7.
4176         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4177         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
4178         lock byte.
4180 2020-07-01  Bruno Haible  <bruno@clisp.org>
4182         pthread-spin: Add error checking.
4183         * lib/pthread-spin.c: Include <stdbool.h>.
4184         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
4185         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
4186         the unlocks.
4187         * modules/pthread-spin (Depends-on): Add stdbool.
4189 2020-07-01  Bruno Haible  <bruno@clisp.org>
4191         pthread-spin: Add tests.
4192         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
4193         * modules/pthread-spin-tests: New file.
4195 2020-07-01  Bruno Haible  <bruno@clisp.org>
4197         tests: Reduce code duplication.
4198         * tests/atomic-int-posix.h: New file, extracted from
4199         tests/test-pthread-mutex.c.
4200         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
4201         * tests/test-pthread-rwlock.c: Likewise.
4202         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
4203         * modules/pthread-rwlock-tests (Files): Likewise.
4205 2020-07-01  Bruno Haible  <bruno@clisp.org>
4207         tests: Refactor.
4208         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
4209         * tests/test-mtx.c: Include it. Remove the corresponding code.
4210         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
4212 2020-07-01  Bruno Haible  <bruno@clisp.org>
4214         tests: Refactor.
4215         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
4216         * tests/test-lock.c: Include it. Remove the corresponding code.
4217         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
4219 2020-06-29  Bruno Haible  <bruno@clisp.org>
4221         sys_socket: Don't define socklen_t if it is already defined on mingw.
4222         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
4223         <https://savannah.gnu.org/bugs/?57725>,
4224         by Rahul Das <bokul_4u@yahoo.com> in
4225         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
4226         and by Eli Zaretskii <eliz@gnu.org> in
4227         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
4228         * lib/sys_socket.in.h (socklen_t): Remove definition.
4230 2020-06-29  Bruno Haible  <bruno@clisp.org>
4232         alloca-opt: Fix warning on mingw.
4233         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
4234         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
4235         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
4236         whether alloca is defined.
4238 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
4240         getrandom: do not depend on ‘open’ on mingw
4241         Similarly for at-internal, getloadavg.  These modules do not call
4242         the ‘open’ function when they are compiled on mingw.  On mingw,
4243         this avoids having to compile open.c when building Emacs, which
4244         does its own thing with ‘open’.
4245         * modules/at-internal, modules/getloadavg, modules/getrandom:
4246         (Depends-on): Don’t depend on ‘open’ on mingw.
4247         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
4248         * modules/getloadavg (Depends-on):
4249         Depend on intprops, open, stdbool, stdlib only if compiling
4250         getloadavg.c.
4252 2020-06-28  Bruno Haible  <bruno@clisp.org>
4254         doc: Add a note about sigprocmask vs. pthread_sigmask.
4255         * doc/posix-functions/sigprocmask.texi: Add note.
4257 2020-06-28  Bruno Haible  <bruno@clisp.org>
4259         getrandom: Fix compilation errors on older versions of mingw.
4260         Reported by Eli Zaretskii <eliz@gnu.org> in
4261         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
4262         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
4263         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
4264         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
4265         BCryptGenRandom ourselves.
4267 2020-06-28  Bruno Haible  <bruno@clisp.org>
4269         clean-temp: Fix wrong errno in error message.
4270         * lib/clean-temp.c (create_temp_dir): Save errno around
4271         unblock_fatal_signals call.
4273 2020-06-27  Bruno Haible  <bruno@clisp.org>
4275         fatal-signal: Make multithread-safe.
4276         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
4278 2020-06-27  Bruno Haible  <bruno@clisp.org>
4280         clean-temp: Don't force deletion of temporary files on native Windows.
4281         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
4282         argument.
4283         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
4284         * NEWS: Mention the change.
4285         * lib/javacomp.c (write_temp_file): Update.
4287 2020-06-27  Bruno Haible  <bruno@clisp.org>
4289         fatal-signal: Make multithread-safe.
4290         * lib/fatal-signal.c: Include glthread/lock.h.
4291         (at_fatal_signal_lock): New variable.
4292         (at_fatal_signal): Use it.
4293         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
4294         (block_fatal_signals, unblock_fatal_signals): Use them.
4295         * modules/fatal-signal (Depends-on): Add lock.
4297 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
4299         getloadavg: don’t depend on fopen-gnu
4300         This is for Emacs, which does not need fopen-gnu for anything else,
4301         and which would need it only on a NetBSD platform where getloadavg
4302         does not work (does that even happen?).
4303         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
4304         * modules/getloadavg (Depends-on): Remove fopen-gnu.
4306         * tests/test-getloadavg.c (main): Fix typo.
4308 2020-06-27  Bruno Haible  <bruno@clisp.org>
4310         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
4311         * modules/tempname (Link): New section.
4312         * modules/mkdtemp (Link): Likewise.
4313         * modules/clean-temp (Link): Likewise.
4314         * modules/mkstemp (Link): Likewise.
4315         * modules/stdlib-safer (Link): Likewise.
4316         * modules/mkstemps (Link): Likewise.
4317         * modules/mkostemp (Link): Likewise.
4318         * modules/mkostemps (Link): Likewise.
4319         * modules/tmpfile (Link): Likewise.
4320         * modules/tmpfile-safer (Link): Likewise.
4321         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
4322         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
4323         $(LIB_GETRANDOM).
4324         * NEWS: Mention the changes.
4326 2020-06-27  Bruno Haible  <bruno@clisp.org>
4328         fopen-gnu: Simplify code.
4329         * lib/fopen.c: Include <stdbool.h>.
4330         (rpl_fopen): Use a single variable open_flags instead of
4331         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
4332         * modules/fopen (Depends-on): Add stdbool.
4334 2020-06-26  Bruno Haible  <bruno@clisp.org>
4336         canonicalize: Improve documentation.
4337         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
4338         return convention.
4340 2020-06-26  Bruno Haible  <bruno@clisp.org>
4342         xgetcwd: Improve documentation.
4343         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
4345 2020-06-26  Bruno Haible  <bruno@clisp.org>
4347         getcwd: Improve documentation.
4348         * lib/getcwd.c (__getcwd): Document the failure return convention.
4350 2020-06-26  Bruno Haible  <bruno@clisp.org>
4352         fchdir: Improve documentation.
4353         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
4354         convention.
4356 2020-06-26  Bruno Haible  <bruno@clisp.org>
4358         filenamecat-lgpl: Set errno upon failure.
4359         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
4360         return convention.
4361         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
4363 2020-06-26  Bruno Haible  <bruno@clisp.org>
4365         areadlink-with-size: Set errno upon failure.
4366         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
4367         fails.
4368         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
4370 2020-06-26  Bruno Haible  <bruno@clisp.org>
4372         copy-file: Shrink dependencies.
4373         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
4374         qcopy-acl.
4376 2020-06-26  Bruno Haible  <bruno@clisp.org>
4378         doc: Mention declaration fixes implemented by some modules.
4379         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
4380         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
4381         declaration appear in <unistd.h>.
4382         * doc/posix-functions/dup.texi: Likewise.
4383         * doc/posix-functions/dup2.texi: Likewise.
4384         * doc/posix-functions/gethostname.texi: Likewise.
4385         * doc/posix-functions/isatty.texi: Likewise.
4386         * doc/posix-functions/lseek.texi: Likewise.
4387         * doc/posix-functions/unlink.texi: Likewise.
4388         * doc/posix-functions/read.texi: Mention the module 'read'.
4389         * doc/posix-functions/write.texi: Mention the effects of the module
4390         'write'.
4392 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
4394         c-dtoastr, c-ldtoastr: new modules
4395         These modules provide the same functionality as the modules
4396         dtoastr and ldtoastr except for the formatting taking place in the
4397         C locale.
4398         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
4399         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
4400         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
4401         defined.  Use c_snprintf and c_strtod/c_strtold instead of
4402         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
4403         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
4404         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
4405         modules/c-ldtoastr-tests: New files.
4406         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
4407         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
4409 2020-06-21  Bruno Haible  <bruno@clisp.org>
4411         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
4412         * lib/tzset.c: Include <stdlib.h>, <string.h>.
4414 2020-06-16  Bruno Haible  <bruno@clisp.org>
4416         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
4417         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
4419 2020-06-16  Bruno Haible  <bruno@clisp.org>
4421         thread, thrd: Avoid a compiler warning.
4422         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
4424 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
4426         windows-thread: Avoid a compiler warning.
4427         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
4428         void.
4429         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
4431 2020-06-15  Bruno Haible  <bruno@clisp.org>
4433         unictype/joininggroup-name: Fix warning on 64-bit mingw.
4434         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
4435         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
4436         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
4437         first.
4439 2020-06-06  Bruno Haible  <bruno@clisp.org>
4441         calloc-gnu tests: Avoid a test failure with clang.
4442         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
4443         'volatile', to defeat compiler optimizations.
4445 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4447         getloadavg: fix double-increment bug
4448         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
4449         Linux without glibc, Android, Cygwin.  This fixes a bug I
4450         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
4451         Problem and fix reported by Semen Verchenko in:
4452         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
4454         tempname: use getrandom, not getentropy
4455         This removes a dependency, as getentropy depends on getrandom.
4456         * lib/tempname.c: Include sys/random.h instead of unistd.h.
4457         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
4458         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
4460 2020-06-01  Bruno Haible  <bruno@clisp.org>
4462         doc: New chapter 'Multithreading'.
4463         * doc/multithread.texi: New file.
4464         * doc/gnulib.texi: Include it.
4466 2020-06-01  Bruno Haible  <bruno@clisp.org>
4468         doc: Move 'Running self-tests under valgrind' section.
4469         * doc/gnulib.texi (Build Infrastructure Modules): Include
4470         valgrind-tests.texi here...
4471         (Miscellaneous Notes): ... not here.
4473 2020-06-01  Bruno Haible  <bruno@clisp.org>
4475         doc: Move 'Visual Studio Compatibility' section.
4476         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
4477         here...
4478         (Build Infrastructure Modules): ... not here.
4480 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4482         doc: improve randomness discussion
4483         Inspired by comments from Jeffrey Walton in:
4484         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
4485         * doc/glibc-functions/getentropy.texi (getentropy):
4486         * doc/glibc-functions/getrandom.texi (getrandom):
4487         Improve discussion of problems with "random" data,
4488         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
4490 2020-06-01  Bruno Haible  <bruno@clisp.org>
4492         doc: Fix Texinfo syntax error.
4493         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
4495 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
4497         doc: Change '.' to '@.' where appropriate.
4498         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
4499         * doc/glibc-functions/fstatfs.texi: Likewise.
4500         * doc/glibc-functions/fts_children.texi: Likewise.
4501         * doc/glibc-functions/fts_read.texi: Likewise.
4502         * doc/glibc-functions/getdirentries.texi: Likewise.
4503         * doc/glibc-functions/mkostemp.texi: Likewise.
4504         * doc/glibc-functions/mkostemps.texi: Likewise.
4505         * doc/glibc-functions/mkstemps.texi: Likewise.
4506         * doc/glibc-functions/preadv.texi: Likewise.
4507         * doc/glibc-functions/pwritev.texi: Likewise.
4508         * doc/glibc-functions/sendfile.texi: Likewise.
4509         * doc/glibc-functions/statfs.texi: Likewise.
4510         * doc/gnulib-intro.texi: Likewise.
4511         * doc/gnulib-tool.texi: Likewise.
4512         * doc/intprops.texi: Likewise.
4513         * doc/lib-symbol-visibility.texi: Likewise.
4514         * doc/licenses-texi.texi: Likewise.
4515         * doc/pastposix-functions/bcmp.texi: Likewise.
4516         * doc/pastposix-functions/bcopy.texi: Likewise.
4517         * doc/pastposix-functions/bzero.texi: Likewise.
4518         * doc/pastposix-functions/ecvt.texi: Likewise.
4519         * doc/pastposix-functions/fcvt.texi: Likewise.
4520         * doc/pastposix-functions/ftime.texi: Likewise.
4521         * doc/pastposix-functions/gcvt.texi: Likewise.
4522         * doc/pastposix-functions/getwd.texi: Likewise.
4523         * doc/pastposix-functions/index.texi: Likewise.
4524         * doc/pastposix-functions/mktemp.texi: Likewise.
4525         * doc/pastposix-functions/rindex.texi: Likewise.
4526         * doc/pastposix-functions/wcswcs.texi: Likewise.
4527         * doc/posix-functions/aio_cancel.texi: Likewise.
4528         * doc/posix-functions/aio_error.texi: Likewise.
4529         * doc/posix-functions/aio_fsync.texi: Likewise.
4530         * doc/posix-functions/aio_read.texi: Likewise.
4531         * doc/posix-functions/aio_return.texi: Likewise.
4532         * doc/posix-functions/aio_suspend.texi: Likewise.
4533         * doc/posix-functions/aio_write.texi: Likewise.
4534         * doc/posix-functions/creat.texi: Likewise.
4535         * doc/posix-functions/ctime.texi: Likewise.
4536         * doc/posix-functions/daylight.texi: Likewise.
4537         * doc/posix-functions/fgetpos.texi: Likewise.
4538         * doc/posix-functions/fopen.texi: Likewise.
4539         * doc/posix-functions/freopen.texi: Likewise.
4540         * doc/posix-functions/fseeko.texi: Likewise.
4541         * doc/posix-functions/fsetpos.texi: Likewise.
4542         * doc/posix-functions/fstatat.texi: Likewise.
4543         * doc/posix-functions/fstatvfs.texi: Likewise.
4544         * doc/posix-functions/ftello.texi: Likewise.
4545         * doc/posix-functions/ftruncate.texi: Likewise.
4546         * doc/posix-functions/getrlimit.texi: Likewise.
4547         * doc/posix-functions/lio_listio.texi: Likewise.
4548         * doc/posix-functions/localtime.texi: Likewise.
4549         * doc/posix-functions/lseek.texi: Likewise.
4550         * doc/posix-functions/mkstemp.texi: Likewise.
4551         * doc/posix-functions/mktime.texi: Likewise.
4552         * doc/posix-functions/open.texi: Likewise.
4553         * doc/posix-functions/openat.texi: Likewise.
4554         * doc/posix-functions/opendir.texi: Likewise.
4555         * doc/posix-functions/pread.texi: Likewise.
4556         * doc/posix-functions/pwrite.texi: Likewise.
4557         * doc/posix-functions/readdir.texi: Likewise.
4558         * doc/posix-functions/readdir_r.texi: Likewise.
4559         * doc/posix-functions/scandir.texi: Likewise.
4560         * doc/posix-functions/seekdir.texi: Likewise.
4561         * doc/posix-functions/setrlimit.texi: Likewise.
4562         * doc/posix-functions/statvfs.texi: Likewise.
4563         * doc/posix-functions/strftime.texi: Likewise.
4564         * doc/posix-functions/telldir.texi: Likewise.
4565         * doc/posix-functions/timezone.texi: Likewise.
4566         * doc/posix-functions/tmpfile.texi: Likewise.
4567         * doc/posix-functions/truncate.texi: Likewise.
4568         * doc/posix-functions/tzname.texi: Likewise.
4569         * doc/posix-functions/wcsftime.texi: Likewise.
4570         * doc/windows-sockets.texi: Likewise.
4572 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4574         getrandom-tests: do not assume GRND_RANDOM yields short read
4575         * tests/test-getrandom.c (main): Omit assertion that
4576         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
4577         when b’s size is 100000.  This assertion fails with Linux kernel
4578         5.6.13, as that kernel ignores the GRND_RANDOM flag.
4579         The separate blocking pool is going away in the Linux kernel, and
4580         they’ve added a flag GRND_INSECURE instead; see:
4581         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
4582         The assertion was iffy anyway; what’s to prevent a kernel from
4583         lazily filling a large buffer with random bytes?
4585         read-file-test: pacify --enable-gcc-warnings
4586         * tests/test-read-file.c (test_read_file): Now static.
4588         tempname: merge from glibc and coreutils
4589         Also, merge in Gnulib’s more-recent methods of making it easier
4590         to share between Gnulib and glibc, and fix a few randomness
4591         glitches.
4592         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
4593         (__set_errno): Remove; libc-config.h does that for us.
4594         Do not include <sys/time.h>.
4595         (__secure_getenv) [_LIBC]: New macro.
4596         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
4597         (RANDOM_BITS): Rewrite.
4598         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
4599         (random_value): New typedef.
4600         (try_file, try_dir, try_nocreate): Move up.
4601         (gen_tempname_len, try_tempname_len): New functions.
4602         (gen_tempname_len): Use a constant array rather than a switch.
4603         (try_tempname_len): Don’t assume string length fits in int.
4604         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
4605         has enough entropy (it’s a bit short).
4606         (__gen_tempname): Rewrite in terms of gen_tempname_len.
4607         (__try_tempname): Rewrite in terms of try_tempname_len.
4608         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
4609         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
4610         Add getentropy, libc-config.
4612 2020-05-31  Bruno Haible  <bruno@clisp.org>
4614         getrandom, getentropy: Mention the crypto/gc-random module.
4615         Suggested by Simon Josefsson in
4616         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
4617         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
4618         crypto/gc-random module.
4619         * doc/glibc-functions/getentropy.texi: Likewise.
4621 2020-05-31  Bruno Haible  <bruno@clisp.org>
4623         getentropy: Enhance tests.
4624         * tests/test-getentropy.c (main): Add one more test.
4625         * tests/test-unistd-c++.cc: Check the signature of getentropy.
4627 2020-05-31  Bruno Haible  <bruno@clisp.org>
4629         getentropy: Work around a macOS and Solaris problem.
4630         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
4631         'getentropy' module.
4632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4633         UNISTD_H_HAVE_SYS_RANDOM_H.
4634         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
4635         UNISTD_H_HAVE_SYS_RANDOM_H.
4636         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
4637         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
4638         problem. List more platforms.
4640 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
4642         fnmatch: merge from glibc
4643         Also, merge in Gnulib’s more-recent methods of making it easier
4644         to share between Gnulib and glibc.
4645         * lib/fnmatch.c: Reorder includes to match glibc better.
4646         Include libc-config.h instead of config.h.
4647         Include alloca.h only if _LIBC || HAVE_ALLOCA.
4648         Do not include "../locale/elem-hash.h" if _LIBC.
4649         Define macros for btowc, etc. if _LIBC.  All uses simplified.
4650         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
4651         Include intprops.h, since glibc has it now.
4652         (SIZE_MAX): Remove; use (size_t) -1 instead.
4653         Omit the "Comment out all this code" ifdef, since Gnulib
4654         has never really needed it.
4655         (STREQ): Remove; no longer used.
4656         (__libc_use_alloca, alloca, alloca_account): Define as
4657         needed if !_LIBC.
4658         (ISWCTYPE): Remove; all uses replaced by iswctype.
4659         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
4660         (internal_function): Remove.  All uses removed.
4661         (STRUCT): New macro.
4662         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
4663         (WMEMCMP): New macro.
4664         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
4665         and <locale/weightwc.h>.
4666         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
4667         __builtin_expect.  Check for integer overflow more
4668         systematically.  Account for alloca storage better when
4669         recursive.  Use strnlen instead of strlen for efficiency.
4670         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
4671         (struct STRUCT): New type.
4672         (FCT, EXT): New ENDS and ALLOCA_USED args.
4673         All callers changed.
4674         (FCT): Prefer __glibc_unlikely to __builtin_expect.
4675         Simplify by assuming WIDE_CHAR_SUPPORT.
4676         Copy _LIBC code from glibc without worrying Gnulib compatibility.
4677         Cast cold to UCHAR to avoid signedness warning.
4678         (END): Check for invalid pattern.
4679         (EXT): Improve alloca/malloc checking (taken from glibc),
4680         and improve it some more by using intprops.h and checking
4681         for integer overflow and using bool for booleans.
4682         * lib/libc-config.h (compat_symbol): New macro.
4683         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
4684         acceptable to non-GCC when a trailing semicolon is added.
4685         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
4686         libc-config, strnlen.  Remove alloca.
4688 2020-05-31  Bruno Haible  <bruno@clisp.org>
4690         getrandom: Doc and test tweaks.
4691         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
4692         it sets errno when failing.
4693         * tests/test-getrandom.c (main): Disable the high-quality check on those
4694         platforms on which it fails.
4695         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
4696         Cygwin to the list of platforms that don't have the function. Add a note
4697         about the quality of the result.
4698         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
4699         declaration; this is fixed by module 'getrandom'.
4701 2020-05-31  Bruno Haible  <bruno@clisp.org>
4703         getrandom: Add support for native Windows.
4704         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
4705         <wincrypt.h>.
4706         (CRYPT_VERIFY_CONTEXT): New macro.
4707         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
4708         'A'.
4709         (GetProcAddress): New macro.
4710         (BCryptGenRandomFuncType): New type.
4711         (BCryptGenRandomFunc, initialized): New variables.
4712         (initialize): New function.
4713         (getrandom): On native Windows, use <bcrypt.h> API when available, and
4714         <wincrypt.h> API as fallback.
4715         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
4716         * modules/getrandom (Link): New section.
4717         * modules/getentropy (Link): Likewise.
4718         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
4719         $(LIB_GETRANDOM).
4720         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
4721         $(LIB_GETRANDOM).
4722         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
4723         against $(LIB_GETRANDOM).
4724         * doc/glibc-functions/getrandom.texi: Mention the native Windows
4725         support.
4727 2020-05-31  Bruno Haible  <bruno@clisp.org>
4729         getrandom: Simplify the determination of the random number devices.
4730         Suggested by Paul Eggert in
4731         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
4732         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
4733         macros.
4734         * modules/getrandom (Depends-on): Remove crypto/gc-random.
4736 2020-05-31  Bruno Haible  <bruno@clisp.org>
4738         crypto/gc-random: Fix list of crypto devices for Solaris.
4739         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
4741 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
4743         list: fix GCC warnings
4744         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
4745         (gl_tree_next_node, gl_tree_node_nx_set_value)
4746         (gl_tree_previous_node, gl_tree_next_node):
4747         Mark unused arguments.
4748         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
4749         * lib/gl_anylinked_list2.h (gl_linked_node_value)
4750         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
4752         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
4753         the same variable name in nested scopes.
4755 2020-05-31  Bruno Haible  <bruno@clisp.org>
4757         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
4758         Reported by Akim Demaille in
4759         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
4760         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
4761         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
4762         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
4763         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
4764         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
4766 2020-05-30  Bruno Haible  <bruno@clisp.org>
4768         wmemchr: Relicense under LGPLv2+.
4769         * modules/wmemchr (License): Set to LGPLv2+.
4771 2020-05-30  Bruno Haible  <bruno@clisp.org>
4773         wmempcpy: New module.
4774         Reported by Paul Eggert in
4775         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
4776         * lib/wchar.in.h (wmempcpy): New declaration.
4777         * lib/wmempcpy.c: New file.
4778         * m4/wmempcpy.m4: New file.
4779         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
4780         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
4781         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
4782         HAVE_WMEMPCPY.
4783         * modules/wmempcpy: New file.
4784         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
4785         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
4786         * modules/mempcpy (Description): Fix typo.
4788 2020-05-30  Bruno Haible  <bruno@clisp.org>
4790         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
4791         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
4793 2020-05-30  Bruno Haible  <bruno@clisp.org>
4795         sys_random: Work around macOS bug.
4796         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
4797         <stdlib.h> before <sys/random.h>.
4798         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
4799         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
4800         first.
4801         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
4803 2020-05-30  Bruno Haible  <bruno@clisp.org>
4805         getrandom: Override incompatible system function on Solaris 11.
4806         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
4807         * lib/getrandom.c (getrandom): When the system has getrandom, just
4808         invoke it.
4809         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
4810         system's getrandom function's prototype is not the expected one.
4811         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
4812         REPLACE_GETRANDOM.
4813         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
4814         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
4815         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
4816         EAGAIN.
4817         * doc/glibc-functions/getrandom.texi: Mention the new module and the
4818         Solaris problem.
4820 2020-05-30  Bruno Haible  <bruno@clisp.org>
4822         sys_random: Add C++ tests.
4823         * tests/test-sys_random-c++.cc: New file.
4824         * modules/sys_random-c++-tests: New file.
4825         * modules/sys_random-tests (Depends-on): Depend on it.
4827         sys_random: Add tests.
4828         * tests/test-sys_random.c: New file.
4829         * modules/sys_random-tests: New file.
4831         sys_random: New module.
4832         * lib/sys_random.in.h: Use the common idioms for overridable header
4833         files.
4834         * m4/sys_random_h.m4: New file.
4835         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
4836         * modules/sys_random: New file.
4837         * modules/getrandom (Files): Remove lib/sys_random.in.h.
4838         (Depends-on): Add sys_random.
4839         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
4840         gl_UNISTD_MODULE_INDICATOR.
4841         (Makefile.am): Don't generate sys/random.h here.
4842         * doc/glibc-headers/sys_random.texi: New file.
4843         * doc/gnulib.texi: Include it.
4845 2020-05-30  Bruno Haible  <bruno@clisp.org>
4847         unistd: Remove conflicting declaration of getrandom().
4848         * lib/unistd.in.h (getrandom): Remove declaration.
4849         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
4850         declared.
4851         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
4852         HAVE_GETRANDOM.
4853         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
4854         HAVE_GETRANDOM.
4856 2020-05-30  Bruno Haible  <bruno@clisp.org>
4858         getrandom: Add tests.
4859         * tests/test-getrandom.c: New file.
4860         * modules/getrandom-tests: New file.
4862 2020-05-30  Bruno Haible  <bruno@clisp.org>
4864         crypto/gc-random: Fix link error on MSVC.
4865         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
4866         * modules/crypto/gc-random (Link): New section.
4867         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
4868         $(LIB_GC_RANDOM).
4870 2020-05-30  Bruno Haible  <bruno@clisp.org>
4872         Don't assume that UNICODE is not defined.
4873         Many Windows API functions are defined differently (redirecting to a
4874         function with suffix 'W') if the application defines the macro UNICODE
4875         than by default (redirecting to a function with suffix 'A').
4876         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
4877         variant with suffix 'A'.
4878         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
4879         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
4880         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
4881         * lib/getlogin.c (GetUserName): Likewise.
4882         * lib/getlogin_r.c (GetUserName): Likewise.
4883         * lib/gettimeofday.c (LoadLibrary): Likewise.
4884         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
4885         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
4886         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
4887         * lib/mountlist.c (GetDriveType): Likewise.
4888         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
4889         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
4890         Likewise.
4891         * lib/physmem.c (GetModuleHandle): Likewise.
4892         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
4893         PeekMessage, DispatchMessage): Likewise.
4894         * lib/progreloc.c (GetModuleFileName): Likewise.
4895         * lib/putenv.c (SetEnvironmentVariable): Likewise.
4896         * lib/read.c (GetNamedPipeHandleState): Likewise.
4897         * lib/readdir.c (FindNextFile): Likewise.
4898         * lib/relocatable.c (GetModuleFileName): Likewise.
4899         * lib/rename.c (MoveFileEx): Likewise.
4900         * lib/rewinddir.c (FindFirstFile): Likewise.
4901         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
4902         PeekMessage, DispatchMessage): Likewise.
4903         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
4904         * lib/socket.c (WSASocket): Likewise.
4905         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
4906         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
4907         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
4908         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
4909         * lib/tmpdir.c (GetTempPath): Likewise.
4910         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
4911         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
4912         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
4913         * lib/windows-cond.c (CreateEvent): Likewise.
4914         * lib/windows-rwlock.c (CreateEvent): Likewise.
4915         * lib/windows-timedmutex.c (CreateEvent): Likewise.
4916         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
4917         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
4918         * lib/write.c (GetNamedPipeHandleState): Likewise.
4920 2020-05-30  Bruno Haible  <bruno@clisp.org>
4922         physmem: Fix compilation errors on MSVC.
4923         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
4924         * modules/physmem (Depends-on): Add unistd.
4926 2020-05-29  Bruno Haible  <bruno@clisp.org>
4928         gnulib-tool: Fix link errors with a particular set of modules on mingw.
4929         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
4930         LDADD a second time, after the second occurrence of libtests.a.
4931         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
4933 2020-05-29  Bruno Haible  <bruno@clisp.org>
4935         fnmatch: Rely on more gnulib modules.
4936         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
4937         wmempcpy, mempcpy.
4938         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
4939         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
4940         HAVE_MEMPCPY are all 1.
4941         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
4942         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
4944 2020-05-29  Bruno Haible  <bruno@clisp.org>
4946         Avoid dynamic lookup of Windows API functions when possible.
4947         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
4948         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
4949         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
4950         (use_win32_p): Define differently.
4951         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
4952         CreateHardLinkFunc, initialized, initialize): Don't define in a build
4953         for Windows XP or higher.
4955 2020-05-29  Daiki Ueno  <ueno@gnu.org>
4957         read-file: disable buffering if RF_SENSITIVE is set
4958         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
4959         Suggested by Glenn Strauss.
4960         (fread_file): Suggest calling setvbuf before calling this
4961         function.  Suggested by Bruno Haible.
4963 2020-05-29  Bruno Haible  <bruno@clisp.org>
4965         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
4966         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
4967         program.
4968         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
4969         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
4970         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
4971         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
4973 2020-05-29  Bruno Haible  <bruno@clisp.org>
4975         Fix compilation error on native Windows (regression from 2020-05-28).
4976         Reported by Daiki Ueno.
4977         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
4978         macro when not using dynamic loading.
4979         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
4980         QueryFullProcessImageNameFunc): Likewise.
4981         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
4982         GetFinalPathNameByHandleFunc): Likewise.
4984 2020-05-29  Daiki Ueno  <ueno@gnu.org>
4986         fopen-gnu-tests: fix "\x" escape usage
4987         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
4989 2020-05-28  Bruno Haible  <bruno@clisp.org>
4991         Avoid dynamic loading of Windows API functions when possible.
4992         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
4993         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
4994         * lib/gettimeofday.c (GetProcAddress,
4995         GetSystemTimePreciseAsFileTimeFuncType,
4996         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
4997         define in a build for Windows 8 or higher.
4998         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
4999         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
5000         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
5001         in a build for Windows Vista or higher.
5002         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
5003         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
5004         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
5006 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
5008         explicit_bzero-tests: improve -Wmissing-declarations pacification
5009         * tests/test-explicit_bzero.c: Now noinline.
5010         Suggested by Bruno Haible in:
5011         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
5013 2020-05-28  Bruno Haible  <bruno@clisp.org>
5015         Fix build errors due to read-file changes (regression from 2020-05-27).
5016         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
5017         invocation.
5018         * tests/test-sameacls.c (main): Likewise.
5019         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
5020         read_binary_file.
5021         * tests/test-pipe-filter-ii1.c (main): Likewise.
5023 2020-05-28  Bruno Haible  <bruno@clisp.org>
5025         fts: Make more robust in multithreaded applications.
5026         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
5027         * modules/fts (Depends-on): Add 'open'.
5029 2020-05-28  Bruno Haible  <bruno@clisp.org>
5031         relocatable-prog: Make more robust in multithreaded applications.
5032         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
5033         relocatable-prog-wrapper.
5034         (find_executable): Pass an O_CLOEXEC flag to open().
5035         * modules/relocatable-prog (Depends-on): Add 'open'.
5037 2020-05-28  Bruno Haible  <bruno@clisp.org>
5039         getloadavg: Make more robust in multithreaded applications.
5040         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
5041         Simplify use of O_CLOEXEC.
5042         * modules/getloadavg (Depends-on): Add 'open'.
5044 2020-05-28  Bruno Haible  <bruno@clisp.org>
5046         vma-iter: Make more robust in multithreaded applications.
5047         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
5048         open().
5049         * modules/vma-iter (Depends-on): Add 'open'.
5051 2020-05-28  Bruno Haible  <bruno@clisp.org>
5053         truncate: Make more robust in multithreaded applications.
5054         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
5056 2020-05-28  Bruno Haible  <bruno@clisp.org>
5058         pagealign_alloc: Make more robust in multithreaded applications.
5059         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
5060         open().
5061         * modules/pagealign_alloc (Depends-on): Add 'open'.
5063 2020-05-28  Bruno Haible  <bruno@clisp.org>
5065         openat: Make more robust in multithreaded applications.
5066         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
5068 2020-05-28  Bruno Haible  <bruno@clisp.org>
5070         at-internal: Make more robust in multithreaded applications.
5071         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
5072         open().
5074 2020-05-28  Bruno Haible  <bruno@clisp.org>
5076         mountlist: Make more robust in multithreaded applications.
5077         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
5078         open().
5079         * modules/mountlist (Depends-on): Add 'open'.
5081 2020-05-28  Bruno Haible  <bruno@clisp.org>
5083         login_tty: Make more robust in multithreaded applications.
5084         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
5085         * modules/login_tty (Depends-on): Add 'open'.
5087 2020-05-28  Bruno Haible  <bruno@clisp.org>
5089         javacomp: Make more robust in multithreaded applications.
5090         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
5091         open().
5092         * modules/javacomp (Depends-on): Add 'open'.
5094 2020-05-28  Bruno Haible  <bruno@clisp.org>
5096         getprogname: Make more robust in multithreaded applications.
5097         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
5098         * modules/getprogname (Depends-on): Add 'open'.
5100 2020-05-28  Bruno Haible  <bruno@clisp.org>
5102         get_progname_of: Make more robust in multithreaded applications.
5103         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
5104         open().
5105         * modules/get_progname_of (Depends-on): Add 'open'.
5107 2020-05-28  Bruno Haible  <bruno@clisp.org>
5109         get_ppid_of: Make more robust in multithreaded applications.
5110         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
5111         * modules/get_ppid_of (Depends-on): Add 'open'.
5113 2020-05-28  Bruno Haible  <bruno@clisp.org>
5115         get-rusage-as: Make more robust in multithreaded applications.
5116         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
5117         flag to open().
5118         * modules/get-rusage-as (Depends-on): Add 'open'.
5120 2020-05-28  Bruno Haible  <bruno@clisp.org>
5122         crypto/gc: Make more robust in multithreaded applications.
5123         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
5124         * modules/crypto/gc (Depends-on): Add 'open'.
5126 2020-05-28  Bruno Haible  <bruno@clisp.org>
5128         copy-file: Make more robust in multithreaded applications.
5129         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
5130         open().
5132 2020-05-28  Bruno Haible  <bruno@clisp.org>
5134         chown: Make more robust in multithreaded applications.
5135         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
5137 2020-05-28  Bruno Haible  <bruno@clisp.org>
5139         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
5140         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
5142 2020-05-28  Daiki Ueno  <ueno@gnu.org>
5144         fopen-gnu: make 'b' flag can be used with 'e' on Windows
5145         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
5146         specified on Windows.
5147         * tests/test-fopen-gnu.c (DATA): New define.
5148         (main): Add test for reading binary files with an 'e' flag.
5150 2020-05-27  Bruno Haible  <bruno@clisp.org>
5152         Don't assume that UNICODE is not defined.
5153         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
5154         differently if the application defines the macro UNICODE.
5155         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
5156         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
5157         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
5158         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
5159         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
5161 2020-05-27  Bruno Haible  <bruno@clisp.org>
5163         Improve pattern for defining _WIN32_WINNT.
5164         Newer versions of the Windows API may not only add, but also remove API
5165         functions. Therefore, when the user is e.g. building for Windows 10, we
5166         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
5167         use of APIs that were present in Windows 8 but removed in Windows 10.
5168         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
5169         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
5170         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
5171         * lib/sethostname.c (_WIN32_WINNT): Likewise.
5172         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
5174 2020-05-27  Bruno Haible  <bruno@clisp.org>
5176         javacomp: Make more robust in multithreaded applications.
5177         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
5178         * modules/javacomp (Depends-on): Add fopen-gnu.
5180 2020-05-27  Bruno Haible  <bruno@clisp.org>
5182         mountlist: Make more robust in multithreaded applications.
5183         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
5184         to fopen.
5185         * modules/mountlist (Depends-on): Add fopen-gnu.
5187 2020-05-27  Bruno Haible  <bruno@clisp.org>
5189         sethostname: Make more robust in multithreaded applications.
5190         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
5191         * modules/sethostname (Depends-on): Add fopen-gnu.
5193 2020-05-27  Bruno Haible  <bruno@clisp.org>
5195         readutmp: Make more robust in multithreaded applications.
5196         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
5197         * modules/readutmp (Depends-on): Add fopen-gnu.
5199 2020-05-27  Bruno Haible  <bruno@clisp.org>
5201         getpass: Make more robust in multithreaded applications.
5202         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
5203         * modules/getpass (Depends-on): Add fopen-gnu.
5205 2020-05-27  Bruno Haible  <bruno@clisp.org>
5207         getloadavg: Make more robust in multithreaded applications.
5208         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
5209         * modules/getloadavg (Depends-on): Add fopen-gnu.
5211 2020-05-27  Bruno Haible  <bruno@clisp.org>
5213         exclude: Make more robust in multithreaded applications.
5214         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
5215         * modules/exclude (Depends-on): Add fopen-gnu.
5217 2020-05-27  Bruno Haible  <bruno@clisp.org>
5219         bitset: Make more robust in multithreaded applications.
5220         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
5221         'e' flag to fopen.
5222         * modules/bitset (Depends-on): Add fopen-gnu.
5224 2020-05-27  Daiki Ueno  <ueno@gnu.org>
5226         read-file: add RF_SENSITIVE flag
5227         * lib/read-file.h (RF_SENSITIVE): New define.
5228         * lib/read-file.c (fread_file, read_file): Take into account of
5229         RF_SENSITIVE flag.
5230         * modules/read-file (Depends-on): Add explicit_bzero.
5231         This adds an alternative behavior of those functions to explicitly
5232         clear the internal memory block when it becomes unused.  This is
5233         useful for reading sensitive information from a file.
5235 2020-05-27  Daiki Ueno  <ueno@gnu.org>
5237         read-file: add flags to modify reading behavior
5238         * lib/read-file.h (RF_BINARY): New define.
5239         (fread_file, read_file): Take FLAGS argument.
5240         (read_binary_file): Remove.
5241         * lib/read-file.c (internal_read_file): Merge into ...
5242         (read_file): ... here.
5243         * modules/read-file-tests (Files): Add "tests/macros.h".
5244         * tests/test-read-file.c (main): Refactor using ASSERT macro.
5245         * NEWS: Mention this change.
5247 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
5249         doc/gnulib-intro.texi: add missing "to" in sentence
5250         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
5251         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
5252         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
5254 2020-05-26  Bruno Haible  <bruno@clisp.org>
5256         count-one-bits: Fix MSVC specific code.
5257         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
5258         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
5259         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
5260         using GCC.
5261         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
5262         (__popcnt64): In 32-bit mode, define as an inline function.
5263         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
5265 2020-05-26  Bruno Haible  <bruno@clisp.org>
5267         argz: Avoid name clashes through argz.h.
5268         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
5269         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
5270         * lib/argz.h: Don't use __ prefixed identifiers.
5271         (const): Remove definition.
5272         (argz_next): Remove inline definitions.
5274 2020-05-26  Daiki Ueno  <ueno@gnu.org>
5276         read-file: make use of fopen-gnu
5277         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
5278         (read_binary_file): Likewise.
5279         * modules/read-file (Depends-on): Add fopen-gnu.
5281 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5283         getentropy, getrandom: new modules
5284         * MODULES.html.sh (func_all_modules):
5285         * lib/unistd.in.h (getentropy, getrandom):
5286         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
5287         * modules/unistd (unistd.h):
5288         Add support for getentropy, getrandom.
5289         * doc/glibc-functions/getentropy.texi (getentropy):
5290         * doc/glibc-functions/getrandom.texi (getrandom):
5291         These are now fixed on some platforms.
5292         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
5293         * m4/getentropy.m4, m4/getrandom.m4:
5294         * modules/getentropy, modules/getentropy-tests:
5295         * modules/getrandom, modules/getrandom-tests:
5296         * tests/test-getentropy.c, tests/test-getrandom.c:
5297         New files.
5299 2020-05-25  Bruno Haible  <bruno@clisp.org>
5301         Add missing C99 dependencies.
5302         Reported by Paul Smith <psmith@gnu.org> in
5303         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
5304         * modules/assert (Depends-on): Add c99.
5305         * modules/filenamecat-lgpl (Depends-on): Likewise.
5306         * modules/libc-config (Depends-on): Likewise.
5307         * modules/mktime (Depends-on): Likewise.
5308         * modules/random_r (Depends-on): Likewise.
5309         * modules/regex (Depends-on): Likewise.
5310         * modules/scratch_buffer (Depends-on): Likewise.
5311         * modules/timespec-add (Depends-on): Likewise.
5312         * modules/timespec-sub (Depends-on): Likewise.
5313         * modules/verify (Depends-on): Likewise.
5315 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5317         explicit_bzero-tests: pacify -Wmissing-declarations
5318         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
5319         Now static.
5321 2020-05-24  Bruno Haible  <bruno@clisp.org>
5323         fopen-gnu: Add tests.
5324         * tests/test-fopen-gnu.c: New file.
5325         * modules/fopen-gnu-tests: New file.
5327         fopen-gnu: New module.
5328         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
5329         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
5330         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
5331         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
5332         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
5333         * modules/fopen-gnu: New file.
5334         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
5336 2020-05-24  Bruno Haible  <bruno@clisp.org>
5338         open, openat: Really support O_CLOEXEC.
5339         * lib/open.c (open): When have_cloexec is still undecided, do pass a
5340         O_CLOEXEC flag to orig_open.
5341         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
5342         pass a O_CLOEXEC flag to orig_openat.
5343         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
5344         * modules/open-tests (Depends-on): Add fcntl.
5345         * modules/openat-tests (Depends-on): Likewise.
5346         * modules/fcntl-safer-tests (Depends-on): Likewise.
5348 2020-05-24  Bruno Haible  <bruno@clisp.org>
5350         fopen: Fix the trailing slash workaround.
5351         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
5352         write access. Pass the right flags to open().
5353         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
5355 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5357         assure: new macro ‘affirm’
5358         * lib/assure.h: Include verify.h.
5359         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
5360         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
5361         and commentary by Bruno Haible in:
5362         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
5363         * modules/assure (Depends-on:): Add verify.
5365 2020-05-23  Bruno Haible  <bruno@clisp.org>
5367         calloc-gnu: Make test work in non-flat address spaces.
5368         Uses code by Paul Eggert.
5369         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
5370         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
5372 2020-05-23  Bruno Haible  <bruno@clisp.org>
5374         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
5375         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
5376         AC_RUN_IFELSE invocations.
5378 2020-05-23  Bruno Haible  <bruno@clisp.org>
5380         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
5381         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
5382         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
5383         don't have it.
5384         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
5385         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
5386         don't have it.
5387         * lib/isnanf-nolibm.h (__has_builtin): New macro.
5388         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
5389         it.
5390         * lib/isnanl-nolibm.h (__has_builtin): New macro.
5391         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
5392         it.
5393         * lib/math.in.h (__has_builtin): New macro.
5394         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
5395         it.
5396         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
5397         it.
5398         (isnan): Don't use the builtins on clang versions that don't have
5399         __builtin_isnanf and __builtin_isnanl.
5401 2020-05-23  Bruno Haible  <bruno@clisp.org>
5403         calloc-gnu: Avoid wrong configure results with clang.
5404         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
5405         'volatile', to defeat compiler optimizations.
5407 2020-05-23  Bruno Haible  <bruno@clisp.org>
5409         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
5410         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
5411         'long double' values by reference, with values taken from a statically
5412         allocated array.
5414 2020-05-23  Bruno Haible  <bruno@clisp.org>
5416         findprog-in: Ignore directories.
5417         Reported by Frederick Eaton via Dmitry Goncharov in
5418         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
5419         * lib/findprog-in.c (find_in_given_path): When the file found is a
5420         directory, set errno to EACCES and, during a PATH search, continue
5421         searching.
5422         * modules/findprog-in (Depends-on): Add sys_stat, stat.
5424 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5426         verify: document ‘assume’ better
5427         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
5429 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
5431         gendocs: Clarify licenses for templates.
5432         * doc/gendocs_template: Add a GNU All-Permissive license notice
5433         and bump Parent-Version.
5434         * doc/gendocs_template_min: Add a GNU All-Permissive license
5435         notice and copy the explanatory comment about the license notice
5436         at the bottom from gendocs_template.
5438 2020-05-21  Bruno Haible  <bruno@clisp.org>
5440         group-member: Relicense under LGPLv2+.
5441         Jim Meyering's approval is in
5442         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
5443         Paul Eggert's approval is in
5444         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
5445         Eric Blake's approval is in
5446         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
5447         * modules/group-member (License): Change to LGPLv2+.
5449 2020-05-21  Bruno Haible  <bruno@clisp.org>
5451         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
5452         Reported by Tim Rühsen in
5453         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
5454         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
5456 2020-05-21  Bruno Haible  <bruno@clisp.org>
5458         regex: Avoid wrong configure results with "clang -fsanitize=leak".
5459         Reported by Tim Rühsen in
5460         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
5461         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
5462         before returning with status 0.
5464 2020-05-21  Bruno Haible  <bruno@clisp.org>
5466         glob: Avoid wrong configure results with "clang -fsanitize=leak".
5467         Reported by Tim Rühsen in
5468         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
5469         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
5471 2020-05-21  Bruno Haible  <bruno@clisp.org>
5473         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
5474         Reported by Tim Rühsen in
5475         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
5476         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
5477         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
5478         respectively.
5480 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
5482         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
5483         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
5485 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5487         ftoastr: fix ifndef typo
5488         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
5490 2020-05-19  Bruno Haible  <bruno@clisp.org>
5492         havelib: Tweak documentation.
5493         * doc/havelib.texi (Searching for Libraries): Fix typo.
5495 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5497         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
5498         This was needed earlier because modules had to import the main script,
5499         but that is no longer true.  Rename the script so that it is
5500         consistent with all other scripts in gnulib and uses hyphens.
5501         * build-aux/vcs_to_changelog.py: Rename to...
5502         * build-aux/vcs-to-changelog.py: ... this.
5503         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
5504         * modules/vcs-to-changelog: Likewise.
5506 2020-05-17  Bruno Haible  <bruno@clisp.org>
5508         Clarify intended usage of the license file modules.
5509         Reported by Asher Gordon <AsDaGo@posteo.net> in
5510         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
5511         * doc/licenses-texi.texi (License Texinfo sources): Mention the
5512         GNU AGPL. Explain the intended usage of the modules.
5513         * modules/fdl (Notice): Discourage use as a module.
5514         * modules/fdl-1.3 (Notice): Likewise.
5516 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
5518         hash: add hash_xinsert
5519         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
5521 2020-05-16  Bruno Haible  <bruno@clisp.org>
5523         findprog-lgpl: Fix link error (existing since 2008-09-02).
5524         * modules/findprog-lgpl (Makefile.am): Arrange to compile
5525         findprog-lgpl.c, not findprog.c.
5526         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
5527         XNMALLOC.
5529 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
5531         c-stack: pacify -Wunused-result when DEBUG
5532         Problem reported by Marc Nieper-Wißkirchen in:
5533         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
5534         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
5535         Explicitly ignore write failures.
5537 2020-05-13  Jim Meyering  <meyering@fb.com>
5539         announce-gen: improve a comment
5540         * build-aux/announce-gen: Improve comment.
5542 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
5544         xalloc: pacify -Wanalyzer-possible-null-argument
5545         Problem reported for GCC 10.1.0 by Bruno Haible in:
5546         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
5547         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
5548         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
5549         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
5551 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5553         careadlinkat: fix GCC 10 workaround
5554         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
5555         Massage the code so that it’s closer to what it was before
5556         the GCC 10.1.0 workaround was introduced.  This fixes
5557         a loop when !buffer and the bug workaround is in effect.
5558         Remove unnecessary casts.  Defend in a different way
5559         against (buffer && !buffer_size), by adding at least 1
5560         to buf_size each time through the loop.
5562 2020-05-10  Bruno Haible  <bruno@clisp.org>
5564         doc: Mark HP-UX as unsupported.
5565         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
5567 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5569         careadlinkat: limit GCC workaround
5570         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
5571         10.1.0 and later, since the workaround is pretty bad and the GCC
5572         bug should get fixed.
5574 2020-05-10  Bruno Haible  <bruno@clisp.org>
5576         havelib: Enhance documentation.
5577         * doc/havelib.texi (Searching for Libraries): Mention the bad
5578         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
5580 2020-05-10  Bruno Haible  <bruno@clisp.org>
5582         attribute: Clarify list of attributes.
5583         * lib/attribute.h: Reorder the list of attributes, and group them by
5584         purpose.
5586 2020-05-10  Bruno Haible  <bruno@clisp.org>
5588         string: Fix compilation error in C++ mode.
5589         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
5590         _GL_WARN_ON_USE.
5591         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
5592         instead of _GL_WARN_ON_USE.
5594 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
5596         announce-gen: add support for dist-lzip
5597         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
5599 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
5601         manywarnings: port to GCC 10.1
5602         * build-aux/gcc-warning.spec:
5603         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
5604         Add GCC 10.1.0 warnings.
5606         careadlinkat: pacify -Wreturn-local-addr
5607         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
5608         Pacify gcc 10’s -Wreturn-local-addr option.
5609         Simplify some of the later code.
5611 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
5613         attribute: remove ATTRIBUTE_DEPRECATED
5614         * lib/attribute.h: Improve recently-added comments, mostly
5615         by shortening them (use active voice, etc.).
5616         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
5617         Problem reported by Bruno Haible in:
5618         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
5620 2020-05-09  Bruno Haible  <bruno@clisp.org>
5622         attribute: Add comments.
5623         * lib/attribute.h: Document each macro.
5625 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
5627         bitset: use the attribute module
5628         * modules/bitset: Depend on 'attribute'.
5629         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
5630         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
5631         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
5632         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
5634 2020-05-09  Bruno Haible  <bruno@clisp.org>
5636         c-stack: Fix warning when DEBUG is enabled.
5637         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
5638         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
5639         * lib/c-stack.c: Include <stdio.h>.
5641 2020-05-09  Bruno Haible  <bruno@clisp.org>
5643         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
5644         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
5645         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5646         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5647         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5648         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5649         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5650         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5651         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5652         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
5653         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5654         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5655         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5657 2020-05-09  Bruno Haible  <bruno@clisp.org>
5659         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
5660         Reported by Akim Demaille in
5661         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
5662         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
5663         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
5664         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
5666 2020-05-09  Bruno Haible  <bruno@clisp.org>
5668         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
5669         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
5670         that usually comes from m4/gnulib-common.m4.
5671         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5673 2020-05-09  Bruno Haible  <bruno@clisp.org>
5675         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
5676         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
5677         that usually comes from m4/gnulib-common.m4.
5678         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5679         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5680         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5682 2020-05-09  Bruno Haible  <bruno@clisp.org>
5684         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
5685         * lib/uchar.in.h (char16_t): Define as macro if
5686         GNULIB_OVERRIDES_CHAR16_T.
5687         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
5688         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
5689         (gl_UCHAR_H): Invoke them.
5690         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
5691         GNULIB_OVERRIDES_CHAR32_T.
5692         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
5693         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
5694         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
5695         GNULIB_OVERRIDES_CHAR32_T.
5697 2020-05-09  Bruno Haible  <bruno@clisp.org>
5699         Macro tweaks.
5700         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
5701         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
5703 2020-05-08  Bruno Haible  <bruno@clisp.org>
5705         c32rtomb: Avoid compilation failure on Haiku.
5706         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
5707         inline definitions.
5708         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
5710 2020-05-08  Bruno Haible  <bruno@clisp.org>
5712         mbrtoc32: Avoid compilation failure on Haiku.
5713         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
5714         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
5715         AC_CHECK_FUNCS_ONCE.
5716         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
5718 2020-05-08  Bruno Haible  <bruno@clisp.org>
5720         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
5721         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
5723 2020-05-08  Bruno Haible  <bruno@clisp.org>
5725         list: Update documentation.
5726         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
5727         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
5728         * doc/containers.texi (Container data types): Document the new list
5729         operations and their complexity.
5731 2020-05-08  Bruno Haible  <bruno@clisp.org>
5733         ignore-value tests: Use module 'attribute'.
5734         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
5735         * tests/test-ignore-value.c: Include attribute.h.
5736         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
5737         * modules/ignore-value-tests (Depends-on): Add attribute.
5739 2020-05-08  Bruno Haible  <bruno@clisp.org>
5741         uniname/uniname: Use module 'attribute'.
5742         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
5743         * lib/uniname/uninames.h: Regenerated.
5744         * lib/uniname/uniname.c: Include attribute.h.
5745         * modules/uniname/uniname (Depends-on): Add attribute.
5747 2020-05-08  Bruno Haible  <bruno@clisp.org>
5749         c32rtomb: Use module 'attribute'.
5750         * lib/c32rtomb.c: Include attribute.h.
5751         (FALLTHROUGH): Remove macro.
5752         * modules/c32rtomb (Depends-on): Add attribute.
5754 2020-05-08  Bruno Haible  <bruno@clisp.org>
5756         xsize: Use module 'attribute'.
5757         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
5758         * modules/xsize (Depends-on): Add attribute.
5760 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5762         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
5764         * lib/attribute.h: Minor style fixes.
5766         Fix version-etc glitch on OpenIndiana
5767         Problem reported by Mats Erik Andersson in:
5768         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
5769         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
5770         that now clashes with gnulib-common.h.  All uses changed.
5772 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
5774         attribute: new module
5775         This simplifies use of GCC and C2X attributes like ‘deprecated’.
5776         * MODULES.html.sh: Add attribute.
5777         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
5778         * doc/gnulib.texi (Particular Modules): Add Attributes.
5779         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
5780         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
5781         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
5782         * lib/vasnprintf.c:
5783         Include attribute.h, and let it define FALLTHROUGH.
5784         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
5785         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
5786         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
5787         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
5788         This is a copy since Gawk doesn’t use Gnulib.
5789         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
5790         is incompatible with gl_COMMON_BODY’s.  All uses changed.
5791         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
5792         Keep the existing FALLTHROUGH definition since Glibc might use it,
5793         and it does no harm to Gnulib’s FALLTHROUGH.
5794         * lib/fts_.h, lib/inttostr.h:
5795         (__GNUC_PREREQ): Remove; no longer needed.
5796         (__attribute_warn_unused_result__): Remove.  All uses
5797         replaced by _GL_ATTRIBUTE_NODISCARD.
5798         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
5799         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
5800         __attribute__ ((__warn_unused_result__)), for forward
5801         compatibility to C2X.
5802         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
5803         _GL_ATTRIBUTE_NODISCARD.
5804         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
5805         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
5806         replaced by gl_COMMON_BODY’s implementation, which has a
5807         slightly different signature.
5808         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
5809         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
5810         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
5811         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
5812         No doubt all uses should be replaced, at some point.
5813         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
5814         (_Noreturn): Use it.
5815         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
5816         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
5817         (_GL_ATTRIBUTE_COLD)
5818         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
5819         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
5820         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
5821         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
5822         (_GL_ATTRIBUTE_MAYBE_UNUSED)
5823         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
5824         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
5825         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
5826         (_GL_ATTRIBUTE_RETURNS_NONNULL)
5827         (_GL_ATTRIBUTE_SENTINEL): New macros.
5828         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
5829         * modules/fnmatch, modules/freopen-safer, modules/fts:
5830         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
5831         * modules/quotearg, modules/savewd:
5832         * modules/unistdio/u16-u16-vasnprintf:
5833         * modules/unistdio/u16-vasnprintf:
5834         * modules/unistdio/u32-u32-vasnprintf:
5835         * modules/unistdio/u32-vasnprintf:
5836         * modules/unistdio/u8-u8-vasnprintf:
5837         * modules/unistdio/u8-vasnprintf:
5838         * modules/unistdio/ulc-vasnprintf:
5839         * modules/unistr/u8-uctomb, modules/vasnprintf:
5840         (Depends-on:): Add attribute module.
5842 2020-05-03  Bruno Haible  <bruno@clisp.org>
5844         bison: Fix today's commit.
5845         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
5847 2020-05-03  Bruno Haible  <bruno@clisp.org>
5849         list-c++: Add get_first, get_last, set_first, set_last operations.
5850         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
5851         set_first, set_last.
5852         * lib/gl_list.h: Tweak comments.
5854 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
5856         bison: rely on bison's %require to check a version requirement
5857         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
5858         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
5859         enough of not.
5860         So far it is the only know Yacc tool that supports '%require'.
5861         Other yaccs will actually even choke on seeing the -o option after the
5862         input file name.
5863         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
5865 2020-05-02  Bruno Haible  <bruno@clisp.org>
5867         list: Add get_first, get_last, set_first, set_last operations.
5868         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
5869         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
5870         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
5872 2020-05-02  Bruno Haible  <bruno@clisp.org>
5874         list: Remove redundant code for remove_first and remove_last operations.
5875         * lib/gl_list.h (struct gl_list_implementation): Remove fields
5876         remove_first, remove_last.
5877         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
5878         * lib/gl_array_list.c: Revert last change.
5879         * lib/gl_carray_list.c: Likewise.
5880         * lib/gl_anylinked_list2.h: Likewise.
5881         * lib/gl_linked_list.c: Likewise.
5882         * lib/gl_linkedhash_list.c: Likewise.
5883         * lib/gl_anytree_list2.h: Likewise.
5884         * lib/gl_avltree_list.c: Likewise.
5885         * lib/gl_avltreehash_list.c: Likewise.
5886         * lib/gl_rbtree_list.c: Likewise.
5887         * lib/gl_rbtreehash_list.c: Likewise.
5888         * lib/gl_sublist.c: Likewise.
5890 2020-05-02  Bruno Haible  <bruno@clisp.org>
5892         bison-i18n: Add support for cross-compilation.
5893         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
5894         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
5895         via Akim Demaille <akim@lrde.epita.fr>.
5896         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
5897         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
5898         Don't use bison's --print-localedir option when cross-compiling.
5899         Also, fix an error message and a comment.
5901 2020-05-01  Bruno Haible  <bruno@clisp.org>
5903         list: Add remove_first and remove_last operations.
5904         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
5905         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
5906         * lib/gl_list.h (struct gl_list_implementation): Add fields
5907         remove_first, remove_last.
5908         (gl_list_remove_first, gl_list_remove_last): New functions.
5909         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
5910         functions, based on gl_array_remove_at.
5911         (gl_array_list_implementation): Implement the new operations.
5912         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
5913         New functions, based on gl_carray_remove_at.
5914         (gl_carray_list_implementation): Implement the new operations.
5915         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
5916         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
5917         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
5918         new operations.
5919         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
5920         Likewise.
5921         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
5922         New functions, based on gl_tree_remove_at.
5923         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
5924         new operations.
5925         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5926         Likewise.
5927         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
5928         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
5929         Likewise.
5930         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
5931         New functions, based on gl_sublist_remove_at.
5932         (gl_sublist_list_implementation): Implement the new operations.
5933         * lib/gl_list.hh (class gl_List): Add methods remove_first,
5934         remove_last.
5935         * tests/test-array_list.c (main): Test also gl_list_remove_first and
5936         gl_list_remove_last.
5937         * tests/test-avltree_list.c (main): Likewise.
5938         * tests/test-avltreehash_list.c (main): Likewise.
5939         * tests/test-carray_list.c (main): Likewise.
5940         * tests/test-linked_list.c (main): Likewise.
5941         * tests/test-linkedhash_list.c (main): Likewise.
5942         * tests/test-rbtree_list.c (main): Likewise.
5943         * tests/test-rbtreehash_list.c (main): Likewise.
5945 2020-05-01  Bruno Haible  <bruno@clisp.org>
5947         parse-datetime: Fix a build failure with an older bison version.
5948         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
5949         parse-datetime.tab.c if a suitable version of bison was not found.
5951 2020-05-01  Bruno Haible  <bruno@clisp.org>
5953         bison: New module.
5954         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
5955         m4/parse-datetime.m4.
5956         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
5957         * modules/bison: New file.
5958         * modules/parse-datetime (Files): Remove m4/bison.m4.
5959         (Depends-on): Add bison.
5961 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
5963         Update users.txt.
5964         * users.txt: Add poke.
5966 2020-04-28  Bruno Haible  <bruno@clisp.org>
5968         posix_spawn_file_actions_addfchdir tests: Enhance test.
5969         * tests/test-posix_spawn5.c: Include findprog.h.
5970         (test): New function, extracted from main.
5971         (main): Invoke it. Also, invoke it with a program name such as
5972         "bin/pwd".
5973         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
5974         findprog.
5976 2020-04-28  Bruno Haible  <bruno@clisp.org>
5978         posix_spawn_file_actions_addchdir tests: Enhance test.
5979         * tests/test-posix_spawn4.c: Include findprog.h.
5980         (test): New function, extracted from main.
5981         (main): Invoke it. Also, invoke it with a program name such as
5982         "bin/pwd".
5983         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
5984         findprog.
5986 2020-04-28  Bruno Haible  <bruno@clisp.org>
5988         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
5989         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
5990         access elements of the wrong union member.
5992 2020-04-27  Bruno Haible  <bruno@clisp.org>
5994         getdate: Remove deprecated module.
5995         * modules/getdate: Remove file.
5996         * doc/getdate.texi: Remove file.
5997         * lib/getdate.h: Remove file.
5998         * NEWS: Mention the removal.
6000 2020-04-27  Bruno Haible  <bruno@clisp.org>
6002         realloc: Remove deprecated module.
6003         * modules/realloc: Remove file.
6004         * NEWS: Mention the removal.
6006 2020-04-27  Bruno Haible  <bruno@clisp.org>
6008         calloc: Remove deprecated module.
6009         * modules/calloc: Remove file.
6010         * NEWS: Mention the removal.
6012 2020-04-27  Bruno Haible  <bruno@clisp.org>
6014         malloc: Remove deprecated module.
6015         * modules/malloc: Remove file.
6016         * NEWS: Mention the removal.
6018 2020-04-27  Bruno Haible  <bruno@clisp.org>
6020         fnmatch-posix: Remove deprecated module.
6021         * modules/fnmatch-posix: Remove file.
6022         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
6023         * NEWS: Mention the removal.
6025 2020-04-27  Bruno Haible  <bruno@clisp.org>
6027         pipe: Remove deprecated module.
6028         * modules/pipe: Remove file.
6029         * lib/pipe.h: Remove file.
6030         * NEWS: Mention the removal.
6032 2020-04-27  Bruno Haible  <bruno@clisp.org>
6034         getopt: Remove deprecated module.
6035         * modules/getopt: Remove file.
6036         * NEWS: Mention the removal.
6038 2020-04-27  Bruno Haible  <bruno@clisp.org>
6040         remove-dest-slash: Remove deprecated module.
6041         * modules/rename-dest-slash: Remove file.
6042         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
6043         Update.
6044         * NEWS: Mention the removal.
6046 2020-04-27  Bruno Haible  <bruno@clisp.org>
6048         unictype/bidicategory-*: Remove deprecated modules.
6049         * modules/unictype/bidicategory-all: Remove file.
6050         * modules/unictype/bidicategory-byname: Remove file.
6051         * modules/unictype/bidicategory-name: Remove file.
6052         * modules/unictype/bidicategory-of: Remove file.
6053         * modules/unictype/bidicategory-test: Remove file.
6054         * MODULES.html.sh (Unicode string functions): Update.
6055         * NEWS: Mention the removals.
6057 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6059         Tune fts for FTS_LOGICAL+FTS_NOSTAT
6060         From a suggestion by Askar Safin in:
6061         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
6062         * lib/fts.c (fts_build): If file types are known, optimize
6063         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
6064         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
6065         non-directories.
6067 2020-04-19  Bruno Haible  <bruno@clisp.org>
6069         vasnprintf: Add support for printing wide characters using escapes.
6070         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
6071         (wctomb_fallback): New function.
6072         (local_wctomb): New function.
6073         (local_wcrtomb): New function or macro.
6074         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
6075         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
6076         %lc.
6078 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6080         fts: remove NOSTAT_LEAF_OPTIMIZATION
6081         It caused ‘find’ and ‘du’ to dump core, and it was useful
6082         only for obsolescent Linux filesystems anyway.  Problem reported in:
6083         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
6084         Quite possibly there is still a serious underlying fts bug with
6085         tight-loop-check and mutating file systems, but if so this patch
6086         should cause the bug to be triggered less often.
6087         * lib/fts.c (enum leaf_optimization): Remove
6088         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
6089         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
6090         (leaf_optimization): Remove special cases for ReiserFS and XFS.
6091         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
6092         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
6093         Remove.  All uses removed.
6095 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6097         explicit_bzero: Improve code style.
6098         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
6100 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6102         explicit_bzero: On native Windows, use SecureZeroMemory().
6103         * lib/explicit_bzero.c: Include <windows.h>.
6104         (explicit_bzero): On native Windows, use SecureZeroMemory.
6106 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6108         explicit_bzero: Use memset_s() when available.
6109         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
6110         (explicit_bzero): Use memset_s when available.
6111         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
6113 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6115         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
6116         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
6117         free() that overwrite the memory with canaries.
6119 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
6121         bootstrap: recommend git submodule update --init
6122         Reported by Bruno Haible.
6123         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
6124         * build-aux/bootstrap: recommand "git submodule update --init"
6125         rather than "git submodule init".
6127 2020-04-12  Bruno Haible  <bruno@clisp.org>
6129         explicit_bzero: Add tests.
6130         * tests/test-explicit_bzero.c: New file.
6131         * modules/explicit_bzero-tests: New file.
6133 2020-04-11  Bruno Haible  <bruno@clisp.org>
6135         explicit_bzero: Relicense under LGPLv2+.
6136         Approved by Paul Eggert.
6137         * modules/explicit_bzero (License): Change to LGPLv2+.
6139 2020-04-10  Bruno Haible  <bruno@clisp.org>
6141         findprog, relocatable-prog: Ignore directories during PATH search.
6142         Reported by Frederick Eaton via Dmitry Goncharov in
6143         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
6145         * lib/findprog.c (find_in_path): When the file found in a PATH element
6146         is a directory, continue searching.
6147         * modules/findprog (Depends-on): Add sys_stat, stat.
6148         * modules/findprog-lgpl (Depends-on): Likewise.
6150         * lib/progreloc.c (maybe_executable): When the file found in a PATH
6151         element is a directory, continue searching.
6152         * lib/relocwrapper.c: Update comments.
6153         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
6154         (configure.ac-early): New section.
6156 2020-04-10  Bruno Haible  <bruno@clisp.org>
6158         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
6159         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
6160         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
6161         * MODULES.html.sh: In a git-less tarball, use the date of the first
6162         ChangeLog entry.
6164 2020-04-04  Bruno Haible  <bruno@clisp.org>
6166         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
6167         * m4/gettext.m4: Fix comments regarding the gettext library.
6168         * m4/intl-thread-locale.m4: Likewise.
6169         * m4/intlmacosx.m4: Likewise.
6170         * m4/lcmessage.m4: Likewise.
6171         * m4/nls.m4: Likewise.
6172         * m4/po.m4: Likewise.
6173         * m4/progtest.m4: Likewise.
6175 2020-04-04  Jim Meyering  <meyering@fb.com>
6177         maint: remove a stray inter-word space in a 6x-repeated comment
6178         Induce the changes by running this:
6179           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
6180         * build-aux/announce-gen: Change "by  perl" to "by perl".
6181         * build-aux/gitlog-to-changelog: Likewise.
6182         * build-aux/prefix-gnulib-mk: Likewise.
6183         * build-aux/update-copyright: Likewise.
6184         * build-aux/useless-if-before-free: Likewise.
6185         * tests/test-update-copyright.sh: Likewise.
6187 2020-03-28  Bruno Haible  <bruno@clisp.org>
6189         Use module 'filename' instead of module 'dosname'.
6191         * lib/at-func.c: Include filename.h instead of dosname.h.
6192         * lib/unlinkat.c: Likewise.
6193         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
6194         * modules/areadlinkat-with-size (Depends-on): Likewise.
6195         * modules/faccessat (Depends-on): Likewise.
6196         * modules/fchmodat (Depends-on): Likewise.
6197         * modules/fchownat (Depends-on): Likewise.
6198         * modules/fstatat (Depends-on): Likewise.
6199         * modules/mkdirat (Depends-on): Likewise.
6200         * modules/mkfifoat (Depends-on): Likewise.
6201         * modules/readlinkat (Depends-on): Likewise.
6202         * modules/selinux-at (Depends-on): Likewise.
6203         * modules/symlinkat (Depends-on): Likewise.
6204         * modules/unlinkat (Depends-on): Likewise.
6205         * modules/utimensat (Depends-on): Likewise.
6207         * lib/at-func2.c: Include filename.h instead of dosname.h.
6208         * modules/linkat (Depends-on): Add filename. Remove dosname.
6209         * modules/renameatu (Depends-on): Likewise.
6211         * lib/canonicalize.c: Include filename.h instead of dosname.h.
6212         * lib/canonicalize-lgpl.c: Likewise.
6213         * modules/canonicalize (Depends-on): Add filename.
6214         * modules/canonicalize-lgpl (Depends-on): Likewise.
6216         * lib/dirname.h: Include filename.h instead of dosname.h.
6217         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
6219         * lib/fchdir.c: Include filename.h instead of dosname.h.
6220         * modules/fchdir (Depends-on): Add filename. Remove dosname.
6222         * lib/openat.c: Include filename.h instead of dosname.h.
6223         * modules/openat (Depends-on): Add filename. Remove dosname.
6225         * lib/rmdir.c: Include filename.h instead of dosname.h.
6226         * modules/rmdir (Depends-on): Add filename. Remove dosname.
6228         * lib/savewd.c: Include filename.h instead of dosname.h.
6229         * modules/savewd (Depends-on): Add filename. Remove dosname.
6231         * lib/unlink.c: Include filename.h instead of dosname.h.
6232         * modules/unlink (Depends-on): Add filename. Remove dosname.
6234         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
6235         * lib/relocwrapper.c: Update comments.
6237         * modules/lstat (Depends-on): Remove dosname.
6239 2020-03-28  Bruno Haible  <bruno@clisp.org>
6241         dosname: Redirect to 'filename'.
6242         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
6243         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
6244         * lib/dosname.h: Remove all definitions. Just include filename.h.
6245         * modules/dosname (Status, Notice): Mark as deprecated.
6246         (Depends-on): Add 'filename'.
6248 2020-03-28  Bruno Haible  <bruno@clisp.org>
6250         dosname: Change IS_RELATIVE_FILE_NAME.
6251         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
6252         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
6253         * NEWS: Mention the change.
6255 2020-03-28  Bruno Haible  <bruno@clisp.org>
6257         filename: Copy some definitions from module 'dosname'.
6258         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
6259         (HAS_DEVICE): Document macro.
6260         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
6261         (IS_ABSOLUTE_FILE_NAME): Consider
6262         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
6263         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
6264         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
6265         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
6266         IS_PATH_WITH_DIR.
6267         (DllMain): Update.
6268         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
6269         IS_PATH_WITH_DIR.
6270         (find_executable): Update.
6271         * NEWS: Document the deprecations.
6273 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6275         getopt-posix: port __GETOPT_PREFIX to macOS
6276         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
6277         Define to work around a problem with asm on macOS (Bug#40205).
6279 2020-03-22  Bruno Haible  <bruno@clisp.org>
6281         MODULES.html.sh: Add support for reproducible builds.
6282         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
6283         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
6284         * MODULES.html.sh: Print the date of the last gnulib commit, not the
6285         current date.
6287 2020-03-22  Bruno Haible  <bruno@clisp.org>
6289         Several modules: Depend on stat.
6290         * modules/acl-permissions (Depends-on): Add stat.
6291         * modules/canonicalize (Depends-on): Likewise.
6292         * modules/file-has-acl (Depends-on): Likewise.
6293         * modules/fstat (Depends-on): Likewise.
6294         * modules/fstatat (Depends-on): Likewise.
6295         * modules/glob (Depends-on): Likewise.
6296         * modules/javacomp (Depends-on): Likewise.
6297         * modules/linkat (Depends-on): Likewise.
6298         * modules/mkdir (Depends-on): Likewise.
6299         * modules/pt_chown (Depends-on): Likewise.
6300         * modules/ptsname_r (Depends-on): Likewise.
6301         * modules/readlinkat (Depends-on): Likewise.
6302         * modules/rename (Depends-on): Likewise.
6303         * modules/renameatu (Depends-on): Likewise.
6304         * modules/tmpdir (Depends-on): Likewise.
6305         * modules/utimens (Depends-on): Likewise.
6306         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
6307         * modules/same (Depends-on): Remove stat.
6309 2020-03-22  Bruno Haible  <bruno@clisp.org>
6311         acl-permissions: Improve autoconf macro.
6312         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
6313         more reliably.
6315 2020-03-22  Bruno Haible  <bruno@clisp.org>
6317         file-has-acl: Fix module description.
6318         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
6319         (Depends-on): Depend on acl-permissions unconditionally.
6321 2020-03-21  Bruno Haible  <bruno@clisp.org>
6323         unlink: Ensure errno also on native Windows.
6324         * modules/unlink (Depends-on): Add malloc-posix.
6326 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
6328         unlink: fix malloc errno typo
6329         Problem reported by Tim Rühsen in:
6330         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
6331         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
6333 2020-03-16  Bruno Haible  <bruno@clisp.org>
6335         *printf-posix: Fix m4 error (regression from 2020-03-08).
6336         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
6337         brackets in AC_COMPILE_IFELSE invocation.
6339 2020-03-08  Bruno Haible  <bruno@clisp.org>
6341         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
6342         * modules/crypto/af_alg (Depends-on): Add fstat.
6343         * modules/renameatu (Depends-on): Likewise.
6344         * modules/same (Depends-on): Likewise.
6345         * modules/term-style-control (Depends-on): Likewise.
6347 2020-03-08  Bruno Haible  <bruno@clisp.org>
6349         *printf-posix: Document why it's overridden on some glibc systems.
6350         Reported by Adrian Bunk <bunk@stusta.de> in
6351         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
6352         * doc/posix-functions/*printf.texi: Document the problem with the %n
6353         directive on some glibc systems.
6354         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
6355         the cross-compilation guesses accordingly.
6357 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6359         open, openat: port to (O_RDWR | O_RDONLY) != 0
6360         Potential portability problem reported by Dan Gohman in:
6361         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
6362         * lib/open.c (open):
6363         * lib/openat.c (rpl_openat):
6364         Don’t assume O_RDONLY is disjoint from O_RDWR.
6366 2020-03-07  Bruno Haible  <bruno@clisp.org>
6368         openat: Fix theoretically possible issue on GNU/Hurd.
6369         Reported by Dan Gohman <sunfish@mozilla.com> in
6370         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
6371         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
6372         ignore the bits that are also set in O_RDONLY.
6374 2020-02-24  Bruno Haible  <bruno@clisp.org>
6376         getloadavg: Don't use /usr/local when cross-compiling on AIX.
6377         Reported by Jens Rehsack <sno@netbsd.org> in
6378         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
6379         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
6380         cross-compiling.
6382 2020-02-24  Bruno Haible  <bruno@clisp.org>
6384         fcntl: Add witness of gnulib override.
6385         Reported by Jens Rehsack <sno@netbsd.org> in
6386         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
6387         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
6388         macros.
6390 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
6392         Update users.txt.
6393         * users.txt: Add datamash, time.
6395 2020-02-23  Bruno Haible  <bruno@clisp.org>
6397         uni*/base: Use 'restrict'.
6398         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
6399         from lib/regex.h.
6400         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
6401         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
6402         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
6403         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
6404         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
6405         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
6406         '_UC_RESTRICT'.
6407         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
6408         u32_conv_to_encoding): Use '_UC_RESTRICT'.
6409         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
6410         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
6411         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
6412         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
6413         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
6414         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
6415         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
6416         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
6417         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
6418         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
6419         '_UC_RESTRICT'.
6420         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
6421         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
6422         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
6423         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
6424         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
6425         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
6426         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
6427         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
6429 2020-02-23  Bruno Haible  <bruno@clisp.org>
6431         glob, spawn: Use improved '_Restrict_' definition.
6432         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
6433         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
6435 2020-02-23  Bruno Haible  <bruno@clisp.org>
6437         crypto/gc: Use 'restrict'.
6438         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
6439         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
6441         crypto/hmac-*: Use 'restrict'.
6442         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
6443         'restrict'.
6444         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
6445         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
6446         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
6447         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
6449         crypto/sm3: Use 'restrict'.
6450         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
6451         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
6453         crypto/*-buffer: Use 'restrict'.
6454         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
6455         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
6457         crypto/sha512-buffer: Use 'restrict'.
6458         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
6459         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
6460         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
6462         crypto/sha256-buffer: Use 'restrict'.
6463         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
6464         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
6465         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
6467         crypto/sha1-buffer: Use 'restrict'.
6468         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
6469         'restrict'.
6470         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
6472         crypto/md5-buffer: Use 'restrict'.
6473         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
6474         'restrict'.
6475         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
6477         crypto/md4: Use 'restrict'.
6478         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
6479         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
6481         crypto/md2: Use 'restrict'.
6482         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
6483         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
6485         crypto/rijndael: Use 'restrict'.
6486         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
6487         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
6488         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
6490         crypto/arctwo: Use 'restrict'.
6491         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
6492         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
6494         crypto/arcfour: Use 'restrict'.
6495         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
6496         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
6498         careadlinkat: Use 'restrict'.
6499         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
6500         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
6501         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
6503         regex-quote: Use 'restrict'.
6504         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
6505         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
6507         system-quote: Use 'restrict'.
6508         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
6509         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
6511         sh-quote: Use 'restrict'.
6512         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
6513         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
6515         quotearg: Use 'restrict'.
6516         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
6517         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
6519         parse-datetime: Use 'restrict'.
6520         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
6521         'restrict'.
6522         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
6524         nstrftime: Use 'restrict'.
6525         * lib/strftime.h (nstrftime): Use 'restrict'.
6526         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
6528         mbstok_r: Use 'restrict'.
6529         * lib/string.in.h (mbstok_r): Use 'restrict'.
6531         xmemcoll: Use 'restrict'.
6532         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
6533         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
6535         memcoll: Use 'restrict'.
6536         * lib/memcoll.h (memcoll): Use 'restrict'.
6537         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
6539         vasnprintf: Use 'restrict'.
6540         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
6541         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
6543         c-vasnprintf: Use 'restrict'.
6544         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
6545         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
6547         c-vsnprintf: Use 'restrict'.
6548         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
6549         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
6551         c-snprintf: Use 'restrict'.
6552         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
6553         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
6555         astrxfrm: Use 'restrict'.
6556         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
6557         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
6559         amemxfrm: Use 'restrict'.
6560         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
6561         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
6563 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
6565         fchmodat, lchmod: simplify
6566         It appears that we may have overengineered lchmod and fchmodat,
6567         in that the code was prepared for some hypothetical platforms but
6568         was so complicated that it was hard to understand.  I attempted to
6569         improve the situation by simplifying the code when this
6570         simplification should not hurt on real platforms; we can re-add
6571         complexity later to port to platforms I didn’t know about.
6572         * lib/fchmodat.c (fchmodat):
6573         * lib/lchmod.c (lchmod):
6574         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
6575         around the /proc code that needs it.
6576         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
6577         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
6578         Do not include <config.h> twice.
6579         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
6580         lchmod on any known hosts.
6581         (lchmod): Do not defer to fchmodat, so that the lchmod module
6582         need not depend on the fchmodat module (which is a circular
6583         dependency).  Do not use openat, since ‘open’ suffices.
6584         Coalesce calls to lchmod/chmod.
6585         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
6586         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
6587         * modules/lchmod (Depends-on, configure.ac):
6588         * modules/sys_stat (Depends-on):
6589         Do not worry about replacing lchmod, since that shouldn’t happen.
6590         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
6591         Do not worry about whether lchmod works on non-symlinks,
6592         since every known lchmod works on non-symlinks.
6593         * modules/lchmod (Depends-on):
6594         Remove circular dependency on fchmodat.
6596 2020-02-22  Bruno Haible  <bruno@clisp.org>
6598         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
6599         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
6600         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
6602 2020-02-22  Bruno Haible  <bruno@clisp.org>
6604         Use 'restrict' in all POSIX function declarations.
6605         * lib/iconv.in.h (iconv): Use 'restrict'.
6606         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
6607         * lib/monetary.in.h (strfmon_l): Likewise.
6608         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
6609         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
6610         pthread_mutex_timedlock, pthread_rwlock_init,
6611         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
6612         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
6613         * lib/search.in.h (tdelete): Likewise.
6614         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
6615         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
6616         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
6617         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
6618         Likewise.
6619         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
6620         strtoull): Likewise.
6621         * lib/string.in.h (strncat): Likewise.
6622         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
6623         recvfrom): Likewise.
6624         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
6625         * lib/time.in.h (strftime): Likewise.
6626         * lib/unistd.in.h (readlink, readlinkat): Likewise.
6627         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
6628         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
6629         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
6630         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
6631         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
6632         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
6633         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6634         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6635         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6636         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6637         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6638         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6639         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6640         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6641         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
6642         other *_h.m4 files.
6643         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
6645 2020-02-22  Bruno Haible  <bruno@clisp.org>
6647         Update NEWS.
6648         * NEWS: Mention the last change.
6650 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
6652         chmodat, chownat: new modules
6653         These are split from fchmodat, fchownat.  GNU Emacs needs the
6654         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
6655         lchmodat.  Split the latter two into a new module chmodat.
6656         Similarly for fchownat.  This the same basic idea for why statat
6657         was split from fstatat on 2013-01-23.
6658         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
6659         Rename from FCHMODAT_INLINE.  All uses changed.
6660         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
6661         Rename from FCHOWNAT_INLINE.  All uses changed.
6662         * lib/openat.h:
6663         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
6664         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
6665         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
6666         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
6667         (configure.ac): Remove fchmodat module indicator.
6668         (Makefile.am): Omit chmodat.c.
6669         (Maintainer): Add self.
6670         * modules/fchownat: Similarly, but for chown.
6671         * tests/test-fchownat.c (BASE): Don't define if already defined.
6672         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
6674 2020-02-22  Bruno Haible  <bruno@clisp.org>
6676         users.txt: Add groff.
6677         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
6678         * users.txt: Add groff.
6680 2020-02-22  Bruno Haible  <bruno@clisp.org>
6682         gnulib-tool: Ensure copied files are writable.
6683         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
6684         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
6685         * gnulib-tool (func_ensure_writable): New function.
6686         (func_ln_s, func_hardlink, func_lookup_file, func_import,
6687         func_create_testdir, copy-file): Invoke it after copying a file.
6689 2020-02-22  Bruno Haible  <bruno@clisp.org>
6691         users.txt: Update.
6692         * users.txt: Update URLs to projects that have moved or switched to git.
6693         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
6694         over the summary view. Add gawk.
6696 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
6698         largefile: remove _DARWIN_USE_64_BIT_INODE
6699         It’s not needed in currently-supported macOS versions, and was
6700         problematic anyway in MacOS X 10.5 which was the only version that
6701         could use it.  Problem reported by Peter Eisentraut in:
6702         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
6703         * m4/largefile.m4 (AC_SYS_LARGEFILE):
6704         Don’t define _DARWIN_USE_64_BIT_INODE.
6705         This syncs with Autoconf master.
6707         Add ‘extern "C"’ to count-one-bits.h etc.
6708         This ports these .h files to C++.
6709         Problem reported by Simon Marchi in:
6710         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
6711         * lib/count-leading-zeros.h, lib/count-one-bits.h:
6712         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
6714 2020-02-19  Bruno Haible  <bruno@clisp.org>
6716         uninorm/decompose-internal: Avoid "no previous prototype" warning.
6717         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
6718         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
6719         * lib/array-mergesort.h: Accept an optional macro definition
6720         STATIC_FROMTO.
6721         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
6723 2020-02-16  Bruno Haible  <bruno@clisp.org>
6725         fchmodat: Make more future-proof.
6726         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
6727         NEED_FCHMODAT_NONSYMLINK_FIX.
6728         (gl_PREREQ_FCHMODAT): New macro.
6729         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
6730         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
6731         without lchmod function.
6732         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
6734 2020-02-16  Bruno Haible  <bruno@clisp.org>
6736         lchmod: Make more future-proof.
6737         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
6738         (gl_PREREQ_LCHMOD): New macro.
6739         * lib/lchmod.c (orig_lchmod): New function.
6740         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
6741         Return EOPNOTSUPP only on Linux and on platforms without lchmod
6742         function.
6743         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
6745         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
6746         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
6748 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
6750         xnanosleep: prefer pause, and get remaining time
6751         Problem reported by Vladimir Panteleev in:
6752         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
6753         * lib/xnanosleep.c: Include intprops.h, unistd.h.
6754         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
6755         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
6756         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
6757         * modules/xnanosleep (Depends-on): Add intprops, unistd.
6759 2020-02-16  Bruno Haible  <bruno@clisp.org>
6761         lchmod: Improve cross-compilation guess.
6762         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
6763         cross-compiling, guess depending on the platform.
6765 2020-02-16  Bruno Haible  <bruno@clisp.org>
6767         fstrcmp: Add API to clean up resources.
6768         Reported by Akim Demaille <akim@lrde.epita.fr> in
6769         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
6770         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
6771         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
6773 2020-02-14  Bruno Haible  <bruno@clisp.org>
6775         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
6776         Reported by Christian Biesinger in
6777         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
6778         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
6779         corresponding module is not enabled.
6780         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
6781         prototype if the corresponding module is not enabled.
6783 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
6785         fchmodat, lchmod: port to buggy Linux filesystems
6786         Problem reported by Florian Weimer in:
6787         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
6788         * lib/fchmodat.c (fchmodat):
6789         * lib/lchmod.c (lchmod):
6790         Don’t assume that chmod on the O_PATH-opened fd will do
6791         the right thing on a symbolic link.
6792         * lib/fchmodat.c (fchmodat):
6793         Don’t attempt to special-case
6794         any flag value other than AT_SYMLINK_NOFOLLOW.
6796 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
6798         lchmod: pacify Coverity CID 1491216
6799         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
6800         not complain about unreachable code at the ‘struct stat st;’
6801         declaration.
6803 2020-02-10  Bruno Haible  <bruno@clisp.org>
6805         copysignf: Fix link error on HP-UX with cc.
6806         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
6807         HP-UX, set COPYSIGNF_LIBM to -lm.
6809 2020-02-10  Bruno Haible  <bruno@clisp.org>
6811         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
6812         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
6813         with $(LIB_SEMAPHORE).
6814         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
6815         with $(LIB_SEMAPHORE).
6817 2020-02-10  Bruno Haible  <bruno@clisp.org>
6819         ptsname_r-tests: Avoid unused function warning.
6820         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
6822 2020-02-08  Bruno Haible  <bruno@clisp.org>
6824         lchmod: Add tests.
6825         * tests/test-lchmod.c: New file.
6826         * modules/lchmod-tests: New file.
6828 2020-02-08  Bruno Haible  <bruno@clisp.org>
6830         lchmod: Ensure declaration on HP-UX.
6831         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
6832         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
6834 2020-02-08  Bruno Haible  <bruno@clisp.org>
6836         fchmodat: Strengthen tests.
6837         * tests/test-fchmodat.c (BASE): New macro.
6838         (main): Use it, to avoid conflicts with other unit tests. Verify that
6839         fchmodat changed the file permission bits.
6841 2020-02-08  Bruno Haible  <bruno@clisp.org>
6843         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
6844         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
6845         '#undef __need_system_sys_stat_h'.
6847 2020-02-08  Bruno Haible  <bruno@clisp.org>
6849         fchmodat: Improve cross-compilation guesses.
6850         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
6851         cross-compiling, guess depending on the platform.
6852         * doc/posix-functions/fchmodat.texi: Clarify.
6854 2020-02-08  Bruno Haible  <bruno@clisp.org>
6856         Fix compilation errors in a testdir created with --with-c++-tests.
6857         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
6858         since it does not work any more with g++ >= 4.4.
6860 2020-02-08  Bruno Haible  <bruno@clisp.org>
6862         doc: Update for glibc 2.31.
6863         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
6864         * doc/gnulib.texi: Include it.
6865         * doc/pastposix-functions/h_errno.texi: Update.
6866         * doc/posix-functions/*.texi: Likewise.
6868 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
6870         mountlist: consider smb3 file systems as remote
6871         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
6872         "smb3" as remote.
6874 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6876         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
6877         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
6878         they act like chmod on non-symlinks.
6879         * NEWS:
6880         * doc/glibc-functions/lchmod.texi (lchmod):
6881         * doc/posix-functions/fchmodat.texi (fchmodat):
6882         Mention this.
6883         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
6884         config.h, and undef it after including sys/stat.h the first time.
6885         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
6886         sys/stat.h a second time after defining orig_fchmodat.
6887         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
6888         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
6889         * lib/lchmod.c: New file.
6890         * lib/sys_stat.in.h (fchmodat, lchmod):
6891         Support replacing these functions.
6892         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
6893         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
6894         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
6895         Test that lchmod works on non-symlinks.
6896         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
6897         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
6898         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
6899         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
6900         * modules/lchmod (Files): Add lib/lchmod.c.
6901         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
6902         (configure.ac): Compile lchmod.c if needed.
6903         (lib_SOURCES): Add lchmod.c.
6904         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
6905         and REPLACE_LCHMOD.
6906         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
6907         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
6909 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
6911         mountlist: Consider AFS filesystems as remote
6912         df --local relies on the ME_REMOTE macro to determine if a given
6913         mount entry should be considered "local".  There is special logic
6914         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
6915         kernel's kafs module or AuriStorFS is treated as a local mount.
6916         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
6917         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
6919 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6921         Port _Noreturn to older Clang
6922         Problem reported by Jeffery Walton in:
6923         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
6924         * lib/_Noreturn.h (_Noreturn):
6925         * m4/gnulib-common.m4 (gl_COMMON_BODY):
6926         Assume _Noreturn works in Clang 3.5 and later.
6927         It is documented to work in Clang 3.5:
6928         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
6929         and is not documented in Clang 3.4:
6930         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
6931         Apple sets __clang_version__ to a different value, so use
6932         __apple_build_version__ there.  See:
6933         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
6935 2020-02-04  Pádraig Brady  <P@draigBrady.com>
6937         test-canonicalize: avoid unused function warning
6938         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
6939         with the same guard as that used to protect usage of the null_ptr
6940         function, so that one doesn't get a -Wunused warning.
6941         * tests/test-canonicalize-lgpl.c: Likewise.
6943 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
6945         libc-config: port to Apple’s Clang variant
6946         * lib/libc-config.h (__glibc_clang_prereq):
6947         Port to Apple’s Clang variant, which uses a different
6948         numbering scheme for __clang_major__.
6950 2020-02-02  Bruno Haible  <bruno@clisp.org>
6952         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
6953         * doc/containers.texi: Document these new modules.
6955 2020-02-02  Bruno Haible  <bruno@clisp.org>
6957         omap-c++: Add tests.
6958         * tests/test-omap-c++.cc: New file.
6959         * modules/omap-c++-tests: New file.
6961         omap-c++: New module.
6962         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
6963         * modules/omap-c++: New file.
6965 2020-02-02  Bruno Haible  <bruno@clisp.org>
6967         map-c++: Add tests.
6968         * tests/test-map-c++.cc: New file.
6969         * modules/map-c++-tests: New file.
6971         map-c++: New module.
6972         * lib/gl_map.hh: New file, based on lib/gl_map.h.
6973         * modules/map-c++: New file.
6975 2020-02-02  Bruno Haible  <bruno@clisp.org>
6977         oset-c++: Add tests.
6978         * tests/test-oset-c++.cc: New file.
6979         * modules/oset-c++-tests: New file.
6981         oset-c++: New module.
6982         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
6983         * modules/oset-c++: New file.
6985 2020-02-02  Bruno Haible  <bruno@clisp.org>
6987         set-c++: Add tests.
6988         * tests/test-set-c++.cc: New file.
6989         * modules/set-c++-tests: New file.
6991         set-c++: New module.
6992         * lib/gl_set.hh: New file, based on lib/gl_set.h.
6993         * modules/set-c++: New file.
6995 2020-02-02  Bruno Haible  <bruno@clisp.org>
6997         list-c++: Add tests.
6998         * tests/test-list-c++.cc: New file.
6999         * modules/list-c++-tests: New file.
7001         list-c++: New module.
7002         * lib/gl_list.hh: New file, based on lib/gl_list.h.
7003         * modules/list-c++: New file.
7005 2020-02-02  Bruno Haible  <bruno@clisp.org>
7007         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
7008         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
7009         '_Noreturn'.
7010         * lib/sigpipe-die.h (sigpipe_die): Likewise.
7012 2020-02-02  Pádraig Brady  <P@draigBrady.com>
7014         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
7015         On x86_64 with glibc-2.30, gcc 9.2 is giving:
7016           error: argument 2 value '18446744073709551615'
7017           exceeds maximum object size 9223372036854775807
7018           [-Werror=alloc-size-larger-than=]
7019         The details of this restriction are discussed at:
7020         https://stackoverflow.com/q/42574890/4421
7021         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
7023 2020-02-02  Pádraig Brady  <P@draigBrady.com>
7025         sysctl.h: avoid including on glibc
7026         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
7027         * lib/physmem.c: Likewise.
7029 2020-02-02  Bruno Haible  <bruno@clisp.org>
7031         list, set, oset, map, omap: Avoid imperative voice in documentation.
7032         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
7033         in the specification of functions.
7034         * lib/gl_set.h: Likewise.
7035         * lib/gl_oset.h: Likewise.
7036         * lib/gl_map.h: Likewise.
7037         * lib/gl_omap.h: Likewise.
7038         * lib/gl_*.h: Likewise.
7040 2020-02-01  Bruno Haible  <bruno@clisp.org>
7042         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
7043         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
7044         does.
7046 2020-01-29  Bruno Haible  <bruno@clisp.org>
7048         array-map, hash-map, linkedhash-map: Fix module description.
7049         * modules/array-map (Description): Fix description.
7050         * modules/hash-map (Description): Likewise.
7051         * modules/linkedhash-map (Description): Likewise.
7053 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7055         dfa: do not depend on isblank
7056         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
7057         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
7058         * modules/dfa (Depends-on): Remove isblank.
7059         * modules/isblank: Add a module indicator, for lib/dfa.c.
7061         dfa: do not assume 64-bit int
7062         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
7063         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
7064         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
7065         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
7066         Fall back to 32-bit words.
7067         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
7068         of 4 64-bit args.  All uses changed.
7070 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7072         regex: remove limits-h dependency
7073         * modules/regex (Depends-on): Remove limits-h, since the
7074         code no longer depends on ULONG_WIDTH already being defined.
7076         regex: port to non-GCC pre-IEC-60559
7077         Problem reported by Arnold Robbins in:
7078         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
7079         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
7081 2020-01-25  Bruno Haible  <bruno@clisp.org>
7083         c32isxdigit: Add tests.
7084         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
7085         * tests/test-c32isxdigit.sh: New file.
7086         * modules/c32isxdigit-tests: New file.
7088         c32isxdigit: New module.
7089         * lib/c32isxdigit.c: New file.
7090         * modules/c32isxdigit: New file.
7091         * doc/posix-functions/iswxdigit.texi: Mention the new module.
7093 2020-01-25  Bruno Haible  <bruno@clisp.org>
7095         c32isupper: Add tests.
7096         * tests/test-c32isupper.c: New file.
7097         * tests/test-c32isupper.sh: New file.
7098         * modules/c32isupper-tests: New file.
7100         c32isupper: New module.
7101         * lib/c32isupper.c: New file.
7102         * modules/c32isupper: New file.
7103         * doc/posix-functions/iswupper.texi: Mention the new module.
7105 2020-01-25  Bruno Haible  <bruno@clisp.org>
7107         c32isspace: Add tests.
7108         * tests/test-c32isspace.c: New file.
7109         * tests/test-c32isspace.sh: New file.
7110         * modules/c32isspace-tests: New file.
7112         c32isspace: New module.
7113         * lib/c32isspace.c: New file.
7114         * modules/c32isspace: New file.
7115         * doc/posix-functions/iswspace.texi: Mention the new module.
7117 2020-01-25  Bruno Haible  <bruno@clisp.org>
7119         c32ispunct: Add tests.
7120         * tests/test-c32ispunct.c: New file.
7121         * tests/test-c32ispunct.sh: New file.
7122         * modules/c32ispunct-tests: New file.
7124         c32ispunct: New module.
7125         * lib/c32ispunct.c: New file.
7126         * modules/c32ispunct: New file.
7127         * doc/posix-functions/iswpunct.texi: Mention the new module.
7129 2020-01-25  Bruno Haible  <bruno@clisp.org>
7131         c32isprint: Add tests.
7132         * tests/test-c32isprint.c: New file.
7133         * tests/test-c32isprint.sh: New file.
7134         * modules/c32isprint-tests: New file.
7136         c32isprint: New module.
7137         * lib/c32isprint.c: New file.
7138         * modules/c32isprint: New file.
7139         * doc/posix-functions/iswprint.texi: Mention the new module.
7141 2020-01-25  Bruno Haible  <bruno@clisp.org>
7143         c32islower: Add tests.
7144         * tests/test-c32islower.c: New file.
7145         * tests/test-c32islower.sh: New file.
7146         * modules/c32islower-tests: New file.
7148         c32islower: New module.
7149         * lib/c32islower.c: New file.
7150         * modules/c32islower: New file.
7151         * doc/posix-functions/iswlower.texi: Mention the new module.
7153 2020-01-25  Bruno Haible  <bruno@clisp.org>
7155         c32isgraph: Add tests.
7156         * tests/test-c32isgraph.c: New file.
7157         * tests/test-c32isgraph.sh: New file.
7158         * modules/c32isgraph-tests: New file.
7160         c32isgraph: New module.
7161         * lib/c32isgraph.c: New file.
7162         * modules/c32isgraph: New file.
7163         * doc/posix-functions/iswgraph.texi: Mention the new module.
7165 2020-01-25  Bruno Haible  <bruno@clisp.org>
7167         c32isdigit: Add tests.
7168         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
7169         * tests/test-c32isdigit.sh: New file.
7170         * modules/c32isdigit-tests: New file.
7172         c32isdigit: New module.
7173         * lib/c32isdigit.c: New file.
7174         * modules/c32isdigit: New file.
7175         * doc/posix-functions/iswdigit.texi: Mention the new module.
7177 2020-01-25  Bruno Haible  <bruno@clisp.org>
7179         c32iscntrl: Add tests.
7180         * tests/test-c32iscntrl.c: New file.
7181         * tests/test-c32iscntrl.sh: New file.
7182         * modules/c32iscntrl-tests: New file.
7184         c32iscntrl: New module.
7185         * lib/c32iscntrl.c: New file.
7186         * modules/c32iscntrl: New file.
7187         * doc/posix-functions/iswcntrl.texi: Mention the new module.
7189 2020-01-25  Bruno Haible  <bruno@clisp.org>
7191         c32isblank: Add tests.
7192         * tests/test-c32isblank.c: New file.
7193         * tests/test-c32isblank.sh: New file.
7194         * modules/c32isblank-tests: New file.
7196         c32isblank: New module.
7197         * lib/c32isblank.c: New file.
7198         * modules/c32isblank: New file.
7199         * doc/posix-functions/iswblank.texi: Mention the new module.
7201 2020-01-25  Bruno Haible  <bruno@clisp.org>
7203         c32isalpha: Add tests.
7204         * tests/test-c32isalpha.c: New file.
7205         * tests/test-c32isalpha.sh: New file.
7206         * modules/c32isalpha-tests: New file.
7208         c32isalpha: New module.
7209         * lib/c32isalpha.c: New file.
7210         * modules/c32isalpha: New file.
7211         * doc/posix-functions/iswalpha.texi: Mention the new module.
7213 2020-01-25  Bruno Haible  <bruno@clisp.org>
7215         c32isalnum: Add tests.
7216         * tests/test-c32isalnum.c: New file.
7217         * tests/test-c32isalnum.sh: New file.
7218         * modules/c32isalnum-tests: New file.
7220         c32isalnum: New module.
7221         * lib/c32isalnum.c: New file.
7222         * lib/c32is-impl.h: New file.
7223         * modules/c32isalnum: New file.
7224         * doc/posix-functions/iswalnum.texi: Mention the new module.
7226 2020-01-25  Bruno Haible  <bruno@clisp.org>
7228         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
7229         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
7230         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
7231         c32isupper, c32isxdigit): New declarations.
7232         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
7233         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
7234         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
7235         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
7236         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
7237         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
7238         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
7239         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
7240         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
7241         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
7242         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
7243         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
7244         c32ispunct, c32isspace, c32isupper, c32isxdigit.
7246 2020-01-25  Bruno Haible  <bruno@clisp.org>
7248         mbchar, wctype: Use the corrected iswxdigit function.
7249         * modules/mbchar (Depends-on): Add iswxdigit.
7250         * modules/wctype (Depends-on): Likewise.
7252         iswxdigit: Add tests.
7253         * tests/test-iswxdigit.c: New file.
7254         * tests/test-iswxdigit.sh: New file.
7255         * modules/iswxdigit-tests: New file.
7257         iswxdigit: New module.
7258         * m4/iswxdigit.m4: New file.
7259         * lib/wctype.in.h (iswxdigit): Potentially override.
7260         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
7261         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
7262         * lib/iswxdigit.c: New file.
7263         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
7264         REPLACE_ISWXDIGIT.
7265         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
7266         REPLACE_ISWXDIGIT.
7267         * modules/iswxdigit: New file.
7268         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
7270 2020-01-25  Bruno Haible  <bruno@clisp.org>
7272         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
7273         Reported by John Donoghue <john.david.donoghue@gmail.com> in
7274         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
7275         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
7276         off_t on mingw, invoke _lseeki64 instead of lseek.
7278 2020-01-25  Bruno Haible  <bruno@clisp.org>
7280         iswdigit tests: Avoid test failure on Cygwin.
7281         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
7282         byte sequence, return 0.
7284         iswdigit: Fix test failure on native Windows.
7285         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
7287         mbchar, wctype: Use the corrected iswdigit function.
7288         * modules/mbchar (Depends-on): Add iswdigit.
7289         * modules/wctype (Depends-on): Likewise.
7291         iswdigit: Add tests.
7292         * tests/test-iswdigit.c: New file.
7293         * tests/test-iswdigit.sh: New file.
7294         * modules/iswdigit-tests: New file.
7296         iswdigit: New module.
7297         * m4/iswdigit.m4: New file.
7298         * lib/wctype.in.h (iswdigit): Potentially override.
7299         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
7300         * lib/iswdigit.c: New file.
7301         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
7302         REPLACE_ISWDIGIT.
7303         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
7304         REPLACE_ISWDIGIT.
7305         * modules/iswdigit: New file.
7306         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
7308 2020-01-25  Bruno Haible  <bruno@clisp.org>
7310         hard-locale tests: Make it easy to reuse the musl test.
7311         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
7312         * modules/hard-locale-tests (Files): Add it.
7313         (configure.ac): Invoke gl_MUSL_LIBC.
7315 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
7317         regex: port to Gawk on nonstandard platforms
7318         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
7319         This is useful for Gawk, which does not use the Gnulib stdlib-h
7320         module.  Problem reported by Arnold Robbins in:
7321         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
7323 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
7325         regex: fix bug with >=16 subexpressions
7326         * lib/regex_internal.h (struct re_backref_cache_entry):
7327         Use bitset_word_t as the type of eps_reachable_subexps_map,
7328         instead of unsigned short int.  This fixes a bug I introduced
7329         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
7330         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
7331         Remove unused member 'unused'.
7333         regex: simplify definition of BITSET_WORD_BITS
7334         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
7335         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
7336         * lib/regex_internal.h (BITSET_WORD_BITS):
7337         * modules/regex (Depends-on): Add limits-h.
7338         Simplify now that we can use ULONG_WIDTH.
7340 2020-01-20  Bruno Haible  <bruno@clisp.org>
7342         mbrtoc32: Add note about FreeBSD 12.
7343         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
7344         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
7345         affected.
7347 2020-01-20  Bruno Haible  <bruno@clisp.org>
7349         unistr/u8-uctomb: Fix warning.
7350         Reported by Andreas Schwab <schwab@suse.de> in
7351         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
7352         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
7353         (u8_uctomb): Add FALLTHROUGH markers.
7355 2020-01-20  Bruno Haible  <bruno@clisp.org>
7357         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
7358         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
7359         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
7360         (glthread_once): Use it.
7362 2020-01-19  Bruno Haible  <bruno@clisp.org>
7364         threadlib: Disable use of weak symbols on FreeBSD 11.
7365         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7366         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
7367         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
7368         against a bug in FreeBSD 11.
7370 2020-01-19  Bruno Haible  <bruno@clisp.org>
7372         iconv_open: Improve z/OS support.
7373         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
7374         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
7375         Remove mapping for EUC-TW.
7377 2020-01-18  Bruno Haible  <bruno@clisp.org>
7379         Rename ~~gnulib.m4 to zzgnulib.m4.
7380         Suggested by Paul Eggert.
7381         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
7382         * gnulib-tool (func_get_filelist): Update.
7383         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
7385 2020-01-18  Bruno Haible  <bruno@clisp.org>
7387         doc: Update license notices.
7388         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
7389         reference to a section or to a "file as part of this distribution".
7391 2020-01-18  Bruno Haible  <bruno@clisp.org>
7393         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
7394         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
7395         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
7396         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
7397         AC_EGREP_CPP.
7399 2020-01-18  Bruno Haible  <bruno@clisp.org>
7401         Ensure Automake does not drop ~~gnulib.m4.
7402         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
7403         * m4/gnulib-common.m4 (gl_COMMON): Require it.
7405 2020-01-18  Bruno Haible  <bruno@clisp.org>
7407         Fix major regression from 2020-01-10.
7408         Reported by Paul Eggert in
7409         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
7410         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
7411         Don't AC_REQUIRE anything.
7412         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
7413         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
7414         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
7415         use ac_compile instead.
7416         (AC_CHECK_DECL): Remove override.
7417         * m4/~~gnulib.m4: New file.
7418         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
7419         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
7421 2020-01-17  Bruno Haible  <bruno@clisp.org>
7422             Paul Eggert  <eggert@cs.ucla.edu>
7424         glob: Fix use-after-free bug.
7425         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7426         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
7427         * lib/glob.c (__glob): Delay freeing dirname until after the use of
7428         end_name.
7430 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7432         vcs-to-changelog: Fix parsing of fndecl without args.
7433         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
7434         for empty arguments.
7436 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7438         vcs-to-changelog: Add documentation.
7439         * doc/vcs-to-changelog.texi: New file.
7440         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
7441         section.
7443 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7445         vcs-to-changelog: Allow loading of custom quirks file.
7446         * build-aux/vcs_to_changelog.py: New commandline option -q.
7448 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7450         vcs-to-changelog: Fix formatting of ChangeLog output.
7451         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
7452         output.
7454 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7456         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
7457         Reported in
7458         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
7459         * build-aux/vcstocl/frontend_c.py: Remove shebang.
7461 2020-01-15  Simon Josefsson  <simon@josefsson.org>
7463         crypto/gc-pbkdf2: New module.
7464         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
7465         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
7466         * lib/gc-pbkdf2.c: New file.
7467         * lib/gc-pbkdf2-sha1.c: Use new interface.
7468         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
7469         * modules/crypto/gc-pbkdf2: New file.
7470         * modules/crypto/gc-pbkdf2-tests: New file.
7471         * tests/test-gc-pbkdf2.c: New file.
7473 2020-01-12  Bruno Haible  <bruno@clisp.org>
7475         c32stombs: Add tests.
7476         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
7477         * tests/test-c32stombs-1.sh: New file, based on
7478         tests/test-c32srtombs-1.sh.
7479         * tests/test-c32stombs-2.sh: New file, based on
7480         tests/test-c32srtombs-2.sh.
7481         * tests/test-c32stombs-3.sh: New file, based on
7482         tests/test-c32srtombs-3.sh.
7483         * tests/test-c32stombs-4.sh: New file, based on
7484         tests/test-c32srtombs-4.sh.
7485         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
7487         c32stombs: New module.
7488         * lib/uchar.in.h (c32stombs): New declaration.
7489         * lib/c32stombs.c: New file.
7490         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
7491         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
7492         * modules/c32stombs: New file.
7493         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
7494         * doc/posix-functions/wcstombs.texi: Mention the new module.
7496 2020-01-11  Jim Meyering  <meyering@fb.com>
7498         perl: require the "warnings" module
7499         * m4/perl.m4: Also "use warnings", so we reject the perl found
7500         on at least one IRIX 6.5 system. Reported by Bruno Haible in
7501         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
7503 2020-01-10  Bruno Haible  <bruno@clisp.org>
7505         Fix major regression from 2020-01-04.
7506         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
7507         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
7508         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
7509         AC_DEFUN_ONCE.
7510         (AC_CHECK_DECL): Invoke, not require, it.
7512 2020-01-10  Bruno Haible  <bruno@clisp.org>
7514         c32snrtombs: Add tests.
7515         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
7516         * tests/test-c32snrtombs-1.sh: New file, based on
7517         tests/test-wcsnrtombs1.sh.
7518         * tests/test-c32snrtombs-2.sh: New file, based on
7519         tests/test-wcsnrtombs2.sh.
7520         * tests/test-c32snrtombs-3.sh: New file, based on
7521         tests/test-wcsnrtombs3.sh.
7522         * tests/test-c32snrtombs-4.sh: New file, based on
7523         tests/test-wcsnrtombs4.sh.
7524         * modules/c32snrtombs-tests: New file, based on
7525         modules/wcsnrtombs-tests.
7527         c32snrtombs: New module.
7528         * lib/uchar.in.h (c32snrtombs): New declaration.
7529         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
7530         INTERNAL_STATE, WCRTOMB.
7531         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
7532         * lib/c32snrtombs.c: New file.
7533         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
7534         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
7535         * modules/c32snrtombs: New file.
7536         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
7537         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
7539 2020-01-09  Bruno Haible  <bruno@clisp.org>
7541         c32srtombs: Add tests.
7542         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
7543         * tests/test-c32srtombs-1.sh: New file, based on
7544         tests/test-wcsrtombs1.sh.
7545         * tests/test-c32srtombs-2.sh: New file, based on
7546         tests/test-wcsrtombs2.sh.
7547         * tests/test-c32srtombs-3.sh: New file, based on
7548         tests/test-wcsrtombs3.sh.
7549         * tests/test-c32srtombs-4.sh: New file, based on
7550         tests/test-wcsrtombs4.sh.
7551         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
7553         c32srtombs: New module.
7554         * lib/uchar.in.h (c32srtombs): New declaration.
7555         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
7556         INTERNAL_STATE, WCRTOMB.
7557         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
7558         * lib/c32srtombs.c: New file.
7559         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
7560         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
7561         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
7562         * modules/c32srtombs: New file.
7563         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
7564         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
7566 2020-01-08  Bruno Haible  <bruno@clisp.org>
7568         c32tob: Make consistent with mbrtoc32.
7569         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
7570         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
7571         use c32rtomb, not wctob.
7572         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
7573         (Depends-on): Add c32rtomb.
7574         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
7576 2020-01-08  Bruno Haible  <bruno@clisp.org>
7578         c32rtomb: Add tests.
7579         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
7580         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
7581         * tests/test-c32rtomb-w32.c: New file, based on
7582         tests/test-wcrtomb-w32.c.
7583         * tests/test-c32rtomb-w32-1.sh: New file, based on
7584         tests/test-wcrtomb-w32-1.sh.
7585         * tests/test-c32rtomb-w32-2.sh: New file, based on
7586         tests/test-wcrtomb-w32-2.sh.
7587         * tests/test-c32rtomb-w32-3.sh: New file, based on
7588         tests/test-wcrtomb-w32-3.sh.
7589         * tests/test-c32rtomb-w32-4.sh: New file, based on
7590         tests/test-wcrtomb-w32-4.sh.
7591         * tests/test-c32rtomb-w32-5.sh: New file, based on
7592         tests/test-wcrtomb-w32-5.sh.
7593         * tests/test-c32rtomb-w32-6.sh: New file, based on
7594         tests/test-wcrtomb-w32-6.sh.
7595         * tests/test-c32rtomb-w32-7.sh: New file, based on
7596         tests/test-wcrtomb-w32-7.sh.
7597         * modules/c32rtomb-tests: New file.
7599         c32rtomb: New module.
7600         * lib/uchar.in.h (c32rtomb): New declaration.
7601         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
7602         * m4/c32rtomb.m4: New file.
7603         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
7604         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
7605         REPLACE_C32RTOMB.
7606         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
7607         HAVE_C32RTOMB, REPLACE_C32RTOMB.
7608         * modules/c32rtomb: New file.
7609         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
7610         * doc/posix-functions/c32rtomb.texi: Document the new module.
7611         * doc/posix-functions/wcrtomb.texi: Mention the new module.
7613 2020-01-08  Bruno Haible  <bruno@clisp.org>
7615         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
7616         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
7617         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
7618         but is not working.
7619         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
7620         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
7621         differ, use the system's mbrtoc32, adding workarounds.
7622         * modules/mbrtoc32 (Depends-on): Add hard-locale.
7623         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
7624         Windows problem.
7625         * lib/btoc32.c: Include <stdio.h>, <string.h>.
7626         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
7627         use mbrtoc32, not btowc.
7628         * modules/btoc32 (Depends-on): Add mbrtoc32.
7629         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
7630         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
7631         * modules/mbsrtoc32s (Depends-on): Update conditions.
7632         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
7633         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
7634         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
7635         * modules/mbsnrtoc32s (Depends-on): Update conditions.
7636         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
7638 2020-01-07  Bruno Haible  <bruno@clisp.org>
7640         wcrtomb: Make multithread-safe, except possibly on IRIX.
7641         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
7642         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
7643         WCRTOMB_RETVAL_BUG.
7644         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
7645         wctomb only on IRIX.
7647 2020-01-05  Jim Meyering  <meyering@fb.com>
7649         tests: skip thread-using tests when threading is disabled
7650         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
7651         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
7652         of those, so they are skipped in this case.
7653         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
7654         * tests/test-setlocale_null-mt-all.c (main): Likewise.
7655         * tests/test-setlocale_null-mt-one.c (main): Likewise.
7657 2020-01-05  Bruno Haible  <bruno@clisp.org>
7659         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
7660         Reported by Jim Meyering in
7661         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
7662         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
7663         (GNULIB_defined_ptsname_r): New macro.
7664         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
7665         (main): Disable the NULL argument test if canonicalize_file_name does
7666         not come from gnulib.
7667         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
7668         (main): Disable the NULL argument test if canonicalize_file_name does
7669         not come from gnulib.
7670         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
7671         (test_errors): Disable the NULL argument test if ptsname_r does not come
7672         from gnulib.
7674 2020-01-04  Jim Meyering  <meyering@fb.com>
7676         update-copyright: reenable its always-skipped test
7677         * tests/test-update-copyright.sh: Restore the "-pi" options removed
7678         on 2019-06-15. Without those, an internal preliminary test would
7679         fail, causing this test always to be skipped.
7680         Verify that the test is now run and passes via this:
7681           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
7683 2020-01-05  Bruno Haible  <bruno@clisp.org>
7685         mbstoc32s: Add tests.
7686         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
7687         * tests/test-mbstoc32s-1.sh: New file, based on
7688         tests/test-mbsrtoc32s-1.sh.
7689         * tests/test-mbstoc32s-2.sh: New file, based on
7690         tests/test-mbsrtoc32s-2.sh.
7691         * tests/test-mbstoc32s-3.sh: New file, based on
7692         tests/test-mbsrtoc32s-3.sh.
7693         * tests/test-mbstoc32s-4.sh: New file, based on
7694         tests/test-mbsrtoc32s-4.sh.
7695         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
7697         mbstoc32s: New module.
7698         * lib/uchar.in.h (mbstoc32s): New declaration.
7699         * lib/mbstoc32s.c: New file.
7700         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
7701         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
7702         * modules/mbstoc32s: New file.
7703         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
7704         * doc/posix-functions/mbstowcs.texi: Mention the new module.
7706 2020-01-05  Bruno Haible  <bruno@clisp.org>
7708         Tweak recently added tests.
7709         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
7710         * tests/test-mbsrtoc32s.c: Likewise.
7711         * tests/test-mbsnrtoc32s.c: Likewise.
7713 2020-01-04  Bruno Haible  <bruno@clisp.org>
7715         mbsnrtoc32s: Add tests.
7716         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
7717         * tests/test-mbsnrtoc32s-1.sh: New file, based on
7718         tests/test-mbsnrtowcs1.sh.
7719         * tests/test-mbsnrtoc32s-2.sh: New file, based on
7720         tests/test-mbsnrtowcs2.sh.
7721         * tests/test-mbsnrtoc32s-3.sh: New file, based on
7722         tests/test-mbsnrtowcs3.sh.
7723         * tests/test-mbsnrtoc32s-4.sh: New file, based on
7724         tests/test-mbsnrtowcs4.sh.
7725         * modules/mbsnrtoc32s-tests: New file, based on
7726         modules/mbsnrtowcs-tests.
7728         mbsnrtoc32s: New module.
7729         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
7730         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
7731         INTERNAL_STATE, MBRTOWC.
7732         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
7733         * lib/mbsnrtoc32s.c: New file.
7734         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
7735         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
7736         * modules/mbsnrtoc32s: New file.
7737         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
7738         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
7740 2020-01-04  Bruno Haible  <bruno@clisp.org>
7742         mbsrtoc32s tests: Enhance test.
7743         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
7744         test strings for UTF-8 and GB18030.
7746 2020-01-04  Bruno Haible  <bruno@clisp.org>
7748         mbsrtoc32s: Fix bug.
7749         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
7750         that SMALL_WCHAR_T is defined.
7752 2020-01-04  Bruno Haible  <bruno@clisp.org>
7754         mbsrtoc32s: Add tests.
7755         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
7756         * tests/test-mbsrtoc32s-1.sh: New file, based on
7757         tests/test-mbsrtowcs1.sh.
7758         * tests/test-mbsrtoc32s-2.sh: New file, based on
7759         tests/test-mbsrtowcs2.sh.
7760         * tests/test-mbsrtoc32s-3.sh: New file, based on
7761         tests/test-mbsrtowcs3.sh.
7762         * tests/test-mbsrtoc32s-4.sh: New file, based on
7763         tests/test-mbsrtowcs4.sh.
7764         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
7766         mbsrtoc32s: New module.
7767         * lib/uchar.in.h (mbsrtoc32s): New declaration.
7768         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
7769         INTERNAL_STATE, MBRTOWC.
7770         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
7771         * lib/mbsrtoc32s.c: New file.
7772         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
7773         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
7774         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
7775         * modules/mbsrtoc32s: New file.
7776         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
7777         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
7779 2020-01-04  Bruno Haible  <bruno@clisp.org>
7781         mbrtowc, mbrtoc32: Tighten dependendies.
7782         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
7783         REPLACE_MBSTATE_T is 1.
7784         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
7785         REPLACE_MBSTATE_T is 0.
7786         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
7787         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
7788         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
7789         REPLACE_MBSTATE_T is 0.
7791 2020-01-04  Bruno Haible  <bruno@clisp.org>
7793         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
7794         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
7795         * modules/uchar (Files): Add stdint.m4.
7796         (Makefile.am): Substitute SMALL_WCHAR_T.
7797         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
7799 2020-01-04  Bruno Haible  <bruno@clisp.org>
7801         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
7802         Reported by Martin Storsjö <martin@martin.st> in
7803         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
7804         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
7805         New macros.
7806         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
7808 2020-01-04  Bruno Haible  <bruno@clisp.org>
7810         btoc32: Add tests.
7811         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
7812         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
7813         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
7814         * modules/btoc32-tests: New file, based on modules/btowc-tests.
7816         btoc32: New module.
7817         * lib/uchar.in.h (btoc32): New declaration.
7818         * lib/btoc32.c: New file.
7819         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
7820         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
7821         * modules/btoc32: New file.
7822         * tests/test-uchar-c++.cc: Test the signature of btoc32.
7823         * doc/posix-functions/btowc.texi: Mention the new module.
7825 2020-01-03  Bruno Haible  <bruno@clisp.org>
7827         uchar tests: Avoid compilation error with HP cc.
7828         * tests/test-uchar.c: Disable a test when HP cc is in use.
7830 2020-01-03  Bruno Haible  <bruno@clisp.org>
7832         mbrtoc32: Add tests.
7833         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
7834         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
7835         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
7836         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
7837         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
7838         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
7839         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
7840         * tests/test-mbrtoc32-w32-1.sh: New file, based on
7841         tests/test-mbrtowc-w32-1.sh.
7842         * tests/test-mbrtoc32-w32-2.sh: New file, based on
7843         tests/test-mbrtowc-w32-2.sh.
7844         * tests/test-mbrtoc32-w32-3.sh: New file, based on
7845         tests/test-mbrtowc-w32-3.sh.
7846         * tests/test-mbrtoc32-w32-4.sh: New file, based on
7847         tests/test-mbrtowc-w32-4.sh.
7848         * tests/test-mbrtoc32-w32-5.sh: New file, based on
7849         tests/test-mbrtowc-w32-5.sh.
7850         * tests/test-mbrtoc32-w32-6.sh: New file, based on
7851         tests/test-mbrtowc-w32-6.sh.
7852         * tests/test-mbrtoc32-w32-7.sh: New file, based on
7853         tests/test-mbrtowc-w32-7.sh.
7854         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
7856         mbrtoc32: New module.
7857         * lib/uchar.in.h (mbrtoc32): New declaration.
7858         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
7859         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
7860         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
7861         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
7862         REPLACE_MBRTOC32.
7863         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
7864         HAVE_MBRTOC32, REPLACE_MBRTOC32.
7865         * modules/mbrtoc32: New file, based on modules/mbrtowc.
7866         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
7867         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
7868         $(LIB_MBRTOWC).
7869         * doc/posix-functions/mbrtoc32.texi: Document the new module.
7870         * doc/posix-functions/mbrtowc.texi: Mention the new module.
7872 2020-01-03  Bruno Haible  <bruno@clisp.org>
7874         mbrtowc: Refactor to share code with mbrtoc32.
7875         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
7876         * lib/mbrtowc-impl-utf8.h: Likewise.
7877         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
7878         mbrtowc-impl.h.
7879         * modules/mbrtowc (Files): Add the new files.
7881 2020-01-03  Jim Meyering  <meyering@fb.com>
7883         doc: fix time.texi wording
7884         * doc/posix-headers/time.texi (time.h): Typo.
7886 2020-01-03  Bruno Haible  <bruno@clisp.org>
7888         mbrtowc: Refactor locale charset dispatching.
7889         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
7890         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
7891         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
7892         localcharset.h, streq.h.
7893         (enc_t): Remove type.
7894         (locale_enc): Remove function.
7895         (cached_locale_enc): Remove variable.
7896         (locale_enc_cached): Remove function.
7897         (mbrtowc): Invoke locale_encoding_classification.
7898         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
7899         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
7900         lc-charset-dispatch.c.
7901         (configure.ac): Arrange to compile lc-charset-dispatch.c.
7903 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
7905         doc: mention 32-bit time_t issue
7906         * doc/posix-headers/sys_stat.texi (sys/stat.h):
7907         * doc/posix-headers/time.texi (time.h): Mention 2038.
7909 2020-01-03  Bruno Haible  <bruno@clisp.org>
7911         mbrtowc: Ensure the mbtowc_lock is unique.
7912         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
7913         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
7914         lib/setlocale_null.c.
7915         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
7916         glthread/lock.h. Include mbtowc-lock.h.
7917         (mbtowc_lock): Remove declaration.
7918         (mbrtowc): Use mbtowc_with_lock.
7919         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
7920         threads.h. Set LIB_MBRTOWC.
7921         (gl_PREREQ_MBTOWC_LOCK): New macro.
7922         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
7923         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
7924         (Depends-on): Remove lock.
7925         (configure.ac): Arrange to compile mbtowc-lock.c.
7926         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
7927         * modules/acl (Link): Likewise.
7928         * modules/argmatch (Link): Likewise.
7929         * modules/backup-rename (Link): Likewise.
7930         * modules/backupfile (Link): Likewise.
7931         * modules/closein (Link): Likewise.
7932         * modules/closeout (Link): Likewise.
7933         * modules/copy-file (Link): Likewise.
7934         * modules/csharpcomp (Link): Likewise.
7935         * modules/csharpexec (Link): Likewise.
7936         * modules/dfa (Link): Likewise.
7937         * modules/exclude (Link): Likewise.
7938         * modules/fnmatch (Link): Likewise.
7939         * modules/fnmatch-gnu (Link): Likewise.
7940         * modules/fnmatch-posix (Link): Likewise.
7941         * modules/glob (Link): Likewise.
7942         * modules/human (Link): Likewise.
7943         * modules/javacomp (Link): Likewise.
7944         * modules/javaexec (Link): Likewise.
7945         * modules/javaversion (Link): Likewise.
7946         * modules/mbfile (Link): Likewise.
7947         * modules/mbiter (Link): Likewise.
7948         * modules/mbmemcasecmp (Link): Likewise.
7949         * modules/mbmemcasecoll (Link): Likewise.
7950         * modules/mbrlen (Link): Likewise.
7951         * modules/mbscasecmp (Link): Likewise.
7952         * modules/mbscasestr (Link): Likewise.
7953         * modules/mbschr (Link): Likewise.
7954         * modules/mbscspn (Link): Likewise.
7955         * modules/mbsinit (Link): Likewise.
7956         * modules/mbslen (Link): Likewise.
7957         * modules/mbsncasecmp (Link): Likewise.
7958         * modules/mbsnlen (Link): Likewise.
7959         * modules/mbsnrtowcs (Link): Likewise.
7960         * modules/mbspbrk (Link): Likewise.
7961         * modules/mbspcasecmp (Link): Likewise.
7962         * modules/mbsrchr (Link): Likewise.
7963         * modules/mbsrtowcs (Link): Likewise.
7964         * modules/mbssep (Link): Likewise.
7965         * modules/mbsspn (Link): Likewise.
7966         * modules/mbsstr (Link): Likewise.
7967         * modules/mbstok_r (Link): Likewise.
7968         * modules/mbswidth (Link): Likewise.
7969         * modules/mbuiter (Link): Likewise.
7970         * modules/mkdir-p (Link): Likewise.
7971         * modules/propername (Link): Likewise.
7972         * modules/quote (Link): Likewise.
7973         * modules/quotearg (Link): Likewise.
7974         * modules/quotearg-simple (Link): Likewise.
7975         * modules/regex-quote (Link): Likewise.
7976         * modules/rpmatch (Link): Likewise.
7977         * modules/sh-quote (Link): Likewise.
7978         * modules/system-quote (Link): Likewise.
7979         * modules/trim (Link): Likewise.
7980         * modules/unistdio/ulc-asnprintf (Link): Likewise.
7981         * modules/unistdio/ulc-fprintf (Link): Likewise.
7982         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
7983         * modules/unistdio/ulc-vasprintf (Link): Likewise.
7984         * modules/unistdio/ulc-vfprintf (Link): Likewise.
7985         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
7986         * modules/unistdio/ulc-vsprintf (Link): Likewise.
7987         * modules/xfreopen (Link): Likewise.
7988         * modules/xmemcoll (Link): Likewise.
7989         * modules/yesno (Link): Likewise.
7990         * modules/regex (Link): Add $(LIB_MBRTOWC).
7991         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
7992         instead of $(LIBTHREAD).
7993         * modules/argmatch-tests (Makefile.am): Likewise.
7994         * modules/closein-tests (Makefile.am): Likewise.
7995         * modules/copy-file-tests (Makefile.am): Likewise.
7996         * modules/dfa-tests (Makefile.am): Likewise.
7997         * modules/fnmatch-tests (Makefile.am): Likewise.
7998         * modules/glob-tests (Makefile.am): Likewise.
7999         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
8000         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
8001         * modules/mbrtowc-tests (Makefile.am): Likewise.
8002         * modules/mbscasecmp-tests (Makefile.am): Likewise.
8003         * modules/mbscasestr-tests (Makefile.am): Likewise.
8004         * modules/mbschr-tests (Makefile.am): Likewise.
8005         * modules/mbscspn-tests (Makefile.am): Likewise.
8006         * modules/mbsinit-tests (Makefile.am): Likewise.
8007         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
8008         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
8009         * modules/mbspbrk-tests (Makefile.am): Likewise.
8010         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
8011         * modules/mbsrchr-tests (Makefile.am): Likewise.
8012         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
8013         * modules/mbsspn-tests (Makefile.am): Likewise.
8014         * modules/mbsstr-tests (Makefile.am): Likewise.
8015         * modules/quotearg-simple-tests (Makefile.am): Likewise.
8016         * modules/quotearg-tests (Makefile.am): Likewise.
8017         * modules/readtokens-tests (Makefile.am): Likewise.
8018         * modules/sh-quote-tests (Makefile.am): Likewise.
8019         * modules/system-quote-tests (Makefile.am): Likewise.
8020         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
8021         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
8022         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
8023         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
8024         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
8025         * modules/yesno-tests (Makefile.am): Likewise.
8026         * modules/exclude-tests (Makefile.am): Link the programs with
8027         $(LIB_MBRTOWC).
8028         * modules/regex-tests (Makefile.am): Likewise.
8029         * modules/regex-quote-tests (Makefile.am): Likewise.
8031 2020-01-03  Bruno Haible  <bruno@clisp.org>
8033         getopt-posix: Fix compilation failure in testdirs.
8034         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
8035         when the gnulib module 'getopt-posix' is enabled.
8036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
8037         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
8038         module indicator.
8039         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
8041 2020-01-03  Bruno Haible  <bruno@clisp.org>
8043         doc: Mention the 64-bit inode number problem.
8044         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
8045         64-bit inode number problem.
8046         * doc/posix-functions/stat.texi: Mention that this module fixes the
8047         64-bit inode number problem.
8048         * doc/posix-functions/lstat.texi: Likewise.
8049         * doc/posix-functions/fstat.texi: Likewise.
8050         * doc/posix-functions/readdir.texi: Add more details.
8051         * doc/posix-functions/readdir_r.texi: Likewise.
8053 2020-01-02  Bruno Haible  <bruno@clisp.org>
8055         wcrtomb: Add more tests.
8056         * tests/test-wcrtomb-w32.c: Include localcharset.h.
8057         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
8058         locale_charset() returns the expected value; otherwise, skip the test.
8059         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
8060         * tests/test-wcrtomb-w32-7.sh: Likewise.
8061         * modules/wcrtomb-tests (Files): Add these files.
8062         (Depends-on): Add localcharset.
8063         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
8065 2020-01-02  Bruno Haible  <bruno@clisp.org>
8067         mbrtowc: Add more tests.
8068         * tests/test-mbrtowc-w32.c: Include localcharset.h.
8069         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
8070         locale_charset() returns the expected value; otherwise, skip the test.
8071         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
8072         * tests/test-mbrtowc-w32-7.sh: Likewise.
8073         * modules/mbrtowc-tests (Files): Add these files.
8074         (Depends-on): Add localcharset.
8075         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
8077 2020-01-02  Bruno Haible  <bruno@clisp.org>
8079         mbrtowc: Fix test failures on MSVC (regression by previous commit).
8080         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
8081         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
8082         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
8083         MBRTOWC_STORES_INCOMPLETE_BUG.
8084         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
8086 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8088         doc: mention glibc bug 24269
8089         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
8090         Reformat slightly so that it looks nicer in the Grep manual.
8092 2020-01-02  Bruno Haible  <bruno@clisp.org>
8094         mbrtowc: Don't replace mbstate_t on MSVC.
8095         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
8096         a missing mbsinit function on native Windows.
8097         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
8098         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
8099         MSVC bug.
8100         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
8102 2020-01-02  Bruno Haible  <bruno@clisp.org>
8104         setlocale-null: Avoid crashing the MSVC linker.
8105         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
8106         MSVC.
8108 2020-01-02  Bruno Haible  <bruno@clisp.org>
8110         wchar: Make the HP-UX workaround work on HP-UX 11.31.
8111         * modules/wchar (Depends-on): Add inttypes-incomplete.
8112         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
8113         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
8114         of strtoimax.
8116 2020-01-02  Bruno Haible  <bruno@clisp.org>
8118         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
8119         * lib/mbrtowc.c: Include <stdint.h>.
8120         * modules/mbrtowc (Depends-on): Add stdint.
8122 2020-01-01  Pádraig Brady  <P@draigBrady.com>
8124         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
8125         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
8126         which will auto enable use of openssl, only for >= version 3,
8127         which is newly licensed under the Apache Software License.
8129 2020-01-01  Bruno Haible  <bruno@clisp.org>
8131         mbrtowc: Include function name in macro names.
8132         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
8133         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
8134         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
8135         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
8136         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
8137         C_LOCALE_MAYBE_EILSEQ.
8139 2020-01-01  Bruno Haible  <bruno@clisp.org>
8141         c32tob: New module.
8142         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
8143         (c32tob): New declaration.
8144         * lib/c32tob.c: New file.
8145         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
8146         macros.
8147         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
8148         * modules/uchar (Depends-on): Add snippet/c++defs.
8149         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
8150         uchar.h.
8151         * modules/c32tob: New file.
8152         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
8153         defined.
8154         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
8155         c32tob.
8156         * modules/uchar-c++-tests (Files): Add tests/signature.h.
8157         * doc/posix-functions/wctob.texi: Mention the new module.
8159 2020-01-01  Bruno Haible  <bruno@clisp.org>
8161         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
8162         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
8163         $(LIB_SETLOCALE).
8165 2020-01-01  Bruno Haible  <bruno@clisp.org>
8167         hard-locale tests: Fix a conflict with the C++ tests.
8168         * modules/hard-locale-tests (Makefile.am): Build a program named
8169         'current-locale', not 'locale'.
8171 2020-01-01  Bruno Haible  <bruno@clisp.org>
8173         doc: Update documentation about wchar_t.
8174         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
8175         wchar_t type.
8177 2020-01-01  Bruno Haible  <bruno@clisp.org>
8179         mbrtowc tests: Fix typos.
8180         * tests/test-mbrtowc.c (main): Fix typo.
8181         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
8183 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
8185         maint: update copyright notices
8186         Before doing the following changes done by hand, I also ran ‘make
8187         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
8188         to do most of the copyright years automatically.  A few upstream
8189         sources are still in 2019 but these should eventually be changed
8190         automatically too.
8191         * build-aux/declared.sh (func_version):
8192         * build-aux/libtool-next-version (func_version):
8193         * build-aux/run-test (func_version):
8194         Update these notices by hand.  Put just the last year
8195         in output of programs, as per GNU coding standards.
8197 2019-12-31  Bruno Haible  <bruno@clisp.org>
8199         uchar: Add C++ tests.
8200         * tests/test-uchar-c++.cc: New file.
8201         * tests/test-uchar-c++2.cc: New file.
8202         * modules/uchar-c++-tests: New file.
8204         uchar: Add tests.
8205         * tests/test-uchar.c: New file.
8206         * modules/uchar-tests: New file.
8208         uchar: New module.
8209         * lib/uchar.in.h: New file.
8210         * m4/uchar.m4: New file.
8211         * modules/uchar: New file.
8212         * doc/posix-headers/uchar.texi: Mention the new module.
8214 2019-12-30  Jim Meyering  <meyering@fb.com>
8216         localeinfo: ->simple would be wrong for LC_ALL=C
8217         That would lead to using unnecessary and expensive code paths in dfa.c.
8218         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
8219         error that would have made grep many times slower in the C locale.
8220         With this change, and a file created like this:
8221           yes 00 | head -10000000 > in
8222         Running grep as follows becomes more than 40 times faster:
8223           LC_ALL=C grep -Fw 0 in
8225 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8227         doc: document trouble with back-references
8228         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
8230 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8232         doc: use “back-reference” for \1 etc.
8233         * doc/regex.texi: Consistently spell “back-reference” with
8234         a hyphen, since that’s how POSIX does it.
8236 2019-12-26  Jim Meyering  <meyering@fb.com>
8238         test-framework-sh: tighten an internal grep regexp
8239         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
8240         that helps test for a working printf.
8242 2019-12-26  Bruno Haible  <bruno@clisp.org>
8244         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
8245         Reported by Paul Eggert in
8246         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
8247         Simplification by Jim Meyering.
8248         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
8249         octal escape sequence in a UTF-8 locale.
8251 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
8253         mbrtowc: port better to narrow-wchar_t platforms
8254         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
8255         wchar_t is too narrow to represent all the Unicode characters,
8256         consider a byte sequence for an out-of-wchar_t-range character to
8257         be an encoding error.  This fixes grep’s surrogate-pair test
8258         failure on AIX 7.2.
8260 2019-12-24  Bruno Haible  <bruno@clisp.org>
8262         localcharset: Avoid referencing rpl_setlocale on native Windows.
8263         * lib/localcharset.c (setlocale): Undefine.
8265 2019-12-24  Bruno Haible  <bruno@clisp.org>
8267         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
8268         * m4/semaphore.m4: New file.
8269         * modules/lock-tests (Files): Add it.
8270         (configure.ac): Require gl_SEMAPHORE.
8271         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
8273 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
8275         strptime: fix typo in previous patch
8276         Problem and fix reported by Bruno Haible in:
8277         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
8278         * lib/strptime.c (day_of_the_week): Fix paren bug.
8280 2019-12-24  Bruno Haible  <bruno@clisp.org>
8282         setlocale-null: Make it easy to rely on the lock in another library.
8283         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
8284         defined.
8286 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
8288         gethrxtime, mktime, nstrftime, strptime: tweak division performance
8289         Performanced analyzed by Bruno Haible in:
8290         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
8291         * config/srclist.txt: Do not sync mktime.c for now.
8292         * lib/mktime.c (shr, ydhms_diff):
8293         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
8294         * lib/strptime.c (day_of_the_week):
8295         * lib/xtime.h (xtime_sec):
8296         Redo with neither ‘%’ nor conditional branches.
8298 2019-12-23  Bruno Haible  <bruno@clisp.org>
8300         setlocale-null: Export the lock function also on non-Windows platforms.
8301         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
8302         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
8303         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
8304         * modules/setlocale-null (configure.ac): Invoke it.
8305         (Files): Add m4/visibility.m4.
8307 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8309         gethrxtime: fix rounding bug with negative args
8310         Problem reported by Bruno Haible in:
8311         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
8312         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
8313         with negative rounding.  Common platforms can compute / and % with
8314         a single instruction, so the simplified code should be shorter and
8315         faster on these platforms anyway.
8317 2019-12-22  Bruno Haible  <bruno@clisp.org>
8319         gethrxtime: remove incorrect overflow detection
8320         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
8321         integer overflow, as it didn’t suffice.  This reverts the xtime.h
8322         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
8323         cannot now see the need for anyway (even in cases where it works),
8324         as the patch is helpful only when the signs of S and NS disagree,
8325         and all callers pass nonnegative values for S and NS.
8327 2019-12-22  Bruno Haible  <bruno@clisp.org>
8329         setlocale-null: Add standalone include file.
8330         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
8331         * lib/locale.in.h: Include setlocale_null.h.
8332         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
8333         setlocale_null): Remove declarations.
8334         * lib/setlocale_null.c: Include setlocale_null.h.
8335         * lib/localename.c: Likewise.
8336         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
8337         (Depends-on): Add snippet/arg-nonnull.
8338         (Include): Allow either "setlocale_null.h" or <locale.h>.
8340 2019-12-22  Bruno Haible  <bruno@clisp.org>
8342         strfmon_l: Fix test failures on FreeBSD and Cygwin.
8343         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
8344         AC_RUN_IFELSE test.
8345         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
8346         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
8347         problem.
8349 2019-12-22  Bruno Haible  <bruno@clisp.org>
8351         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
8352         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
8353         unconditional AC_LIBOBJ.
8354         * modules/selinux-at: Likewise.
8355         * modules/xmemdup0: Likewise.
8356         * modules/xstrtoll: Likewise.
8358 2019-12-22  Bruno Haible  <bruno@clisp.org>
8360         longlong: Mark module obsolete.
8361         * modules/longlong (Status, Notice): New sections.
8363         stdint: Assume that the compiler supports 'long long'.
8364         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
8365         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
8366         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
8367         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
8368         AC_TYPE_UNSIGNED_LONG_LONG_INT.
8369         * modules/stdint (Files): Remove longlong.m4.
8370         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
8371         HAVE_UNSIGNED_LONG_LONG_INT.
8373         inttypes-incomplete: Assume that the compiler supports 'long long'.
8374         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
8375         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
8376         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
8377         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
8378         HAVE_LONG_LONG_INT to be 1.
8379         * modules/inttypes-incomplete (Makefile.am): Don't substitute
8380         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
8382         malloca: Assume that the compiler supports 'long long'.
8383         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
8384         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
8385         * modules/malloca (Files): Remove longlong.m4.
8386         * modules/relocatable-prog-wrapper (Files): Likewise.
8388         atoll: Assume that the compiler supports 'long long'.
8389         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
8390         * modules/atoll (Files): Remove longlong.m4.
8392         strtoll: Assume that the compiler supports 'long long'.
8393         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
8394         * modules/strtoll (Files): Remove longlong.m4.
8396         strtoull: Assume that the compiler supports 'long long'.
8397         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
8398         AC_TYPE_UNSIGNED_LONG_LONG_INT.
8399         * modules/strtoull (Files): Remove longlong.m4.
8401         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
8402         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
8403         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
8404         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
8405         AC_TYPE_LONG_LONG_INT.
8406         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
8407         AC_TYPE_UNSIGNED_LONG_LONG_INT.
8408         * modules/strtoimax (Files): Remove longlong.m4.
8409         * modules/strtoumax (Files): Likewise.
8411         xstrtoll: Assume that the compiler supports 'long long'.
8412         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
8413         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
8415         vasnprintf: Assume that the compiler supports 'long long'.
8416         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
8417         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
8418         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
8419         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
8420         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
8421         require AC_TYPE_LONG_LONG_INT.
8422         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
8423         gl_PREREQ_VASNPRINTF): Likewise.
8424         * modules/vasnprintf (Files): Remove longlong.m4.
8425         * modules/c-vasnprintf (Files): Likewise.
8426         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8427         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8428         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8429         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8430         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8431         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8432         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8434         gethrxtime: Assume that the compiler supports 'long long'.
8435         * lib/xtime.h (xtime_t): Define to 'long long int' always.
8436         (XTIME_PRECISION): Define to 1000000000 always.
8437         (xtime_make, xtime_sec): Optimize accordingly.
8438         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
8439         * modules/gethrxtime (Files): Remove longlong.m4.
8441         integer_length*: Assume that the compiler supports 'long long'.
8442         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
8443         * modules/integer_length (Files): Remove longlong.m4.
8444         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
8445         * modules/integer_length_l (Files): Remove longlong.m4.
8446         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
8447         * modules/integer_length_ll (Files): Remove longlong.m4.
8448         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
8450         count-one-bits: Assume that the compiler supports 'long long'.
8451         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
8452         * m4/count-one-bits.m4: Remove file.
8453         * modules/count-one-bits (Files): Remove it.
8454         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
8455         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
8456         unconditionally.
8458         count-trailing-zeros: Assume that the compiler supports 'long long'.
8459         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
8460         unconditionally.
8461         * m4/count-trailing-zeros.m4: Remove file.
8462         * modules/count-trailing-zeros (Files): Remove it.
8463         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
8464         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
8465         unconditionally.
8467         count-leading-zeros: Assume that the compiler supports 'long long'.
8468         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
8469         unconditionally.
8470         * m4/count-leading-zeros.m4: Remove file.
8471         * modules/count-leading-zeros (Files): Remove it.
8472         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
8473         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
8474         unconditionally.
8476 2019-12-22  Bruno Haible  <bruno@clisp.org>
8478         localcharset: Update support for OpenBSD.
8479         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
8481 2019-12-21  Bruno Haible  <bruno@clisp.org>
8483         pthread_sigmask: Avoid test failure on NetBSD 8.0.
8484         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
8485         NetBSD.
8486         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
8488 2019-12-21  Bruno Haible  <bruno@clisp.org>
8490         threadlib: Improve code structure.
8491         * m4/threadlib.m4: Reorder macros. Add comments.
8493 2019-12-21  Bruno Haible  <bruno@clisp.org>
8495         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
8496         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
8497         here from m4/threads.m4).
8498         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
8499         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
8500         (gl_STDTHREADLIB): New macro.
8501         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
8502         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
8504 2019-12-21  Bruno Haible  <bruno@clisp.org>
8506         sched_yield: Don't depend on threadlib and yield.
8507         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
8508         LIB_SCHED_YIELD.
8509         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
8510         m4/yield.m4).
8511         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
8512         gl_THREADLIB and gl_YIELD.
8513         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
8514         based on $(LIB_SCHED_YIELD).
8515         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
8516         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
8517         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
8518         (Depends-on): Remove threadlib.
8519         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
8520         * modules/threads-h (Files): Remove m4/yield.m4.
8521         * modules/pthread-cond-tests (Makefile.am): Link the programs against
8522         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
8523         * modules/pthread-mutex-tests (Makefile.am): Likewise.
8524         * modules/pthread-once-tests (Makefile.am): Likewise.
8525         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
8526         * modules/pthread-tss-tests (Makefile.am): Likewise.
8528 2019-12-21  Bruno Haible  <bruno@clisp.org>
8530         threads-h: Don't depend on threadlib.
8531         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
8532         not gl_THREADLIB_EARLY.
8534 2019-12-21  Bruno Haible  <bruno@clisp.org>
8536         nl_langinfo tests: Fix link error (regression from 2019-12-18).
8537         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
8538         with $(LIB_SETLOCALE).
8540 2019-12-21  Bruno Haible  <bruno@clisp.org>
8542         threadlib: Remove unused dependency (left over from 2019-07-06).
8543         * modules/threadlib (Depends-on): Remove havelib.
8545 2019-12-21  Bruno Haible  <bruno@clisp.org>
8547         New convention for multithread-safety tests.
8548         * tests/test-setlocale_null-mt-one.c: Renamed from
8549         tests/test-setlocale_null-one.c.
8550         * tests/test-setlocale_null-mt-all.c: Renamed from
8551         tests/test-setlocale_null-all.c.
8552         * modules/setlocale-null-tests (Files, Makefile.am): Update.
8554 2019-12-21  Bruno Haible  <bruno@clisp.org>
8556         quotearg tests: Fix conflict with hard-locale tests.
8557         * tests/testlocale: Renamed from tests/locale.
8558         * modules/quotearg-tests (Files): Update.
8559         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
8561 2019-12-21  Bruno Haible  <bruno@clisp.org>
8563         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
8564         Reported by Daniel Richard G. in
8565         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
8566         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
8567         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
8568         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
8569         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
8570         alternative to PTHREAD_RWLOCK_INITIALIZER.
8571         * lib/glthread/lock.c: Likewise.
8573 2019-12-21  Bruno Haible  <bruno@clisp.org>
8575         memcmp tests: Work around the clang bug.
8576         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
8577         the clang optimization.
8579 2019-12-20  Bruno Haible  <bruno@clisp.org>
8581         localcharset: Add support for z/OS encoding names.
8582         * lib/localcharset.h: Mention which encodings are used as locale
8583         encodings on z/OS.
8585 2019-12-20  Bruno Haible  <bruno@clisp.org>
8587         iconv_open: Add support for z/OS encoding names.
8588         Reported by Daniel Richard G. in
8589         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
8590         * lib/iconv_open-zos.gperf: New file.
8591         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
8592         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
8593         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
8594         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
8595         * doc/posix-functions/iconv_open.texi: Mention z/OS.
8597 2019-12-20  Bruno Haible  <bruno@clisp.org>
8599         doc: Document the problem of the per-thread locale functions on z/OS.
8600         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
8601         * doc/posix-functions/newlocale.texi: Likewise.
8602         * doc/posix-functions/duplocale.texi: Likewise.
8603         * doc/posix-functions/freelocale.texi: Likewise.
8605 2019-12-20  Bruno Haible  <bruno@clisp.org>
8607         localename, gettext: Fix host_os value for z/OS.
8608         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
8609         cross-configuration code.
8611 2019-12-19  Jim Meyering  <meyering@fb.com>
8613         nstrftime: avoid a shadowing warning
8614         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
8615         to avoid shadowing an "i" declared hundreds of lines above.
8617 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8619         dfa: struct dfamust now uses flexible array
8620         * lib/dfa.c: Include flexmember.h.
8621         (dfamust, dfamustfree): Adjust to struct dfamust change.
8622         This saves a call to malloc+free.
8623         * lib/dfa.h (struct dfamust): Make the final member a
8624         flexible array member.
8625         * modules/dfa (Depends-on): Add flexmember.
8627         dfa: fast->small for array elements
8628         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
8629         since this type is used in arrays.  This change is more for
8630         documentation than for any practical effect, since the two types
8631         are the same on all known platforms.
8633 2019-12-19  Bruno Haible  <bruno@clisp.org>
8635         iconv tests: Test canonicalized, not system-dependent, encoding names.
8636         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
8637         * modules/iconv-tests (Depends-on): Add iconv_open.
8639 2019-12-18  Bruno Haible  <bruno@clisp.org>
8641         localename: Fix test failure on AIX 7.2.
8642         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
8643         locales on AIX.
8644         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
8645         locales on AIX.
8647 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8649         Improve port of AC_C_RESTRICT to Oracle C++
8650         Problem reported by Christian Biesinger in:
8651         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
8652         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
8653         Oracle Developer Studio C++ 12.5 or later.
8655 2019-12-18  Bruno Haible  <bruno@clisp.org>
8657         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
8658         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
8660 2019-12-18  Bruno Haible  <bruno@clisp.org>
8662         localename: Ensure multithread-safety in future changes.
8663         * lib/localename.c (setlocale): Reference the system's setlocale().
8664         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
8665         (gl_locale_name_posix): Likewise.
8666         * modules/localename (Depends-on): Add setlocale-null.
8668 2019-12-18  Bruno Haible  <bruno@clisp.org>
8670         setlocale-null: Make API more useful.
8671         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
8672         callers changed.
8673         (setlocale_null): New declaration.
8674         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
8675         extracted from setlocale_null_unlocked.
8676         (setlocale_null_unlocked): Invoke it.
8677         (setlocale_null_r): Renamed from setlocale_null.
8678         (setlocale_null): New function, extracted from setlocale_mtsafe in
8679         setlocale.c.
8680         * lib/setlocale.c: Don't include <errno.h>.
8681         (setlocale_mtsafe): Invoke setlocale_null.
8682         * lib/setlocale-lock.c: Update comments.
8683         * doc/posix-functions/setlocale.texi: Mention both functions.
8685 2019-12-18  Bruno Haible  <bruno@clisp.org>
8687         localename: Optimize code for native Windows.
8688         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
8689         category (not allowed here).
8691 2019-12-18  Bruno Haible  <bruno@clisp.org>
8693         setlocale: Make calls with NULL argument multithread-safe.
8694         * lib/setlocale.c: Include <errno.h>.
8695         (setlocale_mtsafe): New function.
8696         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
8697         (setlocale_improved): Renamed from rpl_setlocale.
8698         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
8699         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
8700         LIB_SETLOCALE.
8701         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
8702         (Link): New section.
8703         * tests/locale.c: Undefine setlocale.
8704         * tests/test-setlocale_null-one.c: Likewise.
8705         * tests/test-setlocale_null-all.c: Likewise.
8706         * modules/setlocale-tests (Makefile.am): Link the test programs with
8707         $(LIB_SETLOCALE).
8708         * modules/astrxfrm-tests (Makefile.am): Likewise.
8709         * modules/btowc-tests (Makefile.am): Likewise.
8710         * modules/c-ctype-tests (Makefile.am): Likewise.
8711         * modules/c-snprintf-tests (Makefile.am): Likewise.
8712         * modules/c-strcase-tests (Makefile.am): Likewise.
8713         * modules/c-vasprintf-tests (Makefile.am): Likewise.
8714         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
8715         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
8716         * modules/dfa-tests (Makefile.am): Likewise.
8717         * modules/duplocale-tests (Makefile.am): Likewise.
8718         * modules/hard-locale-tests (Makefile.am): Likewise.
8719         * modules/localcharset-tests (Makefile.am): Likewise.
8720         * modules/localename-tests (Makefile.am): Likewise.
8721         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
8722         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
8723         * modules/mbrtowc-tests (Makefile.am): Likewise.
8724         * modules/mbscasecmp-tests (Makefile.am): Likewise.
8725         * modules/mbscasestr-tests (Makefile.am): Likewise.
8726         * modules/mbschr-tests (Makefile.am): Likewise.
8727         * modules/mbscspn-tests (Makefile.am): Likewise.
8728         * modules/mbsinit-tests (Makefile.am): Likewise.
8729         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
8730         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
8731         * modules/mbspbrk-tests (Makefile.am): Likewise.
8732         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
8733         * modules/mbsrchr-tests (Makefile.am): Likewise.
8734         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
8735         * modules/mbsspn-tests (Makefile.am): Likewise.
8736         * modules/mbsstr-tests (Makefile.am): Likewise.
8737         * modules/nl_langinfo-tests (Makefile.am): Likewise.
8738         * modules/quotearg-tests (Makefile.am): Likewise.
8739         * modules/regex-tests (Makefile.am): Likewise.
8740         * modules/strfmon_l-tests (Makefile.am): Likewise.
8741         * modules/strtod-tests (Makefile.am): Likewise.
8742         * modules/strtold-tests (Makefile.am): Likewise.
8743         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
8744         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
8745         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
8746         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
8747         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
8748         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
8749         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
8750         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
8751         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
8752         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
8753         * modules/wcrtomb-tests (Makefile.am): Likewise.
8754         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
8755         * modules/wcsrtombs-tests (Makefile.am): Likewise.
8756         * modules/wcwidth-tests (Makefile.am): Likewise.
8757         * doc/posix-functions/setlocale.texi: Mention that the multithread-
8758         safety fix is also available in module 'setlocale'.
8760 2019-12-18  Bruno Haible  <bruno@clisp.org>
8762         hard-locale: Make multithread-safe.
8763         * lib/hard-locale.h (hard_locale): Move documentation to here.
8764         * lib/hard-locale.c: Don't include <stdlib.h>.
8765         (GLIBC_VERSION): Remove macro.
8766         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
8767         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
8768         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
8769         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
8770         (Link): New section.
8771         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
8772         $(LIB_HARD_LOCALE).
8774 2019-12-18  Bruno Haible  <bruno@clisp.org>
8776         hard-locale: Avoid test failure on Haiku.
8777         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
8779 2019-12-18  Bruno Haible  <bruno@clisp.org>
8781         setlocale-null: Handle NULL result from setlocale.
8782         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
8783         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
8784         from setlocale or _wsetlocale.
8786 2019-12-18  Bruno Haible  <bruno@clisp.org>
8788         hard-locale: Add test.
8789         * tests/test-hard-locale.c: New file.
8790         * tests/locale.c: New file.
8791         * modules/hard-locale-tests: New file.
8793 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
8795         dfa: do not match invalid UTF-8
8796         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
8797         from 5 to 9 tokens; this is needed due to the changes to
8798         add_utf8_anychar.
8799         (charclass_index): 2nd arg is now pointer-to-const.
8800         (add_utf8_anychar): Match only valid UTF-8 byte sequences
8801         instead of allowing overlong encodings or surrogate halves.
8803         dfa: simplify charclass by assuming C99
8804         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
8805         (charclass_word): Now always uint_fast64_t.
8806         (CHARCLASS_PAIR): Remove.
8807         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
8809         fts: tune via calloc
8810         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
8812         dfa: tune via xzalloc
8813         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
8815 2019-12-17  Bruno Haible  <bruno@clisp.org>
8817         localcharset: Fix multithread-safety bug on Windows and OS/2.
8818         * lib/localcharset.h (locale_charset): Clarify when the result becomes
8819         invalid.
8820         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
8821         assemble the result.
8823 2019-12-17  Bruno Haible  <bruno@clisp.org>
8825         localcharset: Optimize code for native Windows.
8826         * lib/localcharset.c (locale_charset): Don't bother calling
8827         setlocale (LC_ALL, NULL) since we're not interested in its result.
8829 2019-12-17  Bruno Haible  <bruno@clisp.org>
8831         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
8832         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
8833         setlocale.
8834         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
8835         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
8836         * modules/nl_langinfo (Depends-on): Add setlocale-null.
8838 2019-12-17  Bruno Haible  <bruno@clisp.org>
8840         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
8841         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
8842         stack-allocated buffer to assemble each result and different static
8843         buffers to return it.
8844         * tests/test-nl_langinfo-mt.c: New file.
8845         * modules/nl_langinfo-tests (Files): Add it.
8846         (Depends-on): Add thread, nanosleep.
8847         (Makefile.am): Build test-nl_langinfo-mt test.
8849 2019-12-17  Bruno Haible  <bruno@clisp.org>
8851         langinfo: Document more details.
8852         * doc/posix-headers/langinfo.texi: List platform details.
8853         * doc/posix-functions/nl_langinfo.texi: Likewise.
8855 2019-12-17  Bruno Haible  <bruno@clisp.org>
8857         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
8858         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
8859         and Martin Storsjö <martin@martin.st>
8860         in <https://savannah.gnu.org/bugs/?57406>.
8861         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
8862         mingw.
8864 2019-12-17  Bruno Haible  <bruno@clisp.org>
8866         glob: Avoid warning on mingw.
8867         Reported by Christian Biesinger <cbiesinger@google.com> in
8868         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
8869         * lib/glob.c (__stat64): Undefine first.
8871 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
8873         xalloc: tune xzalloc for fresh allocations
8874         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
8875         because when the memory is freshly allocated from the OS via sbrk
8876         or mmap, calloc can avoid doing the memset.
8878         dfa: new function dfacopysyntax
8879         * lib/dfa.c (struct dfa): Move syntax member later so
8880         that dfacopysyntax can easily clear earlier members.
8881         (dfacopysyntax): New function, used by Gawk.
8883 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
8885         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
8886         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
8887         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
8888         if not already defined.
8890         dfa: remove one dependency on MB_CUR_MAX
8891         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
8893         dfa: remove struct lexer_state.cur_mb_len
8894         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
8895         as it’s not needed and the code is simpler without it.
8896         All uses removed.
8898 2019-12-16  Bruno Haible  <bruno@clisp.org>
8900         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
8901         Reported by Arnold Robbins <arnold@skeeve.com>.
8902         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
8903         copied from lib/glthread/lock.h.
8904         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
8905         (setlocale_null_with_lock): If pthread_in_use() is false, use
8906         setlocale_null_unlocked directly.
8907         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
8908         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
8909         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
8910         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
8911         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
8912         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
8914 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
8916         dfa: make dfasyntax thread-safe
8917         Problem reported by Bruno Haible in:
8918         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
8919         * lib/dfa.c: Do not include locale.h.
8920         (struct dfa): Remove simple_locale member.
8921         All uses replaced by localeinfo.simple.
8922         (using_simple_locale): Remove; now present (with some
8923         changes) in localeinfo.c.
8924         (dfasyntax): No need to initialize removed member.
8926         localeinfo: record whether locale is simple
8927         * lib/localeinfo.c (using_simple_locale): New function,
8928         copied here from lib/dfa.c but with a change: it uses
8929         strcoll for its heuristic, instead of using setlocale.
8930         This lets it be thread-safe.
8931         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
8933 2019-12-15  Bruno Haible  <bruno@clisp.org>
8935         duplocale: Fix multithread-safety bug on AIX.
8936         * lib/duplocale.c: Don't include <stdlib.h>.
8937         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
8938         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
8939         Set LIB_DUPLOCALE.
8940         * modules/duplocale (Depends-on): Add setlocale-null.
8941         (Link): New section.
8942         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
8943         $(LIB_DUPLOCALE).
8945 2019-12-15  Bruno Haible  <bruno@clisp.org>
8947         setlocale-null: Add tests.
8948         * tests/test-setlocale_null.c: New file.
8949         * tests/test-setlocale_null-one.c: New file.
8950         * tests/test-setlocale_null-all.c: New file.
8951         * modules/setlocale-null-tests: New file.
8953         setlocale-null: New module.
8954         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
8955         setlocale_null): New declarations.
8956         * lib/setlocale_null.c: New file.
8957         * lib/setlocale-lock.c: New file.
8958         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
8959         * m4/setlocale_null.m4: New file.
8960         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
8961         GNULIB_SETLOCALE_NULL.
8962         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
8963         * modules/setlocale-null: New file.
8964         * doc/posix-functions/setlocale.texi: Mention the new module.
8966 2019-12-15  Bruno Haible  <bruno@clisp.org>
8968         lock tests: Skip test when no multithreading is enabled.
8969         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
8971 2019-12-14  Bruno Haible  <bruno@clisp.org>
8973         locale, duplocale, localename: Fix last patch.
8974         Reported by Daniel Richard G. in
8975         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
8976         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
8977         Don't define if locale_t does not exist.
8979 2019-12-13  Bruno Haible  <bruno@clisp.org>
8981         locale, duplocale, localename: Fix errors if locale_t does not exist.
8982         Reported by Daniel Richard G. in
8983         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
8984         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
8985         macros.
8986         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
8987         HAVE_NEWLOCALE.
8988         * tests/test-localename.c: Likewise.
8989         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
8990         HAVE_DUPLOCALE.
8991         * tests/test-locale-c++.cc: Likewise.
8993 2019-12-13  Bruno Haible  <bruno@clisp.org>
8995         wcstok: Fix test failure on HP-UX.
8996         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
8997         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
8999 2019-12-12  Bruno Haible  <bruno@clisp.org>
9001         strtod, strtold tests: Avoid test failure on AIX 7.2.
9002         * tests/test-strtod1.c (main): Allow implementations in which ',' and
9003         '.' both are radix characters.
9004         * tests/test-strtold1.c (main): Likewise.
9006 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9008         dfa: prefer ptrdiff_t for API, too
9009         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
9010         but do this only for internal use for now.
9011         * NEWS: Mention the API change.
9012         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
9013         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
9014         values known to be nonnegative.
9015         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
9016         Prefer idx_t or ptrdiff_t to size_t for API.
9017         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
9018         Prefer ptrdiff_t to size_t for API.
9020         stdalign: port to xlclang 16.01
9021         Problem reportd by Bruno Haible in:
9022         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
9023         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
9024         ((__aligned__ (...))) with xlclang, as a top-level
9025         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
9026         xlclang version 16.01.0000.0001; the alignment directive is ignored.
9028 2019-12-12  Bruno Haible  <bruno@clisp.org>
9030         duplocale: Fix test failure on AIX 7.2 with xlclang.
9031         * lib/duplocale.c: Include <stdlib.h>.
9032         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
9033         value.
9035 2019-12-12  Bruno Haible  <bruno@clisp.org>
9037         stddef: Document the AIX xlc issue.
9038         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
9040 2019-12-12  Bruno Haible  <bruno@clisp.org>
9042         duplocale: Don't attempt to override if locale_t does not exist.
9043         Reported by Daniel Richard G. in
9044         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
9045         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
9046         HAVE_DUPLOCALE to 0.
9048 2019-12-12  Bruno Haible  <bruno@clisp.org>
9050         wcwidth: Avoid test failure on AIX 7.2.
9051         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
9052         negative.
9053         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
9055 2019-12-12  Bruno Haible  <bruno@clisp.org>
9057         ilogbl: Work around Cygwin bug.
9058         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
9059         correct.
9060         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
9062 2019-12-12  Bruno Haible  <bruno@clisp.org>
9064         strtold: Work around Cygwin bug.
9065         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
9066         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
9067         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
9068         STRTOLD_HAS_UNDERFLOW_BUG is defined.
9069         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
9071 2019-12-12  Bruno Haible  <bruno@clisp.org>
9073         strtold: Fix autoconf test.
9074         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
9076 2019-12-11  Bruno Haible  <bruno@clisp.org>
9078         fsync tests: Skip test that is known to fail.
9079         * doc/posix-functions/fsync.texi: Update list of platforms.
9080         * tests/test-fsync.c (main): Skip test with read-only file descriptors
9081         that is known to fail on AIX and Cygwin.
9083 2019-12-11  Bruno Haible  <bruno@clisp.org>
9085         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
9086         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
9087         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
9088         HAVE_GETADDRINFO as a C macro.
9089         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
9090         declare as replacement functions.
9091         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
9092         define as no-op overrides.
9093         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
9094         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
9095         * modules/getaddrinfo (Depends-on, configure.ac): Test
9096         REPLACE_GETADDRINFO.
9097         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
9098         problem.
9099         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
9100         convention problems.
9102 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
9104         dfa: prefer signed integers for internals
9105         Signed integers can be checked more easily for integer overflow.
9106         * lib/dfa.c (position, struct lexer_state, struct parser_state)
9107         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
9108         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
9109         (nsubtoks, copytoks, closure, alloc_position_set, delete)
9110         (replace, state_index, epsclosure, charclass_context)
9111         (state_separate_contexts, merge_nfa_state, dfaoptimize)
9112         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
9113         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
9114         (comsubs, inboth, allocmust):
9115         Prefer a signed to an unsigned integer when calculating indexes,
9116         unless the integer is part of the external API (a bigger deal,
9117         and to be done later).
9119         dfa: fix index overflow
9120         * lib/dfa.c (compare): Avoid integer overflow when analyzing
9121         very large regular expressions.
9123         dfa: update commentary for previous change
9124         * NEWS: Mention the change.
9125         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
9127 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9129         dfa: separate parse and compile phase
9130         ‘dfamust’ must be called after parsing and before tokens are
9131         reordered, but both are executed in the compilation phase.
9132         Token reordering was introduced in Gnulib commit
9133         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
9134         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
9135         * lib/dfa.c (dfaparse): Change it to global function.
9136         (dfacomp): If first argument is NULL, skip parse.
9137         * lib/dfa.h: (dfaparse): Add a prototype.
9139 2019-12-11  Bruno Haible  <bruno@clisp.org>
9141         unistd tests: Fix link error on MSVC.
9142         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
9143         $(LIB_GETLOGIN).
9145 2019-12-11  Bruno Haible  <bruno@clisp.org>
9147         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
9148         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
9149         and POSIX substitutes are supported in C++ mode.
9150         * NEWS: Likewise.
9152 2019-12-11  Bruno Haible  <bruno@clisp.org>
9154         stddef: Fix compilation error in C++ mode on MSVC.
9155         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
9156         instead, include <cstddef>.
9158 2019-12-11  Bruno Haible  <bruno@clisp.org>
9160         unistd: Fix compilation error in C++ mode on MSVC.
9161         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
9162         does not have <unistd.h>.
9164 2019-12-11  Bruno Haible  <bruno@clisp.org>
9166         locale: Fix compilation error in C++ mode on MSVC.
9167         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
9168         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
9169         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
9170         int_n_sep_by_space): Define as macros on MSVC.
9172 2019-12-11  Bruno Haible  <bruno@clisp.org>
9174         wchar: Fix compilation error in C++ mode on MSVC.
9175         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
9177 2019-12-11  Bruno Haible  <bruno@clisp.org>
9179         pthread-thread: Fix compilation error in C++ mode on MSVC.
9180         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
9181         _GL_CXXALIAS_RPL invocation.
9183 2019-12-08  Bruno Haible  <bruno@clisp.org>
9185         Fix compilation errors in C++ mode on Haiku.
9186         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
9187         non-glibc systems.
9188         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
9189         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
9190         posix_spawnattr_setschedparam): Likewise.
9191         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
9192         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
9193         * lib/unistd.in.h (usleep): Likewise.
9195 2019-12-08  Bruno Haible  <bruno@clisp.org>
9197         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
9198         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
9199         * modules/fseeko (configure.ac-early): Require it instead of
9200         AC_FUNC_FSEEKO.
9201         * modules/ftello (configure.ac-early): Likewise.
9202         * modules/fflush (configure.ac-early): Likewise.
9204 2019-12-08  Bruno Haible  <bruno@clisp.org>
9206         Fix compilation error in C++ mode on HP-UX 11.
9207         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
9208         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
9210 2019-12-08  Bruno Haible  <bruno@clisp.org>
9212         Fix compilation errors on HP-UX 11/ia64.
9213         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
9214         _GL_FUNCDECL_SYS.
9216 2019-12-08  Bruno Haible  <bruno@clisp.org>
9218         Fix compilation error in C++ mode on OpenBSD.
9219         * lib/signal.in.h (signal): Declare on OpenBSD.
9221 2019-12-08  Bruno Haible  <bruno@clisp.org>
9223         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
9224         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
9225         instead of #error.
9227 2019-12-08  Bruno Haible  <bruno@clisp.org>
9229         Fix compilation errors in C++ mode on FreeBSD.
9230         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
9231         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
9232         * lib/threads.in.h (thrd_exit): Likewise.
9233         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
9235 2019-12-08  Bruno Haible  <bruno@clisp.org>
9237         Fix compilation errors in C++ mode on macOS and FreeBSD.
9238         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
9239         or FreeBSD with clang, use the approach without C preprocessor macro.
9241 2019-12-07  Bruno Haible  <bruno@clisp.org>
9243         Fix compilation errors in C++ mode on AIX with xlclang++.
9244         Reported by Christian Biesinger <cbiesinger@google.com> in
9245         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
9246         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
9248 2019-12-07  Bruno Haible  <bruno@clisp.org>
9250         Document compilation error in C++ mode on NetBSD 8.0.
9251         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
9253 2019-12-07  Bruno Haible  <bruno@clisp.org>
9255         Fix compilation errors in C++ mode on Solaris 10.
9256         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
9257         to non-empty on Solaris with a non-GCC compiler.
9258         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
9260 2019-12-07  Bruno Haible  <bruno@clisp.org>
9262         Reword NEWS entry.
9263         * NEWS: Reword the latest NEWS entry.
9265 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
9267         Move xstrtol_fatal to a new xstrtol-error module.
9268         * lib/xstrtol.h: Stop including <getopt.h>.
9269         (xstrtol_fatal): Move ...
9270         * lib/xstrtol-error.h: ... here.  New file.
9271         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
9272         * tests/test-xstrtol.c: Likewise.
9273         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
9274         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
9275         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
9276         * modules/xstrtol-error: New file.
9277         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
9278         * MODULES.html.sh: Add xstrtol-error.
9279         * NEWS: Document the change.
9281 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
9283         nstrftime: better width support for %N, %z
9284         * lib/nstrftime.c (width_add, width_add1, width_cpy):
9285         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
9286         a new WIDTH parameter.
9287         (add, add1, cpy): Use these macros.
9288         (width_add): Do not treat digits == 0 as a special case,
9289         do not pad if padding is ‘-’, and do not use a negative width.
9290         (__strftime_internal): Redo formatting of nanoseconds and numeric
9291         timezones to avoid buffer misuse in unusual cases, and so that
9292         widths make more sense.  Add support for widths greater than 9 to
9293         the %N format; they are zero filled on the right.
9294         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
9296 2019-12-05  Bruno Haible  <bruno@clisp.org>
9298         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
9299         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
9300         set REPLACE_ISFINITE to 1.
9301         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
9302         REPLACE_ISINF to 1.
9303         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
9304         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
9305         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
9306         * lib/threads.in.h (call_once): Likewise.
9307         * lib/iconv.in.h (iconv): Likewise.
9309 2019-12-05  Bruno Haible  <bruno@clisp.org>
9311         wchar: Add more C++ tests.
9312         Reported by Christian Biesinger <cbiesinger@google.com> in
9313         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
9314         * tests/test-wchar-c++3.cc: New file.
9315         * modules/wchar-c++-tests (Files): Add it.
9316         (Makefile.am): Compile it.
9318 2019-12-05  Bruno Haible  <bruno@clisp.org>
9320         Add more C++ tests.
9322         assert-h: Add C++ tests.
9323         * tests/test-assert-h-c++.cc: New file.
9324         * tests/test-assert-h-c++2.cc: New file.
9325         * modules/assert-h-c++-tests: New file.
9326         * modules/assert-h-tests: New file.
9328         ctype: Add C++ tests.
9329         * tests/test-ctype-c++.cc: New file.
9330         * tests/test-ctype-c++2.cc: New file.
9331         * modules/ctype-c++-tests: New file.
9332         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
9334         errno: Add C++ tests.
9335         * tests/test-errno-c++.cc: New file.
9336         * tests/test-errno-c++2.cc: New file.
9337         * modules/errno-c++-tests: New file.
9338         * modules/errno-tests (Depends-on): Add errno-c++-tests.
9340         float: Add C++ tests.
9341         * tests/test-float-c++.cc: New file.
9342         * tests/test-float-c++2.cc: New file.
9343         * modules/float-c++-tests: New file.
9344         * modules/float-tests (Depends-on): Add float-c++-tests.
9346         inttypes: Add more C++ tests.
9347         * tests/test-inttypes-c++2.cc: New file.
9348         * modules/inttypes-c++-tests (Files): Add it.
9349         (Makefile.am): Compile it.
9351         limits-h: Add C++ tests.
9352         * tests/test-limits-h-c++.cc: New file.
9353         * tests/test-limits-h-c++2.cc: New file.
9354         * modules/limits-h-c++-tests: New file.
9355         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
9357         stdarg: Add C++ tests.
9358         * tests/test-stdarg-c++.cc: New file.
9359         * tests/test-stdarg-c++2.cc: New file.
9360         * modules/stdarg-c++-tests: New file.
9361         * modules/stdarg-tests: New file.
9363         stdbool: Add C++ tests.
9364         * tests/test-stdbool-c++.cc: New file.
9365         * tests/test-stdbool-c++2.cc: New file.
9366         * modules/stdbool-c++-tests: New file.
9367         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
9369         stddef: Add C++ tests.
9370         * tests/test-stddef-c++.cc: New file.
9371         * tests/test-stddef-c++2.cc: New file.
9372         * modules/stddef-c++-tests: New file.
9373         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
9375         stdint: Add C++ tests.
9376         * tests/test-stdint-c++.cc: New file.
9377         * tests/test-stdint-c++2.cc: New file.
9378         * modules/stdint-c++-tests: New file.
9379         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
9381         wchar: Add more C++ tests.
9382         * tests/test-wchar-c++2.cc: New file.
9383         * modules/wchar-c++-tests (Files): Add it.
9384         (Makefile.am): Compile it.
9386         wctype-h: Add more C++ tests.
9387         * tests/test-wctype-h-c++2.cc: New file.
9388         * modules/wctype-h-c++-tests (Files): Add it.
9389         (Makefile.am): Compile it.
9391 2019-12-04  Bruno Haible  <bruno@clisp.org>
9393         Fix compilation errors in C++ mode with xlclang++ on AIX.
9394         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
9395         C++ mode on AIX.
9396         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
9397         without C preprocessor macro.
9398         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
9399         _GL_CXXALIAS_SYS.
9400         * lib/threads.in.h (thrd_exit): Likewise.
9402 2019-12-04  Bruno Haible  <bruno@clisp.org>
9404         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
9405         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
9406         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
9408 2019-12-04  Bruno Haible  <bruno@clisp.org>
9410         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
9411         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
9412         _GL_CXXALIASWARN invocation on non-glibc systems.
9413         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
9414         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
9415         iswctype, towlower, towupper): Likewise.
9417 2019-12-03  Bruno Haible  <bruno@clisp.org>
9419         Avoid hassles caused by [[noreturn]] in C++.
9420         Reported by Christian Biesinger <cbiesinger@google.com> in
9421         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
9422         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
9423         * lib/_Noreturn.h: Likewise.
9425 2019-12-02  Bruno Haible  <bruno@clisp.org>
9427         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
9428         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
9429         LIBMULTITHREAD.
9430         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
9431         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
9432         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
9433         gl_THREADLIB.
9434         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
9436 2019-12-02  Bruno Haible  <bruno@clisp.org>
9438         Fix some more link errors with --enable-threads=isoc.
9439         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
9440         * modules/pthread-rwlock (Depends-on): Likewise.
9442 2019-12-02  Bruno Haible  <bruno@clisp.org>
9444         Fix link errors with --enable-threads=posix on AIX.
9445         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
9446         program with $(LIBTHREAD).
9447         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
9448         program with $(LIBTHREAD).
9450 2019-12-02  Bruno Haible  <bruno@clisp.org>
9452         Fix link errors with --enable-threads=posix on AIX.
9453         * modules/mbrtowc (Link): New section.
9454         * modules/acl (Link): Likewise.
9455         * modules/argmatch (Link): Likewise.
9456         * modules/backup-rename (Link): Likewise.
9457         * modules/backupfile (Link): Likewise.
9458         * modules/closein (Link): Likewise.
9459         * modules/closeout (Link): Likewise.
9460         * modules/copy-file (Link): Likewise.
9461         * modules/csharpcomp (Link): Likewise.
9462         * modules/csharpexec (Link): Likewise.
9463         * modules/dfa (Link): Likewise.
9464         * modules/exclude (Link): Likewise.
9465         * modules/fnmatch (Link): Likewise.
9466         * modules/fnmatch-gnu (Link): Likewise.
9467         * modules/fnmatch-posix (Link): Likewise.
9468         * modules/glob (Link): Likewise.
9469         * modules/human (Link): Likewise.
9470         * modules/javacomp (Link): Likewise.
9471         * modules/javaexec (Link): Likewise.
9472         * modules/javaversion (Link): Likewise.
9473         * modules/mbfile (Link): Likewise.
9474         * modules/mbiter (Link): Likewise.
9475         * modules/mbmemcasecmp (Link): Likewise.
9476         * modules/mbmemcasecoll (Link): Likewise.
9477         * modules/mbrlen (Link): Likewise.
9478         * modules/mbscasecmp (Link): Likewise.
9479         * modules/mbscasestr (Link): Likewise.
9480         * modules/mbschr (Link): Likewise.
9481         * modules/mbscspn (Link): Likewise.
9482         * modules/mbsinit (Link): Likewise.
9483         * modules/mbslen (Link): Likewise.
9484         * modules/mbsncasecmp (Link): Likewise.
9485         * modules/mbsnlen (Link): Likewise.
9486         * modules/mbsnrtowcs (Link): Likewise.
9487         * modules/mbspbrk (Link): Likewise.
9488         * modules/mbspcasecmp (Link): Likewise.
9489         * modules/mbsrchr (Link): Likewise.
9490         * modules/mbsrtowcs (Link): Likewise.
9491         * modules/mbssep (Link): Likewise.
9492         * modules/mbsspn (Link): Likewise.
9493         * modules/mbsstr (Link): Likewise.
9494         * modules/mbstok_r (Link): Likewise.
9495         * modules/mbswidth (Link): Likewise.
9496         * modules/mbuiter (Link): Likewise.
9497         * modules/mkdir-p (Link): Likewise.
9498         * modules/propername (Link): Likewise.
9499         * modules/quote (Link): Likewise.
9500         * modules/quotearg (Link): Likewise.
9501         * modules/quotearg-simple (Link): Likewise.
9502         * modules/regex-quote (Link): Likewise.
9503         * modules/rpmatch (Link): Likewise.
9504         * modules/sh-quote (Link): Likewise.
9505         * modules/system-quote (Link): Likewise.
9506         * modules/trim (Link): Likewise.
9507         * modules/unistdio/ulc-asnprintf (Link): Likewise.
9508         * modules/unistdio/ulc-fprintf (Link): Likewise.
9509         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
9510         * modules/unistdio/ulc-vasprintf (Link): Likewise.
9511         * modules/unistdio/ulc-vfprintf (Link): Likewise.
9512         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
9513         * modules/unistdio/ulc-vsprintf (Link): Likewise.
9514         * modules/xfreopen (Link): Likewise.
9515         * modules/xmemcoll (Link): Likewise.
9516         * modules/yesno (Link): Likewise.
9517         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
9518         * modules/argmatch-tests (Makefile.am): Likewise.
9519         * modules/closein-tests (Makefile.am): Likewise.
9520         * modules/copy-file-tests (Makefile.am): Likewise.
9521         * modules/dfa-tests (Makefile.am): Likewise.
9522         * modules/fnmatch-tests (Makefile.am): Likewise.
9523         * modules/glob-tests (Makefile.am): Likewise.
9524         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9525         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9526         * modules/mbrtowc-tests (Makefile.am): Likewise.
9527         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9528         * modules/mbscasestr-tests (Makefile.am): Likewise.
9529         * modules/mbschr-tests (Makefile.am): Likewise.
9530         * modules/mbscspn-tests (Makefile.am): Likewise.
9531         * modules/mbsinit-tests (Makefile.am): Likewise.
9532         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9533         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9534         * modules/mbspbrk-tests (Makefile.am): Likewise.
9535         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9536         * modules/mbsrchr-tests (Makefile.am): Likewise.
9537         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9538         * modules/mbsspn-tests (Makefile.am): Likewise.
9539         * modules/mbsstr-tests (Makefile.am): Likewise.
9540         * modules/quotearg-tests (Makefile.am): Likewise.
9541         * modules/quotearg-simple-tests (Makefile.am): Likewise.
9542         * modules/readtokens-tests (Makefile.am): Likewise.
9543         * modules/regex-quote-tests (Makefile.am): Likewise.
9544         * modules/sh-quote-tests (Makefile.am): Likewise.
9545         * modules/system-quote-tests (Makefile.am): Likewise.
9546         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
9547         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9548         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
9549         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
9550         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
9551         * modules/yesno-tests (Makefile.am): Likewise.
9553 2019-12-02  Bruno Haible  <bruno@clisp.org>
9555         Simplify link sections.
9556         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
9557         * modules/lock (Link): Likewise.
9558         * modules/cond (Link): Likewise.
9559         * modules/tls (Link): Likewise.
9560         * modules/yield (Link): Likewise.
9561         * modules/regex (Link): Likewise.
9562         * modules/localename (Link): Likewise.
9563         * modules/unicase/locale-language (Link): Likewise.
9564         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
9566 2019-12-02  Bruno Haible  <bruno@clisp.org>
9568         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
9569         * tests/test-thread_self.c (main): Disable test on AIX.
9571 2019-12-01  Bruno Haible  <bruno@clisp.org>
9573         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
9574         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
9575         gl_THREADLIB_EARLY_BODY.
9576         (gl_THREADLIB_EARLY_BODY): Invoke it.
9577         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
9578         (gl_THREADLIB_BODY): Invoke it.
9579         (gl_PTHREADLIB): New macro.
9580         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
9581         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
9582         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
9583         * modules/pthread-h (Files): Add threadlib.m4.
9584         (Depends-on): Remove threadlib.
9585         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
9586         and _THREAD_SAFE here.
9587         (Link): Use LIBPTHREAD, not LIBTHREAD.
9588         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
9589         LIBMULTITHREAD.
9590         * modules/pthread-once (Link): Likewise.
9591         * modules/pthread-mutex (Link): Likewise.
9592         * modules/pthread-rwlock (Link): Likewise.
9593         * modules/pthread-cond (Link): Likewise.
9594         * modules/pthread-tss (Link): Likewise.
9595         * modules/pthread-spin (Link): Likewise.
9596         * modules/pthread (Link): Likewise.
9597         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
9598         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
9599         * modules/pthread-once-tests (test_pthread_once1_LDADD,
9600         test_pthread_once2_LDADD): Likewise.
9601         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
9602         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
9603         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
9604         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
9606 2019-12-01  Bruno Haible  <bruno@clisp.org>
9608         cond: State linking requirements.
9609         * modules/cond (Link): New section.
9611 2019-12-01  Bruno Haible  <bruno@clisp.org>
9613         threadlib: Remove unnecessary file (left over from 2019-07-06).
9614         * modules/threadlib (Files): Remove config.rpath.
9616 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
9618         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
9619         Reported by Dagobert Michelsen <dam@opencsw.org> in
9620         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
9621         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
9622         list of strings instead of one string.
9623         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
9624         * pygnulib/GLImport.py (execute): Likewise.
9626 2019-11-27  Bruno Haible  <bruno@clisp.org>
9628         openpty, forkpty: Fix build error on Solaris 11.4.
9629         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
9630         also in <termios.h>.
9631         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
9632         of the function also in <termios.h>.
9633         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
9634         * doc/glibc-functions/forkpty.texi: Likewise.
9636 2019-11-27  Bruno Haible  <bruno@clisp.org>
9638         New options --enable-threads=isoc and --enable-threads=isoc+posix.
9639         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
9640         --enable-threads=isoc and --enable-threads=isoc+posix.
9641         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
9642         When both the ISO C and the POSIX threads API are available, choose
9643         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
9644         --enable-threads=isoc+posix was specified. When only the ISO C threads
9645         API is available and --enable-threads=iso was specified, choose
9646         USE_ISOC_THREADS.
9647         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
9648         USE_ISOC_AND_POSIX_THREADS.
9649         * lib/glthread/lock.c: Likewise.
9650         * lib/glthread/cond.h: Likewise.
9651         * lib/glthread/cond.c: Likewise.
9652         * lib/glthread/tls.h: Likewise.
9653         * lib/glthread/tls.c: Likewise.
9654         * lib/glthread/yield.h: Likewise.
9655         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
9656         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
9657         * lib/glthread/thread.c: Likewise.
9658         * lib/glthread/threadlib.c: Likewise.
9659         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
9660         USE_ISOC_AND_POSIX_THREADS.
9661         * tests/test-cond.c: Consider USE_ISOC_THREADS and
9662         USE_ISOC_AND_POSIX_THREADS.
9663         * tests/test-tls.c: Likewise.
9664         * tests/test-thread_create.c (main): Likewise.
9665         * tests/test-pthread-cond.c: Likewise.
9666         * tests/test-pthread-mutex.c: Likewise.
9667         * tests/test-pthread-once2.c: Likewise.
9668         * tests/test-pthread-rwlock.c: Likewise.
9669         * tests/test-pthread-tss.c: Likewise.
9670         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
9671         USE_POSIX_THREADS.
9673 2019-11-24  Bruno Haible  <bruno@clisp.org>
9675         mbrtowc: Modernize autoconf test.
9676         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
9677         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
9678         try a UTF-8 locale.
9679         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
9681 2019-11-24  Bruno Haible  <bruno@clisp.org>
9683         Fix errors in C++ mode on mingw.
9684         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
9685         instead of _GL_CXXALIAS_SYS.
9686         * lib/signal.in.h (pthread_sigmask): Likewise.
9687         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
9688         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
9689         Likewise.
9690         * lib/wchar.in.h (btowc): Likewise.
9692 2019-11-24  Bruno Haible  <bruno@clisp.org>
9694         sys_time: Fix errors in C++ mode on mingw.
9695         * lib/sys_time.in.h (timeval): Restore the redirection
9696         '#define timeval rpl_timeval', for when the symbol timeval is being used
9697         outside the 'gnulib' namespace.
9698         * lib/sys_select.in.h (select): In C++, write 'timeval', not
9699         'struct timeval'.
9701 2019-11-24  Bruno Haible  <bruno@clisp.org>
9703         iswctype: Fix errors in C++ mode on mingw.
9704         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
9705         is 1.
9706         * lib/iswctype.c (iswctype): Add another implementation, for the
9707         GNULIB_defined_wint_t case.
9708         * modules/iswctype (configure.ac): Compile iswctype.c also if
9709         GNULIB_OVERRIDES_WINT_T is 1.
9711 2019-11-24  Bruno Haible  <bruno@clisp.org>
9713         windows-timedmutex: Fix errors in C++ mode on mingw.
9714         * lib/windows-timedmutex.h: Add closing brace.
9716 2019-11-24  Bruno Haible  <bruno@clisp.org>
9718         Fix errors in C++ mode on Cygwin.
9719         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
9720         _GL_CXXALIAS_SYS.
9722 2019-11-24  Bruno Haible  <bruno@clisp.org>
9724         time_r: Fix for mingw (regression from 2019-11-16).
9725         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
9726         AC_LINK_IFELSE test only if the function does not appear to exist.
9728 2019-11-24  Bruno Haible  <bruno@clisp.org>
9730         wcstok: Add tests.
9731         * tests/test-wcstok.c: New file.
9732         * modules/wcstok-tests: New file.
9734 2019-11-24  Bruno Haible  <bruno@clisp.org>
9736         wcstok: Work around wrong signature on native Windows.
9737         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
9738         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
9739         REPLACE_WCSTOK.
9740         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
9741         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
9742         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
9743         * doc/posix-functions/wcstok.texi: Mention the problem.
9745 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
9747         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
9748         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
9749         remove workaround for GCC bug 91450 as the bug should be fixed
9750         there too.
9752 2019-11-21  Bruno Haible  <bruno@clisp.org>
9754         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
9755         Reported by Christian Biesinger <cbiesinger@google.com> in
9756         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
9757         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
9758         non-glibc systems.
9759         * lib/locale.in.h (localeconv, setlocale): Likewise.
9760         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
9761         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
9762         rint, round, trunc): Likewise.
9763         * lib/monetary.in.h (strfmon_l): Likewise.
9764         * lib/pthread.in.h (pthread_mutexattr_getrobust,
9765         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
9766         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
9767         pthread_spin_destroy): Likewise.
9768         * lib/signal.in.h (raise, signal): Likewise.
9769         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
9770         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
9771         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
9772         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
9773         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
9774         Likewise.
9775         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
9776         Likewise.
9777         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
9778         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
9779         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
9780         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
9781         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
9782         wcsftime): Likewise.
9783         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
9785 2019-11-21  Bruno Haible  <bruno@clisp.org>
9787         Fix various errors in _GL_CXXALIAS_SYS invocations.
9788         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
9789         _GL_CXXALIAS_SYS.
9790         * lib/pthread.in.h (pthread_mutexattr_gettype,
9791         pthread_mutexattr_getrobust): Likewise.
9792         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
9793         * lib/sys_socket.in.h (recv, send): Likewise.
9794         * lib/unistd.in.h (getdtablesize): Likewise.
9795         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
9796         'struct timeval'.
9798 2019-11-21  Bruno Haible  <bruno@clisp.org>
9800         math tests: Update after 2019-08-28 change.
9801         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
9802         return type of 'bool', not 'int'.
9804 2019-11-21  Bruno Haible  <bruno@clisp.org>
9806         pthread-spin: Fix errors in C++ mode.
9807         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
9808         functions as nonexistent when <pthread.h> exists but does not define
9809         the pthread_spinlock_t type.
9811 2019-11-21  Bruno Haible  <bruno@clisp.org>
9813         pthread-mutex: Fix errors in C++ mode.
9814         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
9815         pthread_mutexattr_getrobust exists. If not, define
9816         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
9817         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
9818         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
9819         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
9820         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
9821         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
9822         definition.
9824 2019-11-19  Bruno Haible  <bruno@clisp.org>
9826         threads-h tests: Fix typo.
9827         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
9829 2019-11-19  Bruno Haible  <bruno@clisp.org>
9831         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
9832         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
9833         to 'const pthread_attr_t *'.
9834         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
9835         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
9837 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
9839         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
9840         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
9841         work around GCC bug 91450 as the bug should be fixed there.
9843 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9845         glob: get closer to glibc glob.c
9846         Omit differences from glibc when the differences don’t matter.
9847         * lib/glob.c [_LIBC]: Include shlib-compat.h.
9848         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
9849         (glob_lstat): New function.
9850         (glob_in_dir): Use it.
9851         (GLOB_ATTRIBUTE): Define to empty if not already defined.
9852         Use changed.
9854 2019-11-18  Bruno Haible  <bruno@clisp.org>
9856         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
9857         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
9858         UINTPTR_MAX): Consider _WIN64.
9859         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
9860         a pointer.
9862 2019-11-18  Bruno Haible  <bruno@clisp.org>
9864         stdint: Fix value of WINT_MAX when we override wint_t.
9865         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
9866         when GNULIB_OVERRIDES_WINT_T is 1.
9868 2019-11-18  Bruno Haible  <bruno@clisp.org>
9870         vcs-to-changelog: New module.
9871         * modules/vcs-to-changelog: New file.
9872         * MODULES.html.sh (func_all_modules): Add it.
9874 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9876         vcs-to-changelog: New script to generate ChangeLog-like output.
9877         Discussion:
9878         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
9879         * build-aux/vcs_to_changelog.py: New file.
9880         * build-aux/vcstocl/frontend_c.py: New file.
9881         * build-aux/vcstocl/misc_util.py: New file.
9882         * build-aux/vcstocl/vcs_git.py: New file.
9884 2019-11-18  Bruno Haible  <bruno@clisp.org>
9886         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
9887         Reported by Keith Marshall <keith@users.osdn.me> in
9888         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
9889         and <https://osdn.net/projects/mingw/ticket/39677>.
9890         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
9891         already been defined by mingw's <crtdefs.h>.
9893 2019-11-18  Bruno Haible  <bruno@clisp.org>
9895         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
9896         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
9897         conditionally enabled.
9899 2019-11-18  Bruno Haible  <bruno@clisp.org>
9901         gc: Mirror libgcrypt.m4 from libgcrypt.
9902         * config/srclistvars.sh (LIBGCRYPT): New variable.
9903         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
9905 2019-11-17  Bruno Haible  <bruno@clisp.org>
9907         locale, localename: Improve z/OS support.
9908         Reported by Daniel Richard G. in
9909         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
9910         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
9911         gl_LOCALE_H.
9912         (gl_LOCALE_H): Require it.
9913         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
9914         defined, don't even check for newlocale, duplocale, freelocale.
9915         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
9916         locale_t is not defined.
9918 2019-11-17  Bruno Haible  <bruno@clisp.org>
9920         havelib: Make libdirstems processing more flexible.
9921         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
9922         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
9923         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
9924         patch from 2017-02-19).
9925         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
9926         libdirs, even when the first one exists as a directory.
9928 2019-11-17  Bruno Haible  <bruno@clisp.org>
9930         havelib: Match the bitness when searching for libraries.
9931         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
9932         acl_is_expected_elfclass.
9933         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
9934         file exists, in ELF, also test whether it has the ELF class that
9935         corresponds to the host's bitness.
9937 2019-11-17  Bruno Haible  <bruno@clisp.org>
9939         host-cpu-c-abi: Add support for unknown CPUs.
9940         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
9941         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
9942         32-bit or 64-bit.
9944 2019-11-17  Bruno Haible  <bruno@clisp.org>
9946         havelib: Remove redundant code.
9947         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
9948         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
9950 2019-11-17  Bruno Haible  <bruno@clisp.org>
9952         havelib: Fix a bug in dependency processing.
9953         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
9954         of .la files, don't overwrite the value of additional_libdir for the
9955         next rounds.
9957 2019-11-16  Bruno Haible  <bruno@clisp.org>
9959         wctype-h: When overriding wint_t, override also the related functions.
9960         Reported by Christian Biesinger <cbiesinger@google.com> in
9961         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
9962         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
9963         REPLACE_ISWCNTRL to 1.
9964         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
9965         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
9966         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
9967         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
9968         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
9969         on mingw.
9970         * doc/posix-headers/wctype.texi: Likewise.
9972 2019-11-16  Bruno Haible  <bruno@clisp.org>
9974         time_r: Fix for mingw.
9975         Reported by Christian Biesinger <cbiesinger@google.com> in
9976         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
9977         * lib/time.in.h: On mingw, include <unistd.h>.
9978         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
9979         <time.h>. Test for localtime_r in a way that works when it is defined
9980         as an inline function.
9982 2019-11-13  Bruno Haible  <bruno@clisp.org>
9984         havelib: Revert last change.
9985         * build-aux/config.rpath: Revert last change. We can add msys2 support
9986         when it has been added to libtool.m4 upstream.
9988 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9990         config: add msys support
9991         Requested by Arnold Robbins in:
9992         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
9993         He also requested a change to config.guess, which I’ll forward
9994         upstream.
9995         * build-aux/ar-lib (func_file_conv):
9996         * build-aux/compile (func_file_conv):
9997         * build-aux/config.rpath (wl, with_gnu_ld)
9998         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
9999         Treat msys like cygwin.
10001 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10003         regex: now back in sync with glibc
10004         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
10005         regexec.c got merged into glibc and are now copies again.
10007 2019-10-27  Bruno Haible  <bruno@clisp.org>
10009         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
10010         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
10011         statement.
10012         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
10013         32-bit CPUs.
10015 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
10017         timespec-add, timespec-sub: simplify
10018         * lib/timespec-add.c (timespec_add):
10019         * lib/timespec-sub.c (timespec_sub):
10020         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
10021         work on unsigned integers.
10023 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
10025         nstrftime: speed up integer overflow checking
10026         * lib/nstrftime.c: Include intprops.h.
10027         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
10028         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
10029         instead of doing it by hand.
10030         * modules/nstrftime (Depends-on): Add intprops.
10032         Port better to GCC under macOS
10033         Work around macOS header that has ‘#define __has_builtin(x) 0’
10034         when compiled by GCC.  Apple really, really doesn’t want you to
10035         use GCC, apparently.  Rroblem reported by Akim Demaille in:
10036         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
10037         The fix is to not trust __has_builtin when being compiled by
10038         recent-enough GCC.
10039         * lib/intprops.h (__has_builtin)
10040         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
10041         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
10042         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
10043         Remove.  All uses removed.
10044         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
10045         directly, if defined and if not newer GCC.
10046         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
10047         New macro, that use __has_builtin directly, if defined and if
10048         not newer GCC.
10049         (assume): Use them.
10051 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
10053         maintainer-makefile: update rule for argmatch.
10054         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
10056 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
10058         bitset: let freeing functions accept NULL.
10059         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
10060         given NULL.
10061         * lib/bitset.h: Document that.
10062         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
10064 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
10066         inttypes: use more-robust test for int range
10067         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
10068         Problem reported by Dagobert Michelsen in:
10069         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
10070         * lib/inttypes.in.h: Rely only on limits.h when checking
10071         int range.
10073 2019-10-15  Bruno Haible  <bruno@clisp.org>
10075         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
10076         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
10077         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
10078         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
10079         term_ostream_set_hyperlink): New functions.
10080         (term_styled_ostream_get_hyperlink_ref,
10081         term_styled_ostream_get_hyperlink_id,
10082         term_styled_ostream_set_hyperlink): New function aliases.
10084 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10086         update-copyright: use en dashes in .texi ranges
10087         * build-aux/update-copyright: Match year ranges like "1998--2019",
10088         which are used in the Autoconf manual.  Also, update ranges in
10089         .tex, .texi, and .texinfo files to use en dashes instead of
10090         hyphens.
10092 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10094         * config/srclist.txt: Remove posix/regex_internal.c for now.
10096 2019-10-13  Bruno Haible  <bruno@clisp.org>
10098         git-version-gen: Allow 'snapshot' as .tarball-version contents.
10099         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
10100         contents to the empty string.
10102 2019-10-12  Bruno Haible  <bruno@clisp.org>
10104         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
10105         * tests/test-intprops.c (main): Disable two more tests when using
10106         HP-UX cc.
10108 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10110         Simplify and regularize regex use of ‘assert’
10111         Also, tell GCC about the asserts even when compiling without
10112         debugging, to give it further optimization opportunities.
10113         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
10114         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
10115         (parse_expression, parse_bracket_exp):
10116         * lib/regex_internal.c (build_wcs_buffer)
10117         (build_wcs_upper_buffer, re_string_reconstruct)
10118         (re_string_context_at):
10119         * lib/regexec.c (re_search_stub, re_copy_regs)
10120         (re_search_internal, prune_impossible_nodes, check_matching)
10121         (check_halt_state_context, set_regs, sift_states_backward)
10122         (build_sifted_states, transit_state_mb, transit_state_bkref)
10123         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
10124         (match_ctx_add_subtop):
10125         Use it instead of plain ‘assert’.
10127 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
10129         regex: omit debug assignment when not debugging
10130         * lib/regexec.c (re_search_internal) [!DEBUG]:
10131         Remove unnecessary assignment.
10133         regex: tell compiler there’s at most 256 arcs out
10134         Partly this is to help the reader (and maybe help GCC);
10135         partly this is to pacify Coverity.
10136         * lib/regex_internal.h: Include verify.h.
10137         * lib/regexec.c (group_nodes_into_DFAstates):
10138         Tell the compiler that ndests cannot exceed SBC_MAX.
10139         * modules/regex (Depends-on): Add ‘verify’.
10141         regex: simplify by assuming C99
10142         * config/srclist.txt: Comment out regex_internal.h and regexec.c
10143         temporarily.
10144         * lib/regex_internal.h (lock_define, re_match_context_t):
10145         Simplify by assuming C99 macros and const.
10146         * lib/regexec.c (re_search_internal): Simplify by assuming C99
10147         initializers.  Remove unnecessary assignment, as mctx is now
10148         safely initialized earlier.
10150         regex: avoid copying of uninitialized storage
10151         * config/srclist.txt: Comment out regcomp.c temporarily.
10152         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
10153         Initialize even when not checking for lint, as the behavior is
10154         arguably undefined otherwise and Coverity warns about it.
10156 2019-10-06  Bruno Haible  <bruno@clisp.org>
10158         access tests: Fix test failure when run as root.
10159         * tests/test-access.c: Include root-uid.h.
10160         (geteuid): Define fallback.
10161         (main): Don't expect that writing to a read-only file would fail when
10162         running as root. Also, remove the created files at the end.
10163         * modules/access-tests (Depends-on): Add root-uid.
10164         (configure.ac): Test whether geteuid exists.
10166 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
10168         users.txt: add GNU nano
10169         Nano has been making use of gnulib since March 2017, version 2.8.0.
10171 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10173         bootstrap: simplify debugging of wget failures
10174         Problem reported by Tim Rühsen in:
10175         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
10176         * build-aux/bootstrap (po_download_command_format):
10177         Invoke wget with -nv instead of -q, to make debugging easier.
10179 2019-09-29  Bruno Haible  <bruno@clisp.org>
10181         avltree-list: Fix compilation warning (introduced on 2014-09-16).
10182         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
10183         'const' attribute.
10185 2019-09-29  Bruno Haible  <bruno@clisp.org>
10187         fbufmode: Fix compilation error on glibc >= 2.28 systems.
10188         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
10190 2019-09-28  Bruno Haible  <bruno@clisp.org>
10192         Update comments that refer to POSIX.
10193         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
10194         sentence about trailing slashes.
10195         * lib/fflush.c: Clarify the reasoning.
10196         * tests/test-fflush2.c: Cite the relevant sentence.
10198 2019-09-28  Bruno Haible  <bruno@clisp.org>
10200         access: Document limitations on Windows.
10201         Suggested by Zaretskii <eliz@gnu.org>.
10202         * doc/posix-functions/access.texi: Mention two limitations on Windows.
10204 2019-09-28  Bruno Haible  <bruno@clisp.org>
10206         findprog-in: Fix comment.
10207         Reported by Eli Zaretskii <eliz@gnu.org>.
10208         * lib/findprog.h (find_in_given_path): Extend description of EACCES
10209         condition.
10210         * lib/stat.c (rpl_stat): Fix typo in comment.
10211         * lib/utime.c (_gl_utimens_windows): Likewise.
10213 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10215         Update URLs and associated text
10216         (Thanks to Bruno Haible for proofreading this patch.)
10217         Prefer https: to http: in URLs where either will do, for the usual
10218         security reasons.  I also updated broken and/or moved URLs
10219         discovered during the process. In a few places I had to resort to
10220         archive.org, since I didn't find the originals elsewhere.
10222 2019-09-15  Paul Smith  <psmith@gnu.org>
10223             Bruno Haible  <bruno@clisp.org>
10225         findprog-in: Set errno when the search fails.
10226         * lib/findprog-in.c: Include <errno.h>.
10227         (find_in_given_path): Set errno before returning NULL.
10228         * lib/findprog.h (find_in_given_path): Update comment accordingly.
10229         Define the term "slash".
10231 2019-09-15  Bruno Haible  <bruno@clisp.org>
10233         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
10234         * modules/findprog (Depends-on): Add access.
10235         * modules/findprog-lgpl (Depends-on): Likewise.
10236         * modules/findprog-in (Depends-on): Likewise.
10238 2019-09-15  Bruno Haible  <bruno@clisp.org>
10240         access: Add tests.
10241         * tests/test-access.c: New file.
10242         * modules/access-tests: New file.
10244         access: New module.
10245         * lib/unistd.in.h (access): New declaration.
10246         * lib/access.c: New file.
10247         * m4/access.m4: New file.
10248         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
10249         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
10250         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
10251         REPLACE_ACCESS.
10252         * modules/access: New file.
10253         * tests/test-unistd-c++.cc (access): Check signature.
10254         * doc/posix-functions/access.texi: Mention the new module.
10256 2019-09-15  Bruno Haible  <bruno@clisp.org>
10258         fcntl-h: Fix compilation error of creat.c on MSVC.
10259         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
10260         defined.
10262 2019-09-15  Bruno Haible  <bruno@clisp.org>
10264         creat: Add tests.
10265         * tests/test-creat.c: New file, based on tests/test-open.h.
10266         * modules/creat-tests: New file.
10268         creat: New module.
10269         * lib/fcntl.in.h (creat): New declaration.
10270         * lib/creat.c: New file, based on lib/open.c.
10271         * m4/creat.m4: New file.
10272         * m4/open-slash.m4: New file, extracted from m4/open.m4.
10273         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
10274         Invoke gl_OPEN_TRAILING_SLASH_BUG.
10275         * modules/open (Files): Add m4/open-slash.m4.
10276         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
10277         REPLACE_CREAT.
10278         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
10279         * modules/creat: New file.
10280         * tests/test-fcntl-h-c++.cc (creat): Check signature.
10281         * doc/posix-functions/creat.texi: Mention the new module.
10283 2019-09-15  Bruno Haible  <bruno@clisp.org>
10285         open tests: Enhance test.
10286         * tests/test-open.h (test_open): Test the creation of an executable
10287         regular file. Also improve initial cleanup.
10289 2019-09-15  Bruno Haible  <bruno@clisp.org>
10291         intprops tests: Avoid build failure with HP-UX cc.
10292         * tests/test-intprops.c: Disable a check that makes HP cc choke with
10293         "error 4018: Macro param too large after substitution - use -H option.".
10295 2019-09-14  Bruno Haible  <bruno@clisp.org>
10297         Make autoconf tests work with -Werror=implicit-function-declaration.
10298         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
10299         towupper() declaration.
10300         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
10301         declaration.
10303 2019-09-14  Bruno Haible  <bruno@clisp.org>
10305         findprog-in: Better mimic the system on native Windows.
10306         Reported by Paul Smith <psmith@gnu.org>.
10307         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
10308         non-empty suffixes when the file name already contains a '.'.
10310 2019-09-10  Bruno Haible  <bruno@clisp.org>
10312         wctob: Fix autoconf test.
10313         Based on patch by Florian Weimer <fweimer@redhat.com>.
10314         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
10316 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
10318         xhash: provide hash_xinitialize.
10319         Suggested by Egor Pugin <egor.pugin@gmail.com>
10320         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
10321         * modules/xhash, lib/xhash.c: New.
10322         * lib/hash.h (hash_xinitialize): New.
10324 2019-09-09  Bruno Haible  <bruno@clisp.org>
10326         findprog-in: Make exec optimization optional.
10327         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
10328         (find_in_given_path): Add optimize_for_exec parameter.
10329         * lib/findprog-in.c (find_in_given_path): Likewise.
10331 2019-09-08  Bruno Haible  <bruno@clisp.org>
10333         Add option to assume the best, not the worst, when cross-compiling.
10334         Suggested by Jonas Termansen <sortie@maxsi.org>.
10335         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
10336         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
10337         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
10338         lt_cv_sys_argz_works.
10339         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
10340         ac_cv_func_calloc_0_nonnull.
10341         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
10342         --enable-cross-guesses for gl_cv_func_realpath_works.
10343         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
10344         gl_cv_func_cbrtl_ieee.
10345         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
10346         gl_cv_func_ceil_ieee.
10347         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
10348         gl_cv_func_ceilf_ieee.
10349         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
10350         gl_cv_func_ceill_ieee.
10351         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
10352         ac_cv_func_chown_works.
10353         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
10354         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
10355         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
10356         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
10357         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
10358         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
10359         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
10360         gl_cv_func_expl_works.
10361         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
10362         gl_cv_func_expm1_ieee.
10363         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
10364         gl_cv_func_expm1l_works.
10365         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
10366         gl_cv_func_open_directory_works.
10367         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
10368         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
10369         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
10370         gl_cv_func_fchownat_empty_filename_works.
10371         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
10372         gl_cv_func_fdopendir_works.
10373         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
10374         gl_cv_func_floor_ieee.
10375         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
10376         gl_cv_func_floorf_ieee.
10377         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
10378         gl_cv_func_fma_works.
10379         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
10380         gl_cv_func_fmaf_works.
10381         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
10382         gl_cv_func_fmal_works.
10383         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
10384         gl_cv_func_fmod_ieee.
10385         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
10386         gl_cv_func_fmodf_ieee.
10387         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
10388         gl_cv_func_fmodl_ieee.
10389         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
10390         gl_cv_func_fpurge_works.
10391         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
10392         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
10393         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
10394         gl_cv_func_getcwd_null.
10395         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
10396         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
10397         gl_cv_func_working_getdelim.
10398         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
10399         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
10400         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
10401         gl_cv_func_getgroups_works.
10402         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
10403         am_cv_func_working_getline.
10404         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
10405         for gl_cv_func_getopt_gnu.
10406         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
10407         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
10408         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
10409         gl_cv_func_hypot_ieee.
10410         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
10411         gl_cv_func_hypotf_ieee.
10412         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
10413         gl_cv_func_hypotl_ieee.
10414         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
10415         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
10416         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
10417         gl_cv_func_link_works.
10418         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
10419         gl_cv_func_linkat_slash.
10420         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
10421         gl_cv_func_log_ieee.
10422         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
10423         gl_cv_func_logf_ieee.
10424         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
10425         gl_cv_func_logl_works.
10426         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
10427         gl_cv_func_log10_ieee.
10428         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
10429         gl_cv_func_log10f_ieee.
10430         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
10431         gl_cv_func_log10l_works.
10432         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
10433         gl_cv_func_log1p_ieee.
10434         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
10435         gl_cv_func_log1pf_ieee.
10436         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
10437         gl_cv_func_log1pl_ieee.
10438         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
10439         gl_cv_func_log2_ieee.
10440         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
10441         gl_cv_func_log2f_ieee.
10442         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
10443         --enable-cross-guesses for
10444         gl_cv_func_lstat_dereferences_slashed_symlink.
10445         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
10446         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
10447         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
10448         gl_cv_C_locale_sans_EILSEQ.
10449         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
10450         gl_cv_func_memchr_works.
10451         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
10452         gl_cv_func_memmem_works_always.
10453         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
10454         gl_cv_func_memmem_works_fast.
10455         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
10456         gl_cv_func_mkdir_trailing_slash_works,
10457         gl_cv_func_mkdir_trailing_dot_works.
10458         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
10459         gl_cv_func_mkfifo_works.
10460         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
10461         gl_cv_func_mknod_works.
10462         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
10463         gl_cv_func_working_mkstemp.
10464         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
10465         gl_cv_func_working_mktime.
10466         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
10467         gl_cv_func_modf_ieee.
10468         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
10469         gl_cv_func_modff_ieee.
10470         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
10471         gl_cv_func_modfl_ieee.
10472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
10473         gl_cv_func_nanosleep.
10474         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
10475         gl_cv_func_perror_works.
10476         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
10477         gl_cv_func_printf_sizes_c99.
10478         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
10479         gl_cv_func_printf_infinite.
10480         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
10481         gl_cv_func_printf_infinite_long_double.
10482         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
10483         gl_cv_func_printf_directive_a.
10484         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
10485         gl_cv_func_printf_directive_f.
10486         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
10487         gl_cv_func_printf_flag_zero.
10488         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
10489         gl_cv_func_printf_enomem.
10490         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
10491         gl_cv_func_snprintf_truncation_c99.
10492         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
10493         gl_cv_func_snprintf_retval_c99.
10494         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
10495         gl_cv_func_snprintf_directive_n.
10496         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
10497         gl_cv_func_vsnprintf_zerosize_c99.
10498         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
10499         gl_cv_func_pselect_detects_ebadf.
10500         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
10501         Obey --enable-cross-guesses for
10502         gl_cv_pthread_rwlock_rdlock_prefer_writer.
10503         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
10504         gl_cv_func_ptsname_sets_errno.
10505         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
10506         gl_cv_func_svid_putenv.
10507         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
10508         gl_cv_func_readlink_works.
10509         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
10510         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
10511         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
10512         gl_cv_func_re_compile_pattern_working.
10513         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
10514         gl_cv_func_remainder_ieee.
10515         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
10516         gl_cv_func_remainderf_ieee.
10517         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
10518         gl_cv_func_remainderl_ieee.
10519         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
10520         gl_cv_func_rintl_works.
10521         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
10522         gl_cv_func_rmdir_works.
10523         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
10524         gl_cv_func_round_ieee.
10525         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
10526         gl_cv_func_roundf_ieee.
10527         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
10528         gl_cv_func_roundl_ieee.
10529         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
10530         gl_cv_func_select_detects_ebadf.
10531         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
10532         gl_cv_func_setenv_works.
10533         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
10534         gl_cv_func_unsetenv_works.
10535         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
10536         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
10537         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
10538         gl_cv_func_sleep_works.
10539         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
10540         gl_cv_func_stat_file_slash.
10541         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
10542         gl_cv_func_stpncpy.
10543         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
10544         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
10545         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
10546         gl_cv_func_strcasestr_linear.
10547         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
10548         gl_cv_func_working_strerror.
10549         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
10550         gl_cv_func_strerror_0_works.
10551         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
10552         --enable-cross-guesses for gl_cv_func_strerror_r_works.
10553         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
10554         gl_cv_func_strstr_works_always.
10555         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
10556         gl_cv_func_strstr_linear.
10557         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
10558         gl_cv_func_strtod_works.
10559         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
10560         gl_cv_func_strtold_works.
10561         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
10562         gl_cv_func_symlink_works.
10563         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
10564         gl_cv_func_symlinkat_works.
10565         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
10566         gl_cv_func_trunc_ieee.
10567         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
10568         gl_cv_func_truncf_ieee.
10569         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
10570         gl_cv_func_truncl_ieee.
10571         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
10572         gl_cv_func_tzset_clobber.
10573         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
10574         gl_cv_func_ungetc_works.
10575         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
10576         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
10577         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
10578         gl_cv_func_usleep_works.
10579         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
10580         gl_cv_func_futimesat_works.
10581         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
10582         gl_cv_func_working_utimes.
10583         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
10584         gl_cv_func_wcwidth_works.
10585         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
10586         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
10587         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
10588         links for testing. Obey --enable-cross-guesses for
10589         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
10590         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
10592 2019-09-08  Bruno Haible  <bruno@clisp.org>
10594         Clarify that cross-compilation guesses are guesses.
10595         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
10596         cross-compiling.
10598 2019-09-08  Bruno Haible  <bruno@clisp.org>
10600         chown: Fix configure output (regression from 2019-03-23).
10601         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
10602         gl_cv_func_chown_follows_symlink variable.
10604 2019-09-08  Bruno Haible  <bruno@clisp.org>
10606         findprog-in: New module.
10607         Suggested by Paul Smith <psmith@gnu.org>.
10608         * lib/findprog.h (find_in_given_path): New declaration.
10609         * lib/findprog-in.c: New file, based on lib/findprog.c.
10610         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
10611         * modules/findprog-in: New file.
10613 2019-09-08  Bruno Haible  <bruno@clisp.org>
10615         findprog: Remove unused dependency.
10616         * modules/findprog (Depends-on): Remove strdup.
10618 2019-09-08  Bruno Haible  <bruno@clisp.org>
10620         findprog: Remove test that is obsolete since 2006-04-24.
10621         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
10623 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
10625         bitset: style changes
10626         * lib/bitset/vector.c (vbitset_resize): Factor computation.
10627         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
10628         xzalloc to xcalloc.
10629         Suggested by Paul Eggert.
10631 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
10633         bitset: check memory allocation
10634         Reported by 江 祖铭 (Zu-Ming Jiang).
10635         With help from Paul Eggert.
10636         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
10637         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
10638         instead of realloc.
10639         When shrinking, accept failures.
10640         * lib/bitset/vector.c (vbitset_resize): Likewise.
10642 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10644         scratch_buffer: sync from glibc
10645         * config/srclist.txt: Add the scratch_buffer source
10646         code from glibc, since these should be in sync.
10647         Autoupdate.
10649 2019-09-07  Bruno Haible  <bruno@clisp.org>
10651         doc: Update for glibc 2.30.
10652         * doc/glibc-functions/gettid.texi: New file.
10653         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
10654         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
10655         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
10656         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
10657         * doc/glibc-functions/sem_clockwait.texi: New file.
10658         * doc/glibc-functions/tgkill.texi: New file.
10659         * doc/glibc-functions/twalk_r.texi: New file.
10660         * doc/gnulib.texi: Include them.
10661         (Glibc semaphore.h): New section.
10662         * doc/pastposix-functions/h_errno.texi: Update.
10663         * doc/posix-functions/*.texi: Likewise.
10665 2019-09-06  Bruno Haible  <bruno@clisp.org>
10667         symlink tests: Avoid test failure on Linux with Lustre file system.
10668         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
10669         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
10670         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
10672 2019-09-01  Bruno Haible  <bruno@clisp.org>
10674         gitsub.sh: Add support for shallow-cloning of subdirectories.
10675         * top/gitsub.sh (func_usage): Document allowed git options with
10676         'git pull'.
10677         (func_pull): Accept GIT_OPTIONS argument.
10678         (pull): Parse git options before complaining about too many arguments.
10679         Pass the git options to func_pull.
10681 2019-08-29  Bruno Haible  <bruno@clisp.org>
10683         lock: Fix cross-compilation guesses.
10684         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
10685         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
10686         platforms.
10688 2019-08-28  Bruno Haible  <bruno@clisp.org>
10690         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
10691         Reported by Martin Storsjö <martin@martin.st> in
10692         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
10693         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
10694         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
10695         files from GCC 6 or newer, use an override through '#define', because
10696         the inline definitions in the platform's <cmath> cannot be overridden
10697         in another way.
10699 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
10701         Revert macOS INT_MULTIPLY_WRAPV patch
10702         Problem reported by Bruno Haible in:
10703         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
10704         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
10705         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
10706         Go back to working around the Clang bug on macOS.
10708 2019-08-27  Bruno Haible  <bruno@clisp.org>
10710         libtool-next-version: Fix error output.
10711         * build-aux/libtool-next-version (func_fatal_error): Fix the program
10712         name.
10714 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
10716         Speed up INT_MULTIPLY_WRAPV on macOS
10717         Assume that __builtin_mul_overflow works OK with Clang on macOS.
10718         Mattias Engdegård says it’s safe to assume the relevant library
10719         is always available there.
10720         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
10721         New temporary internal macro.
10722         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
10723         No need to work around the Clang bug on macOS.
10725 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
10727         intprops.h, verify.h: port better to clang
10728         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
10729         with Clang.  Problem reported privately by Mattias Engdegård.
10730         Also, insulate intprops.h and verify.h better against each other’s
10731         definitions of __has_builtin on non-Clang hosts.
10732         * lib/intprops.h (__has_builtin): Define a temporary substitute
10733         if __has_builtin is not already defined.
10734         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
10735         New temporary internal macros.
10736         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
10737         Now two separate macros, replacing the old
10738         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
10739         __builtin_mul_overflow is like the rest.  All uses changed.
10740         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
10741         Adjust to above changes.
10742         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
10743         longer relevant.  All uses changed.
10744         * lib/verify.h (__has_builtin): Treat like intprops.h,
10745         so that the two .h files do not collide with each other.
10746         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
10747         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
10749 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10751         intprops: say why not Clang __builtin_add_overflow
10752         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
10753         Mention Clang in comment, responding to a query from
10754         Mattias Engdegård.
10756 2019-08-24  Bruno Haible  <bruno@clisp.org>
10758         doc: Document most of the files outside of modules.
10759         * doc/gnulib.texi (Build Infrastructure Files,
10760         Release Management Files): New chapters.
10762 2019-08-24  Bruno Haible  <bruno@clisp.org>
10764         bootstrap: Keep in sync with the 'gettext' module.
10765         Reported by Assaf Gordon in
10766         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
10767         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
10768         * build-aux/po/remove-potcdate.sin: Likewise.
10770 2019-08-24  Bruno Haible  <bruno@clisp.org>
10772         crypto/gc-sha512: Add tests.
10773         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
10774         * modules/crypto/gc-sha512-tests: New file.
10776         crypto/gc-sha256: Add tests.
10777         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
10778         * modules/crypto/gc-sha256-tests: New file.
10780         crypto/gc-sha256, crypto/gc-sha512: New modules.
10781         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
10782         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
10783         (MAX_DIGEST_SIZE): Set to 64.
10784         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
10785         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
10786         (gc_sha256, gc_sha512): New functions.
10787         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
10788         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
10789         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
10791 2019-08-24  Bruno Haible  <bruno@clisp.org>
10793         crypto/gc-sha1 tests: Improve output when the test fails.
10794         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
10795         output.
10797 2019-08-24  Bruno Haible  <bruno@clisp.org>
10799         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
10800         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
10801         LIBGCRYPT_HAS_MD_SM3.
10802         * lib/gc-libgcrypt.c: Include sm3.h.
10803         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
10804         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
10805         implementation if libgcrypt does not support SM3.
10807 2019-08-24  Bruno Haible  <bruno@clisp.org>
10809         crypto/gc-md2: Optimize and clarify code.
10810         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
10811         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
10812         is not needed.
10814 2019-08-24  Bruno Haible  <bruno@clisp.org>
10816         crypto/gc-md2: Add comment.
10817         * lib/gc-libgcrypt.c: Add comment.
10819 2019-08-24  Bruno Haible  <bruno@clisp.org>
10821         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
10822         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
10823         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
10824         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
10825         variable.
10827 2019-08-24  Bruno Haible  <bruno@clisp.org>
10829         crypto/gc: Fix link error with --with-libgcrypt.
10830         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
10831         AC_LIB_HAVE_LINKFLAGS invocation.
10833 2019-08-24  Bruno Haible  <bruno@clisp.org>
10835         crypto/gc: Access the module indicators correctly.
10836         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
10837         * lib/gc-libgcrypt.c: Likewise.
10839 2019-08-24  Bruno Haible  <bruno@clisp.org>
10841         crypto/gc: Fix configuration with --with-libgcrypt.
10842         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
10843         * modules/crypto/gc (Files): Add it.
10844         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
10846 2019-08-24  Bruno Haible  <bruno@clisp.org>
10848         Remove unused file.
10849         * m4/stat-macros.m4: Remove file.
10851 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
10853         New strip-trailing-space option for srclist-update
10854         * config/srclist-update (fixfile): Support new option.
10855         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
10856         Use it.
10858 2019-08-20  Eric Blake  <eblake@redhat.com>
10860         accept4: Support SOCK_NONBLOCK, if defined
10861         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
10863         accept4: Fix compilation when native accept4() exists.
10864         Reported by Richard W.M. Jones <rjones@redhat.com> in
10865         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
10866         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
10868 2019-08-18  Bruno Haible  <bruno@clisp.org>
10870         Defeat -flto GCC optimization in math autoconf tests.
10871         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
10872         at <https://savannah.gnu.org/bugs/?56109>.
10873         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
10874         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
10875         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10876         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10877         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10878         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
10879         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10880         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
10881         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
10882         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10883         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10884         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10886 2019-08-17  Bruno Haible  <bruno@clisp.org>
10888         windows-spin: Implement declared functions.
10889         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
10890         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
10891         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
10892         name.
10894 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10896         intprops: port to Oracle Developer Studio 12.6
10897         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
10898         typos that were in a section not compiled by GCC.
10900 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
10902         intprops: support uchar, ushort _WRAPV dests
10903         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
10904         when __builtin_add_overflow etc. and _Generic are not used.
10905         (_GL_INT_OP_WRAPV): Use it to support destinations that
10906         are unsigned char or unsigned short, even in compilers
10907         that lack __typeof__ and are not C11-compatible.
10909         intprops: pacify picky GCC
10910         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
10911         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
10912         possibly-incorrect result.
10913         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
10914         about (A) used as a boolean, when A is an expression like 3 * 4.
10916         intprops: support unsigned *_WRAPV results
10917         Add support for unsigned, unsigned long, and unsigned long long
10918         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
10919         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
10920         bug with unsigned inputs reported by Eli Zaretskii in:
10921         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
10922         * config/srclist.txt: Break the glibc connection for intprops.h
10923         temporarily, while more testing is done in Gnulib-using apps.
10924         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
10925         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
10926         Support unsigned results no narrower than unsigned int.  Report
10927         overflow correctly if some arguments are unsigned.
10928         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
10929         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
10930         the right thing with narrow args.
10931         (_GL_INT_OP_CALC1): Remove.  All callers removed.
10932         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
10933         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
10934         * tests/test-intprops.c: Check for bugs and test new behavior.
10936 2019-08-14  Bruno Haible  <bruno@clisp.org>
10938         get_progname_of: New module.
10939         * lib/get_progname_of.h: New file.
10940         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
10941         * lib/getprogname.c (getprogname): Tweak coding style.
10942         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
10943         * modules/get_progname_of: New file.
10945 2019-08-14  Bruno Haible  <bruno@clisp.org>
10947         get_ppid_of: New module.
10948         * lib/get_ppid_of.h: New file.
10949         * lib/get_ppid_of.c: New file.
10950         * modules/get_ppid_of: New file.
10952 2019-08-13  Bruno Haible  <bruno@clisp.org>
10954         libtextstyle-optional tests: Support the NO_COLOR environment variable.
10955         * tests/test-libtextstyle.c (main): Do not emit styling when the
10956         environment variable NO_COLOR is set.
10958 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10960         verify: improve diagnostic quality in recent GCC
10961         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
10962         useful line number containing the top-level caller of the macro.
10963         So, bring back the older way of issuing a diagnostic containing
10964         the top-level call’s arg, so that it is easier to diagnose
10965         ‘verify’ failures with recent GCC.
10966         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
10967         Bring back DIAGNOSTIC arg.  All callers changed.
10968         (verify): Just use _GL_VERIFY.
10970 2019-08-11  Bruno Haible  <bruno@clisp.org>
10972         localcharset: Add more aliases for OS/2.
10973         Based on patch by KO Myung-Hun <komh78@gmail.com> in
10974         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
10975         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
10977 2019-08-10  Eric Blake  <eblake@redhat.com>
10979         configmake: Update advice on usage.
10980         * modules/configmake (Include): No longer necessary to include
10981         last, since configmake.h itself worries about collision avoidance.
10983 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
10985         parse-datetime: fix 'T' military timezone handling
10986         * lib/parse-datetime.y (zone):
10987         follow-up to the previous commit: the 'T' case is handled outside the
10988         conversion table (used as either military timezone UTC-7 or ISO8601
10989         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
10990         timezone letters.
10992 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
10994         parse-datetime: fix military timezone letters
10995         Problem and trivial fix reported by Neil Hoggarth in:
10996         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
10997         * lib/parse-datetime.y (military_table):
10998         Do it the right way, not the RFC 822 way.
11000 2019-08-08  Eric Blake  <eblake@redhat.com>
11002         configmake: Avoid namespace pollution issue on mingw.
11003         * modules/configmake (Makefile.am): If the project uses
11004         <winsock2.h>, include that header before defining DATADIR.
11006 2019-07-28  Bruno Haible  <bruno@clisp.org>
11008         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
11009         * tests/test-mbrtowc.c (main): Fix expected value of wc.
11011 2019-07-24  Bruno Haible  <bruno@clisp.org>
11013         pthread-h: Fix definitions of types and macros on mingw.
11014         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
11015         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
11016         not in use.
11017         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
11018         'pthread-once' is not in use.
11019         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
11020         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
11021         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
11022         in use.
11023         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
11024         Define also when module 'pthread-rwlock' is not in use.
11025         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
11026         also when module 'pthread-cond' is not in use.
11027         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
11028         'pthread-tss' is not in use.
11029         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
11030         use.
11032 2019-07-24  Simon Josefsson  <simon@josefsson.org>
11034         crypto/gc: Cope with libgcrypt without SM3.
11035         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
11037 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
11039         backupfile: fix resource leak on memory failure
11040         Problem found by Coverity (CID 1484214).
11041         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
11043 2019-07-22  Bruno Haible  <bruno@clisp.org>
11045         Avoid missing-declarations warning in various tests.
11046         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
11047         test6, test_optional, test7, test8, test9, test10, test11, test12,
11048         test13, test14, test15, test_fun): Declare static.
11049         * tests/test-cnd.c (test_cnd_wait): Likewise.
11050         * tests/test-cond.c (test_cond): Likewise.
11052 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
11054         pthread tests: Avoid missing-declarations warning.
11055         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
11057 2019-07-19  Bruno Haible  <bruno@clisp.org>
11059         parse-datetime: Avoid warnings from bison versions >= 3.3.
11060         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
11061         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
11063 2019-07-19  Bruno Haible  <bruno@clisp.org>
11065         parse-datetime: Require Bison 2.4 or newer.
11066         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
11067         Code taken from gettext's intl.m4.
11068         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
11069         of YACC.
11071 2019-07-19  Bruno Haible  <bruno@clisp.org>
11073         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
11074         * lib/areadlink-with-size.c: Include <string.h>.
11075         * lib/areadlinkat-with-size.c: Likewise.
11076         * lib/xgethostname.c: Likewise.
11077         * lib/xgetdomainname.c: Likewise.
11079 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
11081         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
11082         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
11083         "%pure-parser".  The former is available since Bison 2.3b (2008),
11084         while the latter is marked as obsolete since version 3.4 (May 2019).
11086 2019-07-16  Bruno Haible  <bruno@clisp.org>
11088         update-copyright: Make it work again (regression from 2019-06-15).
11089         Reported by Brian C. Lane <bcl@redhat.com>.
11090         * build-aux/update-copyright: Add back the -0777, -p, -i options.
11092 2019-07-14  Bruno Haible  <bruno@clisp.org>
11094         doc: Update info about <pthread.h>.
11095         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
11096         of 'pthread'.
11098 2019-07-14  Bruno Haible  <bruno@clisp.org>
11100         pthread_sigmask tests: Use new multithread modules.
11101         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
11102         glthread/thread.h.
11103         (main_thread, killer_thread): Change type to pthread_t.
11104         (main): Update accordingly.
11105         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
11106         thread.
11108 2019-07-14  Bruno Haible  <bruno@clisp.org>
11110         pthread-tss: Add tests.
11111         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
11112         tests/test-tss.c.
11113         * modules/pthread-tss-tests: New file.
11115 2019-07-14  Bruno Haible  <bruno@clisp.org>
11117         pthread-cond: Add tests.
11118         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
11119         tests/test-cnd.c.
11120         * modules/pthread-cond-tests: New file.
11122 2019-07-14  Bruno Haible  <bruno@clisp.org>
11124         pthread-rwlock: Add tests.
11125         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
11126         * modules/pthread-rwlock-tests: New file.
11128 2019-07-14  Bruno Haible  <bruno@clisp.org>
11130         pthread-mutex: Add tests.
11131         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
11132         tests/test-mtx.c.
11133         * modules/pthread-mutex-tests: New file.
11135 2019-07-14  Bruno Haible  <bruno@clisp.org>
11137         pthread-once: Add tests.
11138         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
11139         tests/test-call_once.c.
11140         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
11141         tests/test-mtx.c.
11142         * modules/pthread-once-tests: New file.
11144 2019-07-14  Bruno Haible  <bruno@clisp.org>
11146         pthread-thread: Add tests.
11147         * tests/test-pthread-thread.c: New file, based on
11148         tests/test-thread_create.c and tests/test-thrd_create.c.
11149         * modules/pthread-thread-tests: New file.
11151 2019-07-14  Bruno Haible  <bruno@clisp.org>
11153         pthread: Turn into a convenience module.
11154         * lib/pthread.in.h: Remove declarations for extern inline functions.
11155         * lib/pthread.c: Remove file.
11156         * modules/pthread (Files): Remove it.
11157         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
11158         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
11159         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
11160         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
11161         GNULIB_PTHREAD.
11162         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
11164 2019-07-14  Bruno Haible  <bruno@clisp.org>
11166         pthread-spin: New module.
11167         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
11168         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
11169         inline definitions.
11170         * lib/pthread-spin.c: New file.
11171         * m4/pthread-spin.m4: New file.
11172         * modules/pthread-spin: New file.
11173         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
11174         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
11175         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
11176         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
11177         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
11179 2019-07-14  Bruno Haible  <bruno@clisp.org>
11181         pthread-tss: New module.
11182         * lib/pthread-tss.c: New file.
11183         * m4/pthread-tss.m4: New file.
11184         * modules/pthread-tss: New file.
11185         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
11186         * doc/posix-functions/pthread_setspecific.texi: Likewise.
11187         * doc/posix-functions/pthread_getspecific.texi: Likewise.
11188         * doc/posix-functions/pthread_key_delete.texi: Likewise.
11190 2019-07-14  Bruno Haible  <bruno@clisp.org>
11192         pthread-cond: New module.
11193         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
11194         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
11195         * lib/pthread-cond.c: New file.
11196         * m4/pthread-cond.m4: New file.
11197         * modules/pthread-cond: New file.
11198         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
11199         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
11200         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
11201         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
11202         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
11203         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
11204         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
11205         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
11207 2019-07-14  Bruno Haible  <bruno@clisp.org>
11209         pthread-rwlock: New module.
11210         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
11211         * m4/pthread-rwlock.m4: New file.
11212         * modules/pthread-rwlock: New file.
11213         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
11214         and the Android problem.
11215         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
11216         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
11217         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
11218         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
11219         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
11220         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
11221         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
11222         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
11223         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
11224         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
11226 2019-07-14  Bruno Haible  <bruno@clisp.org>
11228         pthread-mutex: New module.
11229         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
11230         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
11231         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
11232         pthread_mutex_unlock): Remove inline definitions.
11233         * lib/pthread-mutex.c: New file.
11234         * m4/pthread-mutex.m4: New file.
11235         * modules/pthread-mutex: New file.
11236         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
11237         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
11238         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
11239         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
11240         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11241         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11242         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
11243         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
11244         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
11245         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
11246         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
11247         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
11249 2019-07-14  Bruno Haible  <bruno@clisp.org>
11251         pthread-once: New module.
11252         * lib/pthread-once.c: New file.
11253         * m4/pthread-once.m4: New file.
11254         * modules/pthread-once: New file.
11255         * doc/posix-functions/pthread_once.texi: Mention the new module.
11257 2019-07-14  Bruno Haible  <bruno@clisp.org>
11259         pthread-thread: New module.
11260         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
11261         inline definitions.
11262         * lib/pthread-thread.c: New file.
11263         * m4/pthread-thread.m4: New file.
11264         * modules/pthread-thread: New file.
11265         * doc/posix-functions/pthread_create.texi: Mention the new module.
11266         * doc/posix-functions/pthread_attr_init.texi: Likewise.
11267         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
11268         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
11269         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
11270         * doc/posix-functions/pthread_self.texi: Likewise.
11271         * doc/posix-functions/pthread_equal.texi: Likewise.
11272         * doc/posix-functions/pthread_detach.texi: Likewise.
11273         * doc/posix-functions/pthread_join.texi: Likewise.
11274         * doc/posix-functions/pthread_exit.texi: Likewise.
11276 2019-07-14  Bruno Haible  <bruno@clisp.org>
11278         pthread-h: Prepare for adding new modules.
11279         * lib/pthread.in.h: Define the types and macros for each of the
11280         facilities separately.
11281         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
11282         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
11283         HAVE_PTHREAD_PROCESS_SHARED.
11284         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
11285         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
11286         HAVE_PTHREAD_PROCESS_SHARED.
11287         * modules/pthread-h (Makefile.am): Substitute
11288         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
11289         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
11291 2019-07-14  Bruno Haible  <bruno@clisp.org>
11293         pthread-h: Add declarations of essential pthread functions.
11294         * lib/pthread.in.h: Include snippets.
11295         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
11296         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
11297         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
11298         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
11299         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
11300         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
11301         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
11302         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
11303         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
11304         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
11305         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
11306         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
11307         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
11308         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
11309         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
11310         pthread_key_create, pthread_setspecific, pthread_getspecific,
11311         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
11312         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
11313         declarations.
11314         (pthread_mutex_timedlock): Move declaration.
11315         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
11316         declared.
11317         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
11318         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
11319         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
11320         HAVE_* and REPLACE_* variables for the new functions.
11321         * modules/pthread-h (Depends-on): Add snippet/c++defs,
11322         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
11323         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
11324         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
11325         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
11326         variables for the new functions. Split the sed script, to avoid the
11327         limit of 99 commands of HP-UX sed.
11328         * tests/test-pthread-c++.cc: Check the signature of the new functions.
11330 2019-07-14  Bruno Haible  <bruno@clisp.org>
11332         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
11333         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
11334         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
11335         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
11336         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
11337         * modules/pthread-h (Depends-on): Add threadlib.
11338         (Link): Change to $(LIBTHREAD).
11339         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
11340         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
11342 2019-07-14  Bruno Haible  <bruno@clisp.org>
11344         pthread-h: Add C++ tests.
11345         * tests/test-pthread-c++.cc: New file.
11346         * modules/pthread-h-c++-tests: New file.
11348 2019-07-14  Bruno Haible  <bruno@clisp.org>
11350         pthread-h: Add tests.
11351         * tests/test-pthread.c: New file.
11352         * modules/pthread-h-tests: New file.
11354 2019-07-14  Bruno Haible  <bruno@clisp.org>
11356         pthread-h: New module.
11357         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
11358         is 1.
11359         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
11360         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
11361         <pthread.h> pollutes the namespace; instead, prepare for generating a
11362         pthread.h always. Substitute HAVE_PTHREAD_H here.
11363         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
11364         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
11365         * modules/pthread-h: New file, based on modules/pthread.
11366         * modules/pthread: Rely on 'pthread-h'.
11367         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
11368         Update.
11369         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
11370         pthread.
11372 2019-07-14  Bruno Haible  <bruno@clisp.org>
11374         sched_yield: New module.
11375         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
11376         (sched_yield): New declaration.
11377         * lib/sched_yield.c: New file.
11378         * m4/sched_yield.m4: New file.
11379         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
11380         provide a replacement sched.h always. Test whether sched_yield is
11381         declared.
11382         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
11383         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
11384         (Makefile.am): Provide a replacement sched.h always. Substitute
11385         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
11386         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
11387         * modules/sched_yield: New file.
11388         * doc/posix-functions/sched_yield.texi: Mention the new module.
11390 2019-07-14  Bruno Haible  <bruno@clisp.org>
11392         windows-spin: New module.
11393         * lib/windows-spin.h: New file.
11394         * lib/windows-spin.c: New file.
11395         * modules/windows-spin: New file.
11397 2019-07-14  Bruno Haible  <bruno@clisp.org>
11399         windows-timedrwlock: New module.
11400         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
11401         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
11402         windows-cond.c.
11403         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
11404         redefinition conflict with windows-timedrwlock.h.
11405         * modules/windows-timedrwlock: New file.
11407 2019-07-14  Bruno Haible  <bruno@clisp.org>
11409         windows-rwlock: New module.
11410         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
11411         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
11412         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
11413         windows-initguard.h.
11414         (gl_rwlock_t): Define using glwthread_rwlock_t.
11415         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
11416         (glthread_rwlock_init): Define using glwthread_rwlock_init.
11417         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
11418         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
11419         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
11420         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
11421         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
11422         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
11423         glthread_rwlock_destroy_func): Remove declarations.
11424         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
11425         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
11426         gl_waitqueue_notify_all, glthread_rwlock_init_func,
11427         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
11428         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
11429         functions.
11430         * modules/windows-rwlock: New file.
11431         * modules/lock (Depends-on): Add windows-rwlock.
11433 2019-07-14  Bruno Haible  <bruno@clisp.org>
11435         windows-thread: Add support for creating a thread in detached state.
11436         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
11437         (glwthread_thread_create): Add attr argument.
11438         * lib/windows-thread.c (glwthread_thread_create): Likewise.
11439         * lib/glthread/thread.h (glthread_create): Update.
11440         * lib/thrd.c (thrd_create): Update.
11442 2019-07-14  Bruno Haible  <bruno@clisp.org>
11444         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
11445         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
11446         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
11447         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
11448         * lib/windows-mutex.h: Update.
11449         * lib/windows-recmutex.h: Likewise.
11450         * lib/windows-timedmutex.h: Likewise.
11451         * lib/windows-timedrecmutex.h: Likewise.
11452         * lib/windows-cond.h: Likewise.
11453         * lib/glthread/lock.h: Likewise.
11454         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
11455         lib/windows-spinlock.h.
11456         * modules/windows-recmutex (Files): Likewise.
11457         * modules/windows-timedmutex (Files): Likewise.
11458         * modules/windows-timedrecmutex (Files): Likewise.
11459         * modules/windows-cond (Files): Likewise.
11460         * modules/threads-h (Files): Likewise.
11462 2019-07-14  Bruno Haible  <bruno@clisp.org>
11464         doc: Fix info about pthread API in HP-UX.
11465         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
11467 2019-07-14  Bruno Haible  <bruno@clisp.org>
11469         threads-h: Fix generation of threads.h.
11470         * modules/threads-h (Makefile.am): Insert the required header file
11471         snippets.
11473 2019-07-09  Bruno Haible  <bruno@clisp.org>
11475         striconveh test: Fix a compilation failure when iconv is not available.
11476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11477         * tests/test-striconveh.c (main): Move iconv_close invocations inside
11478         HAVE_ICONV.
11480 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
11482         argmatch: adjust columns for help2man.
11483         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
11484         requires column 20 or more, return 20.
11486 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11488         areadlink-with-size: avoid realloc when size==0
11489         * lib/areadlink-with-size.c (areadlink_with_size):
11490         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
11491         Reallocate at the end to the actual size, to avoid memory waste,
11492         as suggested by Bruno Haible.  But when the guessed size is zero -
11493         useful when the size is unknown - do the initial small readlink
11494         into the stack, to avoid that realloc in the usual case.
11496 2019-07-06  Pádraig Brady  <P@draigBrady.com>
11498         areadlink-with-size: guess a buffer size with 0 size
11499         The size is usually taken from st_size, which can be zero,
11500         resulting in inefficient operation.
11501         Instead let zero select an initial memory allocation
11502         of 128 bytes, which most symlinks fit within.
11503         * lib/areadlink-with-size.c (areadlink_with_size):
11504         Start with a 128 byte buffer, for SIZE == 0.
11505         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
11507 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
11509         Replace manually crafted hex regexes with [:xdigit:]
11510         * build-aux/gitlog-to-changelog (parse_amend_file)
11511         (git_dir_option):
11512         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
11513         This patch is backported from Emacs (Bug#36167).
11515 2019-07-06  Bruno Haible  <bruno@clisp.org>
11517         error: Fix documentation.
11518         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
11519         module provides.
11520         * doc/glibc-functions/error_message_count.texi: Likewise.
11521         * doc/glibc-functions/error_one_per_line.texi: Likewise.
11522         * doc/glibc-functions/error_print_progname.texi: Likewise.
11524 2019-07-06  Bruno Haible  <bruno@clisp.org>
11526         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
11527         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
11528         and older is unsupported.
11529         * doc/**/*.texi: Update.
11531 2019-07-06  Bruno Haible  <bruno@clisp.org>
11533         doc: Remove documentation of Linux libc5 as a supported platform.
11534         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
11535         to Linux libc5.
11536         * doc/posix-functions/iswalpha.texi: Likewise.
11537         * doc/posix-functions/iswblank.texi: Likewise.
11538         * doc/posix-functions/iswcntrl.texi: Likewise.
11539         * doc/posix-functions/iswdigit.texi: Likewise.
11540         * doc/posix-functions/iswgraph.texi: Likewise.
11541         * doc/posix-functions/iswlower.texi: Likewise.
11542         * doc/posix-functions/iswprint.texi: Likewise.
11543         * doc/posix-functions/iswpunct.texi: Likewise.
11544         * doc/posix-functions/iswspace.texi: Likewise.
11545         * doc/posix-functions/iswupper.texi: Likewise.
11546         * doc/posix-functions/iswxdigit.texi: Likewise.
11547         * doc/posix-functions/snprintf.texi: Likewise.
11548         * doc/posix-functions/vsnprintf.texi: Likewise.
11550 2019-07-06  Bruno Haible  <bruno@clisp.org>
11552         doc: Remove documentation of Tandem/NSK as a supported platform.
11553         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
11554         Tandem/NSK.
11555         * doc/**/*.texi: Update.
11557 2019-07-06  Bruno Haible  <bruno@clisp.org>
11559         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
11560         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
11561         and older is unsupported.
11562         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
11563         Mac OS X 10.4 and older.
11564         * doc/posix-functions/asinl.texi: Likewise.
11565         * doc/posix-functions/atanl.texi: Likewise.
11566         * doc/posix-functions/cosl.texi: Likewise.
11567         * doc/posix-functions/expl.texi: Likewise.
11568         * doc/posix-functions/frexpl.texi: Likewise.
11569         * doc/posix-functions/gettimeofday.texi: Likewise.
11570         * doc/posix-functions/logl.texi: Likewise.
11571         * doc/posix-functions/mkstemp.texi: Likewise.
11572         * doc/posix-functions/sinl.texi: Likewise.
11573         * doc/posix-functions/sqrtl.texi: Likewise.
11574         * doc/posix-functions/tanl.texi: Likewise.
11575         * doc/posix-functions/wcswidth.texi: Likewise.
11576         * doc/**/*.texi: Update.
11578 2019-07-06  Bruno Haible  <bruno@clisp.org>
11580         doc: Remove documentation of AIX 4 as a supported platform.
11581         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
11582         unsupported.
11583         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
11584         workarounds.
11585         * doc/posix-functions/strnlen.texi: Likewise.
11586         * doc/posix-headers/inttypes.texi: Likewise.
11587         * doc/**/*.texi: Update.
11589 2019-07-06  Bruno Haible  <bruno@clisp.org>
11591         doc: Remove documentation of HP-UX 10 as a supported platform.
11592         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
11593         unsupported.
11594         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
11595         workarounds.
11596         * doc/posix-functions/gmtime_r.texi: Likewise.
11597         * doc/posix-functions/localtime_r.texi: Likewise.
11598         * doc/posix-functions/mkstemp.texi: Likewise.
11599         * doc/**/*.texi: Update.
11601 2019-07-06  Bruno Haible  <bruno@clisp.org>
11603         doc: Remove documentation of Interix 3.5 as a supported platform.
11604         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
11605         unsupported.
11606         * doc/posix-functions/select.texi: Don't mention Interix specific
11607         workarounds.
11608         * doc/posix-headers/signal.texi: Likewise.
11609         * doc/**/*.texi: Update.
11611 2019-07-06  Bruno Haible  <bruno@clisp.org>
11613         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
11614         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
11615         unsupported.
11616         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
11617         workarounds.
11618         * doc/posix-functions/nl_langinfo.texi: Likewise.
11619         * doc/posix-functions/remainder.texi: Likewise.
11620         * doc/posix-functions/towlower.texi: Likewise.
11621         * doc/posix-functions/towupper.texi: Likewise.
11622         * doc/posix-functions/vsnprintf.texi: Likewise.
11623         * doc/posix-functions/wcscat.texi: Likewise.
11624         * doc/posix-functions/wcschr.texi: Likewise.
11625         * doc/posix-functions/wcscmp.texi: Likewise.
11626         * doc/posix-functions/wcscpy.texi: Likewise.
11627         * doc/posix-functions/wcscspn.texi: Likewise.
11628         * doc/posix-functions/wcslen.texi: Likewise.
11629         * doc/posix-functions/wcsncat.texi: Likewise.
11630         * doc/posix-functions/wcsncmp.texi: Likewise.
11631         * doc/posix-functions/wcsncpy.texi: Likewise.
11632         * doc/posix-functions/wcspbrk.texi: Likewise.
11633         * doc/posix-functions/wcsrchr.texi: Likewise.
11634         * doc/posix-functions/wcsspn.texi: Likewise.
11635         * doc/posix-headers/langinfo.texi: Likewise.
11636         * doc/posix-headers/signal.texi: Likewise.
11637         * doc/posix-headers/wchar.texi: Likewise.
11638         * doc/posix-headers/wctype.texi: Likewise.
11639         * doc/**/*.texi: Update.
11641 2019-07-05  Bruno Haible  <bruno@clisp.org>
11643         doc: Remove documentation of OSF/1 as supported platform.
11644         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
11645         unsupported.
11646         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
11647         workarounds.
11648         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
11649         * doc/glibc-functions/ptsname_r.texi: Likewise.
11650         * doc/posix-functions/ceil.texi: Likewise.
11651         * doc/posix-functions/ceilf.texi: Likewise.
11652         * doc/posix-functions/ceill.texi: Likewise.
11653         * doc/posix-functions/fchdir.texi: Likewise.
11654         * doc/posix-functions/floor.texi: Likewise.
11655         * doc/posix-functions/floorf.texi: Likewise.
11656         * doc/posix-functions/fmod.texi: Likewise.
11657         * doc/posix-functions/fmodf.texi: Likewise.
11658         * doc/posix-functions/fmodl.texi: Likewise.
11659         * doc/posix-functions/log.texi: Likewise.
11660         * doc/posix-functions/logf.texi: Likewise.
11661         * doc/posix-functions/logl.texi: Likewise.
11662         * doc/posix-functions/log10.texi: Likewise.
11663         * doc/posix-functions/log10f.texi: Likewise.
11664         * doc/posix-functions/log10l.texi: Likewise.
11665         * doc/posix-functions/log2.texi: Likewise.
11666         * doc/posix-functions/log2f.texi: Likewise.
11667         * doc/posix-functions/log2l.texi: Likewise.
11668         * doc/posix-functions/mbrtowc.texi: Likewise.
11669         * doc/posix-functions/recv.texi: Likewise.
11670         * doc/posix-functions/recvfrom.texi: Likewise.
11671         * doc/posix-functions/remainder.texi: Likewise.
11672         * doc/posix-functions/remainderf.texi: Likewise.
11673         * doc/posix-functions/remainderl.texi: Likewise.
11674         * doc/posix-functions/round.texi: Likewise.
11675         * doc/posix-functions/roundf.texi: Likewise.
11676         * doc/posix-functions/roundl.texi: Likewise.
11677         * doc/posix-functions/send.texi: Likewise.
11678         * doc/posix-functions/sendto.texi: Likewise.
11679         * doc/posix-functions/setenv.texi: Likewise.
11680         * doc/posix-functions/snprintf.texi: Likewise.
11681         * doc/posix-functions/tcgetsid.texi: Likewise.
11682         * doc/posix-functions/trunc.texi: Likewise.
11683         * doc/posix-functions/truncf.texi: Likewise.
11684         * doc/posix-functions/truncl.texi: Likewise.
11685         * doc/posix-functions/ttyname_r.texi: Likewise.
11686         * doc/posix-functions/unsetenv.texi: Likewise.
11687         * doc/posix-functions/wcsrtombs.texi: Likewise.
11688         * doc/posix-headers/sys_select.texi: Likewise.
11689         * doc/posix-headers/wchar.texi: Likewise.
11690         * doc/posix-headers/wctype.texi: Likewise.
11691         * doc/**/*.texi: Update.
11693 2019-07-05  Bruno Haible  <bruno@clisp.org>
11695         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
11696         * doc/**/*.texi: Update.
11698 2019-07-05  Bruno Haible  <bruno@clisp.org>
11700         doc: Remove documentation of Solaris 8 and older as supported platforms.
11701         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
11702         unsupported.
11703         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
11704         workarounds.
11705         * doc/posix-functions/memcmp.texi: Likewise.
11706         * doc/posix-functions/rename.texi: Likewise.
11707         * doc/posix-functions/tzset.texi: Likewise.
11708         * doc/posix-headers/wctype.texi: Likewise.
11709         * doc/**/*.texi: Update.
11711 2019-07-05  Bruno Haible  <bruno@clisp.org>
11713         doc: Remove documentation of Interix 3.5 as a supported platform.
11714         * doc/**/*.texi: Update.
11716 2019-07-05  Bruno Haible  <bruno@clisp.org>
11718         doc: Remove documentation of BeOS as a supported platform.
11719         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
11720         unsupported.
11721         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
11722         * doc/posix-functions/getdelim.texi: Likewise.
11723         * doc/**/*.texi: Update.
11725 2019-07-05  Bruno Haible  <bruno@clisp.org>
11727         thread, lock, cond, tls: Remove support for Pth threads.
11728         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
11729         --enable-threads=pth any more.
11730         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
11731         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
11732         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
11733         threads and ISO C11 threads.
11734         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
11735         * lib/glthread/lock.h: Likewise.
11736         * lib/glthread/lock.c: Likewise.
11737         * lib/glthread/cond.h: Likewise.
11738         * lib/glthread/cond.c: Likewise.
11739         * lib/glthread/tls.h: Likewise.
11740         * lib/glthread/tls.c: Likewise.
11741         * lib/glthread/yield.h: Likewise.
11742         * lib/regex_internal.h: Likewise.
11743         * tests/test-thread_create.c: Likewise.
11744         * tests/test-lock.c: Likewise.
11745         * tests/test-cond.c: Likewise.
11746         * tests/test-tls.c: Likewise.
11747         * tests/test-rwlock1.c: Don't include glthread/yield.h.
11748         (main): Sleep without calling gl_thread_yield.
11750 2019-07-05  Bruno Haible  <bruno@clisp.org>
11752         thread, lock, cond, tls: Remove support for old Solaris threads.
11753         Solaris >= 2.5.1 has POSIX threads.
11754         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
11755         --enable-threads=solaris any more.
11756         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
11757         * lib/glthread/thread.c: Update comment.
11758         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
11759         * lib/glthread/lock.h: Likewise.
11760         * lib/glthread/lock.c: Likewise.
11761         * lib/glthread/cond.h: Likewise.
11762         * lib/glthread/cond.c: Likewise.
11763         * lib/glthread/tls.h: Likewise.
11764         * lib/glthread/tls.c: Likewise.
11765         * lib/glthread/yield.h: Likewise.
11766         * lib/regex_internal.h: Likewise.
11767         * tests/test-thread_create.c: Likewise.
11768         * tests/test-lock.c: Likewise.
11769         * tests/test-cond.c: Likewise.
11770         * tests/test-tls.c: Likewise.
11772 2019-07-05  Bruno Haible  <bruno@clisp.org>
11774         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
11775         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
11776         needed size is equal to the allocated size.
11777         * lib/getcwd.c (__getcwd): Likewise.
11779 2019-07-05  Bruno Haible  <bruno@clisp.org>
11781         xgetdomainname: Don't return an excessive memory allocation.
11782         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
11783         before returning it.
11785 2019-07-05  Bruno Haible  <bruno@clisp.org>
11787         xgethostname: Don't return an excessive memory allocation.
11788         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
11789         returning it.
11791 2019-07-05  Bruno Haible  <bruno@clisp.org>
11793         areadlinkat-with-size: Don't return an excessive memory allocation.
11794         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
11795         before returning it.
11797 2019-07-05  Bruno Haible  <bruno@clisp.org>
11799         areadlink-with-size: Don't return an excessive memory allocation.
11800         Reported by Andreas Dilger <adilger@whamcloud.com>.
11801         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
11802         before returning it.
11804 2019-07-03  Bruno Haible  <bruno@clisp.org>
11806         renameatu: Fix test failure on MSVC.
11807         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
11808         empty string.
11810 2019-07-03  Bruno Haible  <bruno@clisp.org>
11812         mbrtowc: Fix invalid use of mbtowc() on MSVC.
11813         * lib/mbrtowc.c: Include glthread/lock.h.
11814         (mbtowc_lock): New variable.
11815         (mbrtowc): Treat UTF-8 encoding without locking. For the other
11816         encodings, explicitly reset the internal state of mbtowc, and protect
11817         this through a lock.
11818         * modules/mbrtowc (Depends-on): Add lock.
11820 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
11822         argmatch: don't define _ in the header.
11823         Reported by Jim Meyering.
11824         * lib/argmatch.h (N_, _): Don't define.
11825         Use gettext instead.
11826         * lib/argmatch.h (_): Define.
11827         * tests/test-argmatch.c (N_): Define.
11829 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
11831         verify: document ‘assume’ better
11832         * lib/verify.h: Reword doc (Bug#36370).
11834 2019-07-02  Bruno Haible  <bruno@clisp.org>
11836         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
11837         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
11838         "CPutf8".
11839         * lib/nl_langinfo.c (ctype_codeset): Likewise.
11841 2019-07-02  Bruno Haible  <bruno@clisp.org>
11843         getcwd: Fix crash when invoked with size = 0 on MSVC.
11844         * lib/getcwd.c: Include msvc-inval.h.
11845         (getcwd_nothrow): New function/macro.
11846         (getcwd_system): New macro.
11847         (__getcwd): Use it instead of getcwd.
11848         * modules/getcwd (Depends-on): Add msvc-inval.
11849         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
11851 2019-07-02  Bruno Haible  <bruno@clisp.org>
11853         nonblocking-pipe tests: Fix test failure on MSVC.
11854         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
11855         native Windows.
11857 2019-07-02  Bruno Haible  <bruno@clisp.org>
11859         usleep: Implement with millisecond resolution on native Windows.
11860         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
11861         * doc/pastposix-functions/usleep.texi: Update accordingly.
11863 2019-07-02  Bruno Haible  <bruno@clisp.org>
11865         lstat tests: Fix test failure on MSVC.
11866         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
11867         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
11869 2019-07-02  Bruno Haible  <bruno@clisp.org>
11871         stat tests: Fix test failure on MSVC.
11872         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
11873         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
11875 2019-07-02  Bruno Haible  <bruno@clisp.org>
11877         getaddrinfo tests: Fix test failure on MSVC.
11878         * tests/test-getaddrinfo.c: Include sockets.h.
11879         (main): Invoke gl_sockets_startup.
11880         * modules/getaddrinfo-tests (Depends-on): Add sockets.
11882 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
11884         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
11885         * lib/poll.c: Call Windows native select() with Windows native timeval.
11887 2019-06-30  Bruno Haible  <bruno@clisp.org>
11889         argmatch: Fix compilation errors.
11890         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
11891         * tests/test-argmatch.c (main): Update after last-minute function names
11892         change.
11894 2019-06-30  Bruno Haible  <bruno@clisp.org>
11896         Include <stdlib.h> when needed.
11897         * lib/cnd.c: Include <stdlib.h>, needed for abort().
11898         * lib/fcntl.c: Likewise.
11899         * lib/mbscasestr.c: Likewise.
11900         * lib/mbssep.c: Likewise.
11901         * lib/mbsstr.c: Likewise.
11902         * lib/openat.c: Include <stdlib.h>, needed for free().
11903         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
11904         abort().
11906 2019-06-30  Bruno Haible  <bruno@clisp.org>
11908         Include <stdlib.h> when needed.
11909         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
11910         * lib/faccessat.c: Likewise.
11911         * lib/fchmodat.c: Likewise.
11912         * lib/fchownat.c: Likewise.
11913         * lib/fstatat.c: Likewise.
11914         * lib/mkfifoat.c: Likewise.
11915         * lib/mknodat.c: Likewise.
11916         * lib/readlinkat.c: Likewise.
11917         * lib/symlinkat.c: Likewise.
11918         * lib/utimensat.c: Likewise.
11919         * lib/mkdirat.c: Likewise. Include also the specification header.
11921 2019-06-30  Bruno Haible  <bruno@clisp.org>
11923         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
11924         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
11925         from gl_PREREQ_SYS_H_SOCKET.
11926         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
11927         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
11928         gl_PREREQ_SYS_H_WS2TCPIP.
11929         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
11930         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
11931         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
11933 2019-06-30  Bruno Haible  <bruno@clisp.org>
11935         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
11936         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
11937         REPLACE_INET_NTOP to 1 always.
11938         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
11939         REPLACE_INET_PTON to 1 always.
11941 2019-06-30  Bruno Haible  <bruno@clisp.org>
11943         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
11944         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
11945         not REPLACE_INET_NTOP.
11947 2019-06-30  Bruno Haible  <bruno@clisp.org>
11949         poll: Add comment.
11950         * lib/poll.c: Add comment about WSAPoll.
11952 2019-06-30  Bruno Haible  <bruno@clisp.org>
11954         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
11955         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
11956         * lib/poll.in.h: Include <winsock2.h>.
11957         (POLL*, pollfd): Override on native Windows.
11958         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11959         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
11960         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11962 2019-06-28  Bruno Haible  <bruno@clisp.org>
11964         accept4: Fix compilation error on OpenIndiana.
11965         Reported by Michal Nowak <mnowak@startmail.com>
11966         via Mark H Weaver <mhw@netris.org>.
11967         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
11968         whether it exists as a function.
11970 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
11972         strverscmp: sync from glibc
11973         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
11974         comments, include libc-config.h, define __strverscmp to be
11975         strverscmp, and don’t assume types line uint8_t and int8_t that
11976         that C99 doesn’t guarantee.
11977         [!_LIBC]: Include libc-config.h; define __strverscmp.
11978         Include stdint.h.
11979         (__strverscmp): Assume C99.  Use uint_least8_t
11980         and int_least8_t instead of unsigned char and signed char.
11981         * modules/strverscmp (Depends-on): Add libc-config, stdint.
11983 2019-06-25  Bruno Haible  <bruno@clisp.org>
11985         tss tests: Add tests for destructors and races.
11986         * tests/test-tss.c (worker_thread): Fix typo in debug message.
11987         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
11988         functions.
11989         (main): Invoke them.
11990         * modules/tls-tests (Depends-on): Add mtx.
11992 2019-06-25  Bruno Haible  <bruno@clisp.org>
11994         tls tests: Add tests for destructors and races.
11995         * tests/test-tls.c: Include glthread/lock.h.
11996         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
11997         functions.
11998         (main): Invoke them.
11999         * modules/tls-tests (Depends-on): Add lock.
12001 2019-06-25  Bruno Haible  <bruno@clisp.org>
12003         windows-tls: Implement TLS key destructors for native Windows.
12004         * lib/windows-tls.h (glwthread_tls_process_destructors): New
12005         declaration.
12006         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
12007         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
12008         (dtor_table_init_once, dtor_table_lock: New variables.
12009         (struct dtor): New type.
12010         (dtor_table, dtors_count, dtors_used, dtors_allocated,
12011         dtor_processing_threads): New variables.
12012         (dtor_table_initialize, dtor_table_ensure_initialized,
12013         dtor_table_shrink_used, glwthread_tls_process_destructors): New
12014         functions.
12015         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
12016         handle non-NULL destructors.
12017         * modules/windows-tls (Depends-on): Add windows-once.
12018         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
12019         Use the functions declared in windows-tls.h.
12020         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
12021         GLWTHREAD_DESTRUCTOR_ITERATIONS.
12022         * lib/windows-thread.c: Include windows-tls.h.
12023         (wrapper_func, glwthread_thread_exit): Invoke
12024         glwthread_tls_process_destructors.
12025         * modules/windows-thread (Depends-on): Add windows-tls.
12027 2019-06-25  Bruno Haible  <bruno@clisp.org>
12029         threadlib: Avoid autoconf warning "was expanded before it was required".
12030         * modules/threadlib (configure.ac): Require gl_THREADLIB.
12032 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
12034         argmatch: remove duplicate const qualifier
12035         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
12037 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12039         unistd: stddef.h and sys/types.h namespace cleanup
12040         * lib/unistd.in.h [__GLIBC__]:
12041         Do not include stddef.h or sys/types.h.
12042         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
12043         supposed to declare off_t and ssize_t.  Problem found when looking
12044         at why @GNULIB_PWRITE@ was different from the newly-added
12045         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
12047 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
12049         maintainer-makefile: restore portability to non-GNU awks
12050         Reported by Tim Rühsen.
12051         * top/maint.mk (AWK): New variable.  Use it.
12052         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
12054 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12056         Document setvbuf _IOLBF problem
12057         * doc/posix-functions/setvbuf.texi (setvbuf):
12058         Document MS-Windows portability problem with _IOLBF.
12060         Document lseek SEEK_DATA/SEEK_HOLE
12061         * doc/posix-functions/lseek.texi (lseek):
12062         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
12064 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
12066         argmatch: put all the docs member last.
12067         Reported by Bruno Haible.
12068         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
12069         member before the docs done.
12070         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
12072 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
12074         argmatch: add support to generate the usage message.
12075         * lib/argmatch.c: Move some #includes and gettext support to...
12076         * lib/argmatch.h: here.
12077         (ARGMATCH_DEFINE_GROUP): New macro.
12078         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
12079         (argmatch_backup_group): New.
12080         (CHECK): New.
12081         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
12082         argmatch_backup_argument and argmatch_backup_usage.
12083         * modules/argmatch: We depend on c99.
12084         * doc/argmatch.texi (Recognizing Option Arguments): New.
12085         * doc/gnulib.texi: Use it.
12087 2019-06-21  Bruno Haible  <bruno@clisp.org>
12089         thrd: Add comment.
12090         * lib/thrd.c (pthread_main_func): Add comment.
12092 2019-06-21  Bruno Haible  <bruno@clisp.org>
12094         threads-h: Define 'thread_local' if and only if it actually works.
12095         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
12096         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
12097         Oracle Solaris Studio C. Compile a simple program, to see whether
12098         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
12099         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
12100         * lib/threads.in.h (thread_local): Undefine if it does not work.
12101         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
12102         (Link): Mention LIBTHREADLOCAL.
12103         * tests/test-threads.c: Don't check that thread_local is defined.
12104         * tests/test-thread_local.c: New file.
12105         * modules/threads-h-tests (Files): Add it and macros.h.
12106         (Depends-on): Add thrd and stdint.
12107         (configure.ac): Test whether 'alarm' is declared.
12108         (Makefile.am): Arrange to build and link test-thread_local.
12109         * doc/posix-headers/threads.texi: Mention the platforms that don't
12110         support 'thread_local'.
12112 2019-06-20  Bruno Haible  <bruno@clisp.org>
12114         threads-h: Simplify link dependencies.
12115         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
12116         Don't set LTLIBSTDTHREAD.
12117         * modules/thrd (Link): Simplify accordingly.
12118         * modules/mtx (Link): Likewise.
12119         * modules/cnd (Link): Likewise.
12120         * modules/tss (Link): Likewise.
12121         * modules/threads (Link): Likewise.
12123 2019-06-20  Bruno Haible  <bruno@clisp.org>
12125         threads-h: Fix link error on FreeBSD 11.
12126         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
12127         also with -lpthread.
12129 2019-06-20  Bruno Haible  <bruno@clisp.org>
12131         threadlib: Fix typo (regression from today).
12132         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
12134 2019-06-20  Bruno Haible  <bruno@clisp.org>
12136         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
12137         * lib/windows-thread.c: Include <errno.h>.
12138         * lib/windows-tls.c: Likewise.
12140 2019-06-20  Bruno Haible  <bruno@clisp.org>
12142         tss tests: Small improvement.
12143         * tests/test-tss.c (test_tss): Pass a different id to each thread.
12145 2019-06-20  Bruno Haible  <bruno@clisp.org>
12147         threads: New module.
12148         * modules/threads: New file.
12150 2019-06-20  Bruno Haible  <bruno@clisp.org>
12152         tss: Add tests.
12153         * tests/test-tss.c: New file, based on tests/test-tls.c.
12154         * modules/tss-tests: New file.
12156 2019-06-20  Bruno Haible  <bruno@clisp.org>
12158         cnd: Add tests.
12159         * tests/test-cnd.c: New file, based on tests/test-cond.c.
12160         * modules/cnd-tests: New file.
12162 2019-06-20  Bruno Haible  <bruno@clisp.org>
12164         mtx: Add tests.
12165         * tests/test-mtx.c: New file, based on tests/test-lock.c.
12166         * tests/test-call_once.c: New file, based on tests/test-once.c.
12167         * modules/mtx-tests: New file.
12169 2019-06-20  Bruno Haible  <bruno@clisp.org>
12171         thrd: Add tests.
12172         * tests/test-thrd_create.c: New file, based on
12173         tests/test-thread_create.c.
12174         * tests/test-thrd_current.c: New file, based on
12175         tests/test-thread_self.c.
12176         * modules/thrd-tests: New file.
12178 2019-06-20  Bruno Haible  <bruno@clisp.org>
12180         tss: New module.
12181         * lib/tss.c: New file.
12182         * modules/tss: New file.
12183         * doc/posix-functions/tss_create.texi: Mention the new module.
12184         * doc/posix-functions/tss_set.texi: Likewise.
12185         * doc/posix-functions/tss_get.texi: Likewise.
12186         * doc/posix-functions/tss_delete.texi: Likewise.
12188 2019-06-20  Bruno Haible  <bruno@clisp.org>
12190         cnd: New module.
12191         * lib/cnd.c: New file.
12192         * modules/cnd: New file.
12193         * doc/posix-functions/cnd_init.texi: Mention the new module.
12194         * doc/posix-functions/cnd_wait.texi: Likewise.
12195         * doc/posix-functions/cnd_timedwait.texi: Likewise.
12196         * doc/posix-functions/cnd_signal.texi: Likewise.
12197         * doc/posix-functions/cnd_broadcast.texi: Likewise.
12198         * doc/posix-functions/cnd_destroy.texi: Likewise.
12200 2019-06-20  Bruno Haible  <bruno@clisp.org>
12202         mtx: New module.
12203         * lib/mtx.c: New file.
12204         * modules/mtx: New file.
12205         * doc/posix-functions/call_once.texi: Mention the new module.
12206         * doc/posix-functions/mtx_init.texi: Likewise.
12207         * doc/posix-functions/mtx_lock.texi: Likewise.
12208         * doc/posix-functions/mtx_trylock.texi: Likewise.
12209         * doc/posix-functions/mtx_timedlock.texi: Likewise.
12210         * doc/posix-functions/mtx_unlock.texi: Likewise.
12211         * doc/posix-functions/mtx_destroy.texi: Likewise.
12213 2019-06-20  Bruno Haible  <bruno@clisp.org>
12215         thrd: New module.
12216         * lib/thrd.c: New file.
12217         * m4/thrd.m4: New file.
12218         * modules/thrd: New file.
12219         * doc/posix-functions/thrd_current.texi: Mention the new module.
12220         * doc/posix-functions/thrd_detach.texi: Likewise.
12221         * doc/posix-functions/thrd_equal.texi: Likewise.
12222         * doc/posix-functions/thrd_exit.texi: Likewise.
12223         * doc/posix-functions/thrd_sleep.texi: Likewise.
12224         * doc/posix-functions/thrd_yield.texi: Likewise.
12225         * doc/posix-functions/thrd_create.texi: Mention the new module and the
12226         AIX bug.
12227         * doc/posix-functions/thrd_join.texi: Mention the new module and the
12228         AIX and Solaris bugs.
12230 2019-06-20  Bruno Haible  <bruno@clisp.org>
12232         threads-h: Add tests.
12233         * tests/test-threads.c: New file.
12234         * modules/threads-h-tests: New file.
12235         * tests/test-threads-c++.cc: New file.
12236         * modules/threads-h-c++-tests: New file.
12238 2019-06-20  Bruno Haible  <bruno@clisp.org>
12240         threads-h: New module.
12241         * lib/threads.in.h: New file.
12242         * m4/threads.m4: New file.
12243         * m4/yield.m4 (gl_YIELD): Update comment.
12244         * modules/threads-h: New file.
12245         * modules/yields (configure.ac): Use AC_REQUIRE.
12246         * doc/posix-headers/threads.texi: Mention the new module and the AIX
12247         bugs.
12249 2019-06-20  Bruno Haible  <bruno@clisp.org>
12251         windows-thread: New module.
12252         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
12253         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
12254         * lib/glthread/thread.h: Include windows-thread.h.
12255         (gl_thread_t): Define using glwthread_thread_t.
12256         (glthread_create): Define using glwthread_thread_create.
12257         (glthread_join): Define using glwthread_thread_join.
12258         (gl_thread_self): Define using glwthread_thread_self.
12259         (gl_thread_exit): Define using glwthread_thread_exit.
12260         (glthread_create_func, glthread_join_func, gl_thread_self_func,
12261         gl_thread_exit_func): Remove declarations.
12262         * lib/glthread/thread.c (self_key): Remove variable.
12263         (do_init_self_key, init_self_key): Remove functions.
12264         (struct gl_thread_struct): Remove type.
12265         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
12266         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
12267         functions.
12268         * modules/windows-thread: New file.
12269         * modules/thread (Depends-on): Add windows-thread.
12271 2019-06-20  Bruno Haible  <bruno@clisp.org>
12273         windows-tls: New module.
12274         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
12275         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
12276         * lib/glthread/tls.h: Include windows-tls.h.
12277         (gl_tls_key_t): Define using glwthread_tls_key_t.
12278         * modules/windows-tls: New file.
12279         * modules/tls (Depends-on): Add windows-tls.
12281 2019-06-20  Bruno Haible  <bruno@clisp.org>
12283         windows-cond: New module.
12284         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
12285         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
12286         * lib/glthread/cond.h: Include windows-cond.h.
12287         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
12288         (gl_cond_t): Define using glwthread_cond_t.
12289         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
12290         (glthread_cond_init): Define using glwthread_cond_init.
12291         (glthread_cond_wait): Define using glwthread_cond_wait.
12292         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
12293         (glthread_cond_signal): Define using glwthread_cond_signal.
12294         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
12295         (glthread_cond_destroy): Define using glwthread_cond_destroy.
12296         (glthread_cond_init_func, glthread_cond_wait_func,
12297         glthread_cond_timedwait_func, glthread_cond_signal_func,
12298         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
12299         declarations.
12300         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
12301         types.
12302         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
12303         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
12304         glthread_cond_init_func, glthread_cond_wait_func,
12305         glthread_cond_timedwait_func, glthread_cond_signal_func,
12306         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
12307         functions.
12308         * modules/windows-cond: New file.
12309         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
12311 2019-06-20  Bruno Haible  <bruno@clisp.org>
12313         windows-timedrecmutex: New module.
12314         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
12315         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
12316         * modules/windows-timedrecmutex: New file.
12318 2019-06-20  Bruno Haible  <bruno@clisp.org>
12320         windows-timedmutex: New module.
12321         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
12322         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
12323         * modules/windows-timedmutex: New file.
12325 2019-06-20  Bruno Haible  <bruno@clisp.org>
12327         windows-recmutex: New module.
12328         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
12329         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
12330         * lib/glthread/lock.h: Include windows-recmutex.h.
12331         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
12332         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
12333         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
12334         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
12335         (glthread_recursive_lock_unlock): Define using
12336         glwthread_recmutex_unlock.
12337         (glthread_recursive_lock_destroy): Define using
12338         glwthread_recmutex_destroy.
12339         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
12340         glthread_recursive_lock_unlock_func,
12341         glthread_recursive_lock_destroy_func): Remove declarations.
12342         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
12343         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
12344         glthread_recursive_lock_destroy_func): Remove functions.
12345         * modules/windows-recmutex: New file.
12346         * modules/lock (Depends-on): Add windows-recmutex.
12348 2019-06-20  Bruno Haible  <bruno@clisp.org>
12350         windows-mutex: New module.
12351         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
12352         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
12353         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
12354         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
12355         (gl_spinlock_t): Remove type.
12356         (gl_lock_t): Define using glwthread_mutex_t.
12357         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
12358         (glthread_lock_init): Define using glwthread_mutex_init.
12359         (glthread_lock_lock): Define using glwthread_mutex_lock.
12360         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
12361         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
12362         (glthread_lock_init_func, glthread_lock_lock_func,
12363         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
12364         declarations.
12365         Use glwthread_spinlock_t instead of gl_spinlock_t.
12366         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
12367         GLWTHREAD_SPINLOCK_INIT.
12368         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
12369         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
12370         functions.
12371         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
12372         gl_spinlock_t.
12373         * modules/windows-mutex: New file.
12374         * modules/lock (Depends-on): Add windows-mutex.
12376 2019-06-20  Bruno Haible  <bruno@clisp.org>
12378         windows-once: New module.
12379         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
12380         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
12381         * lib/glthread/lock.h: Include windows-once.h.
12382         (gl_once_t): Define using glwthread_once_t.
12383         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
12384         (glthread_once): Define using glwthread_once.
12385         (glthread_once_func): Remove declaration.
12386         * lib/glthread/lock.c (glthread_once_func): Remove function.
12387         * modules/windows-once: New file.
12388         * modules/lock (Depends-on): Add windows-once.
12390 2019-06-20  Bruno Haible  <bruno@clisp.org>
12392         lock, cond: Avoid possible counter wraparound on Windows.
12393         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
12394         field of the guard unchanged if it was already positive.
12395         (glthread_rwlock_rdlock_func): Likewise.
12396         (glthread_rwlock_wrlock_func): Likewise.
12397         (glthread_recursive_lock_lock_func): Likewise.
12398         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
12399         (glthread_cond_timedwait_func): Likewise.
12401 2019-06-20  Bruno Haible  <bruno@clisp.org>
12403         cond: Make glthread_cond_timedwait more reliable on Windows.
12404         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
12405         condition variable before looking at the current time.
12407 2019-06-20  Bruno Haible  <bruno@clisp.org>
12409         pthread_mutex_timedlock: New module.
12410         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
12411         new declaration.
12412         * lib/pthread_mutex_timedlock.c: New file.
12413         * m4/pthread_mutex_timedlock.m4: New file.
12414         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
12415         whether pthread_mutex_timedlock is declared.
12416         (gl_PTHREAD_MODULE_INDICATOR): New macro.
12417         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
12418         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
12419         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
12420         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
12421         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
12422         * modules/pthread_mutex_timedlock: New file.
12423         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
12424         module.
12426 2019-06-20  Bruno Haible  <bruno@clisp.org>
12428         thread, lock, cond, tls: Recognize C11 multithreaded applications.
12429         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
12430         * lib/glthread/thread.h (c11_threads_in_use): New macro.
12431         (pthread_in_use, pth_in_use, thread_in_use): Use it.
12432         * lib/glthread/lock.h (c11_threads_in_use): New macro.
12433         (pthread_in_use, pth_in_use, thread_in_use): Use it.
12434         * lib/glthread/cond.h (c11_threads_in_use): New macro.
12435         (pthread_in_use, pth_in_use, thread_in_use): Use it.
12436         * lib/glthread/tls.h (c11_threads_in_use): New macro.
12437         (pthread_in_use, pth_in_use, thread_in_use): Use it.
12439 2019-06-20  Bruno Haible  <bruno@clisp.org>
12441         tls tests: Small improvements.
12442         * tests/test-tls.c: Include <stdint.h>.
12443         (worker_thread): Avoid gcc warning on 64-bit mingw.
12444         (test_tls): Pass a different id to each thread.
12445         * modules/tls-tests (Depends-on): Add stdint.
12447 2019-06-20  Bruno Haible  <bruno@clisp.org>
12449         cond tests: Simplify.
12450         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
12452 2019-06-20  Bruno Haible  <bruno@clisp.org>
12454         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
12455         * tests/test-lock.c (test_once): Don't reference fire_signal if
12456         !ENABLE_LOCKING.
12458 2019-06-19  Bruno Haible  <bruno@clisp.org>
12460         nanosleep: Relicense under LGPLv2+.
12461         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
12462         * modules/nanosleep (License): Change to LGPLv2+.
12464 2019-06-19  Bruno Haible  <bruno@clisp.org>
12466         Reorder pieces of header in perl scripts.
12467         The desired order is
12468         - Prologue part 1 (2 lines with #!)
12469         - Program short description
12470         - Copyright and license notice
12471         - Written-by notice
12472         - Program short description (optional)
12473         - Program long description (optional)
12474         - Prologue part 2
12475         - Time stamp
12476         - Code
12477         Reported by Paul Eggert.
12478         * build-aux/announce-gen: Reorder header.
12479         * build-aux/gitlog-to-changelog: Likewise.
12480         * build-aux/useless-if-before-free: Likewise.
12481         * build-aux/prefix-gnulib-mk: Add copyright notice and short
12482         description.
12483         * build-aux/update-copyright: Likewise. Add short description. Bump
12484         time-stamp-line-limit to 200.
12486 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
12488         verify-tests: work around xlc bug
12489         Problem reported by Bruno Haible in:
12490         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
12491         * tests/test-verify.c (item): Move the arithmetic inside the
12492         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
12494 2019-06-16  Bruno Haible  <bruno@clisp.org>
12496         Restore Emacs time-stamp hook applicability.
12497         Reported by Darshit Shah <darnir@gnu.org>.
12498         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
12499         * build-aux/announce-gen: Likewise.
12500         * build-aux/gitlog-to-changelog: Likewise.
12501         * build-aux/prefix-gnulib-mk: Likewise.
12502         * build-aux/update-copyright: Likewise.
12504 2019-06-15  Bruno Haible  <bruno@clisp.org>
12506         Fix scripts to have valid executable format on Alpine Linux.
12507         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
12508         Idea by Paul Eggert.
12509         * build-aux/useless-if-before-free: Use a prologue that starts with
12510         '#!/bin/sh'.
12511         * build-aux/announce-gen: Likewise.
12512         * build-aux/gitlog-to-changelog: Likewise.
12513         * build-aux/prefix-gnulib-mk: Likewise.
12514         * build-aux/update-copyright: Likewise.
12515         * tests/test-update-copyright.sh: Update test program accordingly.
12517 2019-06-10  Bruno Haible  <bruno@clisp.org>
12519         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
12520         Reported by Nikita Ermakov <arei@altlinux.org> in
12521         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
12522         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
12523         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
12525 2019-06-10  Bruno Haible  <bruno@clisp.org>
12527         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
12528         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
12529         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
12530         a copy of the path argument.
12531         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
12532         it.
12534 2019-06-10  Bruno Haible  <bruno@clisp.org>
12536         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
12537         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
12538         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
12539         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
12540         a copy of the path argument.
12541         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
12542         it.
12544 2019-06-10  Bruno Haible  <bruno@clisp.org>
12546         posix_spawn_file_actions_addfchdir: Add tests.
12547         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
12548         * tests/test-posix_spawn5.c: New file.
12549         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
12551 2019-06-10  Bruno Haible  <bruno@clisp.org>
12553         posix_spawn_file_actions_addfchdir: New module.
12554         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
12555         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
12556         union member 'fchdir_action'.
12557         * lib/spawn_faction_addfchdir.c: New file.
12558         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
12559         * m4/posix_spawn_faction_addfchdir.m4: New file.
12560         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
12561         'posix_spawn_file_actions_addfchdir' is present and whether
12562         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
12563         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
12564         posix_spawn_file_actions_addfchdir is declared.
12565         (gl_SPAWN_H_DEFAULTS): Initialize
12566         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
12567         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
12568         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
12569         * modules/spawn (Makefile.am): Substitute
12570         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
12571         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
12572         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
12573         * modules/posix_spawn_file_actions_addfchdir: New file.
12574         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
12575         signature.
12576         * doc/posix-functions/posix_spawn.texi: Mention the new module.
12577         * doc/posix-functions/posix_spawnp.texi: Likewise.
12578         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
12579         Likewise.
12581 2019-06-10  Bruno Haible  <bruno@clisp.org>
12583         doc: Document existence of posix_spawn_file_actions_addchdir module.
12584         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
12585         the posix_spawn_file_actions_addchdir module.
12587 2019-06-10  Bruno Haible  <bruno@clisp.org>
12589         posix_spawn-internal: Fix module description.
12590         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
12591         from here...
12592         * modules/posix_spawnp (configure.ac): ... and here...
12593         * modules/posix_spawn-internal (configure.ac): ... to here.
12595 2019-06-10  Bruno Haible  <bruno@clisp.org>
12597         doc: Update and improve documentation of glibc functions.
12598         This is a series of commits that
12599         - updates the documentation to the state of glibc 2.29,
12600         - adds references to Linux man pages and glibc documentation,
12601         - marks Linux specific functions as such.
12602         These are the commits:
12603         doc: Update after removal of crypt functions from glibc 2.28.
12604         doc: Remove mention of function vm86 (does not exist on x86_64).
12605         doc: Remove mention of functions that are gone from glibc.
12606         doc: Mention that glibc no longer provides h_errno.
12607         doc: Mention the availability of specific functions in glibc versions.
12608         doc: Mention eaccess.
12609         doc: Add references to Linux man pages.
12610         doc: Add references to glibc documentation.
12611         doc: Mention inotify_* functions.
12612         doc: Mention ppoll.
12613         doc: Mention sched_getcpu.
12614         doc: Mention sync_file_range.
12615         doc: Mention epoll_pwait.
12616         doc: Mention eventfd, eventfd_read, eventfd_write.
12617         doc: Mention signalfd.
12618         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
12619         doc: Mention epoll_create1.
12620         doc: Mention getauxval.
12621         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
12622         doc: Mention nextdown, nextup.
12623         doc: Mention more ISO TS 18661-1 <math.h> functions.
12624         doc: Mention ISO TS 18661-1 <fenv.h> functions.
12625         doc: Mention getrandom, getentropy.
12626         doc: Mention strfromf, strfromd, strfroml.
12627         doc: Mention preadv2, pwritev2.
12628         doc: Mention copy_file_range.
12629         doc: Mention memfd_create.
12630         doc: Mention mlock2.
12631         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
12632         doc: Mention more ISO TS 18661-1 <math.h> functions.
12633         doc: Mention renameat2.
12634         doc: Mention statx.
12635         doc: Mention the ISO C11 multithreading header and functions.
12636         doc: Mention getcpu.
12637         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
12638         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
12639         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
12640         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
12641         doc: Some glibc functions also exist on Solaris 11.
12642         doc: Some glibc functions also exist on Solaris 11.4.
12643         doc: Some glibc functions also exist on FreeBSD.
12644         doc: Some glibc functions also exist on BeOS.
12645         doc: Some glibc functions also exist on Haiku.
12646         doc: Mark functions which exist only on Linux.
12647         doc: Mark functions which exist only on Linux and illumos.
12649 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
12651         copy-file: fix typo
12652         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
12654         copy-file-range: simplify into a stub
12655         Based on a comment by Florian Weimer in:
12656         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
12657         It turns out that Emacs (which will use this module) won’t need an
12658         emulation and I suspect other programs won’t either, because these
12659         programs will need to fall back on read+write anyway.  Perhaps I
12660         am wrong and other programs will be able to use an emulation; if
12661         so, this patch can be reverted.
12662         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
12663         Just call it copy_file_range.
12664         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
12665         Check via AC_LINK_IFELSE.
12666         * modules/copy-file-range (Depends-on): Remove modules no longer used.
12668 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
12670         copy-file: prefer copy_file_range
12671         * lib/copy-file.c: Do not include xalloc.h.
12672         (qcopy_file_preserving): Allocate a buffer only if
12673         copy_file_range does not suffice.  If the allocation fails
12674         don't give up; just use a small stack-based buffer.
12675         Prefer copy_file_range if it works.
12676         * modules/copy-file (Depends-on): Add copy-file-range.
12677         Remove xalloc.
12679         copy-file-range: new module
12680         * MODULES.html.sh: Add copy-file-range.
12681         * lib/copy-file-range.c, m4/copy-file-range.m4:
12682         * modules/copy-file-range: New files.
12683         * lib/unistd.in.h (copy_file_range): Declare.
12684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
12685         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
12686         * modules/unistd (unistd.h): Substitute them.
12688 2019-05-28  Bruno Haible  <bruno@clisp.org>
12690         binary-io: Attempted use of O_BINARY on consoles no longer fails.
12691         Reported by KO Myung-Hun <komh78@gmail.com> in
12692         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
12693         * lib/binary-io.h (__gl_setmode_check): Remove function.
12694         (set_binary_mode): Declare as notinline on DJGPP and EMX.
12695         * lib/binary-io.c (__gl_setmode_check): Remove function.
12696         (set_binary_mode): Define here on DJGPP and EMX. Inline
12697         __gl_setmode_check. In case of a tty, don't return an error code.
12699 2019-05-28  James Youngman  <jay@gnu.org>
12701         dirent-safer: Make opendir_safer usable from C++.
12702         * lib/dirent-safer.h: use extern "C".
12704 2019-05-28  James Youngman  <jay@gnu.org>
12706         canonicalize: Make canonicalize_filename_mode usable from C++.
12707         * lib/canonicalize.h: use extern "C".
12709 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
12711         prefix-gnulib-mk: Fix CPPFLAGS migration.
12712         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
12713         _a part of the library name.
12715 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12717         flexmember: update comments again
12718         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
12720         flexmember: update comment
12721         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
12723 2019-05-20  Bruno Haible  <bruno@clisp.org>
12725         setlocale: Improve fallback on macOS.
12726         * lib/setlocale.c (search): Optimize away a redundant strcmp()
12727         invocation.
12728         (locales_with_principal_territory): New array.
12729         (langcmp, get_main_locale_with_same_language): New functions.
12730         (locales_with_principal_language): New array.
12731         (terrcmp, get_main_locale_with_same_territory): New functions.
12732         (rpl_setlocale): When setlocale_single failed, try again with a locale
12733         that is more likely to exist. Don't warn if the environment variable
12734         SETLOCALE_VERBOSE is not set.
12736 2019-05-19  Bruno Haible  <bruno@clisp.org>
12738         localename: Fix default on macOS.
12739         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
12740         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
12741         (gl_locale_name_environ, gl_locale_name_default): Remove code for
12742         HAVE_CFLOCALECOPYCURRENT.
12743         * lib/localename.h (gl_locale_name_default): Update.
12745 2019-05-19  Karl Berry  <karl@freefriends.org>
12747         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
12748         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
12749         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
12751 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
12753         maintainer-makefile: catch uses of $< in non-implicit rules
12754         * top/maint.mk (sc_prohibit_magic_number_exit): New.
12756 2019-05-18  Bruno Haible  <bruno@clisp.org>
12758         threadlib: Provide an easy way to avoid mingw's winpthreads library.
12759         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
12760         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
12761         gl_use_threads accordingly.
12763 2019-05-18  Bruno Haible  <bruno@clisp.org>
12765         pthread_sigmask: Fix compilation error with --enable-threads=windows.
12766         Reported by Tim Rühsen in
12767         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
12768         and Michele Locati in
12769         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
12770         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
12771         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
12772         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
12773         in use and regardless which threads API is chosen.
12775 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12777         close-stream, closein, closeout: simplify
12778         I noticed this opportunity for simplification while drafting a
12779         new, related module that I haven’t had time to finish yet.
12780         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
12781         * modules/close-stream (Files): Remove m4/close-stream.m4.
12782         (configure.ac): Omit gl_CLOSE_STREAM.
12783         * modules/closein (Files): Remove m4/closein.m4
12784         (configure.ac): Omit gl_CLOSEIN.
12785         * modules/closeout (Files): Remove m4/closeout.m4.
12786         (configure.ac): Omit gl_CLOSEOUT.
12788 2019-05-12  Bruno Haible  <bruno@clisp.org>
12790         libtool-next-version: New program.
12791         * build-aux/libtool-next-version: New file.
12793 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
12794             Bruno Haible  <bruno@clisp.org>
12796         version-etc: Ease translation.
12797         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
12798         URLs and formatting newlines out of translatable string.
12800 2019-05-11  Bruno Haible  <bruno@clisp.org>
12802         gnupload: Explain how to create symlinks.
12803         * build-aux/gnupload (usage): Add an example that creates symlinks.
12805 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
12807         fpucw: port to gcc -pedantic
12808         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
12809         Use __extension__ if using ({ ... }).
12811         crypto/af_alg: port to strict C compilers
12812         * lib/af_alg.c: Include af_alg.h regardless, so that the
12813         compilation unit is nonempty.
12815 2019-05-10  Bruno Haible  <bruno@clisp.org>
12817         base64: Avoid false positive warning from Coverity.
12818         Reported by Kamil Dudka <kdudka@redhat.com>.
12819         Idea by Paul Eggert.
12820         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
12821         '& 0x3f' to the array index expressions. This convinces Coverity that
12822         there is no out-of-bounds array reference, regardless of the input.
12824 2019-05-09  Bruno Haible  <bruno@clisp.org>
12826         gettext: Update to gettext 0.20.
12827         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
12828         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
12829         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
12830         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
12831         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
12832         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
12833         (configure.ac): Request infrastructure compatible with gettext 0.20.
12834         * m4/glibc2.m4: Remove file.
12835         * m4/intdiv0.m4: Remove file.
12836         * m4/intl.m4: Remove file.
12837         * m4/intldir.m4: Remove file.
12838         * m4/intmax.m4: Remove file.
12839         * m4/printf-posix.m4: Remove file.
12840         * m4/uintmax_t.m4: Remove file.
12841         * m4/gettext.m4: Update from gettext 0.20.
12842         * m4/po.m4: Likewise.
12844 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
12846         verify: remove verify_true
12847         * NEWS: Mention this.
12848         * lib/verify.h (verify_true): Remove.
12849         * tests/test-verify.c (item): Test verify_expr, not verify_true.
12851         Support C2X and C++17 static_assert
12852         C2X and C++17 finally added support for a simple, single-argument
12853         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
12854         doing back in 2005.  Implement static_assert on older platforms.
12855         The only remaining advantage of ‘verify’ is a shorter name.
12856         * doc/posix-headers/assert.texi (assert.h):
12857         * doc/verify.texi (Compile-time Assertions):
12858         Modernize for C2X and C++17.
12859         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
12860         New macros.
12861         (_GL_HAVE__STATIC_ASSERT): Remove.
12862         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
12863         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
12864         string.  All callers changed.
12865         (_GL_VERIFY): Require 3 or more args, of which only the first 2
12866         are used.  All callers changed.
12867         (_Static_assert): Allow either 1 or 2 args, and define if
12868         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
12869         !_GL_HAVE__STATIC_ASSERT.
12870         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
12871         of defining if !_GL_HAVE_STATIC_ASSERT.
12872         (verify_expr, verify): Don’t bother trying to copy the expression
12873         into the diagnostic, since 1-argument static_assert doesn’t.
12874         (verify): Prefer 1-argument _Static_assert if it works.
12875         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
12877 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
12879         Fix _GL_HAVE__STATIC_ASSERT typo
12880         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
12881         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
12883 2019-05-05  Bruno Haible  <bruno@clisp.org>
12885         wcwidth: Ensure width 1, not 2, for ambiguous characters.
12886         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
12887         via Akim Demaille <akim.demaille@gmail.com>.
12888         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
12889         en_US.UTF-8 locale, since that is more likely to be present than an
12890         fr_FR.UTF-8 locale.
12891         * tests/test-wcwidth.c (main): Check the width of U+2202.
12892         * doc/posix-functions/wcwidth.texi: Mention the issue.
12894 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
12896         Port manywarnings to GCC 9
12897         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
12898         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
12899         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
12900         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
12901         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
12902         --help=warnings output.
12903         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
12904         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
12905         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
12907 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
12909         Sync lib/mktime-internal.h from glibc
12910         * config/srclist.txt: Add entry for lib/mktime-internal.h.
12911         * lib/mktime-internal.h: Autoupdate.
12913 2019-04-28  Bruno Haible  <bruno@clisp.org>
12915         tls tests: Prevent that the test takes too long.
12916         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
12917         (main): Let the test fail if it takes more than 10 minutes.
12918         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
12920 2019-04-27  Bruno Haible  <bruno@clisp.org>
12922         lock tests: Prevent that the test takes too long.
12923         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
12924         (main): Let the test fail if it takes more than 10 minutes.
12925         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
12927 2019-04-27  Bruno Haible  <bruno@clisp.org>
12929         localename: Fix crash on mingw (regression from 2018-11-23).
12930         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
12931         locale name that is null.
12933 2019-04-27  Bruno Haible  <bruno@clisp.org>
12935         Fix gcc warnings on 64-bit mode mingw.
12936         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
12937         * lib/gl_array_list.c: Likewise.
12938         * lib/gl_array_map.c: Likewise.
12939         * lib/gl_array_set.c: Likewise.
12940         * lib/gl_carray_list.c: Likewise.
12941         * lib/gl_sublist.c: Likewise.
12942         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
12943         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
12944         * lib/gl_hash_map.c (uintptr_t): Likewise.
12945         * lib/gl_hash_set.c (uintptr_t): Likewise.
12946         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
12947         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
12948         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
12949         * lib/iconv.c (uintptr_t): Likewise.
12950         * lib/iconv_close.c (uintptr_t): Likewise.
12951         * tests/test-lock.c: Include <stdint.h>.
12952         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
12953         'long'.
12954         * modules/clean-temp (Depends-on): Add stdint.
12955         * modules/array-list (Depends-on): Likewise.
12956         * modules/array-map (Depends-on): Likewise.
12957         * modules/array-set (Depends-on): Likewise.
12958         * modules/carray-list (Depends-on): Likewise.
12959         * modules/sublist (Depends-on): Likewise.
12960         * modules/lock-tests (Depends-on): Likewise.
12962 2019-04-27  Bruno Haible  <bruno@clisp.org>
12964         error: Tweak indentation.
12965         * lib/error.c: Correct indentation.
12967 2019-04-27  Bruno Haible  <bruno@clisp.org>
12969         term-style-control: Fix gcc warning on mingw.
12970         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
12971         of i.
12973 2019-04-26  Bruno Haible  <bruno@clisp.org>
12975         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
12976         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
12978 2019-04-26  Bruno Haible  <bruno@clisp.org>
12980         relocatable-prog: Fix gcc warning on mingw.
12981         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
12982         on EMX.
12984 2019-04-02  Bruno Haible  <bruno@clisp.org>
12986         gitsub.sh: New file.
12987         * top/gitsub.sh: New file.
12989 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
12991         argmatch: use void* for raw memory pointers
12992         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
12993         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
12994         to "values", keep char* for strings.
12996 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
12998         prefix-gnulib-mk: fix the support for gnulib-po
12999         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
13000         Don't touch HAVE_* variables.
13001         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
13003 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
13005         di-set: allow free with 'ino_map' being NULL.
13006         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
13007         is NULL.  Bug introduced in commit 3703dbbe88dd.
13008         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
13009         as a test.
13011 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
13013         * lib/str-two-way.h: Fix comment typo.
13015 2019-04-13  Bruno Haible  <bruno@clisp.org>
13017         x-to-1: Restore ability to use original calling convention.
13018         * build-aux/x-to-1.in: Add comments. Accept the original form of
13019         HELP2MAN argument as well as the form expected since 2012-12-12.
13021 2019-04-13  Bruno Haible  <bruno@clisp.org>
13023         x-to-1: Avoid failure due to missing perl modules.
13024         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
13025         needs are installed.
13027 2019-04-13  Bruno Haible  <bruno@clisp.org>
13029         openmp-init: New module.
13030         * modules/openmp-init: New file.
13031         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
13032         the changes from 2019-04-09.
13034 2019-04-12  Bruno Haible  <bruno@clisp.org>
13036         signbit: Fix compilation error when gnulib's math.h exists twice.
13037         * lib/math.in.h (GNULIB_defined_signbit): New macro.
13039 2019-04-12  Bruno Haible  <bruno@clisp.org>
13041         openmp: Fix compilation error on platforms without OpenMP.
13042         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
13044 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
13046         mountlist: make parsing /proc/self/mountinfo more robust
13047         Cater for the following issues with mountinfo parsing (the first
13048         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
13049         in <https://bugs.gnu.org/35137>).
13050         1. The fields source, target, mntroot and fstype may contain characters
13051         like '\r'; sscanf(3) fails to read such values with the %s format
13052         specifier because it would stop at such characters.
13053         Example: "mount -t tmpfs tmpfs /foo^Mbar".
13054         The only true separator in that file is the ' ' character.
13055         2. The source field may be an empty string, which happens e.g. with
13056         "mount -t tmpfs '' /target".
13057         3. The fstype field may contain mangled characters as well which need
13058         unescaping.
13059         * lib/mountlist.c (terminate_at_blank): Add utility function.
13060         (read_file_system_list): In the block trying to read the mountinfo file,
13061         avoid using sscanf(3) with %s format; instead, parse the above fields
13062         separated by spaces one by one.
13063         This also handles the case when the source field is an empty string.
13064         Unescape the fstype field.
13066 2019-04-09  Bruno Haible  <bruno@clisp.org>
13068         openmp: Add workaround for 32-bit programs on AIX.
13069         * lib/omp.in.h: New file.
13070         * lib/omp-init.c: New file, based on lib/nproc.c.
13071         * m4/omp_h.m4: New file.
13072         * modules/openmp (Files): Add them.
13073         (Depends-on): Add include_next, c-ctype, setenv.
13074         (configure.ac): Invoke gl_OMP_H.
13075         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
13076         (Include): Mention <omp.h>.
13078 2019-04-09  Bruno Haible  <bruno@clisp.org>
13080         nproc: Fix return value for privileged processes.
13081         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
13082         getpid().
13084 2019-04-07  Bruno Haible  <bruno@clisp.org>
13086         Add copyright notices in several files.
13087         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
13088         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
13089         * lib/libunistring.valgrind: Likewise.
13090         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
13091         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
13092         * lib/memchr.valgrind: Likewise.
13093         * lib/memchr2.valgrind: Likewise.
13094         * lib/rawmemchr.valgrind: Likewise.
13095         * lib/relocatable.valgrind: Likewise.
13096         * lib/strchrnul.valgrind: Likewise.
13098 2019-03-25  Bruno Haible  <bruno@clisp.org>
13100         term-style-control tests: Fix link error.
13101         Reported by Tom G. Christensen in
13102         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
13103         * modules/term-style-control-tests (Makefile.am): Link
13104         test-term-style-control-hello and test-term-style-control-yes against
13105         LIBINTL.
13107 2019-03-24  Bruno Haible  <bruno@clisp.org>
13109         term-style-control: Add tests.
13110         * tests/test-term-style-control-hello.c: New file.
13111         * tests/test-term-style-control-yes.c: New file.
13112         * modules/term-style-control-tests: New file.
13114         term-style-control: New module.
13115         * lib/term-style-control.h: New file, based on libtextstyle's
13116         term-ostream.oo.h and term-ostream.oo.c.
13117         * lib/term-style-control.c: New file, based on libtextstyle's
13118         term-ostream.oo.c.
13119         * modules/term-style-control: New file.
13121 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
13123         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
13124         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
13125         C++98 appears to be supported by Clang, but not by GCC nor ICC.
13127 2019-03-23  Bruno Haible  <bruno@clisp.org>
13129         Support cross-compilation to musl libc.
13130         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
13131         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
13132         musl libc.
13133         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
13134         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
13135         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13136         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13137         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13138         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
13139         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13140         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
13141         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13142         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
13143         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
13144         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
13145         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13146         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13147         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
13148         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
13149         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
13150         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
13151         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
13152         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
13153         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13154         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13155         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
13156         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13157         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
13158         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
13159         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
13160         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
13161         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
13162         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
13163         * m4/log.m4 (gl_FUNC_LOG): Likewise.
13164         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
13165         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
13166         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
13167         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
13168         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
13169         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
13170         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
13171         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
13172         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
13173         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
13174         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
13175         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
13176         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
13177         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
13178         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
13179         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
13180         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
13181         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
13182         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
13183         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
13184         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
13185         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
13186         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
13187         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
13188         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
13189         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
13190         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
13191         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
13192         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
13193         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13194         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13195         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13196         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
13197         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13198         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13200         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
13201         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13202         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
13203         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13204         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13205         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13206         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
13207         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
13208         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
13209         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
13210         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13212 2019-03-23  Bruno Haible  <bruno@clisp.org>
13214         posix_spawn_file_actions_*: Document musl libc bugs.
13215         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
13216         the bug.
13217         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
13218         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
13219         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
13220         cross-compiling to a musl system, guess no.
13221         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
13222         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
13224 2019-03-23  Bruno Haible  <bruno@clisp.org>
13226         futimens: Document musl libc bug.
13227         * doc/posix-functions/futimens.texi: Mention the bug.
13228         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
13229         cross-compiling, guess no on glibc and musl systems.
13231 2019-03-23  Bruno Haible  <bruno@clisp.org>
13233         Clarify that cross-compilation guesses are guesses.
13234         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
13235         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
13236         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
13237         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
13238         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
13239         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
13240         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
13241         gl_cv_glob_lists_symlinks.
13242         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
13243         'guessing ' to ac_cv_func_malloc_0_nonnull.
13244         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
13245         'guessing ' to ac_cv_func_realloc_0_nonnull.
13246         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
13247         'guessing ' to gl_cv_func_poll.
13248         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
13249         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
13250         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
13252 2019-03-23  Bruno Haible  <bruno@clisp.org>
13254         strtold: Fix typo.
13255         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
13257 2019-03-23  Bruno Haible  <bruno@clisp.org>
13259         noreturn: In C++ mode with clang, use _Noreturn as fallback.
13260         Reported by Akim Demaille.
13261         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
13262         [[noreturn]] would not work, use _Noreturn instead.
13264 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
13266         libtextstyle-optional: Fix compiler warnings.
13267         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
13268         as unused.
13270 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
13272         bitset: fix memory leaks
13273         Reported by Bruno Haible.
13274         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
13275         * lib/bitset/vector.c (vbitset_free): New.
13276         (vbitset_vtable): Use it.
13278 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
13280         bitset: minor changes
13281         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
13282         * lib/bitset/table.c: Formatting changes.
13283         Remove useless braces.
13284         Prefer using else in cascades of if/else-if with returns.
13285         * lib/bitset/vector.c: Reduce scopes.
13287 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
13289         bitset: expose bitset_resize
13290         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
13291         * tests/test-bitset.c (check_attributes): Check bitset_resize.
13292         (main): Use a variable bitset as reference, since fixed does not support resize.
13294 2019-03-19  Bruno Haible  <bruno@clisp.org>
13296         doc: Document the 'stdnoreturn' and 'noreturn' modules.
13297         Reported by Akim Demaille.
13298         * doc/noreturn.texi: New file.
13299         * doc/gnulib.texi: Include it.
13301 2019-03-19  Bruno Haible  <bruno@clisp.org>
13303         doc: Document how to use 'static inline'.
13304         * doc/static-inline.texi: New file.
13305         * doc/gnulib.texi: Include it.
13307 2019-03-19  Bruno Haible  <bruno@clisp.org>
13309         libtextstyle-optional: Add tests.
13310         * tests/test-libtextstyle.c: New file, based on libtextstyle's
13311         adhoc-tests/hello.c.
13312         * tests/test-libtextstyle-default.css: New file, copied from
13313         libtextstyle's adhoc-tests/hello-default.css.
13314         * modules/libtextstyle-optional-tests: New file.
13316         libtextstyle-optional: New module.
13317         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
13318         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
13319         * modules/libtextstyle-optional: New file.
13321 2019-03-19  Bruno Haible  <bruno@clisp.org>
13323         c-stack: Make signal handlers more reliable.
13324         * lib/c-stack.c (progname): New variable.
13325         (die): Use it.
13326         (c_stack_action): Initialize it.
13327         (segv_handler): Save and restore errno.
13329 2019-03-19  Bruno Haible  <bruno@clisp.org>
13331         Help making signal handlers more reliable.
13332         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
13333         _GL_ASYNC_SAFE into config.h.
13334         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
13335         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
13336         argument.
13337         * lib/fatal-signal.c (action_t, uninstall_handlers,
13338         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
13339         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
13340         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
13341         _GL_ASYNC_SAFE.
13342         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
13343         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
13345 2019-03-18  Bruno Haible  <bruno@clisp.org>
13347         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
13348         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
13349         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
13351 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
13353         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
13354         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
13355         GCC 4.8.
13357 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
13359         fts: minor simplification
13360         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
13362 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
13364         bitset, timevar: Depend on c99.
13365         Reported by Bruno Haible.
13366         * modules/bitset, modules/timevar (Depends-on): Add c99.
13368 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
13370         bitset: a bit (...) more tests
13371         * tests/test-bitset.c (check_attributes): Check zero and ones.
13373 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
13375         bitset: fix overflows.
13376         Reported by Bruno Haible.
13377         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
13378         * lib/bitset/table.c (tbitset_test): last_bit is the position of
13379         the bit in the array of bitset_word, so be sure to take its modulo
13380         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
13381         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
13383 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
13385         bitset: style changes.
13386         * lib/bitset/table.c: Use NULL, not 0, for pointers.
13387         Formatting changes.
13388         (tbitset_list): Reduce scopes.
13390 2019-03-16  Bruno Haible  <bruno@clisp.org>
13392         fatal-signal: Pass the signal number to the action.
13393         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
13394         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
13395         (fatal_signal_handler): Pass the signal number to the action.
13396         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
13397         signal number as parameter.
13398         (create_temp_dir): Update.
13399         * lib/wait-process.c (cleanup_slaves_action): New function.
13400         (register_slave_subprocess): Update at_fatal_signal invocation.
13401         * NEWS: Mention the change.
13403 2019-03-16  Bruno Haible  <bruno@clisp.org>
13405         fatal-signal: Add function that lists the fatal signals.
13406         * lib/fatal-signal.h (get_fatal_signals): New declaration.
13407         * lib/fatal-signal.c (get_fatal_signals): New function.
13409 2019-03-14  Bruno Haible  <bruno@clisp.org>
13411         isatty: Make it return true in Cygwin consoles on native Windows.
13412         * lib/isatty.c: Include <string.h>.
13413         (GetProcAddress): New macro.
13414         (GetNamedPipeClientProcessIdFuncType): New type.
13415         (GetNamedPipeClientProcessIdFunc): New variable.
13416         (QueryFullProcessImageNameFuncType): New type.
13417         (QueryFullProcessImageNameFunc): New variable.
13418         (initialized): New variable.
13419         (initialize): New function.
13420         (IsCygwinConsoleHandle): New function.
13421         (isatty): Invoke it.
13422         * doc/posix-functions/isatty.texi: Mention the issue.
13424 2019-03-14  Bruno Haible  <bruno@clisp.org>
13426         all: Update URLs to msdn.microsoft.com.
13427         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
13428         was moved to docs.microsoft.com.
13430 2019-03-13  Bruno Haible  <bruno@clisp.org>
13432         gnulib-tool: Clarify the coding style.
13433         Suggested by Pavel Raiskup <praiskup@redhat.com>.
13434         * gnulib-tool: Add comment about coding style.
13436 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
13438         strtod: fix clash with strtold
13439         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
13440         * lib/strtod.c (compute_minus_zero, minus_zero):
13441         Simplify by remving the macro / external variable,
13442         and having just a function.  User changed.  This avoids
13443         the need for an external variable that might clash.
13445 2019-03-10  Bruno Haible  <bruno@clisp.org>
13447         alloca-opt: Fix conflict mingw's new <alloca.h> file.
13448         Reported by Eli Zaretskii <eliz@gnu.org>.
13449         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
13450         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
13451         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
13453 2019-03-10  Bruno Haible  <bruno@clisp.org>
13455         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
13456         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
13457         is in use.
13458         * tests/test-printf-posix2.c: Likewise.
13460 2019-03-10  Bruno Haible  <bruno@clisp.org>
13462         uninorm tests: Free allocated memory.
13463         * tests/uninorm/test-u32-normalize-big.h
13464         (struct normalization_test_file): Remove 'const' from allocated member.
13465         (free_normalization_test_file): New declaration.
13466         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
13467         memory.
13468         (free_normalization_test_file): New function.
13469         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
13470         'struct normalization_test_file' contents.
13471         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
13472         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
13473         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
13475 2019-03-10  Bruno Haible  <bruno@clisp.org>
13477         di-set: Fix memory leak.
13478         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
13479         not free().
13481 2019-03-10  Bruno Haible  <bruno@clisp.org>
13483         tests: Free allocated memory.
13484         Reported by <deltatau@protonmail.com> via Assaf Gordon.
13485         * tests/test-astrxfrm.c (main): Free allocated memory.
13486         * tests/test-bitset.c (compare, check_attributes): Free allocated
13487         bitsets.
13488         * tests/test-filenamecat.c (main): Free allocated memory.
13489         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
13490         * tests/test-freadptr.c (main): Likewise.
13491         * tests/test-freadptr2.c (main): Free allocated memory.
13492         * tests/test-freadseek.c (main): Likewise.
13493         * tests/test-gc-arcfour.c (main): Close allocated context.
13494         * tests/test-gc-arctwo.c (main): Likewise.
13495         * tests/test-gc-des.c (main): Close all allocated contexts.
13496         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
13497         * tests/test-pipe-filter-ii1.c (main): Likewise.
13498         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
13499         allocated file actions.
13500         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
13501         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
13502         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
13503         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
13504         * tests/test-strfmon_l.c (main): Free allocated locales.
13505         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
13506         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
13507         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
13508         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
13509         * tests/unistr/test-chr.h (main): Free input32.
13510         * tests/unistr/test-strchr.h (test_strchr): Likewise.
13512 2019-03-10  Bruno Haible  <bruno@clisp.org>
13514         tests: Prepare for using valgrind.
13515         * tests/*.sh: Invoke all test programs through ${CHECKER}.
13516         * tests/*/*.sh: Likewise.
13517         * tests/test-freadptr.c (main): Update accordingly.
13518         * tests/test-freadseek.c (main): Likewise.
13520 2019-03-09  Bruno Haible  <bruno@clisp.org>
13522         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
13523         * lib/get-rusage-as.c (get_rusage_as): When compiled by
13524         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
13525         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
13526         before exiting.
13528 2019-03-09  Jim Meyering  <meyering@fb.com>
13530         test-userspec.c: don't print NULL
13531         * tests/test-userspec.c (main): A test release of gcc,
13532         9.0.1 20190310, warned that this test would attempt to
13533         print a NULL pointer via a %s printf format.  Fix that
13534         and remove the unnecessary preceding "!diag" conjunct.
13535         Also add a comment.
13537 2019-03-03  Bruno Haible  <bruno@clisp.org>
13539         getloadavg: Write NULL for the null pointer.
13540         Reported by Michal Privoznik <mprivozn@redhat.com>.
13541         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
13543 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
13545         alloca, tsearch-tests: Write NULL for the null pointer.
13546         * lib/alloca.c (i00afunc): Write NULL instead of 0.
13547         * tests/test-tsearch.c (mangle_tree): Likewise.
13549 2019-03-09  Bruno Haible  <bruno@clisp.org>
13551         strfmon_l: Fix -fsanitize=address finding.
13552         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
13553         <string.h>.
13554         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
13555         (directive_t, directives_t): New types.
13556         (fmon_parse): New function.
13557         (rpl_strfmon_l): Don't call va_arg more often than needed for the
13558         format string. Consume 'long double' arguments in places where the
13559         format string indicates so.
13560         * modules/strfmon_l (Depends-on): Add 'stdbool'.
13562 2019-03-09  Bruno Haible  <bruno@clisp.org>
13564         crypto/des: Fix undefined behaviour.
13565         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
13566         shift operations on 'int'.
13568 2019-03-09  Bruno Haible  <bruno@clisp.org>
13570         Fix undefined behaviour.
13571         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
13572         'unsigned int', to avoid shift operations on 'int'.
13573         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
13574         * tests/test-count-leading-zeros.c (main): Use a random number that has
13575         as many bits as TYPE, not only 2*15 or 2*31 bits.
13576         * tests/test-count-trailing-zeros.c (main): Likewise.
13577         * tests/test-count-one-bits.c (main): Likewise.
13578         * tests/test-memmem.c: Don't include "null-ptr.h".
13579         (main): Use zerosize_ptr() instead of null_ptr().
13580         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
13582 2019-03-08  Bruno Haible  <bruno@clisp.org>
13584         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
13585         Reported by Jeffrey Walton <noloader@gmail.com>.
13586         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
13587         invoke memset with a zero size.
13588         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
13589         Likewise.
13590         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
13591         Adjust accordingly.
13593 2019-03-08  Bruno Haible  <bruno@clisp.org>
13595         unistr/*, uniconv/*: Fix undefined behaviour.
13596         Reported by Jeffrey Walton <noloader@gmail.com>.
13597         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
13598         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
13599         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
13600         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
13602 2019-03-08  Bruno Haible  <bruno@clisp.org>
13604         unistr/u8-cmp: Fix undefined behaviour.
13605         Reported by Jeffrey Walton <noloader@gmail.com>.
13606         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
13608 2019-03-08  Bruno Haible  <bruno@clisp.org>
13610         unictype/numeric: Fix undefined behaviour.
13611         Reported by Jeffrey Walton <noloader@gmail.com>.
13612         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
13613         on shift overflow, caught by "gcc -fsanitize=undefined".
13614         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
13615         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
13616         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
13618 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
13620         git-version-gen: fix --version copyright year
13621         * build-aux/git-version-gen, build-aux/move-if-change (version):
13622         --version output copyright year is now taken from script year,
13623         so that it no longer needs to be updated by hand.
13625 2019-03-04  Bruno Haible  <bruno@clisp.org>
13627         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
13628         This approach supports relocatable installation of shared libraries
13629         which depend on other shared libraries from the same package.
13630         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
13631         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
13632         wrapper around the original LIBTOOL.
13633         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
13634         token '@loader_path' instead of '$ORIGIN'.
13635         * build-aux/libtool-reloc: New file.
13636         * modules/relocatable-prog (Files): Add it.
13637         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
13638         the recent changes. Document the need to set the *_LDFLAGS of libraries.
13639         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
13640         Makefile.am, not in configure.ac.
13642 2019-03-04  Bruno Haible  <bruno@clisp.org>
13644         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
13645         * build-aux/install-reloc: Revert change.
13646         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
13648 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13650         nstrftime: support the ‘+’ flag
13651         * lib/nstrftime.c (add, __strftime_internal):
13652         Add support for the ‘+’ flag introduced in POSIX.1-2017.
13653         (__strftime_internal): New arg ‘width’.  All uses changed.
13654         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
13656 2019-02-24  Bruno Haible  <bruno@clisp.org>
13658         relocatable-prog: Improve verbose output.
13659         * build-aux/install-reloc (func_verbose): Escape characters that would
13660         be interpreted by the shell.
13662 2019-02-24  Bruno Haible  <bruno@clisp.org>
13664         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
13665         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
13666         "sys/stat.h".
13667         * lib/lstat.c: Likewise.
13668         * lib/fstat.c: Likewise.
13669         * lib/fstatat.c: Likewise.
13671 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
13673         long-options: add parse_gnu_standard_options_only
13674         Discussed in https://bugs.gnu.org/33468 .
13676         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
13677         (parse_gnu_standard_options_only): Add function to process
13678         the GNU default options --help and --version and fail for
13679         any other unknown long or short option. See
13680         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
13681         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
13682         * modules/long-options (depends-on): Add stdbool, exitfail.
13683         * top/maint.mk (sc_prohibit_long_options_without_use): Update
13684         syntax-check rule, add new function name.
13686 2019-02-23  Bruno Haible  <bruno@clisp.org>
13688         relocatable-prog: Update documentation.
13689         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
13690         the recent changes.
13692 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
13694         nstrftime: tweak arg order
13695         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
13696         All callers changed.  Suggested by TAMUKI Shoichi in:
13697         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
13699 2019-02-23  Bruno Haible  <bruno@clisp.org>
13701         relocatable-prog: Use wrapper-free installation also on Mac OS X.
13702         Reported by Paul Smith <psmith@gnu.org>.
13703         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
13704         (func_relativize): New function, from gnulib-tool.
13705         Handle mode 'macosx' through invocations of 'otool' and
13706         'install_name_tool'.
13707         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
13708         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
13709         'install-reloc' invocation with mode 'macosx'.
13711 2019-02-23  Bruno Haible  <bruno@clisp.org>
13713         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
13714         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
13715         Hurd with glibc >= 2.27.
13717 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
13719         nstrftime: merge glibc strftime changes
13720         This incorporates:
13721         2019-02-11 Fix a few whitespace arrangement inconsistencies
13722         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
13723         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
13724         2019-01-11 strftime: use the "L_" macro with character literals
13725         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
13726         callers changed.  Default width of %Ey is now 2.  This is needed
13727         for proper handling of Japanese dates starting on 2019-05-01.
13729 2019-02-19  Bruno Haible  <bruno@clisp.org>
13731         relocatable-prog: Use $ORIGIN trick on more platforms.
13732         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
13733         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
13734         Solaris >= 10, Haiku. But don't use it on Android.
13735         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
13736         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
13738 2019-02-19  Bruno Haible  <bruno@clisp.org>
13740         progreloc: Speed up executable lookup on various platforms.
13741         * lib/progreloc.c: Include <errno.h>.
13742         (safe_read, full_read): New functions.
13743         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
13744         prefer the information from the /proc file system to a PATH search.
13746 2019-02-19  Bruno Haible  <bruno@clisp.org>
13748         progreloc: Simplify code for Android.
13749         * lib/progreloc.c (executable_fd): Don't define on Android.
13750         (maybe_executable, find_executable): Don't use executable_fd on Android.
13752 2019-02-15  Bruno Haible  <bruno@clisp.org>
13754         gnulib-tool: Support --import with just a few tests, not --with-tests.
13755         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
13756         'inctests' when generating files; use 'inctests' only for computing the
13757         transitive closure.
13759 2019-02-14  Bruno Haible  <bruno@clisp.org>
13761         gnulib-tool: Improve handling of multiple --local-dir options.
13762         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
13763         options work.
13764         * gnulib-tool (func_path_prepend): Remove function.
13765         (func_path_foreach): Make IFS handling more robust.
13766         (local_gnulib_path): Collect --local-dir values using func_path_append,
13767         not func_path_prepend.
13768         (func_determine_path_separator): Make IFS handling more robust.
13769         (func_lookup_file_cb): New function.
13770         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
13771         func_lookup_local_file. Apply the patches in the reverse order of their
13772         origin in $local_gnulib_path.
13773         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
13774         * NEWS: Mention that the first --local-dir option is the one with
13775         highest priority.
13777 2019-02-10  Bruno Haible  <bruno@clisp.org>
13779         libtextstyle: New module.
13780         * m4/libtextstyle.m4: New file.
13781         * modules/libtextstyle: New file.
13783 2019-02-05  Bruno Haible  <bruno@clisp.org>
13785         declared.sh: Fix bug with variables of pointer type.
13786         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
13787         before the symbol to be omitted if the preceding character is a '*'.
13789 2019-02-04  Bruno Haible  <bruno@clisp.org>
13791         Add script for running tests under valgrind.
13792         * build-aux/run-test: New file, from GNU libunistring.
13793         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
13794         as well.
13796 2019-02-04  Bruno Haible  <bruno@clisp.org>
13798         declared.sh: Fix --version output.
13799         * build-aux/declared.sh (func_version): Update package name.
13801 2019-02-03  Bruno Haible  <bruno@clisp.org>
13803         Add script for determining the set of symbols to export from a library.
13804         * build-aux/declared.sh: New file, from GNU libunistring.
13805         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
13806         Mention it.
13808 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
13810         vla: add commentary about VLA_ELEMS
13811         * lib/vla.h (VLA_ELEMS): Add commentary,
13812         some inspired by Bruno Haible’s proposal in:
13813         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
13815         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
13816         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
13817         assume the C99 signatures for strtod and strtold.  Programs that
13818         require stricter adherence to C99 should also use the strtod and
13819         strtold modules as needed, and we no longer need the
13820         HAVE_C99_STRTOLD macro.
13821         * NEWS: Mention this.
13822         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
13823         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
13824         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
13825         (Files): Remove m4/c-strtod.m4.
13826         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
13827         exists.
13829 2019-02-02  Bruno Haible  <bruno@clisp.org>
13831         fma: Improve code style.
13832         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
13834 2019-02-02  Colin Watson  <cjwatson@debian.org>
13836         *-map tests: Fix compilation error.
13837         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
13838         * tests/test-hash_map.c: Likewise.
13839         * tests/test-linkedhash_map.c: Likewise.
13841 2019-01-31  Bruno Haible  <bruno@clisp.org>
13843         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
13844         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
13845         GNULIB_defined_strtold_function): New macros.
13846         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
13847         (STRTOD): Ignore HAVE_C99_STRTOLD.
13848         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
13849         deemed buggy. But do use it on platforms where uselocale exists and is
13850         usable.
13851         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
13852         deemed buggy. On platforms where uselocale exists and is usable, use
13853         uselocale and strtod/strtold.
13854         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
13855         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
13856         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
13857         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
13858         (Depends-on): Add strtod.
13859         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
13860         (Depends-on): Add strtold.
13862 2019-01-31  Bruno Haible  <bruno@clisp.org>
13864         strtod, strtold: Use the locale's decimal point.
13865         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
13866         (decimal_point_char): New function, copied from lib/vasnprintf.c.
13867         (parse_number): Add a radixchar argument. Use it instead of '.'.
13868         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
13869         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
13870         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
13871         * tests/test-strtod1.c: New file.
13872         * tests/test-strtod1.sh: New file.
13873         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
13874         locale-fr.m4 and its dependencies.
13875         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
13876         (Makefile.am): Arrange to compile test-strtod1.c and run
13877         test-strtod1.sh.
13878         * tests/test-strtold1.c: New file.
13879         * tests/test-strtold1.sh: New file.
13880         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
13881         locale-fr.m4 and its dependencies.
13882         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
13883         (Makefile.am): Arrange to compile test-strtold1.c and run
13884         test-strtold1.sh.
13886 2019-01-31  Bruno Haible  <bruno@clisp.org>
13888         strtod, strtold tests: Simplify tests.
13889         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
13890         * tests/test-strtold.c (main): Likewise.
13892 2019-01-31  Bruno Haible  <bruno@clisp.org>
13894         strtod, strtold: Avoid unnecessary rounding errors.
13895         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
13896         decimal to DOUBLE conversion.
13898 2019-01-31  Bruno Haible  <bruno@clisp.org>
13900         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
13901         * lib/strtod.c (STRTOD): When there is an extra character after the
13902         exponent marker 'p', reparse the number.
13903         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
13904         * doc/posix-functions/strtold.texi: Likewise.
13906 2019-01-29  Bruno Haible  <bruno@clisp.org>
13908         strtold: Add tests.
13909         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
13910         * modules/strtold-tests: New file.
13912 2019-01-29  Bruno Haible  <bruno@clisp.org>
13914         strtold: New module.
13915         * lib/stdlib.in.h (strtold): New declaration.
13916         * lib/strtold.c: New file.
13917         * lib/strtod.c: Consider USE_LONG_DOUBLE.
13918         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
13919         USE_LDEXP): New macros.
13920         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
13921         USE_LONG_DOUBLE.
13922         (underlying_strtod): Remove function. Replace with some macros.
13923         Re-add the code for a missing underlying function that was removed on
13924         2013-02-19.
13925         * m4/strtold.m4: New file.
13926         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
13927         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
13928         REPLACE_STRTOLD.
13929         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
13930         REPLACE_STRTOLD.
13931         * modules/strtold: New file.
13932         * doc/posix-functions/strtold.texi: Document the new module.
13934 2019-01-29  Bruno Haible  <bruno@clisp.org>
13936         strtod: Fix compilation error on IRIX 6.5.
13937         * modules/strtod (Depends-on): Add 'math'.
13939 2019-01-28  Bruno Haible  <bruno@clisp.org>
13941         Fix build error when building a shared libunistring on Android.
13942         * tests/uninorm/test-nfc.c (n): Don't define on Android.
13943         (main): Add 'volatile', to defeat a GCC optimization that would
13944         eliminate the reference.
13945         * tests/uninorm/test-nfd.c (n): Don't define on Android.
13946         (main): Add 'volatile', to defeat a GCC optimization that would
13947         eliminate the reference.
13948         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
13949         (main): Add 'volatile', to defeat a GCC optimization that would
13950         eliminate the reference.
13951         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
13952         (main): Add 'volatile', to defeat a GCC optimization that would
13953         eliminate the reference.
13955 2019-01-27  Bruno Haible  <bruno@clisp.org>
13957         Avoid build errors due to wrong references between modules.
13958         * lib/uninorm/canonical-decomposition.c: Include
13959         "uninorm/decomposition-table.h", not "decomposition-table.h".
13960         * lib/uninorm/decomposition.c: Likewise.
13961         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
13962         not "decompose-internal.h".
13963         * lib/uninorm/u16-normalize.c: Likewise.
13964         * lib/uninorm/u32-normalize.c: Likewise.
13965         * lib/uninorm/uninorm-filter.c: Likewise.
13966         * lib/uninorm/nfkc.c: Likewise.
13967         * lib/uninorm/nfkd.c: Likewise.
13968         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
13969         "caseprop.h".
13970         * lib/unicase/u8-ct-totitle.c: Likewise.
13971         * lib/unicase/u8-prefix-context.c: Likewise.
13972         * lib/unicase/u8-suffix-context.c: Likewise.
13973         * lib/unicase/u16-casemap.c: Likewise.
13974         * lib/unicase/u16-ct-totitle.c: Likewise.
13975         * lib/unicase/u16-prefix-context.c: Likewise.
13976         * lib/unicase/u16-suffix-context.c: Likewise.
13977         * lib/unicase/u32-casemap.c: Likewise.
13978         * lib/unicase/u32-ct-totitle.c: Likewise.
13979         * lib/unicase/u32-prefix-context.c: Likewise.
13980         * lib/unicase/u32-suffix-context.c: Likewise.
13981         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
13982         "unicasemap.h".
13983         * lib/unicase/u8-toupper.c: Likewise.
13984         * lib/unicase/u8-ct-tolower.c: Likewise.
13985         * lib/unicase/u8-ct-toupper.c: Likewise.
13986         * lib/unicase/u16-tolower.c: Likewise.
13987         * lib/unicase/u16-toupper.c: Likewise.
13988         * lib/unicase/u16-ct-tolower.c: Likewise.
13989         * lib/unicase/u16-ct-toupper.c: Likewise.
13990         * lib/unicase/u32-tolower.c: Likewise.
13991         * lib/unicase/u32-toupper.c: Likewise.
13992         * lib/unicase/u32-ct-tolower.c: Likewise.
13993         * lib/unicase/u32-ct-toupper.c: Likewise.
13994         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
13995         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
13996         * lib/unicase/u16-ct-casefold.c: Likewise.
13997         * lib/unicase/u32-ct-casefold.c: Likewise.
13999 2019-01-27  Bruno Haible  <bruno@clisp.org>
14001         gperf: Fix error when this module is required by some test module.
14002         * modules/gperf (Applicability): Set to 'all'.
14004 2019-01-27  Bruno Haible  <bruno@clisp.org>
14006         tmpfile: Add support for Android.
14007         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
14008         works.
14009         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
14010         Android.
14011         * modules/tmpfile (Depends-on): Add 'stdbool'.
14012         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
14013         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
14015 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
14017         bitsetv: allow free on NULL.
14018         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
14020 2019-01-27  Bruno Haible  <bruno@clisp.org>
14022         test-framework-sh: Improve maintainability.
14023         * tests/init.sh: Clarify what belongs together. Reorder definitions.
14025 2019-01-27  Bruno Haible  <bruno@clisp.org>
14027         tests: Don't assume that /tmp exists.
14028         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
14029         * tests/test-copy-acl-1.sh: Likewise.
14030         * tests/test-file-has-acl-1.sh: Likewise.
14031         * tests/test-copy-file-1.sh: Likewise.
14033 2019-01-27  Bruno Haible  <bruno@clisp.org>
14035         tests: Accommodate a shell that is not in /bin/sh.
14036         * tests/init.sh (setup_): Set srcdir and builddir.
14037         (BOURNE_SHELL): New variable.
14038         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
14039         * modules/file-has-acl-tests (Depends-on): Likewise.
14040         * modules/copy-file-tests (Depends-on): Likewise.
14041         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
14042         scripts through $BOURNE_SHELL.
14043         * tests/test-set-mode-acl-2.sh: Likewise.
14044         * tests/test-copy-acl-1.sh: Likewise.
14045         * tests/test-copy-acl-2.sh: Likewise.
14046         * tests/test-file-has-acl-1.sh: Likewise.
14047         * tests/test-file-has-acl-2.sh: Likewise.
14048         * tests/test-copy-file-1.sh: Likewise.
14049         * tests/test-copy-file-2.sh: Likewise.
14050         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
14051         invoker.
14052         * tests/test-copy-acl.sh (builddir): Likewise.
14053         * tests/test-file-has-acl.sh (builddir): Likewise.
14054         * tests/test-copy-file.sh (builddir): Likewise.
14055         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
14056         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
14057         * tests/test-vc-list-files-git.sh: Likewise.
14059 2019-01-27  Bruno Haible  <bruno@clisp.org>
14061         tests: Fix some "unused variable" warnings.
14062         * tests/test-fts.c (fts_dealloc): Remove unused variable.
14063         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
14064         * tests/test-striconveh.c (main): Move some variable into the
14065         '#if HAVE_ICONV'.
14066         * tests/test-striconveha.c (main): Likewise.
14067         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
14068         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
14069         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
14070         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
14071         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14072         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
14073         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
14074         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
14075         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
14076         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
14077         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
14078         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
14079         * tests/test-tsearch.c (main): Move some variable into the
14080         '#if HAVE_INITSTATE'.
14082 2019-01-27  Bruno Haible  <bruno@clisp.org>
14084         unigbrk/uc-grapheme-breaks: Fix build failure.
14085         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
14086         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
14088 2019-01-27  Bruno Haible  <bruno@clisp.org>
14090         mountlist: Merge two .m4 files.
14091         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
14092         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
14093         * m4/ls-mntd-fs.m4: Remove file.
14094         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
14096 2019-01-27  Bruno Haible  <bruno@clisp.org>
14098         tests: Enable Linux specific tests on Android.
14099         * tests/test-flock.c (main): Treat Android like Linux.
14100         * tests/test-openat-safer.c (main): Likewise.
14102 2019-01-27  Bruno Haible  <bruno@clisp.org>
14104         relocatable-prog: Use Linux code on Android.
14105         * lib/progreloc.c: Treat Android like Linux.
14107 2019-01-26  Bruno Haible  <bruno@clisp.org>
14109         getloadavg: Add support for Android.
14110         * lib/getloadavg.c: Treat Android like Linux.
14112 2019-01-26  Bruno Haible  <bruno@clisp.org>
14114         vma-iter: Add support for Android.
14115         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
14116         * lib/vma-iter.c: Treat Android like Linux.
14117         * lib/get-rusage-data.c (get_rusage_data): Likewise.
14119 2019-01-26  Bruno Haible  <bruno@clisp.org>
14121         fts: Optimize on Android.
14122         * lib/fts.c: Treat Android like Linux.
14124 2019-01-26  Bruno Haible  <bruno@clisp.org>
14126         fts: Add support for Android.
14127         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
14128         defined by this module and the ones in libc.
14129         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
14131 2019-01-26  Bruno Haible  <bruno@clisp.org>
14133         mountlist: Use Linux code on Android.
14134         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
14135         (unescape_tab, read_file_system_list): Enable Linux code on Android
14136         as well.
14137         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
14138         and endmntent.
14139         * modules/mountlist (Depends-on): Add 'getline'.
14141 2019-01-26  Bruno Haible  <bruno@clisp.org>
14143         localename tests: Fix test failure on Android.
14144         * modules/localename-tests (Depends-on): Add 'setlocale'.
14146 2019-01-26  Bruno Haible  <bruno@clisp.org>
14148         mountlist: Port better to Android.
14149         * lib/mountlist.c (MOUNTED): Redefine on Android.
14150         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
14151         Android.
14153 2019-01-26  Bruno Haible  <bruno@clisp.org>
14155         striconveh: Fix use of uninitialized iconv_t.
14156         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
14157         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
14158         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
14160 2019-01-26  Bruno Haible  <bruno@clisp.org>
14162         nonblocking-socket-tests: Fix test failure on Android 4.3.
14163         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
14164         also on Android.
14166 2019-01-26  Bruno Haible  <bruno@clisp.org>
14168         sh-filename: Add support for Android 4.3.
14169         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
14171 2019-01-26  Bruno Haible  <bruno@clisp.org>
14173         ptsname_r: Work around bug on Android 4.3.
14174         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
14175         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
14176         correct.
14177         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
14178         is defined, just fix the return value.
14179         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
14180         The behaviour of musl libc is nothing to be "fixed", since it is
14181         compliant with the next POSIX standard.
14183 2019-01-26  Bruno Haible  <bruno@clisp.org>
14185         ttyname_r: Work around bug on Android 4.3.
14186         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
14187         * lib/ttyname_r.c (ttyname_r): Implement for Android.
14188         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
14189         * doc/posix-functions/ttyname.texi: Likewise.
14191 2019-01-25  Bruno Haible  <bruno@clisp.org>
14193         getprogname: Port to Android 4.3.
14194         * lib/getprogname.c (getprogname): On Android, take only the last
14195         component of __progname.
14197 2019-01-25  Bruno Haible  <bruno@clisp.org>
14199         wcrtomb: Work around bug on Android 4.3.
14200         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
14201         the C locale.
14202         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
14203         which does not have the 'wctomb' function.
14204         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
14205         * tests/test-wcrtomb.c (main): Accept argument '5'.
14206         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
14208 2019-01-25  Bruno Haible  <bruno@clisp.org>
14210         setlocale: Work around bug on Android 4.3.
14211         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
14212         the "C" locale.
14213         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
14214         * doc/posix-functions/setlocale.texi: Mention the Android bug.
14216 2019-01-24  Bruno Haible  <bruno@clisp.org>
14218         memchr: Work around bug on Android <= 5.0.
14219         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
14220         * doc/posix-functions/memchr.texi: Mention the Android bug.
14222 2019-01-24  Bruno Haible  <bruno@clisp.org>
14224         random: Fix compilation error on Android 4.3.
14225         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
14226         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
14227         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
14228         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
14229         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
14230         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
14231         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
14232         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
14233         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
14234         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
14235         REPLACE_INITSTATE, REPLACE_SETSTATE.
14236         * doc/posix-functions/random.texi: Correct the description of the
14237         situation on Android.
14238         * doc/posix-functions/srandom.texi: Likewise.
14239         * doc/posix-functions/rand.texi: Likewise.
14240         * doc/posix-functions/srand.texi: Likewise.
14242 2019-01-24  Bruno Haible  <bruno@clisp.org>
14244         mbtowc: Fix compilation error on Android 4.3.
14245         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
14246         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
14247         HAVE_MBTOWC.
14248         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
14249         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
14250         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
14251         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
14252         * doc/posix-functions/mbtowc.texi: Mention the change.
14254 2019-01-24  Bruno Haible  <bruno@clisp.org>
14256         fdatasync: Fix compilation error on Android 4.3.
14257         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
14258         test whether fdatasync() exists.
14260 2019-01-24  Bruno Haible  <bruno@clisp.org>
14262         unlinkat: Fix compilation error on Android 4.3.
14263         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
14264         also on Android.
14265         * doc/posix-functions/unlinkat.texi: Mention the issue.
14267 2019-01-24  Bruno Haible  <bruno@clisp.org>
14269         renameat: Fix compilation error on Android 4.3.
14270         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
14271         * doc/posix-functions/renameat.texi: Mention the issue.
14273 2019-01-24  Bruno Haible  <bruno@clisp.org>
14275         fchownat: Fix compilation error on Android 4.3.
14276         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
14277         use.
14278         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
14279         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
14280         * doc/posix-functions/fchownat.texi: Mention the issue.
14282 2019-01-23  Bruno Haible  <bruno@clisp.org>
14284         gnulib-tool: Support running testdirs on Android.
14285         * build-aux/test-driver.diff: New file.
14286         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
14287         build-aux/test-driver after running automake.
14289 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
14291         relocatable-prog: avoid warnings from Automake
14292         * modules/relocatable-prog: Don't declare PHONY dependencies in
14293         Automake conditionals.
14295 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
14297         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
14298         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
14300 2019-01-23  Bruno Haible  <bruno@clisp.org>
14302         threadlib: Revert commit from 2018-06-25. We now have a better fix.
14303         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
14304         preceding -Wl,--as-needed option. Don't check whether the linker
14305         supports --as-needed/--no-as-needed and --push-state/--pop-state.
14307 2019-01-23  Bruno Haible  <bruno@clisp.org>
14309         thread: Force linking with -lpthread, even when --as-needed is in use.
14310         Reported by Richard W.M. Jones <rjones@redhat.com> in
14311         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
14312         * lib/glthread/thread.h (pthread_create): Don't declare weak.
14314 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
14315             Bruno Haible  <bruno@clisp.org>
14317         relocatable: avoid compiler warnings (-Wshadow)
14318         * lib/relocatable.c (compute_curr_prefix): Rename local variables
14319         to avoid name collisions with global variables.
14321 2019-01-22  Bruno Haible  <bruno@clisp.org>
14323         vasnprintf: Don't use %n on Android.
14324         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
14325         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
14326         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
14328 2019-01-22  Bruno Haible  <bruno@clisp.org>
14330         *printf: Support cross-compilation to Android.
14331         * m4/printf.m4: Add cross-compilation guesses for Android.
14333 2019-01-21  Bruno Haible  <bruno@clisp.org>
14335         diacrit: Mark deprecated.
14336         * modules/diacrit (Status, Notice): Mark as deprecated.
14337         * NEWS: Mention it.
14339 2019-01-20  Bruno Haible  <bruno@clisp.org>
14341         rintl: Override broken implementation on NetBSD.
14342         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
14343         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
14344         REPLACE_RINTL.
14345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
14346         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
14347         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
14348         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
14350 2019-01-20  Bruno Haible  <bruno@clisp.org>
14352         log10l: Work around inaccurate implementation on NetBSD.
14353         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
14354         * lib/log10l.c: Comment out too simplistic override.
14355         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
14357 2019-01-20  Bruno Haible  <bruno@clisp.org>
14359         logl: Work around inaccurate implementation on NetBSD.
14360         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
14361         * lib/logl.c: Comment out unused code.
14362         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
14364 2019-01-20  Bruno Haible  <bruno@clisp.org>
14366         expm1l: Work around inaccurate implementation on NetBSD.
14367         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
14368         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
14369         REPLACE_EXPM1L.
14370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
14371         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
14372         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
14373         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
14375 2019-01-20  Bruno Haible  <bruno@clisp.org>
14377         expl: Work around inaccurate implementation on NetBSD.
14378         * lib/math.in.h (expl): Test also REPLACE_EXPL.
14379         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
14380         REPLACE_EXPL.
14381         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
14382         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
14383         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
14384         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
14386 2019-01-20  Bruno Haible  <bruno@clisp.org>
14388         exp2l: Work around inaccurate implementation on NetBSD.
14389         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
14390         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
14392 2019-01-20  Bruno Haible  <bruno@clisp.org>
14394         floor, floorl: Avoid autoconf warnings.
14395         * modules/floor (configure.ac): Use AC_REQUIRE.
14396         * modules/floorl (configure.ac): Likewise.
14398 2019-01-20  Bruno Haible  <bruno@clisp.org>
14400         Defeat current GCC optimizations in math autoconf tests.
14401         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
14402         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14403         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14404         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14405         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
14406         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
14407         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14408         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14409         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
14410         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14411         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14412         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14413         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14414         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14415         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
14416         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
14417         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
14418         * m4/log.m4 (gl_FUNC_LOG): Likewise.
14419         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14420         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
14421         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14422         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
14423         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
14424         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
14425         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
14426         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
14427         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
14428         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14429         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14430         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14431         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14432         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14433         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14434         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14435         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14436         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14437         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14438         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14440 2019-01-19  Pádraig Brady  <P@draigBrady.com>
14442         gettext: support disabling use of VLAs
14443         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
14445 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
14447         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
14448         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
14450 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
14452         fcntl: Fix syntax error (regression from 2018-10-05).
14453         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
14455 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
14457         relocatable: improve documentation.
14458         * doc/relocatable-maint.texi (Supporting Relocation): For
14459         substitutions performed by config.status, we need more variables
14460         (for instance datarootdir defaults to '${prefix}/share' so we need
14461         prefix).
14463 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
14465         backup: update dependencies
14466         * modules/backup-rename (Depends-on): It now depends on opendirat
14467         instead of opendir.  It also uses stdint, and xalloc-oversized.
14468         But no longer dirfd.
14469         * modules/backupfile (Depends-on): Add xalloc-oversized.
14471 2019-01-13  Bruno Haible  <bruno@clisp.org>
14473         getcwd: Fix test failure when building on a Linux 9p file system.
14474         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
14475         EINVAL from mkdir like ENAMETOOLONG.
14476         * tests/test-getcwd.c (test_long_name): Likewise.
14478 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
14480         Fix typos found by codespell.
14481         * lib/*.[hc]: Fix typos in comments.
14482         * pygnulib/*.py: Fix typos in error messages and comments.
14484 2019-01-12  Bruno Haible  <bruno@clisp.org>
14486         doc: Fix documentation about container data types.
14487         Reported by Werner Lemberg <wl@gnu.org>.
14488         * doc/containers.texi (Container data types): Fix typo.
14490 2019-01-10  Bruno Haible  <bruno@clisp.org>
14492         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
14493         Reported by Reuben Thomas <rrt@sc3d.org>.
14494         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
14496 2019-01-06  Bruno Haible  <bruno@clisp.org>
14498         maintainer-makefile: Make the configure.ac section optional.
14499         * top/maint.mk (GREP, SED): Define if not defined.
14501 2019-01-06  Bruno Haible  <bruno@clisp.org>
14503         localename: Assume setlocale function.
14504         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
14505         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
14507 2019-01-06  Bruno Haible  <bruno@clisp.org>
14509         doc: Add documentation about container data types.
14510         * doc/containers.texi: New file.
14511         * doc/gnulib.texi (Particular Modules): Include it.
14513 2019-01-06  Bruno Haible  <bruno@clisp.org>
14515         doc: Update documentation about 'progname' module.
14516         * doc/progname.texi: Rename from doc/error.texi. Change node name and
14517         title. Rewrite.
14518         * doc/gnulib.texi (Particular Modules): Update.
14520 2019-01-06  Bruno Haible  <bruno@clisp.org>
14522         doc: Document the xstdopen and *-safer modules.
14523         * doc/xstdopen.texi: New file.
14524         * doc/gnulib.texi (Particular Modules): Include it.
14526 2019-01-06  Bruno Haible  <bruno@clisp.org>
14528         xstdopen: Add tests.
14529         * tests/test-xstdopen.c: New file.
14530         * tests/test-xstdopen.sh: New file.
14531         * modules/xstdopen-tests: New file.
14533         xstdopen: New module.
14534         * lib/xstdopen.h: New file.
14535         * lib/xstdopen.c: New file.
14536         * modules/xstdopen: New file.
14538 2019-01-06  Bruno Haible  <bruno@clisp.org>
14540         stdopen: Fix compilation error with IRIX cc.
14541         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
14543 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
14545         xfreopen need not include stdio--.h
14546         * lib/xfreopen.c: Do not include stdio--.h.
14548         xfreopen need not depend on freopen-safer
14549         * modules/xfreopen (Depends-on):
14550         Depend on freopen, not freopen-safer.
14552         stdopen: modernize and simplify
14553         * lib/stdopen.c: Update copyright date
14554         Do not include sys/types.h; no longer needed these days.
14555         (stdopen): Use C99-style decl in loop.  Return int errno
14556         value, rather than just a bool.  Do not worry about fd mismatches,
14557         since the caller cares only if 0, 1, 2 are occupied.
14558         * lib/stdopen.h: No need to include <stdbool.h>.
14559         * m4/stdopen.m4: Remove.
14560         * modules/stdopen: New file.
14562         stdopen: copy from last use in coreutils
14563         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
14564         New files, taken from their last commit in coreutils
14565         2007-07-23T12:35:58Z!jim@meyering.net
14566         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
14568 2019-01-05  Bruno Haible  <bruno@clisp.org>
14570         argp: Don't pass an invalid argument to dgettext().
14571         Reported by He X <xw897002528@gmail.com>.
14572         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
14573         dgettext().
14575 2019-01-05  Bruno Haible  <bruno@clisp.org>
14577         argp: Don't pass an invalid argument to dgettext().
14578         Reported by He X <xw897002528@gmail.com>.
14579         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
14580         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
14581         dgettext().
14583 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
14585         stdioext: port to newer 32-bit Android
14586         Problem reported by Tom Yan in:
14587         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
14588         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
14589         (fp_) [__ANDROID__]: Use it.
14591 2019-01-04  Bruno Haible  <bruno@clisp.org>
14593         lock: Fix link error with --enable-threads=pth.
14594         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
14595         Mark as weak.
14597 2019-01-04  Bruno Haible  <bruno@clisp.org>
14599         Fix link errors in unit tests.
14600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14601         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
14602         * modules/array-map-tests (Makefile.am): Link test-array_map against
14603         libintl.
14604         * modules/array-set-tests (Makefile.am): Link test-array_set against
14605         libintl.
14606         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
14607         libintl.
14608         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
14609         libintl.
14610         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
14611         against libintl.
14612         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
14613         against libintl.
14615 2019-01-04  Bruno Haible  <bruno@clisp.org>
14617         Fix incorrect 'Link' sections.
14618         * modules/regex (Link): Mention the link requirement of module 'lock'.
14619         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
14621 2019-01-04  Bruno Haible  <bruno@clisp.org>
14623         Fix some 'Link' sections.
14624         * modules/c-stack (Link): Add link directive from the 'gettext-h'
14625         dependency.
14626         * modules/getaddrinfo (Link): Likewise.
14628 2019-01-04  Bruno Haible  <bruno@clisp.org>
14630         Remove redundant 'Link' sections.
14631         * modules/canon-host (Link): Remove section.
14632         * modules/timevar (Link): Likewise.
14634 2019-01-04  Bruno Haible  <bruno@clisp.org>
14636         Remove incorrect 'Link' sections.
14637         * modules/acl (Link): Remove section. Use combined 'Link' sections from
14638         the dependencies instead.
14639         * modules/crypto/md5 (Link): Likewise.
14640         * modules/crypto/sha1 (Link): Likewise.
14641         * modules/crypto/sha256 (Link): Likewise.
14642         * modules/crypto/sha512 (Link): Likewise.
14643         * modules/faccessat (Link): Likewise.
14644         * modules/fdutimensat (Link): Likewise.
14645         * modules/iconv_open-utf (Link): Likewise.
14646         * modules/propername (Link): Likewise.
14647         * modules/qacl (Link): Likewise.
14648         * modules/unicodeio (Link): Likewise.
14649         * modules/utimecmp (Link): Likewise.
14650         * modules/utimensat (Link): Likewise.
14651         * modules/xstriconv (Link): Likewise.
14652         * modules/xstriconveh (Link): Likewise.
14654 2019-01-04  Bruno Haible  <bruno@clisp.org>
14656         gnulib-tool: New option --extract-recursive-link-directive.
14657         * gnulib-tool (func_usage): Document the new options
14658         --extract-recursive-dependencies, --extract-recursive-link-directive.
14659         (func_verify_module): Document output variables.
14660         (func_get_dependencies_recursively): New function.
14661         (func_get_link_directive_recursively): New function.
14662         Use them to implement the new options
14663         --extract-recursive-dependencies, --extract-recursive-link-directive.
14664         * doc/gnulib-tool.texi (Link-time requirements): New section.
14666 2019-01-04  Bruno Haible  <bruno@clisp.org>
14668         Clarify meaning of 'Link' section in module description.
14669         * doc/gnulib.texi (Module description): Clarify the meaning of the
14670         'Link' section versus the one of the dependencies.
14671         * NEWS: Mention the change.
14673 2019-01-04  Bruno Haible  <bruno@clisp.org>
14675         pselect: Fix module description.
14676         * modules/pselect (Link): Put one link option per line.
14678 2019-01-04  Bruno Haible  <bruno@clisp.org>
14680         cosl: Fix module description.
14681         * modules/cosl (Link): Fix typo.
14682         * modules/mathl (configure.ac): Likewise.
14684 2019-01-04  Bruno Haible  <bruno@clisp.org>
14686         c-xvasprintf: Fix module dependencies.
14687         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
14689 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
14691         bootstrap: die when some submodules are not initialized
14692         * build-aux/bootstrap: Make sure all submodules are initialized.
14694 2019-01-04  Bruno Haible  <bruno@clisp.org>
14696         bitsetv: Fix module dependencies.
14697         * lib/bitsetv.c: Include xalloc.h.
14698         * modules/bitsetv (Depends-on): Add 'xalloc'.
14700 2019-01-04  Bruno Haible  <bruno@clisp.org>
14702         xmemdup0: Remove redundant code.
14703         * lib/xmemdup0.h (xalloc_die): Remove declaration.
14705 2019-01-04  Bruno Haible  <bruno@clisp.org>
14707         backupfile: Fix module dependencies.
14708         * modules/backupfile (Depends-on): Add 'xalloc'.
14710 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
14712         bitset, crypto/gc: fix conflicts with Solaris 11
14713         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
14714         avoid clash with Solaris 11 <sys/bitset.h>.
14715         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
14716         with Solaris 11 <xorg/gc.h>.
14718 2019-01-04  Bruno Haible  <bruno@clisp.org>
14720         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
14721         Reported by Andy Fiddaman <andy@omniosce.org>.
14722         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
14724 2019-01-03  Eric Blake  <eblake@redhat.com>
14726         maintainer-makefile: fix typo in previous patch
14727         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
14728         of Roman's work.
14730 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
14732         maintainer-makefile: prefer $(GREP) over grep
14733         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
14734         defined.
14735         * top/maint.mk: Use it everywhere.
14737         maintainer-makefile: split long argument lines
14738         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
14739         it would be too long for exec limits on BSD.
14741 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
14743         mkfifo: bring back HAVE_MKFIFO macro
14744         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
14745         Problem reported by Andrew Janke in:
14746         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
14748 2018-12-21  Bruno Haible  <bruno@clisp.org>
14750         Assume Autoconf >= 2.63.
14751         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
14752         versions < 2.60.
14754 2018-12-21  Bruno Haible  <bruno@clisp.org>
14756         memcmp: Mention the clang bug.
14757         * tests/test-memcmp.c: Add comment about a known test failure.
14758         * doc/posix-functions/memcmp.texi: Mention the clang bug.
14760 2018-12-20  Jim Meyering  <meyering@fb.com>
14762         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
14763         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
14764           echo '123-x'|LC_ALL=C grep -E '.\bx'
14765         The goal is to revert the first, but reverting it requires to restore
14766         the function deleted in the second. I ran this to restore the deleted
14767         function:
14768           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
14769             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
14770             | patch -R -p1
14771         * lib/dfa.c (charclass_context): Restore deleted function.
14772         Reverting the primary commit removes this change:
14773         dfa: Simplify a building state
14774         * lib/dfa.c (build_state): Simplify a building state.
14776 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14778         version-etc: allow zero authors
14779         * lib/version-etc.c (version_etc_arn): If no authors are given,
14780         omit authorship info instead of dumping core.
14782 2018-12-19  Bruno Haible  <bruno@clisp.org>
14784         lchown tests: Be more permissive regarding errno values.
14785         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
14786         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
14787         alternative to ENOSYS.
14788         * modules/lchown-tests (Depends-on): Add 'errno'.
14789         * modules/fchownat-tests (Depends-on): Likewise.
14791 2018-12-18  Bruno Haible  <bruno@clisp.org>
14793         duplocale: Avoid test failure on AIX 7.
14794         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
14795         (configure.ac): Invoke gt_FUNC_USELOCALE.
14796         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
14797         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
14798         works.
14800 2018-12-18  Bruno Haible  <bruno@clisp.org>
14802         localename: Fix test failure on AIX 7.
14803         Reported by Assaf Gordon in
14804         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
14805         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
14806         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
14807         instead of ac_cv_func_uselocale.
14808         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
14809         HAVE_USELOCALE.
14810         * lib/localename-table.h: Likewise.
14811         * lib/localename-table.c: Likewise.
14812         * tests/test-localename.c: Likewise.
14813         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
14815 2018-12-18  Bruno Haible  <bruno@clisp.org>
14817         localename: Update comments regarding Cygwin.
14818         * lib/localename.c: Update comment.
14819         * doc/posix-functions/uselocale.texi: Update platforms list.
14820         * doc/posix-functions/newlocale.texi: Likewise.
14821         * doc/posix-functions/duplocale.texi: Likewise.
14822         * doc/posix-functions/freelocale.texi: Likewise.
14824 2018-12-16  Bruno Haible  <bruno@clisp.org>
14826         c-stack: Fix for Linux/sparc.
14827         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
14828         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
14830 2018-12-16  Bruno Haible  <bruno@clisp.org>
14832         localename: Avoid test failure on some glibc systems.
14833         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
14834         Unset environment variables that might disturb the first setlocale call,
14835         and verify that this setlocale call succeeds.
14837 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
14839         random: Fix build error on native Windows (regression from 2018-06-21).
14840         * lib/random.c (__srandom, __initstate, __setstate, __random,
14841         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
14842         to the symbols without '__' prefix.
14844 2018-12-16  Bruno Haible  <bruno@clisp.org>
14846         obstack, libc-config: Support HP-UX cc in C99 mode.
14847         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
14848         compiler, even when in C99 mode.
14849         * lib/cdefs.h (__flexarr): Likewise.
14850         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
14852 2018-12-16  Bruno Haible  <bruno@clisp.org>
14854         localename: Fix test failure on OpenBSD >= 6.2.
14855         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
14856         locale system. Define HAVE_FAKE_LOCALES in this case.
14857         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
14858         HAVE_USELOCALE.
14859         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
14860         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
14861         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
14862         platforms list.
14863         * doc/posix-functions/newlocale.texi: Likewise.
14864         * doc/posix-functions/duplocale.texi: Update platforms list.
14865         * doc/posix-functions/freelocale.texi: Likewise.
14867 2018-12-16  Bruno Haible  <bruno@clisp.org>
14869         duplocale tests: Re-enable the test on platforms without <monetary.h>.
14870         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
14871         of the test, on platforms without <monetary.h>.
14873 2018-12-16  Bruno Haible  <bruno@clisp.org>
14875         localename: Update comments.
14876         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
14878 2018-12-15  Jim Meyering  <meyering@fb.com>
14880         regex: fix indentation
14881         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
14883 2018-12-15  Bruno Haible  <bruno@clisp.org>
14885         openat-safer tests: Avoid test failure on NetBSD 8.
14886         * tests/test-openat-safer.c (main): Execute a Linux specific test only
14887         on Linux.
14889 2018-12-15  Jim Meyering  <meyering@fb.com>
14891         regex: work around a bug in glibc-2.27 and prior
14892         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
14893         assertion for /0|()0|\1|0/.
14894         * tests/test-regex.c (main): Add the same test here.
14896 2018-12-15  Bruno Haible  <bruno@clisp.org>
14898         localename: Fix use of uninitialized shell variable.
14899         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
14900         gt_cv_locale_solaris114 always before use. Remove assignment without
14901         effect.
14903 2018-12-15  Bruno Haible  <bruno@clisp.org>
14905         dfa tests: Avoid test failure on Alpine Linux.
14906         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
14907         command found on Alpine Linux.
14909 2018-12-15  Jim Meyering  <meyering@fb.com>
14911         dfa: avoid new warnings from gcc
14912         These would prevent building with -Werror and a Dec snapshot of gcc.
14913         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
14914         Rename each inner instance to "p".
14915         (charclass_context): Remove unused static function.
14917 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
14919         mkdir-p: improve diagnostic for FUSE mounts
14920         Problem reported by Niklas Hambüchen in:
14921         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
14922         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
14923         errno to mkdir errno if the stat errno is likely more interesting.
14925 2018-12-14  Bruno Haible  <bruno@clisp.org>
14927         hash-map: Add tests.
14928         * tests/test-hash_map.c: New file.
14929         * modules/hash-map-tests: New file.
14931         linkedhash-map: Add tests.
14932         * tests/test-linkedhash_map.c: New file.
14933         * modules/linkedhash-map-tests: New file.
14935         array-map: Add tests.
14936         * tests/test-array_map.c: New file.
14937         * modules/array-map-tests: New file.
14939         xmap: New module.
14940         * lib/gl_xmap.h: New file.
14941         * lib/gl_xmap.c: New file.
14942         * modules/xmap: New file.
14944         hash-map: New module.
14945         * lib/gl_hash_map.h: New file.
14946         * lib/gl_hash_map.c: New file.
14947         * modules/hash-map: New file.
14949         linkedhash-map: New module.
14950         * lib/gl_linkedhash_map.h: New file.
14951         * lib/gl_linkedhash_map.c: New file.
14952         * lib/gl_anyhash1.h: Update comments.
14953         * lib/gl_anyhash2.h: Likewise.
14954         * modules/linkedhash-map: New file.
14956         array-map: New module.
14957         * lib/gl_array_map.h: New file.
14958         * lib/gl_array_map.c: New file.
14959         * modules/array-map: New file.
14961         map: New module.
14962         * lib/gl_map.h: New file.
14963         * lib/gl_map.c: New file.
14964         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
14965         conflict with gl_map.h.
14966         * modules/map: New file.
14968 2018-12-13  Bruno Haible  <bruno@clisp.org>
14970         select tests: Avoid test failure on Cygwin.
14971         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
14973 2018-12-13  Bruno Haible  <bruno@clisp.org>
14975         localtime-buffer: Avoid endless recursion in localtime and gmtime.
14976         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
14978 2018-12-13  Bruno Haible  <bruno@clisp.org>
14980         localeconv tests: Avoid test failure on Cygwin.
14981         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
14982         'mon_grouping' tests.
14984 2018-12-11  Bruno Haible  <bruno@clisp.org>
14986         omap: Don't dispose the old value when the function returns it.
14987         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
14988         here.
14989         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
14990         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
14991         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
14992         here.
14994         array-omap, avltree-omap, rbtree-omap: Tweak style.
14995         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
14996         false.
14997         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
14999         rbtree-omap: Add tests.
15000         * tests/test-rbtree_omap.c: New file.
15001         * modules/rbtree-omap-tests: New file.
15003         avltree-omap: Add tests.
15004         * tests/test-avltree_omap.c: New file.
15005         * modules/avltree-omap-tests: New file.
15007         array-omap: Add tests.
15008         * tests/test-array_omap.c: New file.
15009         * modules/array-omap-tests: New file.
15011         xomap: New module.
15012         * lib/gl_xomap.h: New file.
15013         * lib/gl_xomap.c: New file.
15014         * modules/xomap: New file.
15016         rbtree-omap: New module.
15017         * lib/gl_rbtree_omap.h: New file.
15018         * lib/gl_rbtree_omap.c: New file.
15019         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
15020         Parameterize.
15021         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
15022         * modules/rbtree-omap: New file.
15023         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
15024         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
15026         avltree-omap: New module.
15027         * lib/gl_avltree_omap.h: New file.
15028         * lib/gl_avltree_omap.c: New file.
15029         * lib/gl_avltree_ordered.h: Code moved to here from
15030         lib/gl_avltree_oset.c. Parameterize.
15031         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
15032         * lib/gl_anytree_omap.h: New file.
15033         * modules/avltree-omap: New file.
15034         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
15035         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
15037         array-omap: New module.
15038         * lib/gl_array_omap.h: New file.
15039         * lib/gl_array_omap.c: New file.
15040         * modules/array-omap: New file.
15042         omap: New module.
15043         * lib/gl_omap.h: New file.
15044         * lib/gl_omap.c: New file.
15045         * modules/omap: New file.
15047 2018-12-11  Bruno Haible  <bruno@clisp.org>
15049         hash-set, linkedhash-set: Reduce code duplication.
15050         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
15051         lib/gl_anyhash_set1.h.
15052         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
15053         lib/gl_anyhash_set2.h. Parameterize.
15054         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
15055         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
15056         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
15057         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
15058         * lib/gl_rbtreehash_list.c: Likewise.
15059         * lib/gl_linkedhash_list.c: Likewise.
15060         (hash_resize_after_add): Remove function.
15061         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
15062         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
15063         * gl_hash_set.c: Likewise.
15064         * modules/avltreehash-list (Files, Makefile.am): Update file list.
15065         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
15066         * modules/linkedhash-list (Files, Makefile.am): Likewise.
15067         * modules/linkedhash-set (Files, Makefile.am): Likewise.
15068         * modules/hash-set (Files, Makefile.am): Likewise.
15070 2018-12-11  Bruno Haible  <bruno@clisp.org>
15072         array-set: Optimize.
15073         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
15074         outside the loop, not inside the loop.
15076 2018-12-11  Bruno Haible  <bruno@clisp.org>
15078         times: Fix tests.
15079         * tests/test-times.c (doublecmp): Implement a total order.
15081 2018-12-11  Bruno Haible  <bruno@clisp.org>
15083         array-set, linkedhash-set, hash-set: Fix tests.
15084         * tests/test-array_set.c (cmp_objects_in_array): New function.
15085         (check_equals): Use it.
15086         * tests/test-hash_set.c: Likewise.
15087         * tests/test-linkedhash_set.c: Likewise.
15089 2018-12-08  Bruno Haible  <bruno@clisp.org>
15091         Fix comments.
15092         * lib/gl_list.h (gl_list_free): Clarify what it does.
15093         * lib/gl_oset.h (gl_oset_free): Likewise.
15094         * lib/gl_set.h (gl_set_free): Likewise.
15095         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
15096         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
15097         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
15098         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
15100 2018-12-03  Bruno Haible  <bruno@clisp.org>
15102         hash-set: Add tests.
15103         * tests/test-hash_set.c: New file.
15104         * modules/hash-set-tests: New file.
15106         linkedhash-set: Add tests.
15107         * tests/test-linkedhash_set.c: New file.
15108         * modules/linkedhash-set-tests: New file.
15110         array-set: Add tests.
15111         * tests/test-array_set.c: New file.
15112         * modules/array-set-tests: New file.
15114         xset: New module.
15115         * lib/gl_xset.h: New file.
15116         * lib/gl_xset.c: New file.
15117         * modules/xset: New file.
15119         hash-set: New module.
15120         * lib/gl_hash_set.h: New file.
15121         * lib/gl_hash_set.c: New file.
15122         * modules/hash-set: New file.
15124         linkedhash-set: New module.
15125         * lib/gl_linkedhash_set.h: New file.
15126         * lib/gl_linkedhash_set.c: New file.
15127         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
15128         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
15129         * lib/gl_anyhash_primes.h: New file, extracted from
15130         lib/gl_anyhash_list2.h.
15131         * lib/gl_anyhash_list2.h: Include it.
15132         (primes, next_prime): Remove definitions.
15133         * modules/linkedhash-set: New file.
15134         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
15135         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
15136         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
15137         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
15138         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
15139         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
15141         array-set: New module.
15142         * lib/gl_array_set.h: New file.
15143         * lib/gl_array_set.c: New file.
15144         * modules/array-set: New file.
15146         set: New module.
15147         * lib/gl_set.h: New file.
15148         * lib/gl_set.c: New file.
15149         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
15150         gl_set.h.
15151         * modules/set: New file.
15153 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
15155         bison: don't force the Yacc mode
15156         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
15157         errors when Bison features are used in the grammar file.  Some of
15158         these features (such as %expect) were flagged non-yacc recently.  Most
15159         of the time, -y is actually used to please Automake's ylwrap which
15160         expects the output to be y.tab.c.
15161         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
15163 2018-12-01  Bruno Haible  <bruno@clisp.org>
15165         gnupload: Document short options.
15166         * build-aux/gnupload (usage): Document the short options.
15168 2018-11-28  Ben Elliston  <bje@gnu.org>
15170         gnupload: Support option -h as alias of --help.
15171         * build-aux/gnupload: Support -h.
15173 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
15175         memrchr: port better to clang
15176         * lib/memrchr.c (__memrchr): Cast to void * instead of to
15177         longword *, to pacify clang -Wcast-align (Bug#33544).
15179 2018-11-29  Eric Blake  <eblake@redhat.com>
15181         docs: mention printf %m considerations
15182         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
15183         is not portable, and is easy enough to work around.
15184         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
15185         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
15186         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
15187         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
15188         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15189         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15190         * doc/posix-functions/printf.texi (printf): Likewise.
15191         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
15192         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
15193         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
15194         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15195         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15196         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15197         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15198         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15199         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
15200         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
15201         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15202         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15204 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
15206         bitset: rename ebitset/expandable.* as tbitset/table.*
15207         See
15208         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
15209         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
15210         * lib/bitset/table.h, lib/bitset/table.c: these.
15211         Rename all the ebitset* symbols as tbitset*.
15212         Adjust dependencies.
15214 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
15216         bitset: check the operations
15217         * tests/test-bitset.c (bitset_random): New.
15218         Use it.
15219         * lib/bitset/expandable.c (ebitset_not): Fix typo.
15221 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
15223         bitset: properly use false/true instead of 0/1 for Booleans
15224         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
15225         0/1, as Booleans.
15227 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
15229         bitset: rename BITSET_VARRAY as BITSET_VECTOR
15230         For consistency with the name of the file.
15231         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
15232         * lib/bitset/stats.c, lib/bitset/vector.c
15233         (BITSET_VARRAY): Rename as...
15234         (BITSET_VECTOR): this.
15236 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
15238         strerror_r-posix: memmove, not memcpy
15239         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
15240         since the source and destination might overlap in the call
15241         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
15242         Simplify.
15244 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
15246         bitsetv: new module
15247         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
15249 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
15251         bitset: add tests and doc
15252         First stabs at providing a documentation and test for the bitset
15253         module.
15254         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
15256 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
15258         bitset: new module
15259         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
15260         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
15261         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
15262         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
15263         * lib/bitset/vector.h, modules/bitset:
15264         New.
15266 2018-11-23  Bruno Haible  <bruno@clisp.org>
15268         localename: Fix gettext test failures on mingw.
15269         * lib/localename.c (gl_locale_name_posix): Convert the result of
15270         gl_locale_name_environ to XPG syntax.
15272 2018-11-23  Karl Berry  <karl@freefriends.org>
15274         * config/srclistvars.txt,
15275         * config/srclist.txt: remove all gettext references;
15276         the gettext maintainers will sync as needed.
15278 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
15280         mktime: add libc-config dependency
15281         I missed this when we synced from glibc.
15282         * modules/mktime (Depends-on): Add libc-config.
15284 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
15286         longlong: fix comment typo
15287         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
15289 2018-11-11  Bruno Haible  <bruno@clisp.org>
15291         havelib: Remove the need to include asm-underscore.m4.
15292         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
15293         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
15294         gl_HOST_CPU_C_ABI.
15295         * modules/havelib (Files): Add host-cpu-c-abi.m4.
15296         (Depends-on): Remove host-cpu-c-abi.
15298 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15300         parse-datetime: simplify test for mktime failure
15301         * lib/parse-datetime.y (mktime_ok): Simplify.
15302         Remove args TZ and T; no longer needed.  Callers changed.
15304         posixtm: simplify test for mktime failure
15305         * lib/posixtm.c (posixtime): Simplify.
15307         nstrftime: simplify test for mktime failure
15308         * lib/nstrftime.c (__strftime_internal): Simplify.
15310 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15312         gnulib-common.m4: port _Noreturn to C++
15313         Problem reported by Akim Demaille in:
15314         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
15315         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
15316         Merge adjustments from _Noreturn.h and from glibc into the non-C++
15317         version.
15318         * lib/_Noreturn.h: Match gnulib-common.
15320 2018-10-30  Bruno Haible  <bruno@clisp.org>
15322         gnu-make: Fix for NetBSD 8 'make'.
15323         Reported by Reuben Thomas in
15324         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
15325         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
15326         output, ignoring exit codes.
15328 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
15330         maintainer-makefile: fix syntax-check rule for "same.h"
15331         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
15332         for 'same_nameat', too.
15334 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
15336         havelib: fix nested ‘configure’ chatter
15337         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
15338         AC_CACHE_CHECK calls, which resulted in confusing output like
15339         “checking for the common suffixes of directories in the library
15340         search path... checking for 64-bit host... no lib,lib”.
15342         backupfile: tweak for better code
15343         * lib/backupfile.c: Sort include directives, and remove
15344         unnecessary <limits.h> include.
15345         (FALLTHROUGH): New macro, copied from other modules.
15346         (backupfile_internal): Use it to avoid code duplication.
15347         This lets GCC 8.2.1 generate better code by inlining the
15348         call to check_extension.
15350 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
15352         backupfile: new dir_fd args
15353         New module opendirat with code taken from fts.
15354         Use this module to let backupfile use a directory file descriptor.
15355         * NEWS: Document the incompatible change.
15356         * lib/backup-find.c (find_backup_file_name):
15357         * lib/backup-rename.c (backup_file_rename):
15358         New arg DIR_FD.
15359         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
15360         (SIZE_MAX): Remove.
15361         Include opendirat.h rather than dirent--.h.
15362         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
15363         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
15364         (backupfile_internal): New arg DIR_FD.  All callers changed.
15365         * lib/fts.c: Include opendirat.h.
15366         (opendirat): Move to opendirat.c.
15367         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
15368         * modules/backupfile (Depends-on): Remove dirfd, opendir.
15369         Add opendirat.
15370         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
15371         Add opendirat.
15373 2018-10-23  Bruno Haible  <bruno@clisp.org>
15375         localename: Simplify support for per-thread locales on Solaris 11.4.
15376         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
15377         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
15378         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
15379         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
15380         specific code.
15381         * lib/localename-table.h: Update comments.
15382         * lib/localename-table.c: Update comments.
15383         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
15384         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
15385         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
15386         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
15387         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
15388         HAVE_NAMELESS_LOCALES here.
15389         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
15390         m4/intlsolaris.m4.
15391         * modules/gettext (Files): Likewise.
15393 2018-10-22  Bruno Haible  <bruno@clisp.org>
15395         std-gnu11: Support Autoconf versions < 2.64.
15396         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
15397         when _AC_DO_LIMIT does not exist.
15399 2018-10-22  Bruno Haible  <bruno@clisp.org>
15401         Assume Autoconf >= 2.63.
15402         * DEPENDENCIES: Mention the requirement.
15404         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
15405         (func_get_filelist): Don't list m4/onceonly.m4 any more.
15406         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
15407         * m4/onceonly.m4: Remove file.
15409         * m4/openmp.m4: Remove file.
15410         * modules/openmp (Files): Remove m4/openmp.m4.
15412         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
15413         htmldir, dvidir, pdfdir, psdir, localedir.
15414         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
15416         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
15417         Autoconf < 2.60.
15418         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
15419         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
15421         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
15422         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
15423         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
15425         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
15426         exists.
15427         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
15429         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
15430         Autoconf < 2.61.
15432         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
15433         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
15434         Autoconf >= 2.52.
15436         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
15437         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
15438         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
15440 2018-10-22  Bruno Haible  <bruno@clisp.org>
15442         Assume Automake >= 1.11.
15443         * m4/configmake.m4: Update comments.
15444         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
15445         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
15446         of 'eval'.
15447         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
15448         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
15449         requires Automake >= 1.11.
15451 2018-10-22  Bruno Haible  <bruno@clisp.org>
15453         localename: Fix typo in comment.
15454         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
15456 2018-10-22  Bruno Haible  <bruno@clisp.org>
15458         Fix failure of 'gnulib-tool --create-testdir' with all modules.
15459         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
15461 2018-10-21  Bruno Haible  <bruno@clisp.org>
15463         locale: Ease integration with GNU libintl.
15464         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
15465         GNULIB_defined_freelocale): New macros.
15467 2018-10-21  Bruno Haible  <bruno@clisp.org>
15469         localename: Fine-tune support for per-thread locales on Solaris 11.4.
15470         * lib/localename-table.h: New file, extracted from lib/localename.c.
15471         * lib/localename-table.c: Likewise.
15472         * lib/localename.c: Include localename-table.h.
15473         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
15474         locale_hash_function instead of pointer_hash.
15475         * modules/localename (Files): Add lib/localename-table.h,
15476         lib/localename-table.c.
15477         (lib_SOURCES): Add localename-table.c.
15478         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
15479         for Solaris 11.4 locale system only on Solaris. Test for it
15480         independently whether getlocalename_l exists.
15481         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
15482         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
15483         HAVE_NAMELESS_LOCALES.
15484         * modules/gettext (Files): Add m4/intlsolaris.m4.
15486 2018-10-21  Bruno Haible  <bruno@clisp.org>
15488         Small update from gettext.
15489         * m4/intl.m4: Update from gettext:
15490         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
15491         mode on AIX.
15492         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
15493         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
15495 2018-10-16  Bruno Haible  <bruno@clisp.org>
15497         mountlist: Remove support for Cray with UNICOS 9.
15498         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
15499         MOUNTED_LISTMNTENT.
15500         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
15502 2018-10-16  Bruno Haible  <bruno@clisp.org>
15504         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
15505         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
15506         STAT_STATFS2_FS_DATA.
15507         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
15508         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
15509         MOUNTED_GETMNT.
15510         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
15511         * lib/getloadavg.c (decstation): Remove definition and case.
15512         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
15513         * lib/getgroups.c: Likewise.
15514         * doc/posix-functions/getgroups.texi: Likewise.
15515         * lib/time.in.h: Update comments.
15517 2018-10-16  Bruno Haible  <bruno@clisp.org>
15519         getloadavg: Remove support for ConvexOS.
15520         * lib/getloadavg.c: Remove convex case.
15522 2018-10-16  Bruno Haible  <bruno@clisp.org>
15524         getloadavg: Remove support for Sony NEWS.
15525         * lib/getloadavg.c: Remove sony_news case.
15527 2018-10-16  Bruno Haible  <bruno@clisp.org>
15529         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
15530         * lib/fsusage.c: Remove _SEQUENT_ case.
15531         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
15532         * lib/mountlist.c: Don't test for MNTTABNAME.
15533         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
15534         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
15535         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
15536         * lib/stat-size.h: Don't mention the Sequent bug.
15537         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
15539 2018-10-16  Bruno Haible  <bruno@clisp.org>
15541         fsusage: Remove support for AIX 3.
15542         * lib/fsusage.c: Remove code for AIX 3.
15543         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
15545 2018-10-16  Bruno Haible  <bruno@clisp.org>
15547         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
15548         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
15549         * lib/fsusage.c: Remove code for AIX PS/2.
15550         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
15551         * lib/getloadavg.c: Likewise.
15553 2018-10-16  Bruno Haible  <bruno@clisp.org>
15555         getloadavg: Remove support for HP-UX on m68k.
15556         * lib/getloadavg.c: Remove hp9000s300 case.
15558 2018-10-16  Bruno Haible  <bruno@clisp.org>
15560         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
15561         * lib/fsusage.c: Remove DOLPHIN case.
15562         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
15563         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
15565 2018-10-16  Bruno Haible  <bruno@clisp.org>
15567         getloadavg: Remove support for Alliant FX/2800.
15568         * lib/getloadavg.c: Remove alliant case.
15570 2018-10-16  Bruno Haible  <bruno@clisp.org>
15572         getloadavg: Remove support for tek4300.
15573         * lib/getloadavg.c: Remove tek4300 case.
15575 2018-10-16  Bruno Haible  <bruno@clisp.org>
15577         getloadavg: Remove support for Ardent.
15578         * lib/getloadavg.c: Remove ardent case.
15580 2018-10-16  Bruno Haible  <bruno@clisp.org>
15582         mountlist: Remove support for SVR2.
15583         Reported by Andrew Borodin <aborodin@vmail.ru> in
15584         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
15585         * lib/mountlist.c: Remove MOUNTED_FREAD case.
15586         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
15587         MOUNTED_FREAD.
15589 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
15591         libc-config: merge from glibc
15592         * lib/cdefs.h (__glibc_has_attribute): New macro.
15594         regex: depend on libc-config
15595         * modules/regex (Depends-on): Add libc-config.
15596         This is needed after the recent autoupdate from glibc.
15598 2018-10-14  Bruno Haible  <bruno@clisp.org>
15600         localename: Add support for per-thread locales on Solaris 11.4.
15601         * lib/locale.in.h (newlocale, freelocale): New declarations.
15602         (duplocale): Declare also when the 'localename' module requests it.
15603         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
15604         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
15605         (struniq): Update.
15606         (struct locale_categories_names, struct locale_hash_node): New types.
15607         (LOCALE_HASH_TABLE_SIZE): New constant.
15608         (locale_hash_table, locale_lock): New variables.
15609         (pointer_hash, get_locale_t_name): New functions.
15610         (newlocale, duplocale, freelocale): New overridden functions.
15611         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
15612         * m4/intlsolaris.m4: New file.
15613         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
15614         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
15615         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
15616         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
15617         declared.
15618         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
15619         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
15620         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
15621         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
15622         * modules/localename (Files): Add intlsolaris.m4.
15623         (Depends-on): Add 'locale'.
15624         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
15625         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
15626         the signatures.
15628 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
15630         timevar: use gethrxtime to get wall clock time
15631         clock_gettime is not portable.  gethrxtime takes the best available
15632         option to get the wall clock time, including clock_gettime (monotonic
15633         clock), and gettime (non monotonic).
15634         Also, using xtime_t instead of float preserves the precision.
15635         Suggested by Bruno Haible.
15636         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
15637         * modules/timevar (Depends-on): We need gethrxtime.
15638         We no longer use times().
15639         (Link): Update.
15640         * lib/timevar.h (timevar_time_def): Use xtime_t.
15641         * lib/timevar.c (set_to_current_time): Use gethrxtime.
15642         (timevar_print): Instead of checking whether the timings themselves
15643         are large enough for the timevar to be printed, check the percentages.
15645 2018-10-14  Bruno Haible  <bruno@clisp.org>
15647         wcsnrtombs: Work around Solaris 11.4 bug.
15648         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
15649         macro.
15650         (gl_FUNC_WCSNRTOMBS): Invoke it.
15651         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
15653 2018-10-14  Bruno Haible  <bruno@clisp.org>
15655         mbsnrtowcs: Work around Solaris 11.4 bug.
15656         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
15657         macro.
15658         (gl_FUNC_MBSNRTOWCS): Invoke it.
15659         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
15661 2018-10-14  Bruno Haible  <bruno@clisp.org>
15663         doc: Update for Solaris 11.4.
15664         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
15665         mention Solaris 11.4.
15666         * m4/printf.m4: Update comments about Solaris.
15667         * m4/log.m4: Likewise.
15668         * m4/log10.m4: Likewise.
15669         * m4/logb.m4: Likewise.
15670         * m4/logbf.m4: Likewise.
15671         * m4/logbl.m4: Likewise.
15672         * m4/rename.m4: Likewise.
15673         * m4/wcrtomb.m4: Likewise.
15674         * m4/hostent.m4: Likewise.
15675         * m4/servent.m4: Likewise.
15677 2018-10-14  Bruno Haible  <bruno@clisp.org>
15679         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
15680         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
15681         pointer.
15682         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
15683         pointer.
15684         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
15685         pointer.
15686         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
15687         pointer.
15688         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
15689         pointer.
15691 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
15693         bootstrap: fix wget command for po files.
15694         * build-aux/bootstrap (po_download_command_format): Fix comment,
15695         and adjust callers.
15697 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
15699         timevar: improve the output format
15700         Suggested by Bruno Haible.
15701         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
15702         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
15703         wall, since its resolution is much higher.
15705 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
15707         timevar: expect that getrusage is available.
15708         Don't keep both times and getrusage as backend: both are guaranteed by
15709         gnulib, a single one suffices.  Using getrusage is open to possibly
15710         tracking other types of resources in the future.
15711         * modules/timevar (Depends-on): Add getrusage.
15712         (configure.ac): Remove gl_TIMEVAR.
15713         (Files): Remove m4/timevar.m4.
15714         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
15715         * lib/timevar.h (timevar_enabled): Clarify documentation.
15716         * lib/timevar.c: Remove all the code about times.
15717         Remove all the CPP guards about getrusage: expect it to be present
15718         (courtesy of gnulib).
15720 2018-10-12  Bruno Haible  <bruno@clisp.org>
15722         mountlist: Improve support for Solaris in 64-bit mode.
15723         Reported by David Wood <David.Wood@deshaw.com> in
15724         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
15725         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
15726         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
15727         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
15729 2018-10-12  Bruno Haible  <bruno@clisp.org>
15731         mountlist: Add support for Minix.
15732         Reported by Assaf Gordon in
15733         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
15734         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
15735         AC_CHECK_FUNCS to check for 'getmntinfo'.
15736         * lib/mountlist.c: Update comments.
15738 2018-10-12  Bruno Haible  <bruno@clisp.org>
15740         Make better use of Autoconf.
15741         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
15742         * m4/manywarnings.m4: Likewise.
15743         * m4/manywarnings-c++.m4: Likewise.
15744         * m4/socklen.m4: Likewise.
15745         * m4/sockpfaf.m4: Likewise.
15746         * m4/stdarg.m4: Likewise.
15747         * m4/visibility.m4: Likewise.
15748         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
15749         indentation.
15750         * m4/ls-mntd-fs.m4: Likewise.
15752 2018-10-11  Bruno Haible  <bruno@clisp.org>
15754         mountlist: Modernize platform lists.
15755         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
15756         platforms, deemphasizing the obsolete ones.
15757         * lib/mountlist.c: Likewise.
15759 2018-10-11  Bruno Haible  <bruno@clisp.org>
15761         getprogname: Add support for 32-bit programs on HP-UX.
15762         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
15763         try the similar functions 32-bit programs on 64-bit HP-UX.
15765 2018-10-11  Bruno Haible  <bruno@clisp.org>
15767         getprogname: Work around program name truncation when possible.
15768         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
15769         possibly use pst_cmd instead.
15771 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
15773         fts: cleanup after FTS_NOATIME removal
15774         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
15775         (FTS_STOP): Shrink to minimal values.  We don’t need to
15776         worry about binary compatibility in Gnulib, and the old way
15777         of doing things had a hole in the user options that caused
15778         FTS_OPTIONMASK to not work as desired.
15780 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
15782         fts: remove FTS_NOATIME
15783         This reverts commit da4d6974013c822af1498941e32db774b2031765.
15784         We cannot guarantee that O_NOATIME works: e.g. openat fails
15785         with EPERM if the effective user ID of the caller does not match
15786         the owner of the file and the caller is not privileged.
15787         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
15788         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
15789         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
15790         (FTS_OPTIONMASK): Adjust.
15791         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
15792         (fd_ring_check): Likewise.
15794 2018-10-08  Bruno Haible  <bruno@clisp.org>
15796         csharpcomp*, csharpexec*: Remove support for pnet.
15797         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
15798         HAVE_CSCC.
15799         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
15800         Don't test HAVE_CSCC.
15801         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
15802         (compile_csharp_class): Don't invoke it.
15803         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
15804         HAVE_ILRUN.
15805         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
15806         Don't test HAVE_ILRUN.
15807         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
15808         (execute_csharp_program): Don't invoke it.
15809         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
15810         any more.
15812 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
15814         renameatu: prefer renameat2 to syscall
15815         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
15816         Use renameat2 instead of syscall (Bug#32796).
15817         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
15819 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
15821         bootstrap, gnulib-tool: use https instead of insecure rsync
15822         * build-aux/bootstrap (download_po_files, po_download_command_format):
15823         Don't try using rsync; always use wget over https to fetch PO files.
15824         * gnulib-tool (func_import): Likewise.
15825         * pygnulib/GLImport.py (GLImport.execute): Likewise.
15827 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
15829         bootstrap, gnulib-tool: correct the translations wget command
15830         * build-aux/bootstrap (po_download_command_format2): Restrict
15831         recursion to a single level.
15832         * gnulib-tool (func_import): Likewise.
15833         * pygnulib/GLImport.py (GLImport.execute): Likewise.
15835 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
15837         doc: the gnulib snapshots are not maintained
15838         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
15840 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
15842         timevar: add to lib_SOURCES
15843         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
15845 2018-10-07  Bruno Haible  <bruno@clisp.org>
15847         dirent: Update documentation.
15848         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
15850 2018-10-05  Bruno Haible  <bruno@clisp.org>
15852         strpbrk: Make it possible to namespace the defined symbol.
15853         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
15855 2018-10-05  Bruno Haible  <bruno@clisp.org>
15857         strcspn: Make it possible to namespace the defined symbol.
15858         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
15860 2018-10-05  Bruno Haible  <bruno@clisp.org>
15862         raise: Make it possible to namespace the defined symbol.
15863         * lib/raise.c (raise): Undefine only after the replacement function has
15864         been defined.
15865         (raise): Renamed from rpl_raise.
15866         (raise_nothrow): Move to the end of the compilation unit.
15868 2018-10-05  Bruno Haible  <bruno@clisp.org>
15870         memcmp: Make it possible to namespace the defined symbol.
15871         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
15873 2018-10-05  Bruno Haible  <bruno@clisp.org>
15875         explicit_bzero: Make it possible to namespace the defined symbol.
15876         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
15877         glibc.
15879 2018-10-05  Bruno Haible  <bruno@clisp.org>
15881         mkdir-p: Depend on 'mkdir'.
15882         * modules/mkdir-p (Depends-on): Add 'mkdir'.
15884 2018-10-05  Bruno Haible  <bruno@clisp.org>
15886         tempname: Depend on 'mkdir'.
15887         Reported by Maarten Bosmans <mkbosmans@gmail.com>
15888         at <https://savannah.gnu.org/bugs/?33379>.
15889         * modules/tempname (Depends-on): Add 'mkdir'.
15891 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
15893         timevar: rely on gnulib modules for time portability.
15894         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
15895         * m4/timevar.m4: Don't check for clock_t and struct tms,
15896         guaranteed by gnulib.
15897         * lib/timevar.h: Use extern "C" protection.
15898         Include <stdio.h> for FILE.
15899         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
15900         they are guaranteed by gnulib.
15901         Remove uses of clock as (now useless) fallback.
15903 2018-10-04  Bruno Haible  <bruno@clisp.org>
15905         sh-filename: New module.
15906         * m4/sh-filename.m4: New file.
15907         * modules/sh-filename: New file.
15908         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
15909         "/bin/sh".
15910         * tests/test-posix_spawn1.c (main): Likewise.
15911         * tests/test-posix_spawn2.c (main): Likewise.
15912         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
15913         is_envjavac_gcj43): Likewise.
15914         * lib/javaexec.c (execute_java_class): Likewise.
15915         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
15916         * modules/posix_spawnp-tests (Depends-on): Likewise.
15917         * modules/javacomp (Depends-on): Likewise.
15918         * modules/javaexec (Depends-on): Likewise.
15920 2018-10-04  Bruno Haible  <bruno@clisp.org>
15922         spawn-pipe tests: Avoid test failure on native Windows.
15923         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
15924         that fd 2 is closed.
15926 2018-10-04  Bruno Haible  <bruno@clisp.org>
15928         fcntl: Make it possible to namespace the defined symbol.
15929         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
15930         been defined.
15931         (fcntl): Renamed from rpl_fcntl.
15932         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
15933         from fcntl.
15934         (klibc_fcntl): Move to the end of the compilation unit.
15936 2018-10-02  Bruno Haible  <bruno@clisp.org>
15938         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
15939         * tests/test-vasnprintf.c (test_function): Change the test added on
15940         2018-09-23 to check only the 18 most significant digits.
15942         vasnprintf tests: Avoid test failure on Cygwin.
15943         * tests/test-vasnprintf.c (test_function): Change the test added on
15944         2018-09-23 to check only the 42 most significant digits.
15946 2018-10-01  Bruno Haible  <bruno@clisp.org>
15948         mkostemp, mkostemps: Update documentation.
15949         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
15950         * doc/glibc-functions/mkostemps.texi: Likewise.
15952 2018-10-01  Tom Tromey  <tom@tromey.com>
15954         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
15955         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
15956         on OS X.
15958 2018-09-30  Pádraig Brady  <P@draigBrady.com>
15960         hmac-*: refactor to remove repetitive code
15961         * lib/hmac.c: A new parameterized single implementation.
15962         * lib/hmac-md5.c: Define parameters and include implementation.
15963         * lib/hmac-sha1.c: Likewise.
15964         * lib/hmac-sha256.c: Likewise.
15965         * lib/hmac-sha512.c: Likewise.
15966         * modules/crypto/hmac-md5: Reference the new implementation file.
15967         * modules/crypto/hmac-sha1: Likewise.
15968         * modules/crypto/hmac-sha256: Likewise.
15969         * modules/crypto/hmac-sha512: Likewise.
15970         * tests/test-hmac-md5.c: Refactor common code to a single function.
15971         * tests/test-hmac-sha1.c: Likewise.
15972         * tests/test-hmac-sha256.c: Likewise.
15973         * tests/test-hmac-sha512.c: Likewise.
15975 2018-09-30  Zhang Qing  <zhangqingl@126.com>
15977         hmac-sha512: fix hash for keys > blocksize (128 bytes)
15978         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
15979         key length to that output by sha512, not the blocksize.
15980         Otherwise uninitialized data from the stack
15981         is used when computing the hash.
15982         * tests/test-hmac-sha512.c: Add a shortened key test case.
15983         Reported at https://github.com/coreutils/gnulib/pull/5
15985 2018-09-30  Bruno Haible  <bruno@clisp.org>
15987         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
15988         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
15989         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
15990         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
15991         'unsigned int' before comparison with an unsigned value.
15993 2018-09-30  Bruno Haible  <bruno@clisp.org>
15995         grantpt: Remove unnecessary dependency.
15996         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
15998 2018-09-30  Bruno Haible  <bruno@clisp.org>
16000         timevar: Small tweaks.
16001         * lib/timevar.h: Fix comments. Add parameter names to function
16002         declarations.
16003         * lib/timevar.c: Include timevar.h immediately after config.h.
16004         * lib/timevar.def: Fix comments.
16005         * modules/timevar (Maintainer): List Akim Demaille.
16007 2018-09-30  Bruno Haible  <bruno@clisp.org>
16009         timevar: Include documentation in gnulib manual.
16010         * doc/timevar.texi: Change node and section name to 'Profiling of
16011         program phases'.
16012         In the code snippets, tweak the #includes and use GNU coding style.
16013         * doc/gnulib.texi: Include timevar.texi.
16015 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
16017         timevar: import from Bison.
16018         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
16019         New files.
16020         * lib/timevar.def: New file.
16021         * doc/timevar.texi: New file.
16023 2018-09-26  Bruno Haible  <bruno@clisp.org>
16025         javacomp-script, javacomp: Add preliminary support for Java 12..17.
16026         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
16027         * lib/javacomp.c (default_target_version): Likewise.
16029 2018-09-26  Bruno Haible  <bruno@clisp.org>
16031         javacomp-script, javacomp: Add support for Java 11.
16032         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
16033         target-version 11.
16034         * lib/javaversion.h: Update comments.
16035         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
16036         source_version_index, get_goodcode_snippet, get_failcode_snippet,
16037         TARGET_VERSION_BOUND, target_version_index,
16038         corresponding_classfile_version): Accept source_version 11 and
16039         target_version 11.
16040         * lib/javacomp.h: Update comments accordingly.
16042 2018-09-23  Bruno Haible  <bruno@clisp.org>
16044         vasnprintf: Fix heap memory overrun bug.
16045         Reported by Ben Pfaff <blp@cs.stanford.edu> in
16046         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
16047         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
16048         memory.
16049         * tests/test-vasnprintf.c (test_function): Add another test.
16051 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
16053         maint: mktime.c now shared with glibc
16054         * config/srclist.txt: intprops.h, timegm.c and mktime.c
16055         are now the same in Gnulib and glibc.
16057         mktime: fix _LIBC typo
16058         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
16060 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
16062         dfa: optimization for state merge
16063         * lib/dfa.c (merge2): New function.
16064         (merge_nfa_state): Use it.
16066 2018-09-18  Jim Meyering  <meyering@fb.com>
16068         dfa: trivial comment fix: s/is/if/
16069         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
16071 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16073         dfa: use more-informative function name
16074         * lib/dfa.c (maybe_disable_superset_dfa):
16075         Rename from dfautf8noss.  Use change.
16077         dfa: tweak allocation performance
16078         * lib/dfa.c (merge_nfa_state, dfaoptimize):
16079         Prefer ptrdiff_t for indexes some more.
16080         Use char for flags, as it’s wide enough.
16081         Allocate queue and flags together, with one malloc call.
16082         No need to use xnmalloc since the multiplication and
16083         addition cannot overflow (it’s already been checked by
16084         earlier allocation).  Prefer memset to open-coding.
16086         dfa: prune states as we go
16087         * lib/dfa.c (prune): Remove.
16088         dfa: reorder enum for efficiency
16089         (merge_nfa_state): Prune as we go instead of at the end.
16090         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
16092         * lib/dfa.c (END): Now -1 again.  Reorder other elements
16093         of the enumeration to make it easier for GCC to generate
16094         efficient code by using fewer comparisons to check for
16095         ranges of values.
16096         (atom): Take advantage of the reordering.
16098 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
16100         dfa: optimize alternation in NFA
16101         Even when similar states exist in alternation, the DFA treats them
16102         as separate items, which may complicate the transition in NFA and
16103         cause slowdown.  This change assembles the states into one.  For
16104         example, ab|ac is changed into a(b|c).  This change speeds-up
16105         matching for many branched patterns.  For example, grep speeds up
16106         more than 30× in:
16108           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
16109           time -p env LC_ALL=C grep -vf in in
16111         * lib/dfa.c (prune): New function.
16112         (merge_nfa_state): New function.  It merges similar NFA states.
16113         (dfaoptimize): New function.  It seeks merged and removed nodes.
16114         (dfaanalyze): Call new function.
16115         (dfautf8noss): Change name from dfaoptimize because of addition of new
16116         function.
16117         (dfacomp): Update caller.
16119         dfa: simplify initial state
16120         Simplifying the initial state enables easier optimization of the NFA.
16121         * lib/dfa.c (enum token): Add new element BEG.
16122         (prtok): Adjust due to adding element BEG.
16123         (dfaparse): Put BEG at a head of tokens.
16124         (state_index): Adjust due to adding element BEG.
16125         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
16126         build initial state.
16127         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
16129 2018-09-18  Bruno Haible  <bruno@clisp.org>
16131         file-has-acl: Fix test failure on Cygwin 2.9.
16132         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
16133         * lib/acl-internal.h: Likewise.
16134         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
16135         * lib/acl-internal.c: Update comments regarding Cygwin.
16136         * lib/acl_entries.c: Likewise.
16137         * lib/file-has-acl.c: Likewise.
16138         (file_has_acl): For Cygwin, use a different way to determine whether
16139         the "default" ACL of a directory is nontrivial.
16140         * lib/get-permissions.c: Update comments regarding Cygwin.
16141         * lib/set-permissions.c: Likewise.
16143 2018-09-18  Bruno Haible  <bruno@clisp.org>
16145         stat-time tests: Fix test failure on Cygwin.
16146         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
16148 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16150         doc: OS X 10.11 lacked ns time functions
16151         According to <https://github.com/zeromq/libzmq/issues/2175>,
16152         nanosecond-resolution timestamp functions were introduced
16153         in macOS 10.12, so document the last version (OS X 10.11)
16154         where they were absent.
16156         gettime: nanotime never existed
16157         Problem reported by Bruno Haible in:
16158         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
16159         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
16160         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
16162 2018-09-18  Bruno Haible  <bruno@clisp.org>
16164         doc: Update statement about target platforms.
16165         Reported by Simon Sobisch.
16166         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
16167         restrictions on MSVC versions.
16169 2018-09-18  Bruno Haible  <bruno@clisp.org>
16171         posix_spawn tests: Fix link error on 64-bit Cygwin.
16172         * tests/test-posix_spawn1.c (environ): Remove declaration.
16173         * tests/test-posix_spawn2.c (environ): Likewise.
16174         * tests/test-posix_spawn3.c (environ): Likewise.
16175         * tests/test-posix_spawn4.c (environ): Likewise.
16176         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
16177         * modules/posix_spawnp-tests (Depends-on): Likewise.
16179 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16181         timespec: new function current_timespec
16182         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
16183         and don’t worry about it failing on a CLOCK_REALTIME arg.
16184         POSIX requires it to succeed and I don’t know of any
16185         counterexamples where the fallbacks would work.
16186         (current_timespec): New function, taken from Emacs.  It is more
16187         convenient than gettime, and can help register allocation.
16188         * lib/timespec.h: Include arg-nonnull.h.
16189         (current_timespec): New declaration.
16190         (gettime, settime): Declare args to be nonnull.
16191         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
16193 2018-09-16  Bruno Haible  <bruno@clisp.org>
16195         setlocale: Improve locale handling on macOS 10.12 or newer.
16196         * lib/setlocale.c: Include header files for CoreFoundation. Declare
16197         gl_locale_name_canonicalize.
16198         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
16199         and LC_MESSAGES.
16200         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
16202 2018-09-16  Bruno Haible  <bruno@clisp.org>
16204         Update list of locale names with scripts on macOS.
16205         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
16206         match Mac OS X 10.13 and recent glibc.
16208 2018-09-16  Bruno Haible  <bruno@clisp.org>
16210         gettext: Use newer macOS APIs when possible.
16211         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
16212         CFLocaleCopyPreferredLanguages.
16214 2018-09-16  Bruno Haible  <bruno@clisp.org>
16216         localename: Revisit macOS specific code.
16217         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
16218         Fix comments about Mac OS X versions.
16220 2018-09-15  Bruno Haible  <bruno@clisp.org>
16222         setlocale: Improve support for locales not supported by libc.
16223         Reported by Dapeng Gao <peter@dpgao.cc> at
16224         <https://savannah.gnu.org/bugs/?54479>.
16225         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
16226         (libintl_setlocale): Use a more error-tolerant strategy when the locale
16227         to be set is not supported by libc: Emit warnings instead of failing.
16229 2018-09-15  Bruno Haible  <bruno@clisp.org>
16231         strstr, strcasestr: Add workaround against glibc-2.28 bug.
16232         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
16233         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
16234         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
16235         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
16236         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
16237         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
16238         * doc/glibc-functions/strcasestr.texi: Likewise.
16240 2018-09-14  Bruno Haible  <bruno@clisp.org>
16242         doc: Fix bottom of top-level page.
16243         Reported by Akim Demaille <akim.demaille@gmail.com> in
16244         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
16245         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
16246         mode.
16247         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
16248         accordingly.
16250 2018-09-12  Bruno Haible  <bruno@clisp.org>
16252         Add test case from a recent glibc bug.
16253         * tests/test-strstr.c (main): Add test of long needle.
16254         * tests/test-strcasestr.c (main): Likewise.
16255         * tests/test-c-strstr.c (main): Likewise.
16256         * tests/test-c-strcasestr.c (main): Likewise.
16257         * tests/test-memmem.c (main): Likewise.
16259 2018-09-12  Bruno Haible  <bruno@clisp.org>
16261         Apply Eric Blake's improvements from 2011-02-25 to more tests.
16262         * tests/test-c-strstr.c (main): Add the same tests here as well.
16264 2018-09-12  Bruno Haible  <bruno@clisp.org>
16266         Apply Jim Meyering's fix from 2015-01-11 to more tests.
16267         * tests/test-memmem.c (main): Free haystack.
16268         * tests/test-strcasestr.c (main): Likewise.
16269         * tests/test-c-strcasestr.c (main): Likewise.
16271 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16273         xstrtol: fix missing-TYPE_SIGNED typo
16274         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
16276 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16278         timespec: fix resolution confusion
16279         In normal usage, clock resolution is given in seconds, but the
16280         code was mistakenly using inverse seconds and calling it
16281         “resolution”.  Fix this, partly by renaming two identifiers.
16282         The old names will be kept for a bit, to ease transition.
16283         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
16284         New constants, replacing TIMESPEC_RESOLUTION and
16285         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
16286         All uses changed.
16288 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16290         mktime: simplify in prep for glibc merge
16291         * lib/mktime.c, lib/timegm.c [_LIBC]:
16292         Include mktime-internal.h (a small file just for glibc)
16293         instead of using a typedef.
16295 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
16297         intprops: minor clarification of code
16298         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
16299         Use _GL_INT_CONVERT rather than reinventing it.
16301 2018-09-07  Bruno Haible  <bruno@clisp.org>
16303         Fix a comment.
16304         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
16306 2018-09-07  Bruno Haible  <bruno@clisp.org>
16308         posix_spawn_file_actions_addchdir: Add tests.
16309         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
16310         * tests/test-posix_spawn4.c: New file.
16311         * modules/posix_spawn_file_actions_addchdir-tests: New file.
16313 2018-09-07  Bruno Haible  <bruno@clisp.org>
16315         posix_spawn_file_actions_addchdir: New module.
16316         Suggested by Eric Blake in
16317         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
16318         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
16319         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
16320         union member 'chdir_action'.
16321         * lib/spawn_faction_addchdir.c: New file.
16322         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
16323         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
16324         HAVE_WORKING_POSIX_SPAWN.
16325         * lib/spawn_faction_adddup2.c: Likewise.
16326         * lib/spawn_faction_addopen.c: Likewise.
16327         * m4/posix_spawn_faction_addchdir.m4: New file.
16328         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
16329         'posix_spawn_file_actions_addchdir' is present and whether
16330         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
16331         instead of HAVE_WORKING_POSIX_SPAWN.
16332         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
16333         posix_spawn_file_actions_addchdir is declared.
16334         (gl_SPAWN_H_DEFAULTS): Initialize
16335         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
16336         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
16337         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
16338         * modules/spawn (Makefile.am): Substitute
16339         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
16340         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
16341         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
16342         * modules/posix_spawn_file_actions_addchdir: New file.
16343         * modules/posix_spawn_file_actions_addclose (Depends-on,
16344         configure.ac): Test also REPLACE_POSIX_SPAWN.
16345         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
16346         configure.ac): Likewise.
16347         * modules/posix_spawn_file_actions_addopen (Depends-on,
16348         configure.ac): Likewise.
16349         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
16350         signature.
16351         * doc/posix-functions/posix_spawn.texi: Mention the new module.
16352         * doc/posix-functions/posix_spawnp.texi: Likewise.
16354 2018-09-06  Bruno Haible  <bruno@clisp.org>
16356         stddef: Override max_align_t on NetBSD 8.0/x86.
16357         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
16358         the value of __alignof__ (max_align_t).
16359         * doc/posix-headers/stddef.texi: Mention the issue.
16361 2018-09-06  Bruno Haible  <bruno@clisp.org>
16363         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
16364         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
16365         system fcntl.
16366         * doc/posix-functions/fcntl.texi: Document the issue.
16368 2018-09-06  Bruno Haible  <bruno@clisp.org>
16370         count-trailing-zeros tests: Rely on limits-h module.
16371         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
16372         definition.
16373         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
16375 2018-09-06  Bruno Haible  <bruno@clisp.org>
16377         count-leading-zeros tests: Rely on limits-h module.
16378         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
16379         definition.
16380         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
16382 2018-09-06  Bruno Haible  <bruno@clisp.org>
16384         count-one-bits tests: Rely on limits-h module.
16385         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
16386         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
16388 2018-09-06  Bruno Haible  <bruno@clisp.org>
16390         xstrtoll: Rely on limits-h module.
16391         * lib/xstrtol.c: Don't include intprops.h.
16392         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
16393         * modules/xstrtol (Depends-on): Remove 'intprops'.
16394         * modules/xstrtoll (Depends-on): Add 'limits-h'.
16396 2018-09-06  Bruno Haible  <bruno@clisp.org>
16398         strtoll, strtoull: Rely on limits-h module.
16399         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
16400         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
16401         * modules/strtoll (Depends-on): Add limits-h.
16402         * modules/strtoull (Depends-on): Likewise.
16404 2018-09-06  Bruno Haible  <bruno@clisp.org>
16406         intprops tests: Fix compilation error with pre-C99 compiler.
16407         * tests/test-intprops.c (verify_stmt): New macro.
16408         (VERIFY, main): Use it.
16410 2018-09-06  Bruno Haible  <bruno@clisp.org>
16412         limits-h: Provide numerical limits macros.
16413         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
16414         IRIX and for GCC.
16415         (WORD_BIT, LONG_BIT): Define.
16416         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
16417         <limits.h> does not define LLONG_MAX or WORD_BIT.
16418         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
16419         TYPE_MAXIMUM): New macros, from intprops.h.
16420         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
16421         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
16422         provides.
16424 2018-09-05  Bruno Haible  <bruno@clisp.org>
16426         fcntl: Don't access nonexistent optional argument.
16427         Reported by Frank Busse <f.busse@imperial.ac.uk> in
16428         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
16429         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
16430         don't consume an argument. For actions that take an 'int' argument,
16431         consume an 'int' argument.
16433 2018-09-05  Eric Blake  <eblake@redhat.com>
16435         doc: mention environ pitfall
16436         * doc/posix-functions/environ.texi (environ): Assigning NULL to
16437         environ is a glibc extension.
16439 2018-09-03  Bruno Haible  <bruno@clisp.org>
16441         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
16442         Reported by Antoine Luong <antoine.luong@c-s.fr> in
16443         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
16444         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
16445         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
16446         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
16448 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
16450         mktime: fix unlikely race+overflow bug
16451         Problem reported by Alexandre Oliva in:
16452         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
16453         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
16454         to avoid an unlikely race if the compiler delays a load and
16455         if this cascades into a signed integer overflow.
16457 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16459         mktime, timegm: simplify glibc time64_t
16460         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
16461         Now long int, not time_t, since long int is the longstanding type
16462         for this in glibc and there is no need to change it even if time_t
16463         becomes 64 bits - even int would do, though this would be a change
16464         to the glibc generated code.  When this change is merged into
16465         glibc, it should simplify the time_t vs time64_t situation.
16467         mktime, timegm: simplify merge to glibc
16468         Move code around to make a merge to glibc easier to audit.
16469         This should not change behavior.
16470         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
16471         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
16472         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
16473         simplify later conditionals; default the others to zero.  In uses
16474         of these conditionals, explicitly spell out how _LIBC affects
16475         things, so it’s easier to review from a glibc viewpoint.
16476         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
16477         compartmentalize tzset issues.  Move system-dependent tzsettish
16478         code here from mktime.
16479         (mktime): Move tzsettish code to my_tzset, and move
16480         localtime_offset to within mktime so that it doesn’t
16481         need a separate ifdef.
16483 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
16485         intprops: avoid evaluation of some expressions
16486         This makes EXPR_SIGNED (e) easier to use, as it no longer
16487         evaluates the expression E.  Formerly, E was required to be free
16488         of side effects.
16489         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
16490         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
16491         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
16493 2018-08-23  Bruno Haible  <bruno@clisp.org>
16495         getcwd: Add cross-compilation guesses.
16496         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
16497         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
16498         Based on a patch by Paul Eggert.
16499         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
16500         guesses for all GNU systems.
16502 2018-08-19  Bruno Haible  <bruno@clisp.org>
16504         glob-h: Formalize side effects from other modules.
16505         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
16506         * m4/glob.m4 (gl_GLOB): Invoke it.
16508         fnmatch-h: Formalize side effects from other modules.
16509         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
16510         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
16512         limits-h: Formalize side effects from other modules.
16513         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
16514         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
16516 2018-08-19  Bruno Haible  <bruno@clisp.org>
16518         getpass: Move declaration to <unistd.h>.
16519         * lib/unistd.in.h (getpass): New declaration.
16520         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
16521         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
16522         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
16523         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
16524         On glibc systems, don't set REPLACE_GETPASS to 1.
16525         * modules/getpass (Depends-on): Add 'unistd'.
16526         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
16527         (Include): Specify <unistd.h> instead of "getpass.h".
16528         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
16529         (configure.ac): Sync with the configure.ac section of modules/getpass.
16530         (Include): Specify <unistd.h> instead of "getpass.h".
16531         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
16532         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
16533         REPLACE_GETPASS.
16534         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
16535         REPLACE_GETPASS.
16536         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
16537         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
16538         and musl.
16539         * NEWS: Mention the change.
16541 2018-08-19  Bruno Haible  <bruno@clisp.org>
16543         glob: Fix over-optimization due to attribute __nonnull__.
16544         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
16546 2018-08-19  Bruno Haible  <bruno@clisp.org>
16548         glob: Fix another compilation error when glob.h is not replaced.
16549         Reported by Reuben Thomas <rrt@sc3d.org> in
16550         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
16551         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
16552         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
16554 2018-08-18  Bruno Haible  <bruno@clisp.org>
16556         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
16557         Reported by Reuben Thomas <rrt@sc3d.org> in
16558         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
16559         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
16560         in config.h.
16562 2018-08-18  Bruno Haible  <bruno@clisp.org>
16564         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
16565         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
16566         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
16567         Solution proposed by Eli Zaretskii.
16568         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
16569         * lib/gettimeofday.c (GetProcAddress): Likewise.
16570         * lib/link.c (GetProcAddress): Likewise.
16571         * lib/physmem.c (GetProcAddress): Likewise.
16572         * lib/poll.c (GetProcAddress): Likewise.
16573         * lib/select.c (GetProcAddress): Likewise.
16574         * lib/stat-w32.c (GetProcAddress): Likewise.
16576 2018-08-18  Bruno Haible  <bruno@clisp.org>
16578         glob: Fix another compilation error when glob.h is not replaced.
16579         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
16580         * lib/globfree.c: Include <libc-config.h>.
16582 2018-08-18  Bruno Haible  <bruno@clisp.org>
16584         glob: Fix compilation error when glob.h is not replaced.
16585         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
16586         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
16587         * lib/glob_pattern_p.c: Include <libc-config.h>.
16588         * modules/glob (Depends-on): Add libc-config.
16590 2018-08-18  Bruno Haible  <bruno@clisp.org>
16592         scratch_buffer: Add tests.
16593         * tests/test-scratch-buffer.c: New file.
16594         * modules/scratch_buffer-tests: New file.
16596 2018-08-18  Bruno Haible  <bruno@clisp.org>
16598         scratch_buffer: Fix include file.
16599         Reported by Reuben Thomas <rrt@sc3d.org> in
16600         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
16601         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
16602         double-inclusion guard.
16604 2018-08-18  Bruno Haible  <bruno@clisp.org>
16606         glob-h: Revert Paul Eggert's revert.
16607         * m4/glob_h.m4: Revert to previous state.
16608         * modules/glob-h: Likewise.
16610 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16612         glob-h: always build glob.h
16613         This works around a problem reported by Reuben Thomas in:
16614         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
16615         This workaround always builds glob.h, even on platforms that
16616         do not need it; perhaps this could be improved someday.
16617         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
16618         is always created now.
16619         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
16621 2018-08-13  Bruno Haible  <bruno@clisp.org>
16623         monetary: Simplify m4 code.
16624         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
16625         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
16627 2018-08-13  Bruno Haible  <bruno@clisp.org>
16629         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
16630         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
16631         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
16632         and by Paul J. Lucas <paul@lucasmail.org> in
16633         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
16634         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
16636 2018-08-11  Bruno Haible  <bruno@clisp.org>
16638         setlocale: Trivial simplification.
16639         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
16641 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16643         verify: port 'assume' to traditional tools
16644         * lib/verify.h (assume): Port better to Oracle Studio 12.6
16645         and other tools that use /*NOTREACHED*/ comments.
16647 2018-08-10  Bruno Haible  <bruno@clisp.org>
16649         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
16650         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
16651         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
16652         'fnmatch-gnu' is in use.
16654 2018-08-07  Bruno Haible  <bruno@clisp.org>
16656         glob-h: Add tests.
16657         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
16658         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
16659         tests/test-glob-h.c.
16660         * modules/glob-h-tests: New file.
16661         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
16662         conditions.
16663         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
16664         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
16666 2018-08-07  Bruno Haible  <bruno@clisp.org>
16668         glob-h: New module.
16669         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
16670         replacements.
16671         * lib/glob.c: Include <config.h>.
16672         * m4/glob_h.m4: New file.
16673         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
16674         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
16675         REPLACE_GLOB_PATTERN_P as appropriate.
16676         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
16677         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
16678         * modules/glob-h: New file.
16679         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
16680         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
16681         lstat, sys_stat. Change conditions.
16682         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
16683         REPLACE_GLOB_PATTERN_P. Set module indicator.
16684         (Makefile.am): Remove code that is moved to glob-h.
16685         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
16686         * modules/posixcheck (Depends-on): Add glob-h.
16688 2018-08-06  Bruno Haible  <bruno@clisp.org>
16690         Force generation of substitute .h file when C++ support is enabled.
16691         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
16692         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
16693         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
16694         FNMATCH_H to non-empty.
16695         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
16696         ICONV_H to non-empty.
16697         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
16698         MONETARY_H to non-empty.
16699         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
16700         non-empty.
16702 2018-08-06  Bruno Haible  <bruno@clisp.org>
16704         fnmatch-h: Fix test compilation error on mingw (regression from today).
16705         * lib/fnmatch.in.h: Fix conditions.
16707 2018-08-06  Bruno Haible  <bruno@clisp.org>
16709         sys_resource: Relicense under LGPLv2+.
16710         John Malmberg's approval is in
16711         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
16712         * modules/sys_resource (License): Change to LGPLv2+.
16714 2018-08-06  Bruno Haible  <bruno@clisp.org>
16716         fnmatch-h: Add tests.
16717         * tests/test-fnmatch-h.c: New file.
16718         * modules/fnmatch-h-tests: New file.
16719         * tests/test-fnmatch-h-c++.cc: New file.
16720         * modules/fnmatch-h-c++-tests: New file.
16722 2018-08-06  Bruno Haible  <bruno@clisp.org>
16724         fnmatch-h: New module.
16725         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
16726         replacements.
16727         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
16728         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
16729         'posixcheck' warning.
16730         * m4/fnmatch_h.m4: New file.
16731         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
16732         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
16733         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
16734         as appropriate.
16735         * modules/fnmatch-h: New file.
16736         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
16737         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
16738         conditions.
16739         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
16740         indicator.
16741         (Makefile.am): Remove code that is moved to fnmatch-h.
16742         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
16743         REPLACE_FNMATCH.
16744         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
16745         * modules/posixcheck (Depends-on): Add fnmatch-h.
16747 2018-08-06  Bruno Haible  <bruno@clisp.org>
16749         Enable more C++ tests.
16750         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
16751         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
16752         * modules/strings-tests (Depends-on): Add strings-c++-tests.
16753         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
16754         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
16756 2018-08-06  Bruno Haible  <bruno@clisp.org>
16758         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
16759         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
16760         getopt.h.
16761         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
16763 2018-08-05  Bruno Haible  <bruno@clisp.org>
16765         utime-h: Generate header file when module 'posixcheck' is in use.
16766         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
16767         UTIME_H to non-empty.
16769 2018-08-05  Bruno Haible  <bruno@clisp.org>
16771         monetary: Generate header file when module 'posixcheck' is in use.
16772         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
16773         use, set MONETARY_H to non-empty.
16775 2018-08-05  Bruno Haible  <bruno@clisp.org>
16777         iconv-h: Generate header file when module 'posixcheck' is in use.
16778         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
16779         set ICONV_H to non-empty.
16781 2018-08-05  Bruno Haible  <bruno@clisp.org>
16783         Optimize the "checking whether ... is declared without a macro" checks.
16784         Suggested by Paul Eggert in
16785         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
16786         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
16787         Gnulib module 'posixcheck' is not in use.
16789 2018-08-05  Bruno Haible  <bruno@clisp.org>
16791         iconv-h: Enable 'posixcheck' warnings.
16792         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
16793         iconv_open.
16794         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
16796 2018-08-05  Bruno Haible  <bruno@clisp.org>
16798         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
16799         * m4/extern-inline.m4: Add more comments.
16800         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
16801         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
16802         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
16804 2018-08-04  Bruno Haible  <bruno@clisp.org>
16806         New module 'posixcheck'.
16807         * modules/posixcheck: New file.
16808         * m4/posixcheck.m4: New file.
16809         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
16810         (Which modules?): Reference it.
16812 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
16814         dfa: fix memory leak
16815         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
16817 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
16819         ieee754-h: new module
16820         It looks like Emacs can use this for some NaN processing.
16821         Emacs uses it only on double NaNs so it should be safe.
16822         * MODULES.html.sh (func_all_modules): Add ieee754-h.
16823         * config/srclist.txt: Mention ieee754.h in a comment.
16824         * doc/glibc-headers/ieee754.texi (ieee754.h):
16825         Gnulib now has a substitute that should work
16826         except for long double and for non-IEEE platforms.
16827         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
16828         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
16830 2018-07-27  Bruno Haible  <bruno@clisp.org>
16832         iswcntrl: Mention minor problem on macOS.
16833         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
16835 2018-07-26  Colin Watson  <cjwatson@debian.org>
16837         bootstrap, gnulib-tool: fix translations rsync
16838         Previously, we created files such as $pobase/Makefile.in.in and then the
16839         subsequent rsync would immediately delete them.
16840         * build-aux/bootstrap (po_download_command_format): Avoid deleting
16841         non-.po files in target directory when rsyncing translations.
16842         * gnulib-tool (func_import): Likewise.
16843         * pygnulib/GLImport.py (GLImport.execute): Likewise.
16845 2018-07-25  Jim Meyering  <meyering@fb.com>
16847         bootstrap: reinstate definition fo gnulib_mk.
16848         That variable is used at least by cppi.
16849         * build-aux/bootstrap (gnulib_mk): Restore definition.
16850         This reverts the deletion from v0.1-1844-gc66dba9ba.
16852 2018-07-23  Bruno Haible  <bruno@clisp.org>
16854         doc: For module names, use texinfo markup @code{} or @samp{}.
16855         * doc/alloca.texi: Mark gnulib module names with @code.
16856         * doc/alloca-opt.texi: Likewise.
16857         * doc/quote.texi: Likewise.
16858         * doc/posix-functions/freopen.texi: Likewise.
16859         * doc/posix-functions/open.texi: Likewise.
16860         * doc/posix-functions/readlink.texi: Likewise.
16861         * doc/posix-functions/readlinkat.texi: Likewise.
16862         * doc/posix-functions/stdout.texi: Likewise.
16863         * doc/posix-functions/stderr.texi: Likewise.
16864         * doc/posix-functions/unlink.texi: Likewise.
16865         * doc/posix-functions/unlinkat.texi: Likewise.
16866         * doc/posix-functions/utime.texi: Likewise.
16867         * doc/posix-functions/utimensat.texi: Likewise.
16868         * doc/posix-functions/utimes.texi: Likewise.
16869         * doc/posix-headers/stdint.texi: Likewise.
16870         * doc/glibc-functions/futimesat.texi: Likewise.
16871         * doc/glibc-functions/lutimes.texi: Likewise.
16872         * doc/glibc-functions/memmem.texi: Likewise.
16874 2018-07-23  Werner LEMBERG  <wl@gnu.org>
16876         doc: Avoid some overfull lines in the TeX output.
16877         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
16878         @example.
16879         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
16880         newline before the long URL.
16881         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
16882         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
16883         Add line breaks in code snippets.
16885 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16887         hard-locale: simplify by removing hard-locale.m4
16888         * m4/hard-locale.m4: Remove.
16889         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
16890         (configure.ac): Do not call gl_HARD_LOCALE.
16892         gnulib-tool: limit line length for git send-email
16893         * gnulib-tool (func_import): Break actioncmd log line
16894         into multiple lines.
16896 2018-07-16  Bruno Haible  <bruno@clisp.org>
16898         ffs: Ensure declaration on mingw.
16899         Reported by Daniel P. Berrangé <berrange@redhat.com>
16900         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
16901         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
16902         also declared.
16904 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
16906         regex-tests: add dependency
16907         * modules/regex-tests (Depends-on): Add gettext-h.
16908         This is needed given the recent changes to regex,
16909         which no longer depends on gettext-h.
16911 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16913         regex: now in sync with glibc
16914         * config/srclist.txt: Gnulib and glibc regex code
16915         are synchronized again.
16917 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16919         renameatu: rename from renameat2
16920         It's looking like Glibc will add a renameat2 function
16921         that is incompatible with Gnulib renameat2; see:
16922         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
16923         To help avoid future confusion, rename renameat2 to something else.
16924         Use the name 'renameatu', as the Gnulib function is close to the
16925         Glibc function.  Perhaps someday there will also be a renameat2
16926         Gnulib module, which mimicks the future glibc renameat2, but that
16927         can wait as nobody seems to need such a module now.
16928         * NEWS: Mention this.
16929         * lib/renameatu.c: Rename from lib/renameat2.c.
16930         * lib/renameatu.h: Rename from lib/renameat2.h.
16931         * modules/renameatu: Rename from modules/renameat2.
16932         * modules/renameatu-tests: Rename from modules/renameat2-tests.
16933         All uses of "renameat2" in identifiers or file name
16934         changed to "renameatu", except for two instances in
16935         lib/renameatu.c that deal with the Linux kernel's
16936         renameat2 syscall.
16938 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
16940         gnulib-tool: minor tweaks for --gnu-make
16941         * gnulib-tool: Do not allow --gnu-make in test modes,
16942         since they all require automake.
16943         (func_emit_lib_Makefile_am): Don’t emit automake comment
16944         if --gnu-make.
16946         regex: work around conditional-dependencies glitch
16947         * modules/regex (Depends-on): Add langinfo.
16948         Without this change, I had problems building an experimental
16949         version of GNU Emacs.  The symptom of the bug was a message
16950         ‘./configure: line 12726: test: =: unary operator expected’.
16951         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
16952         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
16953         was unset.  Although gl_FUNC_NL_LANGINFO has
16954         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
16955         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
16956         --conditional-dependencies sometimes arranges for the
16957         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
16958         code.  Since the regex code includes <langinfo.h> it should be
16959         depending on the langinfo module anyway, and this happens to work
16960         around the bug, so install that as a workaround for now.  To
16961         reproduce the original problem, run the following shell script on
16962         the version of Gnulib just before this patch was installed.
16963                 rm -fr foo
16964                 mkdir foo
16965                 cat >foo/configure.ac <<'EOF'
16966                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
16967                 gl_EARLY
16968                 gl_INIT
16969                 AC_OUTPUT
16970                 EOF
16971                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
16972                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
16973                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
16974                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
16975                 cd foo
16976                 aclocal -I m4
16977                 autoconf
16978                 ./configure --with-included-regex
16980 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
16982         wchar: fix bug when checking for ‘inline’
16983         I discovered this when looking into using the regex module
16984         with Emacs.
16985         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
16986         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
16987         conftest1.c and conftest2.c but these files were not created.
16988         As far as I can see, this check never worked and nobody reported
16989         it until now, which is a bit worrisome.
16991 2018-06-30  Jim Meyering  <meyering@fb.com>
16993         bootstrap: s/--option val/--option=val/
16994         * build-aux/bootstrap (gnulib_tool_options): Change the
16995         spelling of "--option val" pairs to "--option=val", for
16996         aesthetics, and also so that this file no longer triggers
16997         a common help2man syntax-check warning when copied into
16998         projects like grep, gzip, etc.
17000 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
17002         manywarnings: omit -Wswitch-default
17003         This should make things more consistent, as we already ignore
17004         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
17005         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
17006         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
17007         Add -Wswitch-default.
17008         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
17009         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
17010         Remove -Wswitch-default.
17012         regex: revert most trimming
17013         Problems reported by Bruno Haible in:
17014         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
17015         * modules/regex (Depends-on): Add lock, memcmp, memmove,
17016         and wctype back in.  lock because regex users shouldn’t
17017         need to know that regex needs locking, and the rest because
17018         gnulib-tool should ordinarily ignore them anyway.
17020 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
17022         regex: trim module dependencies
17023         * modules/regex (Depends-on): Remove gettext-h and lock,
17024         since the regex code should work OK without these modules,
17025         and Emacs uses it that way.  Also remove memcmp, memmove,
17026         and wctype, as these modules are obsolete and should not be
17027         needed any more.
17029 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
17031         regex: glibc does not use intprops.h
17032         Maybe we can talk glibc into using intprops.h someday, but
17033         now doesn’t seem to be a good time.
17034         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
17035         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
17036         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
17038 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
17040         regex: port to recently proposed glibc regex merge
17041         This patch is inspired by Adhemerval Zanella's recent proposal
17042         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
17043         to merge glibc and Gnulib regex.  It aims to simplify the merge on
17044         the glibc side, without keeping Gnulib portable.
17045         * lib/regex.h: Fix a problem with glibc installed-header checking,
17046         as follows:
17047         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
17048         (_Restrict_arr_): Prefer __restrict_arr if defined,
17049         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
17050         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
17051         (build_wcs_upper_buffer, build_upper_buffer)
17052         (re_string_translate_buffer, re_string_context_at):
17053         Move decls here from lib/regex_internal.h, for glibc internal tests.
17054         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
17055         glibc BZ #18496.
17056         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
17057         -Wunused-value.
17058         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
17059         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
17060         (bitset_mask): Now static inline, and without any __attribute__
17061         ((unused)) decoration, for glibc internal tests.
17063 2018-06-25  Bruno Haible  <bruno@clisp.org>
17065         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
17066         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
17067         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
17068         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
17069         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
17070         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
17071         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
17072         / -lthread / -lpth does not get optimized away by a preceding
17073         --as-needed option.
17075 2018-06-25  Bruno Haible  <bruno@clisp.org>
17077         Continue to use spaces for indentation, not tabs.
17078         * MODULES.html.sh: Untabify.
17079         * doc/regex.texi: Likewise.
17080         * lib/acl-internal.c: Likewise.
17081         * lib/dfa.c: Likewise.
17082         * lib/exclude.c: Likewise.
17083         * lib/exclude.h: Likewise.
17084         * lib/get-permissions.c: Likewise.
17085         * lib/gettimeofday.c: Likewise.
17086         * lib/parse-datetime.y: Likewise.
17087         * lib/pselect.c: Likewise.
17088         * lib/set-permissions.c: Likewise.
17089         * lib/time.in.h: Likewise.
17090         * m4/canonicalize.m4: Likewise.
17091         * m4/gc.m4: Likewise.
17092         * m4/gnulib-common.m4: Likewise.
17093         * m4/pthread_sigmask.m4: Likewise.
17094         * m4/vararrays.m4: Likewise.
17095         * tests/test-digest.h: Likewise.
17096         * tests/test-fcntl-h.c: Likewise.
17097         * tests/test-timespec.c: Likewise.
17098         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
17100 2018-06-25  Bruno Haible  <bruno@clisp.org>
17102         manywarnings: Don't enable -Wjump-misses-init warnings by default.
17103         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
17104         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
17105         -Wjump-misses-init.
17107 2018-06-25  Jim Meyering  <meyering@fb.com>
17109         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
17110         * lib/acl-internal.h (free_permission_context): Remove that
17111         attribute directive.  Otherwise, it would provoke this from GCC 9:
17112         lib/acl-internal.h:300:3: error: 'const' attribute on function \
17113           returning 'void' [-Werror=attributes]
17115 2018-06-24  Jim Meyering  <meyering@fb.com>
17117         parse-datetime: accommodate gcc-4.8.5
17118         Bruno Haible reported the build failure in
17119         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
17120         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
17121         on declaration of new local.
17123 2018-06-24  Bruno Haible  <bruno@clisp.org>
17125         af_alg: Fail in continuable manner on Linux/powerpc64le.
17126         Reported by Assaf Gordon <assafgordon@gmail.com>
17127         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
17128         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
17129         byte send() as the first round.
17131 2018-06-24  Bruno Haible  <bruno@clisp.org>
17133         af_alg: Fix state of stream after sendfile() succeeds.
17134         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
17135         the stream is correctly positioned afterwards.
17136         * modules/crypto/af_alg (Depends-on): Add fflush.
17137         * tests/test-digest.h (test_digest_on_files): Verify that after the
17138         operation the stream is positioned at end of file.
17140 2018-06-24  Jim Meyering  <meyering@fb.com>
17142         canon-host: take GCC9's advice rather than ignoring warning
17143         Pádraig Brady suggested not to ignore this GCC9 advice.
17144         * lib/canon-host.c: Undo preceding change.
17145         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
17147         parse-datetime.y: avoid spurious GCC 9 warning
17148         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
17149         a function local prior to the first "goto fail".  The prior use would
17150         evoke this:
17151         parse-datetime.y: In function 'parse_datetime2':
17152         parse-datetime.y:1791:19: error: jump skips variable initialization \
17153           [-Werror=jump-misses-init]
17154         parse-datetime.y:2385:2: note: label 'fail' defined here
17155         parse-datetime.y:188:43: note: '({anonymous})' declared here
17156         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
17158         canon-host.c: avoid spurious GCC 9 warning
17159         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
17161         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
17162         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
17163         * m4/manywarnings.m4: Remove them.
17164         Otherwise, building coreutils, I would see this:
17165         cc1: error: deprecated command line option '-Wchkp' [-Werror]
17166         cc1: error: -Wabi won't warn about anything [-Werror=abi]
17167         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
17168           which is also used by default
17169         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
17171 2018-06-24  Bruno Haible  <bruno@clisp.org>
17173         af_alg tests: Add another test.
17174         * tests/test-digest.h (test_digest_on_files): Also check a large file
17175         with a skipped header.
17176         * tests/test-md5.c: Include macros.h.
17177         * tests/test-sha1.c: Likewise.
17178         * tests/test-sha256.c: Likewise.
17179         * tests/test-sha512.c: Likewise.
17180         * modules/crypto/md5-tests (Files): Add tests/macros.h.
17181         * modules/crypto/sha1-tests (Files): Likewise.
17182         * modules/crypto/sha256-tests (Files): Likewise.
17183         * modules/crypto/sha512-tests (Files): Likewise.
17185 2018-06-24  Pádraig Brady  <P@draigBrady.com>
17187         maint: clarify comments about sticky EOF
17188         * lib/af_alg.c: Be more direct that we can't
17189         assume stickiness of EOF for portability reasons.
17190         * lib/md5.c: Clarify that this isn't just a glibc issue.
17191         * lib/sha1.c: Likewise.
17192         * lib/sha256.c: Likewise.
17193         * lib/sha512.c: Likewise.
17195 2018-06-24  Bruno Haible  <bruno@clisp.org>
17197         af_alg: Comment and style improvements.
17198         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
17199         (afalg_buffer, afalg_stream): Improve comments.
17201 2018-06-24  Pádraig Brady  <P@draigBrady.com>
17203         af_alg: disable kernel hash functions by default
17204         All the kernel routines were seen to be significantly slower
17205         with these relatively recent components on an i3-2310M system:
17206           kernel-4.10.6-200.fc25.x86_64
17207           openssl-1.0.2m-1.fc25.x86_64
17208         sha1 was nearly twice as slow in the kernel for example.
17209         Further considerations why this should not be the default, at:
17210         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
17212         * m4/af_alg.m4: Require --with-linux-crypto to enable.
17213         * m4/gl-openssl.m4: Tweak accordingly.
17215 2018-06-24  Pádraig Brady  <P@draigBrady.com>
17217         af_alg: avoid hangs when reading from streams
17218         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
17219         and thus avoid doing a fread() when feof() is set.
17220         * lib/md5.c: Ensure feof() is called before fread().
17221         * lib/sha1.c: Likewise.
17222         * lib/sha256.c: Likewise.
17223         * lib/sha512.c: Likewise.
17225 2018-06-24  Pádraig Brady  <P@draigBrady.com>
17227         af_alg: fix error handling when hash not returned
17228         * lib/af_alg.c (afalg_stream): Handle the case where we've
17229         successfully written data to the kernel in the read/write loop,
17230         but the kernel doesn't respond with the hash.
17232 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
17234         libc-config: merge from glibc
17235         * lib/cdefs.h (__inline, __restrict):
17236         Copy from current glibc.  This fixes glibc bug 17721,
17237         which Gnulib had already fixed in a different way.
17238         (__nonnull): Lessen the distance from glibc by using the
17239         glibc definition inside an ‘#ifndef __nonnull’.
17240         (__attribute_nonstring__): New macro, copied from
17241         current glibc.
17242         * lib/libc-config.h (__attribute_nonstring__): New undef.
17243         (__restrict): Remove; workaround no longer needed.
17244         Keep the __inline workaround, though, as it uses HAVE___INLINE to
17245         support more compilers than the glibc __inline can.
17247 2018-06-24  Bruno Haible  <bruno@clisp.org>
17249         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
17250         * lib/mbrtowc.c (enc_t): New enum type.
17251         (locale_enc, locale_enc_cached): New functions.
17252         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
17253         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
17254         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
17255         instead.
17256         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
17257         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
17258         * modules/wcwidth (configure.ac): Invoke it.
17260 2018-06-24  Bruno Haible  <bruno@clisp.org>
17262         wchar-single: Fix test failure in wcwidth tests.
17263         * tests/test-wcwidth.c (main): If the wchar-single module is present,
17264         skip the tests in the C locale.
17266 2018-06-23  Pádraig Brady  <P@draigBrady.com>
17268         crypto: mention --without-linux-crypto in --with-openssl --help
17269         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
17270         routines take precedence in --with-openssl help output.
17272 2018-06-23  Pádraig Brady  <P@draigBrady.com>
17274         wchar-single: a new module to enable optimizations in wchar replacements
17275         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
17276         GNULIB_WCHAR_SINGLE is enabled.
17277         * lib/wcwidth.c (wcwidth): Likewise.
17279 2018-06-23  Bruno Haible  <bruno@clisp.org>
17281         libc-config: Fix conflict with FreeBSD include files.
17282         * lib/cdefs.h (__nonnull): Remove definition.
17283         * lib/libc-config.h (__nonnull): Remove undefinition.
17285 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
17287         random_r: do not crash if state is unaligned
17288         Problem reported by Bruce Korb in:
17289         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
17290         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
17291         with 'cc -O2 -xmemalign=8s'.
17292         * lib/random_r.c: Include string.h, for memcpy.
17293         (get_int32, set_int32): New functions.
17294         (__srandom_r, __initstate_r, __setstate_r, __random_r):
17295         Use them to avoid assumption that state pointer is aligned.
17296         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
17297         * tests/test-random_r.c (test_failed): New function.
17298         (main): Use it, to test for alignment bugs.
17300         random_r: omit unnecessary include
17301         * lib/random_r.c: Do not include limits.h.
17303         random, random_r: merge from glibc
17304         * lib/random.c, lib/random_r.c:
17305         Include libc-config.h if !_LIBC, not config.h unilaterally.
17306         * lib/random.c:
17307         Do not include stdint.h or time.h; not needed.
17308         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
17309         (unsafe_state): Rename from generator.  All uses changed.
17310         Use C99-style initializers.
17311         (__random, __srandom, __initstate, __setstate): Rename from
17312         non-underscored version, but define it to non-underscored version
17313         on Gnulib.  Add a lock.
17314         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
17315         Likewise.
17316         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
17317         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
17318         (__srandom_r): Use int32_t instead of long int where int32_t will do.
17319         (__random_r): Use uint32 to fix glibc bug 17343.
17320         * modules/random, modules/random_r (Depends-on): Add libc-config.
17321         Depend on stdint only if $HAVE_RANDOM = 0.
17323 2018-06-19  Jim Meyering  <meyering@fb.com>
17325         README-release: also run any check-very-expensive tests
17326         * top/README-release: Adjust instructions so they run the
17327         check-very-expensive tests when there is such a target.
17329 2018-06-18  Bruno Haible  <bruno@clisp.org>
17331         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
17332         * m4/pthread_rwlock_rdlock.m4: Add comment.
17333         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
17334         are reader-preferring in glibc.
17335         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
17336         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
17338 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
17340         crypto: use byteswap
17341         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
17342         * lib/sm3.c: Include <byteswap.h>.
17343         (SWAP): Use its macros rather than reinventing the wheel.
17344         * modules/crypto/md4, modules/crypto/md5-buffer:
17345         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
17346         * modules/crypto/sha512-buffer, modules/crypto/sm3:
17347         (Depends-on): Add byteswap.
17349 2018-06-17  Pádraig Brady  <P@draigBrady.com>
17351         gendocs.sh: fix support for legacy --texi2html
17352         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
17353         to the default makeinfo invocation.
17354         Reported by Bruce Korb
17356 2018-06-17  Bruno Haible  <bruno@clisp.org>
17358         gettext po infrastructure: Update from current gettext git.
17359         Reported by Akim Demaille <akim@lrde.epita.fr>.
17360         * build-aux/po/Makefile.in.in: Update from current gettext git.
17361         * build-aux/po/remove-potcdate.sin: Likewise.
17362         * config/srclist.txt: Temporarily disable sync for these files.
17364 2018-06-17  Bruno Haible  <bruno@clisp.org>
17366         getloadavg: Return 0 on Windows without Cygwin.
17367         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
17369 2018-06-17  Paul Smith  <psmith@gnu.org>
17371         getloadavg: Allow building on Windows without Cygwin
17372         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
17373         * m4/getloadavg.m4: Check for unistd.h.
17375 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
17377         Port crypto/af_alg to GCC 4.8.4
17378         Problem reported by Peter Simons in:
17379         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
17380         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
17382 2018-05-27  Colin Watson  <cjwatson@debian.org>
17384         bootstrap: document source fetching in --help
17385         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
17387 2018-04-09  Colin Watson  <cjwatson@debian.org>
17389         bootstrap: allow non-submodule control of gnulib
17390         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
17391         bootstrap.conf when fetching gnulib using "git clone" or via
17392         GNULIB_SRCDIR.
17394 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17396         crypto: omit stream ops Emacs doesn’t need
17397         * lib/md5.c (md5_stream):
17398         * lib/sha1.c (sha1_stream):
17399         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
17400         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
17401         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
17402         defined.  Emacs needs this, as it does not use the stream
17403         operations and doesn’t need all the af_alg stuff we’ve recently
17404         added.  Perhaps a similar change is needed to the other crypto
17405         modules, but this patch changes only those needed for Emacs.
17406         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
17407         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
17408         New modules, used by Emacs.
17409         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
17410         * modules/crypto/sha512: Rewrite to depend on the new modules.
17412 2018-05-20  Pádraig Brady  <P@draigBrady.com>
17414         fts: avoid a memory leak edge case
17415         * lib/fts.c (fts_open): Set an appropriate fts_level
17416         so that an immediate fts_close() will free the allocation.
17417         * tests/test-fts.c (fts_dealloc): Add a test case which
17418         will trigger under valgrind or address sanitizer.
17419         Fixes https://bugs.gnu.org/31439
17421 2018-05-20  Bruno Haible  <bruno@clisp.org>
17423         wcwidth tests: Fix link error.
17424         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
17425         $(LIBUNISTRING).
17427 2018-05-20  Bruno Haible  <bruno@clisp.org>
17429         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
17430         * modules/regex (Files): Add m4/glibc21.m4.
17432 2018-05-20  Bruno Haible  <bruno@clisp.org>
17434         localcharset: Optimize.
17435         * lib/localcharset.c (alias_table): Comment out no-op mappings for
17436         platforms where these don't matter. This reduces the table size,
17437         which in turn reduces the lookup time.
17439 2018-05-19  Bruno Haible  <bruno@clisp.org>
17441         localcharset: Map the locale encodings found in newer OSes.
17442         * lib/localcharset.c (alias_table): Add mapping for locale encodings
17443         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
17444         IRIX 6.5, Minix 3.3.
17445         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
17447 2018-05-19  Bruno Haible  <bruno@clisp.org>
17449         localcharset: Move mapping tables into the code. Use a binary search.
17450         * lib/localcharset.h: Document the GNU canonical names for character
17451         encodings here.
17452         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
17453         relocatable.h, configmake.h.
17454         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
17455         macros.
17456         (charset_aliases): Remove variable.
17457         (get_charset_aliases): Remove function.
17458         (struct table_entry): New type.
17459         (alias_table, locale_table): New constants.
17460         (locale_charset): Use the alias_table or locale_table to get the
17461         canonicalized encoding name.
17462         * lib/config.charset: Remove file.
17463         * lib/ref-add.sin: Remove file.
17464         * lib/ref-del.sin: Remove file.
17465         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
17466         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
17467         * modules/localcharset (Notice): Remove.
17468         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
17469         glibc21.m4.
17470         (Depends-on): Remove configmake.
17471         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
17472         (Makefile.am): Simplify.
17473         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
17475 2018-05-19  Bruno Haible  <bruno@clisp.org>
17477         localcharset: Add a manual test.
17478         * tests/test-localcharset.c: New file.
17479         * modules/localcharset-tests: New file.
17481 2018-05-19  Bruno Haible  <bruno@clisp.org>
17483         localcharset: Remove support for obsolete platforms.
17484         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
17485         Mac OS X 10.2. Comment out dubious entry for Solaris.
17487 2018-05-19  Jim Meyering  <meyering@fb.com>
17489         gnupload: adjust comment
17490         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
17491         more likely we'll remove the just-added code in a year or two.
17493 2018-05-19  Bruno Haible  <bruno@clisp.org>
17495         gnupload: Fix "gpg-agent is not available in this session" error.
17496         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
17498 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17500         crypto/af_alg: fix --help
17501         * m4/af_alg.m4: Avoid spurious newline in --help output.
17503 2018-05-13  Bruno Haible  <bruno@clisp.org>
17505         nl_langinfo: Fix compilation error on Android.
17506         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
17507         INT_CURR_SYMBOL, etc. only if these items are defined.
17509 2018-05-13  Bruno Haible  <bruno@clisp.org>
17511         truncate: Fix compilation error on Android.
17512         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
17513         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
17514         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
17515         HAVE_TRUNCATE.
17516         * modules/truncate: Likewise.
17517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
17518         not HAVE_TRUNCATE.
17519         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
17520         HAVE_TRUNCATE.
17521         * doc/posix-functions/truncate.texi: Mention the issue.
17523 2018-05-13  Bruno Haible  <bruno@clisp.org>
17525         pthread: Fix compilation error on Android.
17526         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
17527         recursive inclusion of this file.
17529 2018-05-13  Bruno Haible  <bruno@clisp.org>
17531         posix_spawn: Fix compilation error on Android.
17532         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
17533         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
17534         (posix_spawn_file_actions_t): Consider also the case
17535         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
17537 2018-05-13  Bruno Haible  <bruno@clisp.org>
17539         tsearch: Move from K&R C to ANSI C.
17540         * lib/tsearch.c (tfind): Convert definition to ANSI C.
17542 2018-05-13  Bruno Haible  <bruno@clisp.org>
17544         tsearch: Fix compilation error on Android.
17545         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
17546         is 0.
17547         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
17548         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
17549         GNULIB_defined_tsearch is true.
17550         (twalk): Define only if GNULIB_defined_twalk is true.
17551         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
17552         is 0.
17553         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
17554         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
17555         * modules/search (Makefile.am): Substitute HAVE_TWALK.
17557 2018-05-13  Bruno Haible  <bruno@clisp.org>
17559         imaxdiv: Fix compilation error on Android.
17560         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
17561         is not defined.
17562         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
17563         HAVE_DECL_IMAXDIV, is 0.
17564         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
17565         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
17567 2018-05-13  Bruno Haible  <bruno@clisp.org>
17569         Support selective inclusion mechanism of recent mingw.org header files.
17570         Reported by Eli Zaretskii <eliz@gnu.org>.
17571         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
17572         __need_ssize_t, or __need_time_t is defined, just include the system's
17573         <sys/types.h>.
17574         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
17575         include the system's <locale.h>.
17577 2018-05-13  Bruno Haible  <bruno@clisp.org>
17579         Avoid compilation error due to 'mmap' on Android.
17580         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
17581         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
17582         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
17583         Undefine on Android.
17585 2018-05-13  Bruno Haible  <bruno@clisp.org>
17587         Add cross-compilation guesses for Linux systems without glibc.
17588         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
17589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
17590         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17591         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17592         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
17593         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
17594         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17595         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
17596         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
17597         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
17598         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17599         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17600         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
17601         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17602         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17603         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
17604         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17605         * m4/utimens.m4 (gl_UTIMENS): Likewise.
17607 2018-05-13  Bruno Haible  <bruno@clisp.org>
17609         getpagesize: Fix compilation error on Android.
17610         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
17611         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
17612         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
17613         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
17614         HAVE_GETPAGESIZE accordingly.
17615         * modules/getcwd (Files): Add m4/getpagesize.m4.
17617 2018-05-13  Bruno Haible  <bruno@clisp.org>
17619         tcgetsid: Fix compilation error on Android.
17620         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
17621         AC_CHECK_FUNC.
17623 2018-05-13  Bruno Haible  <bruno@clisp.org>
17625         getpass: Fix configure test for Android.
17626         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
17627         AC_CHECK_FUNC.
17629 2018-05-13  Bruno Haible  <bruno@clisp.org>
17631         ffs: Fix compilation error on Android.
17632         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
17634 2018-05-13  Bruno Haible  <bruno@clisp.org>
17636         mkfifo: Fix compilation error on Android.
17637         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
17638         AC_CHECK_FUNC.
17640 2018-05-13  Bruno Haible  <bruno@clisp.org>
17642         c-strtod: Fix configure test for Android.
17643         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
17644         AC_CHECK_FUNC.
17646 2018-05-13  Bruno Haible  <bruno@clisp.org>
17648         random: Fix compilation error on Android.
17649         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
17650         AC_CHECK_FUNC.
17652 2018-05-13  Bruno Haible  <bruno@clisp.org>
17654         grantpt: Fix compilation error on Android.
17655         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
17656         AC_CHECK_FUNC.
17658 2018-05-13  Bruno Haible  <bruno@clisp.org>
17660         stdioext: Fix compilation errors with newer Android headers.
17661         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
17662         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
17663         fallbacks for Android.
17664         * lib/fpending.c: Update comments.
17665         * lib/fpurge.c: Likewise.
17666         * lib/freadable.h: Likewise.
17667         * lib/freadable.c: Likewise.
17668         * lib/freadahead.c: Likewise.
17669         * lib/freading.h: Likewise.
17670         * lib/freadptr.c: Likewise.
17671         * lib/fseterr.c: Likewise.
17672         * lib/fwritable.h: Likewise.
17673         * lib/fwritable.c: Likewise.
17674         * lib/fwriting.h: Likewise.
17675         * lib/fwriting.c: Likewise.
17677 2018-05-13  Bruno Haible  <bruno@clisp.org>
17679         doc: Add info about Android versions 2.0 to 8.1.
17680         * doc/**/*.texi: Add info about functions in all released versions of
17681         Bionic.
17683 2018-05-12  Bruno Haible  <bruno@clisp.org>
17685         fseeko: On mingw, don't use the hidden function _fseeki64.
17686         Reported by Eli Zaretskii <eliz@gnu.org>.
17687         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
17688         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
17690 2018-05-12  Bruno Haible  <bruno@clisp.org>
17692         glob: Choose 'dirent_type' in a way that works better on mingw.
17693         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
17694         * lib/glob.c (dirent_type): Define as uint_fast32_t.
17696 2018-05-12  Bruno Haible  <bruno@clisp.org>
17698         execute, spawn-pipe: Avoid warning about redefining 'close'.
17699         Reported by Eli Zaretskii <eliz@gnu.org>.
17700         * lib/execute.c: Undefine 'close' before redefining it.
17701         * lib/spawn-pipe.c: Likewise.
17703 2018-05-12  Bruno Haible  <bruno@clisp.org>
17705         nanosleep: Avoid test failure on mingw when it has nanosleep.
17706         Reported by Eli Zaretskii <eliz@gnu.org>.
17707         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
17708         If it does not exist, use a simpler test program that does not call
17709         alarm().
17711 2018-05-10  Bruno Haible  <bruno@clisp.org>
17713         lock, cond, thread, tls: Use a different symbol as libpthread witness.
17714         Reported by Devin Hussey <husseydevin@gmail.com>.
17715         Based on a patch by Paul Eggert.
17716         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
17717         as witness of libpthread.
17718         * lib/glthread/cond.h (pthread_in_use): Likewise.
17719         * lib/glthread/thread.h (pthread_in_use): Likewise.
17720         * lib/glthread/tls.h (pthread_in_use): Likewise.
17722 2018-05-10  Bruno Haible  <bruno@clisp.org>
17724         cond tests: Fix compilation error on Solaris.
17725         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
17726         macro.
17728 2018-05-10  Bruno Haible  <bruno@clisp.org>
17730         doc: Add partial info about Android 4.3.
17731         * doc/*-functions/*.texi: Add info about functions that were added
17732         to Bionic between Android 4.3 and Android 9.0.
17734 2018-05-10  Bruno Haible  <bruno@clisp.org>
17736         doc: Add info about Android 9.0.
17737         * doc/**/*.texi: Add info about functions and headers in Bionic from
17738         Android 9.0.
17740 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
17742         af_alg: fix my typo in afalg_buffer
17743         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
17744         (afalg_stream): Simplify and avoid the need for a runtime test
17745         at the end.
17747         af_alg: recover better from crypto failures
17748         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
17749         input stream is seekable, by repositioning the stream back to
17750         where it was, possibly by just calling sendfile with an offset
17751         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
17752         cases, which lets our callers try again with user-mode code.
17753         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
17754         instead of on fflush and lseek.
17756         af_alg: distiguish I/O errors better
17757         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
17758         not -EIO, if it’s OK for the caller to try again with user-mode code.
17759         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
17760         some other error number) if fflush fails, as the caller should not
17761         try again that case.
17763         af_alg: avoid gotos
17764         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
17765         gotos, as they were a source of unreliability and made the code a
17766         bit harder to follow.
17768         af_alg: don’t leak file descriptors into children
17769         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
17770         This code should be compiled only on recent GNU/Linux platforms
17771         so we shouldn’t have to also depend on the accept4 module.
17773         af_alg: coalesce socket creation
17774         * lib/af_alg.c (alg_socket): New function.
17775         (afalg_buffer, afalg_stream): Use it.  This avoids some
17776         code duplication and gotos.
17778         af_alg: fix file descriptor leak
17779         * lib/af_alg.c (afalg_stream): Close leak.
17781         af_alg: Pacify --enable-gcc-warnings on GCC 8
17782         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
17783         and checking to pacify gcc -Wjump-misses-init on GCC 8.
17785 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17787         af_alg: Pacify --enable-gcc-warnings
17788         Problem reported by Assaf Gordon in:
17789         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
17790         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
17791         gcc -Wjump-misses-init.
17792         * lib/sha512.c (shaxxx_stream): Now static.
17794 2018-05-06  Bruno Haible  <bruno@clisp.org>
17796         af_alg: Add ability to use Linux kernel crypto API on data in memory.
17797         * lib/af_alg.h (afalg_buffer): New declaration.
17798         * lib/af_alg.c (afalg_buffer): New function.
17800 2018-05-06  Bruno Haible  <bruno@clisp.org>
17802         af_alg: Avoid warnings.
17803         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
17804         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
17806 2018-05-06  Bruno Haible  <bruno@clisp.org>
17808         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
17809         * tests/bench-digest.h: New file.
17810         * tests/bench-md5.c: New file.
17811         * tests/bench-sha1.c: New file.
17812         * tests/bench-sha224.c: New file.
17813         * tests/bench-sha256.c: New file.
17814         * tests/bench-sha384.c: New file.
17815         * tests/bench-sha512.c: New file.
17816         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
17817         tests/bench-digest.h.
17818         (Depends-on): Add getrusage, gettimeofday.
17819         (Makefile.am): Add variables to build bench-md5.
17820         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
17821         tests/bench-digest.h.
17822         (Depends-on): Add getrusage, gettimeofday.
17823         (Makefile.am): Add variables to build bench-sha1.
17824         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
17825         tests/bench-sha256.c, tests/bench-digest.h.
17826         (Depends-on): Add getrusage, gettimeofday.
17827         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
17828         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
17829         tests/bench-sha512.c, tests/bench-digest.h.
17830         (Depends-on): Add getrusage, gettimeofday.
17831         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
17833 2018-05-06  Bruno Haible  <bruno@clisp.org>
17835         af_alg: Fix a resource leak.
17836         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
17837         New local variable 'result'.
17839 2018-05-06  Bruno Haible  <bruno@clisp.org>
17841         af_alg: Fix bug with streams that are not at position 0.
17842         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
17843         assume that the stream is positioned at position 0.
17844         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
17845         of the stream.
17846         * lib/md5.h (md5_stream): Likewise.
17847         * lib/sha1.h (sha1_stream): Likewise.
17848         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
17849         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
17850         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
17852         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
17853         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
17854         stream that is not positioned at the beginning.
17856 2018-05-06  Bruno Haible  <bruno@clisp.org>
17858         af_alg: Add configure option to enable/disable use of Linux crypto API.
17859         Suggested by Assaf Gordon <assafgordon@gmail.com>.
17860         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
17861         USE_LINUX_CRYPTO_API.
17862         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
17863         * lib/af_alg.c: Likewise.
17865 2018-05-06  Bruno Haible  <bruno@clisp.org>
17867         Followup to 'af_alg: New module.'.
17868         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
17869         * modules/crypto/sha1 (Depends-on): Likewise.
17870         * modules/crypto/sha256 (Depends-on): Likewise.
17871         * modules/crypto/sha512 (Depends-on): Likewise.
17873 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17875         crypto/{md5,sha1,sha256,sha512}: simplify
17876         * lib/md5.c (md5_stream):
17877         * lib/sha1.c (sha1_stream):
17878         * lib/sha256.c (shaxxx_stream):
17879         Simplify, partly by assuming C99.
17880         * lib/sha256.c (shaxxx_stream):
17881         New function, which implements both sha256 and sha224.
17882         Simplify, partly by assuming C99.
17883         (sha256_stream, sha224_stream):
17884         Use it to avoid code duplication, removing a FIXME.
17885         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
17886         Likewise.
17888         af_alg: Improve comments.
17889         * lib/af_alg.h: Use imperatives and tighten up wording.
17891 2018-05-05  Bruno Haible  <bruno@clisp.org>
17893         af_alg: Improve comments.
17894         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
17896 2018-05-05  Bruno Haible  <bruno@clisp.org>
17898         af_alg: New module.
17899         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
17900         * lib/af_alg.c: Include "af_alg.h" before the other header files.
17901         * lib/md5.c: Include "af_alg.h" unconditionally.
17902         (md5_stream): Invoke afalg_stream unconditionally.
17903         * lib/sha1.c: Include "af_alg.h" unconditionally.
17904         (sha1_stream): Invoke afalg_stream unconditionally.
17905         * lib/sha256.c: Include "af_alg.h" unconditionally.
17906         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
17907         * lib/sha512.c: Include "af_alg.h" unconditionally.
17908         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
17909         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
17910         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
17911         * modules/crypto/af_alg: New file.
17912         * modules/crypto/md5 (Files): Remove files that are now in the
17913         'crypto/af_alg' module.
17914         (Depends-on): Add crypto/af_alg.
17915         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
17916         (Makefile.am): Don't mention af_alg.c here.
17917         * modules/crypto/sha1 (Files): Remove files that are now in the
17918         'crypto/af_alg' module.
17919         (Depends-on): Add crypto/af_alg.
17920         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
17921         (Makefile.am): Don't mention af_alg.c here.
17922         * modules/crypto/sha256 (Files): Remove files that are now in the
17923         'crypto/af_alg' module.
17924         (Depends-on): Add crypto/af_alg.
17925         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
17926         (Makefile.am): Don't mention af_alg.c here.
17927         * modules/crypto/sha512 (Files): Remove files that are now in the
17928         'crypto/af_alg' module.
17929         (Depends-on): Add crypto/af_alg.
17930         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
17931         (Makefile.am): Don't mention af_alg.c here.
17933 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17935         crypto tests: pacify GCC
17936         * tests/test-digest.h (test_digest_on_files):
17937         Don’t assume digest size fits in int (!).
17939         af_alg: minor style improvements
17940         * lib/af_alg.c (afalg_stream): Prefer C99 style
17941         decl-after-statement, since we’re already assuming C99.  Clarify
17942         by strengthening the bind test and omit unnecessary assignment.
17944 2018-05-05  Bruno Haible  <bruno@clisp.org>
17946         af_alg: Fix bug on empty files.
17947         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
17948         stream is empty.
17950 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17952         sys-limits.h: new file for crypto and safe I/O
17953         * lib/af_alg.c: Include sys-limits.h.
17954         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
17955         (afalg_stream): Also reject negative sizes for sendfile; they
17956         should not happen and the code is a bit cleaner and faster this way.
17957         * lib/safe-read.c: Include sys-limits.h.
17958         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
17959         * lib/sys-limits.h: New file, with values and commentary derived
17960         from the old safe-read.c and from GNU Emacs sysdep.c.
17961         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
17962         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
17963         Add lib/sys-limits.h to Files section.
17965 2018-05-05  Bruno Haible  <bruno@clisp.org>
17967         af_alg: Improve function signature.
17968         * lib/af_alg.h (afalg_stream): Swap second and third argument.
17969         * lib/af_alg.c (afalg_stream): Likewise.
17970         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
17972 2018-05-05  Bruno Haible  <bruno@clisp.org>
17974         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
17975         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
17976         * modules/crypto/sha1 (Depends-on): Likewise.
17977         * modules/crypto/sha256 (Depends-on): Likewise.
17978         * modules/crypto/sha512 (Depends-on): Likewise.
17980 2018-05-05  Bruno Haible  <bruno@clisp.org>
17982         crypto/{md5,sha1,sha256,sha512}: Fix module description.
17983         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
17984         * modules/crypto/sha1 (Depends-on): Likewise.
17985         * modules/crypto/sha256 (Depends-on): Likewise.
17986         * modules/crypto/sha512 (Depends-on): Likewise.
17988 2018-05-05  Bruno Haible  <bruno@clisp.org>
17990         af_alg: Add documentation.
17991         * lib/af_alg.h: Add comments.
17993 2018-05-05  Bruno Haible  <bruno@clisp.org>
17995         sha512: Add tests.
17996         * tests/test-sha512.c: New file.
17997         * modules/crypto/sha512-tests: New file.
17999 2018-05-05  Bruno Haible  <bruno@clisp.org>
18001         sha256: Add tests.
18002         * tests/test-sha256.c: New file.
18003         * modules/crypto/sha256-tests: New file.
18005 2018-05-05  Bruno Haible  <bruno@clisp.org>
18007         sha1 tests: Add test for sha1_stream.
18008         * tests/test-sha1.c: Include test-digest.h.
18009         (main): Invoke test_digest_on_files on 'sha1_stream'.
18010         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
18012 2018-05-05  Bruno Haible  <bruno@clisp.org>
18014         md5 tests: Add test for md5_stream.
18015         * tests/test-digest.h: New file.
18016         * tests/test-md5.c: Include test-digest.h.
18017         (main): Invoke test_digest_on_files on 'md5_stream'.
18018         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
18020 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18022         md5sum: Use AF_ALG when available.
18023         * lib/md5.c: Include af_alg.h.
18024         (md5_stream): Use afalg_stream when available.
18025         * modules/crypto/md5 (Files): Add the af_alg files.
18026         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18027         (Makefile.am): Add af_alg.c.
18029 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18031         sha512sum: Use AF_ALG when available.
18032         * lib/sha512.c: Include af_alg.h.
18033         (sha512_stream, sha384_stream): Use afalg_stream when available.
18034         * modules/crypto/sha512 (Files): Add the af_alg files.
18035         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18036         (Makefile.am): Add af_alg.c.
18038 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18040         sha256sum: Use AF_ALG when available.
18041         * lib/sha256.c: Include af_alg.h.
18042         (sha256_stream, sha224_stream): Use afalg_stream when available.
18043         * modules/crypto/sha256 (Files): Add the af_alg files.
18044         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18045         (Makefile.am): Add af_alg.c.
18047 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18049         sha1sum: Use AF_ALG when available.
18050         * lib/af_alg.h: New file.
18051         * lib/af_alg.c: New file.
18052         * lib/sha1.c: Include af_alg.h.
18053         (sha1_stream): Use afalg_stream when available.
18054         * m4/linux-if-alg.m4: New file.
18055         * modules/crypto/sha1 (Files): Add the new files.
18056         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18057         (Makefile.am): Add af_alg.c.
18059 2018-05-05  Bruno Haible  <bruno@clisp.org>
18061         all: Replace more http URLs by https URLs.
18062         * lib/localename.c: Use https: URL.
18063         * lib/timespec.h: Likewise.
18065 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
18067         maint: port more modules to GCC 8
18068         * lib/dirname.h (base_name):
18069         * lib/exclude.h (new_exclude):
18070         * lib/xstrndup.h (xstrndup):
18071         Add malloc attribute.
18072         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
18073         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
18074         This pacifies GCC 8.
18075         * m4/gnulib-common.m4 (gl_COMMON_BODY):
18076         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
18078 2018-05-03  Bruno Haible  <bruno@clisp.org>
18080         Simplify code. Drop support for Borland C++ on Windows.
18081         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
18082         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
18083         'defined _WIN32'.
18084         * lib/canonicalize-lgpl.c: Likewise.
18085         * lib/classpath.c: Likewise.
18086         * lib/clean-temp.c: Likewise.
18087         * lib/csharpexec.c: Likewise.
18088         * lib/ctime.c: Likewise.
18089         * lib/dosname.h: Likewise.
18090         * lib/dup2.c: Likewise.
18091         * lib/errno.in.h: Likewise.
18092         * lib/error.c: Likewise.
18093         * lib/euidaccess.c: Likewise.
18094         * lib/execute.c: Likewise.
18095         * lib/fcntl.in.h: Likewise.
18096         * lib/fcntl.c: Likewise.
18097         * lib/filename.h: Likewise.
18098         * lib/findprog.c: Likewise.
18099         * lib/flock.c: Likewise.
18100         * lib/fopen.c: Likewise.
18101         * lib/freopen.c: Likewise.
18102         * lib/fstat.c: Likewise.
18103         * lib/fsync.c: Likewise.
18104         * lib/gc-gnulib.c: Likewise.
18105         * lib/get-rusage-data.c: Likewise.
18106         * lib/getaddrinfo.c: Likewise.
18107         * lib/getdelim.c: Likewise.
18108         * lib/getdtablesize.c: Likewise.
18109         * lib/gethostname.c: Likewise.
18110         * lib/getlogin.c: Likewise.
18111         * lib/getlogin_r.c: Likewise.
18112         * lib/getopt.c: Likewise.
18113         * lib/getpagesize.c: Likewise.
18114         * lib/getpass.c: Likewise.
18115         * lib/getrusage.c: Likewise.
18116         * lib/gettimeofday.c: Likewise.
18117         * lib/glob.c: Likewise.
18118         * lib/inttypes.in.h: Likewise.
18119         * lib/isapipe.c: Likewise.
18120         * lib/javaexec.c: Likewise.
18121         * lib/link.c: Likewise.
18122         * lib/localcharset.c: Likewise.
18123         * lib/localename.h: Likewise.
18124         * lib/localename.c: Likewise.
18125         * lib/localtime.c: Likewise.
18126         * lib/lseek.c: Likewise.
18127         * lib/mbsinit.c: Likewise.
18128         * lib/mkdir.c: Likewise.
18129         * lib/msvc-nothrow.h: Likewise.
18130         * lib/nanosleep.c: Likewise.
18131         * lib/nl_langinfo.c: Likewise.
18132         * lib/nonblocking.c: Likewise.
18133         * lib/nproc.c: Likewise.
18134         * lib/open.c: Likewise.
18135         * lib/openpty.c: Likewise.
18136         * lib/pathmax.h: Likewise.
18137         * lib/pipe-filter-aux.c: Likewise.
18138         * lib/pipe-filter-gi.c: Likewise.
18139         * lib/pipe-filter-ii.c: Likewise.
18140         * lib/pipe.c: Likewise.
18141         * lib/pipe2.c: Likewise.
18142         * lib/poll.c: Likewise.
18143         * lib/popen.c: Likewise.
18144         * lib/posix_openpt.c: Likewise.
18145         * lib/printf-parse.c: Likewise.
18146         * lib/progreloc.c: Likewise.
18147         * lib/putenv.c: Likewise.
18148         * lib/read.c: Likewise.
18149         * lib/relocatable.c: Likewise.
18150         * lib/rename.c: Likewise.
18151         * lib/same-inode.h: Likewise.
18152         * lib/secure_getenv.c: Likewise.
18153         * lib/select.c: Likewise.
18154         * lib/sethostname.c: Likewise.
18155         * lib/setlocale.c: Likewise.
18156         * lib/sigaction.c: Likewise.
18157         * lib/sigprocmask.c: Likewise.
18158         * lib/sleep.c: Likewise.
18159         * lib/spawn-pipe.h: Likewise.
18160         * lib/spawn-pipe.c: Likewise.
18161         * lib/spawni.c: Likewise.
18162         * lib/stat-time.h: Likewise.
18163         * lib/stat-w32.c: Likewise.
18164         * lib/stat.c: Likewise.
18165         * lib/stdio.in.h: Likewise.
18166         * lib/stdio-impl.h: Likewise.
18167         * lib/stdio-read.c: Likewise.
18168         * lib/stdio-write.c: Likewise.
18169         * lib/stdlib.in.h: Likewise.
18170         * lib/strerror_r.c: Likewise.
18171         * lib/strftime-fixes.c: Likewise.
18172         * lib/sys_stat.in.h: Likewise.
18173         * lib/sys_types.in.h: Likewise.
18174         * lib/sys_wait.in.h : Likewise.
18175         * lib/system-quote.h: Likewise.
18176         * lib/system-quote.c: Likewise.
18177         * lib/tmpdir.c: Likewise.
18178         * lib/tzset.c: Likewise.
18179         * lib/uname.c: Likewise.
18180         * lib/unistd.in.h: Likewise.
18181         * lib/utime.in.h: Likewise.
18182         * lib/utime.c: Likewise.
18183         * lib/utimecmp.c: Likewise.
18184         * lib/utimens.c: Likewise.
18185         * lib/vasnprintf.c: Likewise.
18186         * lib/vma-iter.h: Likewise.
18187         * lib/vma-iter.c: Likewise.
18188         * lib/wait-process.c: Likewise.
18189         * lib/wcsftime.c: Likewise.
18190         * lib/wctype.in.h: Likewise.
18191         * lib/write.c: Likewise.
18192         * tests/nap.h: Likewise.
18193         * tests/test-cloexec.c: Likewise.
18194         * tests/test-dup-safer.c: Likewise.
18195         * tests/test-dup2.c: Likewise.
18196         * tests/test-dup3.c: Likewise.
18197         * tests/test-fcntl.c: Likewise.
18198         * tests/test-get-rusage-data.c: Likewise.
18199         * tests/test-getaddrinfo.c: Likewise.
18200         * tests/test-getlogin.h: Likewise.
18201         * tests/test-isatty.c: Likewise.
18202         * tests/test-localename.c: Likewise.
18203         * tests/test-mbrtowc-w32.c: Likewise.
18204         * tests/test-nonblocking.c: Likewise.
18205         * tests/test-nonblocking-pipe-main.c: Likewise.
18206         * tests/test-nonblocking-socket-main.c: Likewise.
18207         * tests/test-nonblocking-socket.h: Likewise.
18208         * tests/test-pipe.c: Likewise.
18209         * tests/test-pipe2.c: Likewise.
18210         * tests/test-poll.c: Likewise.
18211         * tests/test-pthread_sigmask1.c: Likewise.
18212         * tests/test-select.h: Likewise.
18213         * tests/test-sethostname2.c: Likewise.
18214         * tests/test-sigprocmask.c: Likewise.
18215         * tests/test-spawn-pipe-child.c: Likewise.
18216         * tests/test-stat-time.c: Likewise.
18217         * tests/test-system-quote-main.c: Likewise.
18218         * tests/test-utimens-common.h: Likewise.
18219         * tests/test-wcrtomb-w32.c: Likewise.
18220         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
18221         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
18222         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
18223         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
18224         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
18225         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18226         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18227         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18228         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18229         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
18230         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
18231         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
18232         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
18233         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18234         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
18235         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18237 2018-05-02  Bruno Haible  <bruno@clisp.org>
18239         localename: Fix test failures on mingw.
18240         * lib/localename.c (gl_locale_name_thread): Remove code specific to
18241         native Windows.
18242         (gl_locale_name_posix): Move code specific to native Windows here.
18243         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
18244         Accept result without charset suffix, as it appears on mingw.
18246 2018-04-28  Paul Smith  <psmith@gnu.org>
18248         bootstrap: Avoid gnulib operations if not needed
18249         * build-aux/bootstrap: Remove unused variable gnulib_mk.
18250         Set $gnulib_extra_files early so it can be overridden in .conf.
18251         Remove redundant --import flag from $gnulib_tool_options.
18252         Set $use_gnulib to false if no gnulib modules or files are needed.
18253         If $use_gnulib is false, don't do anything related to gnulib.
18254         A lot of this is just whitespace (indentation) changes.
18256 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18258         manywarnings: port to GCC 8.0
18259         * build-aux/gcc-warning.spec: Add -Wcatch-value,
18260         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
18261         fact that the GCC help message now mentions operands for
18262         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
18263         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
18264         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
18265         and -Wunused-const-variable.
18266         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
18267         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
18268         -Wmissing-attributes, -Wmultistatement-macros,
18269         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
18270         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
18272 2018-04-24  Bruno Haible  <bruno@clisp.org>
18274         sys_socket: Make SO_REUSEPORT available across platforms.
18275         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18276         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
18277         * doc/posix-headers/sys_socket.texi: Mention the issue.
18278         * tests/test-poll.c (SO_REUSEPORT): Remove.
18279         * tests/test-select.h: Include <sys/socket.h>.
18280         (SO_REUSEPORT): Remove.
18281         * modules/select-tests (Depends-on): Add 'sys_socket'.
18283 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
18285         localcharset: short-circuit the search for an alias on a Mac
18286         * lib/localcharset.c (get_charset_aliases): Add a tautological
18287         UTF-8 entry to speed up the search for this case.
18288         Most machines default to a UTF-8 locale nowadays, so begin the
18289         list of aliases with a dummy UTF-8 entry so it will be found
18290         immediately and a time-consuming search through the rest of
18291         the list is avoided.
18293 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
18295         fts: add comment
18296         * lib/fts.c (fts_build): Explain why ==, not >.
18297         See remark by Bernhard Voelker in:
18298         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
18300         fts: fix bug in find across filesystems
18301         This fixes a bug I introduced last summer.
18302         Problem reported by Kamil Dudka in:
18303         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
18304         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
18305         (leaf_optimization):
18306         New arg for file descriptor.  All callers changed.
18307         (fts_build): Check for whether inodes should be sorted
18308         before closing the directory.
18310 2018-04-07  Bruno Haible  <bruno@clisp.org>
18312         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
18313         Reported by Genki Sky <sky@genki.is>.
18314         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
18315         version 0.9.10 or newer.
18316         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
18317         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
18318         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
18319         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
18320         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
18322 2018-04-07  Bruno Haible  <bruno@clisp.org>
18324         execute: Update comment.
18325         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
18327 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18329         fts: treat CIFS like NFS
18330         Problem reported by Kamil Dudka in:
18331         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
18332         * lib/fts.c (S_MAGIC_CIFS): New macro.
18333         (dirent_inode_sort_may_be_useful, leaf_optimization):
18334         Treat CIFS like NFS.
18336 2018-03-28  Bruno Haible  <bruno@clisp.org>
18338         c-stack: Fix possible build failure on some platforms.
18339         * lib/c-stack.c (die): Define whenever this function is referenced.
18341 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
18343         time_rz: fix workaround for Mac OS X 10.6 infloop
18344         Problems reported by Charles A. Roelli (Bug#27736#117).
18345         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
18346         Also, discard output, which clutters the 'configure' log.
18348 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
18350         havelib: port to Solaris 10 /bin/sh
18351         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
18352         instead of '! test EXPR'.
18354 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
18356         time_rz: work around Mac OS X 10.6 infloop
18357         * doc/posix-functions/localtime.texi:
18358         * doc/posix-functions/localtime_r.texi: Mention the bug.
18359         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
18360         better to fix localtime and localtime_r instead, but that would be
18361         more work and is not needed to fix the Emacs problem.
18362         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
18364 2018-03-24  Jim Meyering  <meyering@fb.com>
18366         test-version-etc.sh: don't use diff directly: use init.sh's compare
18367         We'd rather not sacrifice readable "diff -u" output even for
18368         "diff -c" output (not supported by busybox) or for even less
18369         readable ed-style "diff" output.  So use init.sh's compare function
18370         * tests/test-version-etc.sh: Source init.sh and add "." to path.
18371         Remove "./" from invocation of test-version-etc, so we use path.
18372         And s/diff/compare/.
18373         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
18374         to get init.sh.
18375         Prompted by Eric Blake's comments in
18376         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
18378 2018-03-24  Bruno Haible  <bruno@clisp.org>
18380         javacomp-script, javacomp: Add support for Java 10.
18381         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
18382         target-version 10.
18383         * lib/javaversion.h: Update comments.
18384         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18385         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18386         TARGET_VERSION_BOUND, target_version_index,
18387         corresponding_classfile_version): Accept source_version 10 and
18388         target_version 10.
18389         * lib/javacomp.h: Update comments accordingly.
18391 2018-03-24  Bruno Haible  <bruno@clisp.org>
18393         javacomp-script, javacomp: Update comments.
18394         * m4/javacomp.m4: Update comments regarding gcj.
18395         * lib/javacomp.h: Likewise.
18397 2018-03-24  Bruno Haible  <bruno@clisp.org>
18399         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
18400         * lib/javaversion.h: Update comments.
18401         * lib/javacomp.h: Likewise.
18402         * lib/javacomp.c (default_target_version, source_version_index,
18403         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
18404         "1.9".
18405         (TARGET_VERSION_BOUND): Bump to 9.
18406         (target_version_index, corresponding_classfile_version): Recognize "9"
18407         instead of "1.9".
18408         (get_source_version_for_javac): New function.
18409         (is_envjavac_nongcj_usable, is_javac_usable): Add
18410         source_version_for_javac argument.
18411         (compile_java_class): Determine and pass source_version_for_javac.
18412         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
18413         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
18414         appropriate.
18416 2018-03-23  Jim Meyering  <meyering@fb.com>
18418         test-version-etc.sh: port to diff without -c
18419         * tests/test-version-etc.sh: Don't use diff's -c option.
18420         This caused spurious test failure on Alpine Linux, which
18421         uses busybox's diff. Reported by Assaf Gordon in
18422         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
18424 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
18426         c-stack: port to recent GCC build
18427         Problem reported by The Fireplace (Bug#30913).
18428         * lib/c-stack.c (die): Define only if used.
18430 2018-03-20  Bruno Haible  <bruno@clisp.org>
18432         euidaccess: Port to native Windows.
18433         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
18434         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
18436 2018-03-19  Bruno Haible  <bruno@clisp.org>
18438         javacomp: Add support for Java 7, 8, 9.
18439         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18440         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18441         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
18442         and target_version 1,7, 1.8, 1.9.
18443         * lib/javacomp.h: Update comments accordingly.
18445 2018-03-19  Bruno Haible  <bruno@clisp.org>
18447         javacomp-script: Add support for Java 9.
18448         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
18449         target-version 1.9.
18451 2018-03-16  Bruno Haible  <bruno@clisp.org>
18453         glob: Don't compile replacements on recent glibc systems.
18454         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
18455         REPLACE_GLOB is 0, include the system's <glob.h> and use
18456         _GL_CXXALIAS_SYS.
18457         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
18458         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
18459         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
18460         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
18461         Remove snippet/warn-on-use.
18462         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
18463         (Makefile.am): Create glob.h always. Update list of substitutions in
18464         glob.h. Don't depend on $(WARN_ON_USE_H).
18466 2018-03-16  Bruno Haible  <bruno@clisp.org>
18468         glob: Fix link error on native Windows.
18469         * modules/glob (Depends-on): Add 'lstat'.
18471 2018-03-15  Bruno Haible  <bruno@clisp.org>
18473         glob: Fix compilation error in C++ mode.
18474         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
18476 2018-03-15  Bruno Haible  <bruno@clisp.org>
18478         host-cpu-c-abi: Support for RISC-V CPU.
18479         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
18480         riscv32 and riscv64 ABIs.
18481         References:
18482         https://github.com/riscv/riscv-toolchain-conventions
18483         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
18484         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
18486 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18488         fflush: be more paranoid about libio.h change
18489         Suggested by Eli Zaretskii in:
18490         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
18491         * lib/fbufmode.c (fbufmode):
18492         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
18493         (disable_seek_optimization, rpl_fflush):
18494         * lib/fpending.c (__fpending):
18495         * lib/fpurge.c (fpurge):
18496         * lib/freadable.c (freadable):
18497         * lib/freadahead.c (freadahead):
18498         * lib/freading.c (freading):
18499         * lib/freadptr.c (freadptr):
18500         * lib/freadseek.c (freadptrinc):
18501         * lib/fseeko.c (fseeko):
18502         * lib/fseterr.c (fseterr):
18503         * lib/fwritable.c (fwritable):
18504         * lib/fwriting.c (fwriting):
18505         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
18507 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
18509         maint: write-file-hooks -> before-save-hook
18510         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
18511         it's time to use the recommended replacement.
18512         Problem reported by Glenn Morris in:
18513         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
18514         * build-aux/announce-gen, build-aux/bootstrap:
18515         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
18516         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
18517         * build-aux/gnu-web-doc-update, build-aux/gnupload:
18518         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
18519         * build-aux/update-copyright, build-aux/useless-if-before-free:
18520         * build-aux/vc-list-files:
18521         Update hook usage for files where Gnulib is the canonical source.
18523 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
18525         binary-io: pacify gcc -Wunused-parameter
18526         Problem reported by Reuben Thomas in:
18527         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
18528         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
18529         Use _GL_UNUSED where appropriate.
18531         fflush: adjust to glibc 2.28 libio.h removal
18532         Problem reported by Daniel P. Berrangé in:
18533         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
18534         * lib/fbufmode.c (fbufmode):
18535         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
18536         (disable_seek_optimization, rpl_fflush):
18537         * lib/fpending.c (__fpending):
18538         * lib/fpurge.c (fpurge):
18539         * lib/freadable.c (freadable):
18540         * lib/freadahead.c (freadahead):
18541         * lib/freading.c (freading):
18542         * lib/freadptr.c (freadptr):
18543         * lib/freadseek.c (freadptrinc):
18544         * lib/fseeko.c (fseeko):
18545         * lib/fseterr.c (fseterr):
18546         * lib/fwritable.c (fwritable):
18547         * lib/fwriting.c (fwriting):
18548         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
18549         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
18550         Define if not already defined.
18552 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
18554         environ: fix link error on 32-bit Cygwin
18555         Problem reported for GNU Emacs by Ken Brown in:
18556         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
18557         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
18559 2018-02-24  Bruno Haible  <bruno@clisp.org>
18561         mbrtowc tests: Fix regression on glibc.
18562         Reported by Bernhard Voelker.
18563         * tests/test-mbrtowc.c (main): Fix expected value of wc.
18565 2018-02-24  Bruno Haible  <bruno@clisp.org>
18567         striconveha, uniconv/*: Avoid test failures on musl libc.
18568         * tests/iconvsupport.c: New file.
18569         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
18570         does not support the ISO-2022-JP-2 encoding.
18571         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
18572         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
18573         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
18574         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
18575         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
18576         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
18577         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
18578         (Makefile.am): Link test-striconveha with iconvsupport.o.
18579         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
18580         tests/iconvsupport.c.
18581         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
18582         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
18583         tests/iconvsupport.c.
18584         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
18585         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
18586         tests/iconvsupport.c.
18587         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
18588         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
18589         tests/iconvsupport.c.
18590         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
18591         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
18592         tests/iconvsupport.c.
18593         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
18594         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
18595         tests/iconvsupport.c.
18596         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
18598 2018-02-24  Bruno Haible  <bruno@clisp.org>
18600         localename: Add support for musl libc.
18601         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
18602         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
18603         on Linux platforms which define NL_LOCALE_NAME.
18605 2018-02-24  Bruno Haible  <bruno@clisp.org>
18607         mbrtowc tests: Don't make assumptions about the charset the C locale.
18608         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
18609         particular mapping in the C locale.
18611 2018-02-24  Bruno Haible  <bruno@clisp.org>
18613         ptsname_r: Don't expect that this function sets errno.
18614         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
18615         from ptsname_r().
18616         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
18618 2018-02-23  Bruno Haible  <bruno@clisp.org>
18620         xmalloca: pacify gcc -Wbad-function-cast
18621         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
18623 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
18625         nl_langinfo: pacify gcc -Wunused-function
18626         * lib/nl_langinfo.c (ctype_codeset): Do not define if
18627         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
18628         this case.  Without this change, I got a diagnostic when building
18629         coreutils on Fedora 27 with gcc 7.3.1 20180130.
18631         same: pacify gcc -Wunused-variable
18632         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
18633         Omit unused variable.
18635         malloca: pacify gcc -Wbad-function-cast
18636         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
18637         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
18638         To pacify GCC, I had to cast alloca’s result to some type other
18639         than void * before casting that to uintptr_t.
18641 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18643         utimecmp: new function utimecmpat
18644         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
18645         Do not include utimens.h.
18646         (utimecmpat): New function, generalizing utimecmp.
18647         (utimecmp): Now a thin layer around utimecmpat.
18648         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
18649         utimensat instead of on lstat and utimens.
18651         same: new function same_nameat
18652         * lib/same.c: Include fcntl.h.
18653         * lib/same.c (same_nameat): New function, generalizing same_name.
18654         (same_name): Now a thin layer around same_nameat.
18655         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
18656         * modules/same (Depends-on): Depend on fstatat, openat.
18658 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
18660         warnings: Add support for Objective C.
18661         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
18662         macro.
18664 2018-02-17  Bruno Haible  <bruno@clisp.org>
18666         lock: Fix test-once1 crash on FreeBSD11.
18667         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
18668         'pthread_create', not 'pthread_cancel'.
18670 2018-02-17  Bruno Haible  <bruno@clisp.org>
18672         lock: Add test of gl_once.
18673         * tests/test-once.c: New file.
18674         * modules/lock-tests (Files): Add it.
18675         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
18677 2018-02-17  Bruno Haible  <bruno@clisp.org>
18679         thread: Fix compilation error on IRIX.
18680         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
18681         needed; include it outside the C++ extern "C" {} block.
18682         * doc/posix-headers/pthread.texi: Mention the problem with
18683         pthread_atfork on IRIX.
18685 2018-02-04  Bruno Haible  <bruno@clisp.org>
18687         nl_langinfo: Override the system's nl_langinfo() when needed.
18688         Reported by Jim Meyering.
18689         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
18690         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
18692 2018-02-04  Bruno Haible  <bruno@clisp.org>
18694         signal-h, monetary, strings: Fix build failure in some cases.
18695         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
18696         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
18697         as delimiter in sed command, not '|'.
18698         * modules/monetary (Makefile.am): Likewise.
18699         * modules/strings (Makefile.am): Likewise.
18701 2018-02-03  Jim Meyering  <meyering@fb.com>
18703         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
18704         * top/maint.mk (sc_file_system): Don't complain about
18705         "/proc/filesystems".
18707 2018-02-03  Bruno Haible  <bruno@clisp.org>
18709         stdlib: Fix compilation error on OpenIndiana.
18710         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
18711         <sys/time.h>.
18712         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18713         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
18715 2018-02-03  Bruno Haible  <bruno@clisp.org>
18717         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
18718         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
18719         and use $EGREP instead of 'grep -E'.
18720         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
18721         'grep -E'.
18723 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
18725         malloca: Add a compile-time verification.
18726         * lib/malloca.c (small_t): Verify that it is wide enough.
18727         * modules/malloca (Depends-on): Add verify.
18729 2018-02-02  Bruno Haible  <bruno@clisp.org>
18731         malloca: Add an argument check.
18732         Suggested by Paul Eggert.
18733         * lib/malloca.c (freea): Check against an invalid argument.
18735 2018-02-02  Bruno Haible  <bruno@clisp.org>
18737         localename: Add support for OpenIndiana.
18738         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
18739         Solaris 11 variants with uselocale() but without getlocalename_l().
18741 2018-02-02  Bruno Haible  <bruno@clisp.org>
18743         malloca, xmalloca: Make multithread-safe.
18744         Reported by Florian Weimer <fweimer@redhat.com>.
18745         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
18746         * lib/malloca.h (malloca): In the stack allocation case, return a
18747         pointer that is a multiple of 2 * sa_alignment_max.
18748         (sa_increment): Remove enum item.
18749         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
18750         a pointer that is a multiple of 2 * sa_alignment_max.
18751         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
18752         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
18753         HASH_TABLE_SIZE, mmalloca_results): Remove.
18754         (small_t): New type.
18755         (mmalloca, free): Rewritten.
18756         * lib/malloca.valgrind: Remove file.
18757         * modules/malloca (Files): Remove it.
18758         (Depends-on): Remove verify.
18760 2018-01-31  Bruno Haible  <bruno@clisp.org>
18762         environ: Fix link error on 64-bit Cygwin.
18763         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
18764         __declspec(dllimport) attribute.
18765         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
18767 2018-01-30  Bruno Haible  <bruno@clisp.org>
18769         get-rusage-data: Add support for Minix 3.
18770         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
18772 2018-01-30  Bruno Haible  <bruno@clisp.org>
18774         vma-iter: Add support for Minix 3.
18775         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
18776         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
18778 2018-01-27  Bruno Haible  <bruno@clisp.org>
18780         Fix malfunction of socket functions on HP-UX in 64-bit mode.
18781         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
18782         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
18783         _HPUX_ALT_XOPEN_SOCKET_API.
18784         * modules/accept (Depends-on): Add 'extensions'.
18785         * modules/getpeername (Depends-on): Likewise.
18786         * modules/getsockname (Depends-on): Likewise.
18787         * modules/getsockopt (Depends-on): Likewise.
18788         * modules/recvfrom (Depends-on): Likewise.
18789         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
18790         * doc/posix-functions/getpeername.texi: Likewise.
18791         * doc/posix-functions/getsockname.texi: Likewise.
18792         * doc/posix-functions/getsockopt.texi: Likewise.
18793         * doc/posix-functions/recvfrom.texi: Likewise.
18795 2018-01-27  Bruno Haible  <bruno@clisp.org>
18797         getsockname tests: More tests.
18798         * tests/test-getsockname.c (open_server_socket): New function, mostly
18799         copied from test-poll.c.
18800         (main): Check that getsockname fills in addr.
18801         * modules/getsockname-tests (Depends-on): Add the necessary
18802         dependencies.
18803         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
18805 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
18807         manywarnings: fix maintainer comment
18808         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
18809         it does not mistakenly think that ‘-1)’ is an option.
18811 2018-01-26  Bruno Haible  <bruno@clisp.org>
18813         langinfo: Fix last commit.
18814         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
18815         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
18817 2018-01-24  Bruno Haible  <bruno@clisp.org>
18819         langinfo, nl_langinfo: Add support for alternative month names.
18820         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
18821         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
18822         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
18823         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
18824         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
18825         * doc/posix-functions/nl_langinfo.texi: Likewise.
18827 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18829         Merge strftime.c changes from glibc
18830         This incorporates:
18831         2017-11-14 [BZ #10871] Implement alternative month names
18832         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
18833         2017-06-20 Use locale_t, not __locale_t, throughout glibc
18834         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
18835         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
18836         Use locale_t, not __locale_t.
18837         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
18838         (__strftime_internal): Add support for alternate months.
18840 2018-01-23  Bruno Haible  <bruno@clisp.org>
18842         doc: Mention another prerequisite for using Gnulib.
18843         Reported at <https://stackoverflow.com/questions/48378214/>.
18844         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
18845         AC_CONFIG_HEADERS.
18847 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
18849         build: GuixSD doesn't have /bin/bash
18850         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
18852 2018-01-21  Bruno Haible  <bruno@clisp.org>
18854         Avoid test failures on Microsoft Windows Subsystem for Linux.
18855         * tests/test-fcntl.c (main): Allow a different errno.
18856         * tests/test-rename.h (test_rename): Likewise.
18857         * tests/test-renameat.c (main): Likewise.
18858         * tests/test-renameat2.c (main): Likewise.
18860 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
18862         filenamecat: make base a suffix of result
18863         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
18864         (mfile_name_concat): Always make BASE a suffix of the result, as
18865         cp expects this.  To implement this, separate with '.' instead of
18866         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
18867         * tests/test-filenamecat.c (main): Adjust tests to match
18868         current behavior.  Check that BASE_IN_RESULT points to
18869         a copy of BASE and is a suffix of the resultk, and that DIR
18870         is a prefix of the result that is no longer than the prefix
18871         indicated by BASE_IN_RESULT.
18873 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
18875         update-copyright: Handle use of ©
18876         * build-aux/update-copyright ($circle_c_re): Update regex to
18877         handle use of © in headers.
18879 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
18881         Fix -Wundef warning in user-included header lib/cdefs.h.
18882         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
18884 2018-01-04  Bruno Haible  <bruno@clisp.org>
18886         pthread_sigmask: Avoid compilation error on mingw.
18887         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
18888         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
18889         macro.
18891 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
18893         test-framework-sh: ‘ps -ef’, not ‘ps ef’
18894         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
18895         Suggested by Bob Proulx (Bug#29968).
18896         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
18898 2018-01-02  Eric Blake  <eblake@redhat.com>
18900         stat-time: silence -Wunused-parameter regression
18901         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
18902         Prefer attribute over cast-to-void.
18903         (stat_time_normalize): Mark st as potentially unused.
18905 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
18907         test-framework-sh: avoid netstat
18908         Problem reported by Kristýna Streitová (Bug#29947).
18909         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
18910         deprecated on SuSE and it's not that important anyway.
18912 2018-01-01  Jim Meyering  <meyering@fb.com>
18914         update-copyright: add code to handle more special cases
18915         After running "make update-copyright" this year, five files
18916         required additional manual changes.  Automate those adjustments
18917         for next year.
18918         * Makefile (_year_and_prev): Define.
18919         (update-copyright): Add perl commands to induce this year's post-
18920         update-copyright adjustments.
18922 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
18924         version-etc: new year
18925         * build-aux/gendocs.sh (version):
18926         * doc/gendocs_template:
18927         * doc/gendocs_template_min:
18928         * doc/gnulib.texi:
18929         * lib/version-etc.c (COPYRIGHT_YEAR):
18930         Update copyright dates by hand in templates and the like.
18932         maint: fix 'make update-copyright'
18933         * Makefile (update-copyright): Adjust to 2016-11-23 change
18934         to config/srclist-update, which changed the format of srclist.txt.
18936 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
18938         chdir-safer: remove this module
18939         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
18940         * NEWS: Document removal.
18941         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
18942         * modules/chdir-safer: Remove these files.
18944 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
18946         Add cross-compilation results for GNU/Hurd.
18947         * m4/calloc.m4: Add GNU/Hurd guess.
18948         * m4/cbrtl.m4: Likewise.
18949         * m4/ceil.m4: Likewise.
18950         * m4/ceilf.m4: Likewise.
18951         * m4/ceill.m4: Likewise.
18952         * m4/chown.m4: Likewise.
18953         * m4/duplocale.m4: Likewise.
18954         * m4/exp2l.m4: Likewise.
18955         * m4/expm1.m4: Likewise.
18956         * m4/fchdir.m4: Likewise.
18957         * m4/floor.m4: Likewise.
18958         * m4/floorf.m4: Likewise.
18959         * m4/fmod.m4: Likewise.
18960         * m4/fmodf.m4: Likewise.
18961         * m4/fmodl.m4: Likewise.
18962         * m4/getcwd.m4: Likewise.
18963         * m4/getgroups.m4: Likewise.
18964         * m4/gettimeofday.m4: Likewise.
18965         * m4/hypot.m4: Likewise.
18966         * m4/hypotf.m4: Likewise.
18967         * m4/hypotl.m4: Likewise.
18968         * m4/link-follow.m4: Likewise.
18969         * m4/link.m4: Likewise.
18970         * m4/linkat.m4: Likewise.
18971         * m4/log.m4: Likewise.
18972         * m4/log10.m4: Likewise.
18973         * m4/log10f.m4: Likewise.
18974         * m4/log1p.m4: Likewise.
18975         * m4/log1pf.m4: Likewise.
18976         * m4/log1pl.m4: Likewise.
18977         * m4/log2.m4: Likewise.
18978         * m4/log2f.m4: Likewise.
18979         * m4/logf.m4: Likewise.
18980         * m4/lstat.m4: Likewise.
18981         * m4/malloc.m4: Likewise.
18982         * m4/mbrlen.m4: Likewise.
18983         * m4/mbrtowc.m4: Likewise.
18984         * m4/mkdir.m4: Likewise.
18985         * m4/mkfifo.m4: Likewise.
18986         * m4/mknod.m4: Likewise.
18987         * m4/mkstemp.m4: Likewise.
18988         * m4/modf.m4: Likewise.
18989         * m4/modff.m4: Likewise.
18990         * m4/modfl.m4: Likewise.
18991         * m4/printf.m4: Likewise.
18992         * m4/pselect.m4: Likewise.
18993         * m4/ptsname.m4: Likewise.
18994         * m4/putenv.m4: Likewise.
18995         * m4/readlink.m4: Likewise.
18996         * m4/realloc.m4: Likewise.
18997         * m4/remainder.m4: Likewise.
18998         * m4/remainderf.m4: Likewise.
18999         * m4/remainderl.m4: Likewise.
19000         * m4/rmdir.m4: Likewise.
19001         * m4/round.m4: Likewise.
19002         * m4/roundf.m4: Likewise.
19003         * m4/roundl.m4: Likewise.
19004         * m4/select.m4: Likewise.
19005         * m4/setenv.m4: Likewise.
19006         * m4/signbit.m4: Likewise.
19007         * m4/sleep.m4: Likewise.
19008         * m4/stat.m4: Likewise.
19009         * m4/strerror.m4: Likewise.
19010         * m4/strtok_r.m4: Likewise.
19011         * m4/symlink.m4: Likewise.
19012         * m4/symlinkat.m4: Likewise.
19013         * m4/trunc.m4: Likewise.
19014         * m4/truncf.m4: Likewise.
19015         * m4/truncl.m4: Likewise.
19016         * m4/tzset.m4: Likewise.
19017         * m4/ungetc.m4: Likewise.
19018         * m4/usleep.m4: Likewise.
19019         * m4/wcwidth.m4: Likewise.
19021 2017-12-28  Bruno Haible  <bruno@clisp.org>
19023         gnulib-tool: Make --conditional-dependencies work better.
19024         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
19025         * gnulib-tool (Options): Don't reject the combination of
19026         --conditional-dependencies with --with-tests.
19027         (func_emit_autoconf_snippets): Add argument referenceable_modules.
19028         Don't reference $modules.
19029         (func_import, func_create_testdir): Pass it.
19031 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
19033         regex: use re_malloc etc. consistently
19034         Problem and original patch reported by Arnold Robbins in:
19035         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
19036         * lib/regcomp.c (re_comp):
19037         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
19038         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
19040 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
19041             Paul Eggert  <eggert@cs.ucla.edu>
19043         glob: Silence warning about void pointer arithmetic.
19044         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
19045         arithmetic.
19047 2017-12-15  Bruno Haible  <bruno@clisp.org>
19049         spawn-pipe: Silence a clang warning.
19050         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19051         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
19052         in this file.
19054 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
19056         explicit_bzero: port to macOS + Clang 9.0.0
19057         Problem reported by Marcus Johnson (Bug#29658).
19058         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
19059         Don’t use asm.
19061 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
19063         doc: Improve explanation of supporting relocatable libraries.
19064         * doc/relocatable-maint.texi (Supporting Relocation): Explain
19065         properly how to build the relocatable module for
19066         libraries. (Method and example code from Bruno Haible.)
19068 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
19070         doc: Use better texinfo tags in a few cases.
19071         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
19072         instead of @samp in a few places.
19074 2017-12-11  Bruno Haible  <bruno@clisp.org>
19076         unistr/base: Update comment.
19077         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
19079 2017-12-10  Pádraig Brady  <P@draigBrady.com>
19081         test-faccessat.c: unlink temp file to avoid subsequent test failure
19082         * tests/test-faccessat.c: Remove the file to avoid failure
19083         to open the file on subsequent runs due to being created
19084         with no permissions.
19086 2017-12-10  Bruno Haible  <bruno@clisp.org>
19088         doc: New sect. "Modifying the build rules of a Gnulib import directory".
19089         * doc/gnulib-tool.texi (Modified build rules): New node.
19091 2017-12-10  Bruno Haible  <bruno@clisp.org>
19093         doc: Tweak wording.
19094         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
19095         "binaries".
19097 2017-12-05  Sam Steingold  <sds@gnu.org>
19098             Bruno Haible  <bruno@clisp.org>
19100         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
19101         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
19102         AC_EGREP_CPP pattern.
19104 2017-12-03  Bruno Haible  <bruno@clisp.org>
19106         all: Replace more http URLs by https URLs.
19107         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
19108         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
19109         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
19110         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
19112 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
19114         Port better to CentOS 5
19115         Problems reported by Tom G. Christensen in:
19116         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
19117         * doc/glibc-functions/strverscmp.texi (strverscmp):
19118         Document strverscmp bug with glibc 2.9 and earlier.
19119         * doc/posix-functions/tzset.texi (tzset):
19120         Document that TZ with angle brackets is POSIX-2001 and later.
19121         * tests/test-nstrftime.c: Include unistd.h.
19122         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
19123         (TZ): Use it to skip tests with angle brackets in TZ,
19124         for older systems.
19126         stat: add missing module dependencies
19127         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
19128         Add stat-time.
19130 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
19132         stat: fix compilation failure on macOS Sierra
19133         Reported by Marius Schamschula <mschamschula@gmail.com> in:
19134         https://savannah.gnu.org/bugs/?52546
19135         * lib/stat.c: Add missing include of stat-time.h.
19137 2017-11-28  Jim Meyering  <meyering@fb.com>
19139         test-faccessat.c: correct BASE definition to avoid parallel test failure
19140         * tests/test-faccessat.c (BASE): Define using this file's name, not
19141         that of test-lstat.c.  Using the latter caused this test to fail
19142         sometimes when run concurrently with test-lstat.
19144 2017-11-27  Daiki Ueno  <ueno@gnu.org>
19146         unicase: fix VPATH build
19147         * modules/unicase/special-casing (Makefile.am): Ensure that the
19148         base directory is created when generating
19149         unicase/special-casing.h.
19151 2017-11-27  Daiki Ueno  <ueno@gnu.org>
19153         libunistring: update to Unicode 9.0.0
19154         * lib/gen-uni-tables.c (fill_properties): Recognize
19155         Sentence_Terminal and Prepended_Concatenation_Mark.
19156         (is_property_default_ignorable_code_point): Exclude U+08E2.
19157         (fill_arabicshaping): Allow missing whitespace when parsing;
19158         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
19159         (output_blocks): Increase the element size of the level1 table to
19160         accommodate more blocks.
19161         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
19162         Update each class according to the standard.
19163         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
19164         E_Base_GAZ characters.
19165         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
19166         Glue_After_Zwj, and E_Base_GAZ characters.
19167         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
19168         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
19169         enum value.
19170         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
19171         value.
19172         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
19173         LBP_ZWJ, LBP_EB, and LBP_EM.
19174         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
19175         enum value.
19176         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
19177         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
19178         declaration.
19179         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
19180         (uniwbrk_table): Implement WB14.
19181         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
19182         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
19183         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
19184         uc-is-grapheme-break.
19185         * modules/unigbrk/uc-grapheme-breaks: New module.
19186         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
19187         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
19188         enum value.
19189         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
19190         * lib/unigbrk/u-grapheme-breaks.h: New file.
19191         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
19192         u-grapheme-breaks.h instead of uc_is_grapheme_break.
19193         * lib/unigbrk/uc-grapheme-breaks.c: New file.
19194         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
19195         29.
19196         * tests/unigbrk/test-uc-gbrk-prop.c
19197         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
19198         GBP_GAZ, and GBP_EBG.
19199         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
19200         * tests/unigbrk/test-uc-is-grapheme-break.c
19201         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
19202         GBP_GAZ, and GBP_EBG.
19203         (main): Skip unsupported rules involving 3 or more characters,
19204         namely GB10, GB12, and GB13.
19205         * lib/uniwidth/width.c (nonspacing_table_data): Update.
19206         * all generated files under lib/uni* and tests/uni*: Regenerate.
19207         * all the affected modules: Bump version.
19209 2017-11-26  Bruno Haible  <bruno@clisp.org>
19211         strfmon_l: Fix compilation error with glibc 2.5.
19212         Reported by Tom G. Christensen <tgc@jupiterrise.com>
19213         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
19214         * lib/monetary.in.h: Include also <locale.h>.
19216 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
19218         posixtm: remove PDS_LEADING_YEAR
19219         This changes the API slightly, in a hopefully-innocuous way.
19220         Without this change the code had undefined behavior when a
19221         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
19222         Problem reported by Pádraig Brady in:
19223         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
19224         * NEWS: Mention this.
19225         * lib/posixtm.c (posix_time_parse): Treat the absence of
19226         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
19227         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
19228         present, but define it as zero, for compatibility with existing
19229         source code).  All other PDS_* values moved up.
19230         * tests/test-posixtm.c (LY): New macro.
19231         (T): Use it.  Do not expect a particular numeric encoding
19232         for PDS_CENTURY etc.
19234 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
19236         stat: work around Solaris bug with tv_nsec < 0
19237         * doc/posix-functions/fstat.texi (fstat):
19238         * doc/posix-functions/fstatat.texi (fstatat):
19239         * doc/posix-functions/lstat.texi (lstat):
19240         * doc/posix-functions/stat.texi (stat):
19241         Mention Solaris 11 bug.
19242         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
19243         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
19244         * lib/lstat.c (rpl_lstat):
19245         * lib/stat.c (rpl_stat):
19246         Normalize resulting timestamps.
19247         * lib/fstatat.c (normal_fstatat): New function.
19248         (rpl_fstatat): Use it.
19249         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
19250         (stat_time_normalize): New function.
19251         * m4/fstat.m4 (gl_FUNC_FSTAT):
19252         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
19253         * m4/lstat.m4 (gl_FUNC_LSTAT):
19254         * m4/stat.m4 (gl_FUNC_STAT):
19255         Replace on Solaris.
19256         * modules/fstat (Depends-on):
19257         * modules/fstatat (Depends-on):
19258         Add stat-time.
19259         * modules/stat-time (Depends-on): Add errno, intprops.
19261 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
19263         regex: merge from glibc
19264         * lib/regcomp.c (init_word_char): Add comments.
19266 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
19268         regex: merge from glibc
19269         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
19270         * lib/regex_internal.h (internal_function): Remove.
19271         All uses removed.
19273 2017-11-20  Bruno Haible  <bruno@clisp.org>
19275         crypto/gc-sm3: Fix buffer overrun.
19276         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
19277         Reported by Coverity.
19279 2017-11-12  Jim Meyering  <meyering@fb.com>
19281         maint: shorten https://lists.gnu.org/archive/html/... links
19282         Each /archive/html/ part can be replace with /r/.
19283         Run this to induce the change:
19284         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
19285         * ChangeLog: Perform that substitution.
19286         * Makefile: Likewise.
19287         * STATUS-libposix: Likewise.
19288         * build-aux/bootstrap: Likewise.
19289         * doc/maintain.texi: Likewise.
19290         * gnulib-tool: Likewise.
19291         * lib/allocator.h: Likewise.
19292         * lib/argp-ba.c: Likewise.
19293         * lib/argp-pv.c: Likewise.
19294         * lib/canon-host.c: Likewise.
19295         * lib/canonicalize-lgpl.c: Likewise.
19296         * lib/float.in.h: Likewise.
19297         * lib/fstat.c: Likewise.
19298         * lib/getdelim.c: Likewise.
19299         * lib/getprogname.c: Likewise.
19300         * lib/glthread/thread.h: Likewise.
19301         * lib/intprops.h: Likewise.
19302         * lib/mbsrtowcs-state.c: Likewise.
19303         * lib/safe-read.c: Likewise.
19304         * lib/signal.in.h: Likewise.
19305         * lib/stat.c: Likewise.
19306         * lib/stdbool.in.h: Likewise.
19307         * lib/stdio-impl.h: Likewise.
19308         * lib/stdio.in.h: Likewise.
19309         * lib/sysexits.in.h: Likewise.
19310         * lib/timespec.h: Likewise.
19311         * lib/wcsrtombs-state.c: Likewise.
19312         * m4/alloca.m4: Likewise.
19313         * m4/extern-inline.m4: Likewise.
19314         * m4/fstatat.m4: Likewise.
19315         * m4/gnulib-common.m4: Likewise.
19316         * m4/lib-ignore.m4: Likewise.
19317         * m4/printf.m4: Likewise.
19318         * m4/regex.m4: Likewise.
19319         * m4/stat-size.m4: Likewise.
19320         * m4/std-gnu11.m4: Likewise.
19321         * m4/stdbool.m4: Likewise.
19322         * m4/sys_types_h.m4: Likewise.
19323         * m4/threadlib.m4: Likewise.
19324         * m4/vararrays.m4: Likewise.
19325         * pygnulib/GLImport.py: Likewise.
19326         * tests/test-exp.h: Likewise.
19327         * tests/test-exp2.h: Likewise.
19328         * tests/test-expm1.h: Likewise.
19329         * tests/test-fflush2.c: Likewise.
19330         * tests/test-getopt_long.h: Likewise.
19331         * tests/test-intprops.c: Likewise.
19332         * tests/test-log.h: Likewise.
19333         * tests/test-log10.h: Likewise.
19334         * tests/test-log1p.h: Likewise.
19335         * tests/test-log2.h: Likewise.
19336         * tests/test-printf-posix.h: Likewise.
19337         * tests/test-regex.c: Likewise.
19338         * tests/test-snprintf-posix.h: Likewise.
19339         * tests/test-sprintf-posix.h: Likewise.
19340         * tests/test-stdalign.c: Likewise.
19341         * tests/test-stdbool.c: Likewise.
19342         * tests/test-vasnprintf-posix.c: Likewise.
19343         * tests/test-vasprintf-posix.c: Likewise.
19344         * top/maint.mk: Likewise.
19346 2017-11-12  Bruno Haible  <bruno@clisp.org>
19348         faccessat: Make the last change more robust.
19349         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
19350         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
19352 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
19354         faccessat: port to macOS (Bug#29231)
19355         macOS faccessat has the same bug that lstat does: if the file
19356         name ends in '/' it ignores the trailing slash.
19357         Problem reported for Emacs by Vincent Zhang.
19358         * doc/posix-functions/faccessat.texi (faccessat): Document this.
19359         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
19360         around the initial includes.  Include errno.h, string.h, sys/stat.h.
19361         (orig_faccessat) [HAVE_FACCESSAT]: New function.
19362         Include "unistd.h" after defining it.
19363         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
19364         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
19365         Handle in the usual way.
19366         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
19367         lstat dereferences symlinks, since faccessat is likely to
19368         have the same problem.
19369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
19370         * modules/faccessat (Depends-on): Add fstatat.
19371         Depend if REPLACE_FACCESSAT is 1, too.
19372         (configure.ac): Link if REPLACE_FACCESSAT is 1.
19373         * modules/faccessat-tests (Depends-on): Add symlink.
19374         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
19375         * tests/test-faccessat.c (main): Test for the bug.
19377 2017-11-11  Bruno Haible  <bruno@clisp.org>
19379         getprogname: Fix compilation error on IRIX.
19380         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
19381         'namesize'.
19383 2017-11-11  Bruno Haible  <bruno@clisp.org>
19385         year2038: Tweak last patch.
19386         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
19388 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
19390         year2038: be more insistent about 64-bit time_t
19391         Applications requiring access to arbitrary files should not be
19392         built with 32-bit time_t on hosts that have 64-bit timestamps,
19393         as this can lead to real trouble at runtime.
19394         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
19395         Check on all systems, not just MinGW.  Use a heuristic involving
19396         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
19397         output a failure or just a warning, to make it more likely that
19398         builders will select 64-bit time_t.
19400 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19402         havelib: fix typo in previous change
19403         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
19405         Don’t use AC_EGREP_CPP if affected by CFLAGS
19406         * m4/float_h.m4 (gl_FLOAT_H):
19407         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
19408         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
19409         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
19410         * m4/year2038.m4 (gl_YEAR2038):
19411         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
19412         likely to be affected by the choice of CFLAGS, since CFLAGS are
19413         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
19414         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
19416         fstatat: pacify GCC on unusual platform
19417         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
19418         Omit, as it’s unused in this case.
19420 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
19422         timespec: prefer ‘assume’ to ‘assure’
19423         This avoids some runtime tests.  The rest of the module makes
19424         similar assumptions and there is little point to testing here.
19425         * lib/timespec.h: Include verify.h instead of assure.h.
19426         (timespec_cmp): Use ‘assume’, not ‘assure’.
19427         Also, remove an unnecessary cast to ‘int’, as lots of other
19428         code in this module now causes -Wconversion to complain, and
19429         this is a problem with -Wconversion not with the code.
19431         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
19433         Port recent gnulib-tool change to Dash
19434         * gnulib-tool (func_create_testdir): Don't assume that the shell
19435         retokenizes after expanding "$@" inside the call to
19436         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
19438 2017-10-27  Jim Meyering  <meyering@fb.com>
19440         timespec.h: use "assure" to avoid a spurious warning
19441         * lib/timespec.h: Include "assure.h" and use it to help
19442         gcc7's -Wstrict-overflow avoid a false positive warning
19443         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
19444         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
19445         * modules/timespec (Depends-on): Add assure.
19447 2017-10-29  Bruno Haible  <bruno@clisp.org>
19449         Avoid several test failures with traditional locales on Haiku.
19450         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
19451         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
19452         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
19453         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
19454         LOCALE_ZH_CN=none.
19456 2017-10-29  Bruno Haible  <bruno@clisp.org>
19458         strerror_r-posix: Fix behaviour and test failure on Haiku.
19459         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
19460         are positive. Work around return value 0 instead of ERANGE on Haiku.
19461         For unknown error numbers, use a format string consistent with perror().
19462         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
19463         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
19464         are positive.
19466 2017-10-29  Bruno Haible  <bruno@clisp.org>
19468         get-rusage-data: Avoid crash on Haiku.
19469         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
19471 2017-10-29  Bruno Haible  <bruno@clisp.org>
19473         get-rusage-as: Avoid crash on Haiku.
19474         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
19476 2017-10-29  Bruno Haible  <bruno@clisp.org>
19478         ilogbl: Ensure replacement on Haiku.
19479         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
19480         REPLACE_ILOGBL if ilogbl does not work.
19481         (gl_FUNC_ILOGBL_WORKS): New macro.
19482         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
19483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
19484         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
19485         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
19486         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
19488 2017-10-29  Bruno Haible  <bruno@clisp.org>
19490         expl: Ensure replacement on Haiku.
19491         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
19492         zero.
19493         * doc/posix-functions/expl.texi: Mention the Haiku problem.
19495 2017-10-29  Bruno Haible  <bruno@clisp.org>
19497         math: Fix test failure on Haiku.
19498         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
19499         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
19500         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
19501         * doc/posix-headers/math.texi: Mention the Haiku problem.
19503 2017-10-29  Bruno Haible  <bruno@clisp.org>
19505         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
19506         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
19507         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
19509 2017-10-29  Bruno Haible  <bruno@clisp.org>
19511         crypto/*: Verify that the header file is self-contained.
19512         * tests/test-gc-*.c: Include the module's header file immediately after
19513         <config.h>.
19514         * tests/test-hmac-*.c: Likewise.
19515         * tests/test-arcfour.c: Likewise.
19516         * tests/test-arctwo.c: Likewise.
19517         * tests/test-des.c: Likewise.
19518         * tests/test-md2.c: Likewise.
19519         * tests/test-md4.c: Likewise.
19520         * tests/test-md5.c: Likewise.
19521         * tests/test-rijndael.c: Likewise.
19522         * tests/test-sha1.c: Likewise.
19523         * tests/test-sm3.c: Likewise.
19525 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
19526             Bruno Haible  <bruno@clisp.org>
19528         crypto/gc: fix build failure with -Werror=suggest-attribute=const
19529         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
19531 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
19533         New module: crypto/gc-sm3
19534         * lib/gc.h: Declare SM3-related stuffs.
19535         * lib/gc-gnulib.c: Support sm3 in internal functions.
19536         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
19537         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
19538         * modules/crypto/gc-sm3: Define gc-sm3 module.
19539         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
19540         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
19541         * MODULES.html.sh: List gc-sm3 module.
19543 2017-10-29  Bruno Haible  <bruno@clisp.org>
19545         random, random_r: Mention different prototypes on Haiku.
19546         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
19547         * doc/glibc-functions/random_r.texi: Likewise.
19548         * doc/glibc-functions/initstate_r.texi: Likewise.
19549         * doc/glibc-functions/setstate_r.texi: Likewise.
19551 2017-10-28  Bruno Haible  <bruno@clisp.org>
19553         posix_spawn: Avoid spurious message in configure output.
19554         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
19555         'cmp' command.
19557 2017-10-28  Bruno Haible  <bruno@clisp.org>
19559         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
19560         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
19561         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
19563 2017-10-28  Bruno Haible  <bruno@clisp.org>
19565         ioctl: Override non-POSIX declaration on Haiku.
19566         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
19567         * lib/sys_ioctl.in.h: Add comment about Haiku.
19568         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
19569         * doc/glibc-headers/sys_ioctl.texi: Likewise.
19571 2017-10-28  Bruno Haible  <bruno@clisp.org>
19573         crypto/sm3: Add overview documentation to the .h file.
19574         * lib/sm3.h: Add comments.
19576 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
19578         New module: crypto/sm3
19579         This new module can be used to compute SM3 message digest of files or
19580         memory blocks according to the specification GM/T 004-2012
19581         Cryptographic Hash Algorithm SM3, published by State Cryptography
19582         Administration, China.
19583         The official SM3 cryptographic hash algorithm specification is
19584         available at
19585         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
19586         * lib/sm3.h: Declare the APIs of sm3 module.
19587         * lib/sm3.c: Implement SM3 hash algorithm.
19588         * m4/sm3.m4: m4 file for sm3 module.
19589         * modules/crypto/sm3: Define sm3 module.
19590         * tests/test-sm3.c: Implement SM3 test case.
19591         * modules/crypto/sm3-tests: Define sm3 test module.
19592         * MODULES.html.sh: List sm3 module.
19594 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
19596         gc-libgcrypt: fix undefined enum type in switch statement
19597         Resolve the following build failure:
19598         lib/gc-libgcrypt.c: In function 'gc_hash_open':
19599         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
19600         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
19601              case 0:
19602              ^~~~
19603         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
19604         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
19606 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
19608         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
19609         Resolve the following build failure:
19610         lib/gc-libgcrypt.c: In function 'gc_hash_read':
19611         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
19612         in signedness [-Werror=pointer-sign]
19613             digest = gcry_md_read (ctx->gch, 0);
19614                    ^
19615         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
19617 2017-10-26  Bruno Haible  <bruno@clisp.org>
19619         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
19620         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
19621         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
19623 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
19625         glob: fix another heap buffer overflow
19626         Problem reported by Tim Rühsen in:
19627         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
19628         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
19630 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
19632         quotearg: pacify compiler re unsigned
19633         * lib/quotearg.c (quotearg_n_options):
19634         Rewrite to avoid diagnostic from overly-picky compiler.
19635         Problem reported by Sami Kerola in:
19636         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
19638         glob: fix heap buffer overflow
19639         * lib/glob.c (glob): Fix off-by-one error introduced into
19640         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
19641         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
19642         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
19643         Fix suggested by Bruno Haible.
19645 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
19647         glob: pacify fuzzer for mempcpy
19648         Problem reported by Tim Rühsen in:
19649         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
19650         * lib/glob.c (glob): Do not pass NULL to mempcpy.
19652 2017-10-12  Bruno Haible  <bruno@clisp.org>
19654         doc: Fix syntax error (regression from 2017-10-03).
19655         * doc/posix-functions/strncpy.texi: Fix syntax error.
19657 2017-10-12  Bruno Haible  <bruno@clisp.org>
19659         doc: Update for Solaris 11.3.
19660         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
19661         mention Solaris 11.3.
19662         * m4/log2.m4: Fix comments.
19663         * m4/log2f.m4: Likewise.
19664         * m4/printf.m4: Update comments.
19665         * m4/rename.m4: Likewise.
19666         * m4/strncat.m4: Likewise.
19668         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
19670 2017-10-10  Bruno Haible  <bruno@clisp.org>
19672         doc: Improve doc about ioctl.
19673         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
19674         prototype.
19676 2017-10-09  Bruno Haible  <bruno@clisp.org>
19678         wcwidth: Don't use obsolete syntax of 'test'.
19679         Reported by Eric Blake.
19680         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
19681         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
19683 2017-10-09  Bruno Haible  <bruno@clisp.org>
19685         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
19686         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
19687         and Daniel P. Berrange <berrange@redhat.com>.
19688         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
19689         on glibc systems. The getopt-pfx-core.h file declares exactly what
19690         unistd.h needs, nothing more.
19692 2017-10-08  Bruno Haible  <bruno@clisp.org>
19694         vma-iter: Improve support for FreeBSD.
19695         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
19696         vma_iterate.
19697         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
19699 2017-10-08  Bruno Haible  <bruno@clisp.org>
19701         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
19702         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
19704 2017-10-07  KO Myung-Hun  <komh@chollian.net>
19706         test-framework-sh: Fix 'invalid path dir' error.
19707         On OS/2, a path separator is ';' not ':'. And ':' is used as a
19708         separator between a drive letter and directory parts.
19709         As a result, an absolute path such as x:/path/to/dir on OS/2 is
19710         treated as an invalid path dir.
19711         * tests/init.sh (PATH_SEPARATOR): Set at startup.
19712         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
19713         instead of hard coded ':'.
19715 2017-10-07  Bruno Haible  <bruno@clisp.org>
19717         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
19718         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
19719         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
19720         (rof_open): On Linux, do multiple read() calls and make sure
19721         MIN_LEFTOVER bytes are left when read() returns.
19723 2017-10-07  Bruno Haible  <bruno@clisp.org>
19725         vma-iter: Improve support for GNU/Hurd.
19726         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
19727         API, not the /proc file system.
19729 2017-10-07  Bruno Haible  <bruno@clisp.org>
19731         test-framework-sh: Don't require bash on Windows and OS/2.
19732         Reported by KO Myung-Hun.
19733         * tests/test-init.sh: Use 'shopt' only when running in bash.
19735 2017-10-06  KO Myung-Hun  <komh@chollian.net>
19737         wcwidth: check a macro version of wcwidth () as well
19738         * lib/wchar.in.h: Revert commit from 2016-01-14.
19739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
19741 2017-10-06  Bruno Haible  <bruno@clisp.org>
19743         getopt-posix: Clarify copyright header.
19744         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
19745         * lib/getopt-pfx-core.h: Likewise.
19746         * lib/getopt-pfx-ext.h: Likewise.
19747         * lib/getopt-cdefs.in.h: Likewise.
19749 2017-10-03  Bruno Haible  <bruno@clisp.org>
19751         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
19752         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
19753         gl_HOST_CPU_C_ABI.
19755 2017-10-03  Bruno Haible  <bruno@clisp.org>
19757         doc: warn about misuse of strncpy and wcsncpy.
19758         * doc/posix-functions/strcpy.texi: Describe requirements on prior
19759         memory allocation.
19760         * doc/posix-functions/wcscpy.texi: Likewise.
19761         * doc/posix-functions/strncpy.texi: Describe what this function is not
19762         useful for.
19763         * doc/posix-functions/wcsncpy.texi: Likewise.
19765 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
19767         fsuage: fix typo in previous change
19768         * lib/fsusage.c: Remove stray include of full-read.h.
19769         Problem reported by Sam Steingold for macOS (Bug#28669).
19771 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
19773         fsusage: remove SVR2 support
19774         SVR2 was obsolete by 1986 and is no longer supported by anybody,
19775         and its code was getting in the way of use of this module by
19776         Emacs, which has its own ‘read’ function anyway.
19777         * lib/fsusage.c: Do not include sys/filsys.h.
19778         (get_fs_usage): Remove SVR2-specific code.
19779         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
19780         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
19781         * modules/fsusage (Depends-on): Do not depend on full-read.
19783         Simplify autoupdate of licenses
19784         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
19785         place.
19787 2017-10-01  Bruno Haible  <bruno@clisp.org>
19789         vma-iter: Add support for GNU/Hurd.
19790         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
19791         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
19793 2017-09-30  Bruno Haible  <bruno@clisp.org>
19795         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
19796         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
19797         fail when module 'largefile' is in use.
19798         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
19799         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
19800         Don't test HAVE_SYS_PROCFS_H.
19802 2017-09-30  Bruno Haible  <bruno@clisp.org>
19804         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
19805         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
19806         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
19807         * modules/havelib (Depends-on): Add host-cpu-c-abi.
19809 2017-09-30  Bruno Haible  <bruno@clisp.org>
19811         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
19812         * lib/uniname/uniname.c (unicode_name_character): Add braces around
19813         scope of local variables.
19815 2017-09-28  Bruno Haible  <bruno@clisp.org>
19817         string: code style
19818         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
19819         substitutable variables.
19820         * modules/string (Makefile.am): Likewise.
19822 2017-09-26  Bruno Haible  <bruno@clisp.org>
19824         uniname/uniname-tests: Tighten code.
19825         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
19826         local variables into one.
19828 2017-09-26  Bruno Haible  <bruno@clisp.org>
19830         vma-iter: Improvements for Linux and BSD platforms.
19831         - Add support for DragonFly BSD.
19832         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
19833         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
19834         Read the entire file into memory in a single system call.
19835         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
19836         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
19838 2017-09-26  Bruno Haible  <bruno@clisp.org>
19840         vma-iter: Provide the protection flags on FreeBSD.
19841         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
19842         skip three fields between the addresses and the protection flags.
19844 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
19846         glob: remove bogus extern decl
19847         * lib/glob.c (__glob_pattern_type): Remove now-spurious
19848         extern declaration.  Problem reported by Adhemerval Zanella in:
19849         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
19851 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
19853         uniname/uniname-tests: integer overflow fix
19854         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
19855         Check for integer overflow.
19857         duplocale-tests: fix unlikely crash
19858         * tests/test-duplocale.c (get_locale_dependent_values):
19859         Don’t crash with absurdly long month names.
19861         maint: fix overflow checking in nap.h
19862         * modules/chown-tests:
19863         * modules/fchownat-tests, modules/fdutimensat-tests:
19864         * modules/futimens-tests, modules/lchown-tests:
19865         * modules/stat-time-tests, modules/utime-tests:
19866         * modules/utimens-tests, modules/utimensat-tests:
19867         Depend on intprops.
19868         * tests/nap.h: Include intprops.h.
19869         (diff_timespec): Handle overflow properly.
19871         sys_types: update URL
19872         * m4/sys_types_h.m4: Use https: URL.
19874         parse-datetime: fix dependency
19875         * modules/parse-datetime (Depends-on): Depend
19876         on nstrftime, not strftime.
19878         parse-datetime, posixtm: avoid uninit access
19879         * lib/parse-datetime.y (parse_datetime2):
19880         * lib/posixtm.c (posixtime):
19881         Do not access uninitialized storage, even though the resulting
19882         value is never used.
19884 2017-09-25  Bruno Haible  <bruno@clisp.org>
19886         vma-iter: Improvements for BSD platforms.
19887         - Add support for GNU/kFreeBSD.
19888         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
19889         - Speed up on OpenBSD.
19890         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
19891         (vma_iterate_bsd): New function.
19892         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
19893         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
19894         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
19895         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
19897 2017-09-23  Bruno Haible  <bruno@clisp.org>
19899         strfmon_l: New module.
19900         * modules/strfmon_l: New file.
19901         * lib/strfmon_l.c: New file.
19902         * m4/strfmon_l.m4: New file.
19903         * doc/posix-functions/strfmon_l.texi: Mention the new module.
19904         * modules/strfmon_l-tests: New file.
19905         * tests/test-strfmon_l.c: New file.
19907         monetary: New module.
19908         * modules/monetary: New file.
19909         * lib/monetary.in.h: New file.
19910         * m4/monetary_h.m4: New file.
19911         * doc/posix-headers/monetary.texi: Mention the new module.
19912         * modules/monetary-tests: New file.
19913         * tests/test-monetary.c: New file.
19914         * modules/monetary-c++-tests: New file.
19915         * tests/test-monetary-c++.cc: New file.
19916         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
19918 2017-09-23  Bruno Haible  <bruno@clisp.org>
19920         duplocale tests: Fix test crash on Linux/x86.
19921         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
19922         locale from the current thread before freeing it.
19924 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
19926         mktime: port to OpenVMS
19927         Problem reported by John E. Malmberg in:
19928         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
19929         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
19931 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19933         manywarnings: port to GCC on 64-bit MS-Windows
19934         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
19935         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
19936         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
19938 2017-09-13  Bruno Haible  <bruno@clisp.org>
19940         all: Replace many more http URLs by https URLs. Update stale URLs.
19941         * users.txt: Remove mention of 'newts'.
19942         * lib/localename.c: Update comment about LANG_SOTHO.
19944 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19946         all: Replace many http URLs by https URLs.
19948 2017-09-12  Bruno Haible  <bruno@clisp.org>
19950         doc: Prefer https URLs where possible.
19951         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
19952         * doc/ld-output-def.texi: Remove unavailable URL.
19954 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19956         maintainer-makefile: FTP -> HTTPS
19957         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
19958         of FTP, which is planned to be decommissioned on 2017-11-01.
19960 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
19962         libc-config: Fix __GNUC_PREREQ macro.
19963         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
19964         __GNUC_MINOR.
19966 2017-09-09  Bruno Haible  <bruno@clisp.org>
19968         gnulib-tool: Simplify commit from 2015-08-20.
19969         * gnulib-tool (func_add_or_update): Remove local variable
19970         is_binary_file.
19972 2017-09-08  Bruno Haible  <bruno@clisp.org>
19974         stddef: Avoid conflict with system-defined max_align_t.
19975         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
19976         Reported by Werner Lemberg <wl@gnu.org> in
19977         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
19978         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
19979         (max_align_t): Define as a macro.
19980         (GNULIB_defined_max_align_t): New macro. Guards against multiple
19981         definitions of rpl_max_align_t in different copies of gnulib-generated
19982         <stddef.h>.
19984 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
19986         libc-config: port to MSVC
19987         Problems reported by Gisle Vanem in:
19988         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
19989         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
19990         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
19991         * m4/__inline.m4: New file.
19992         * modules/libc-config (Files): Add it.
19993         (Depends-on): Use it.
19995         glob: Use enum for __glob_pattern_type result
19996         From a patch proposed by Adhemerval Zanella in:
19997         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
19998         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
19999         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
20000         * lib/glob_internal.h (__glob_pattern_type):
20001         * lib/glob.c (glob):
20002         * lib/glob_pattern_p.c (__glob_pattern_p):
20003         Use them.
20005         glob: fix for use in glibc
20006         Problem reported by Adhemerval Zanella in:
20007         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
20008         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
20009         Do not redefine if _LIBC.
20011 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20013         glob: fix bugs with long login names
20014         Problem reported by Adhemerval Zanella in:
20015         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
20016         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
20017         (glob): Use the same scratch buffer for both getlogin_r and
20018         getpwnam_r.  Don’t require preallocation of the login name.  This
20019         simplifies storage allocation, and corrects the handling of
20020         long login names.
20022 2017-09-02  Bruno Haible  <bruno@clisp.org>
20024         dirent: Update doc.
20025         * doc/posix-headers/dirent.texi: More concrete list of platforms.
20027 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20029         glob: fix getpwnam_r errno typo
20030         * lib/glob.c (glob): Fix longstanding misuse of errno after
20031         getpwnam_r, which returns an error number rather than setting
20032         errno.
20034         glob: fix typo in recent change
20035         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
20036         Fix recently-introduced typo.
20038 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20040         glob: don't save and restore errno unnecessarily
20041         * lib/glob.c (glob): Don't save and restore errno
20042         merely because we have getpwnam_r.
20044         glob: don't assume getpwnam_r
20045         * lib/glob.c (glob): Port recent patches to platforms
20046         lacking getpwnam_r.
20048         scratch_buffer: don’t use private glibc API
20049         Suggested by Florian Weimer in:
20050         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
20051         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
20052         * lib/scratch_buffer_grow.c: Rename to
20053         lib/malloc/scratch_buffer_grow.c.
20054         * lib/scratch_buffer_grow_preserve.c: Rename to
20055         lib/malloc/scratch_buffer_grow_preserve.c.
20056         * lib/scratch_buffer_set_array_size.c: Rename to
20057         lib/malloc/scratch_buffer_set_array_size.c.
20058         * lib/scratch_buffer.h: New file.
20059         * modules/scratch_buffer (Files, Makefile.am):
20060         Adjust to source-file renaming.
20062 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20064         glob: use scratch_buffer instead of extend_alloca
20065         Much of the lib/glob.c part of this patch comes from a glibc patch
20066         proposed by Adhemerval Zanella in:
20067         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
20068         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
20069         included via glob.h, does this for us now.
20070         (__set_errno): Remove, as libc-config does this for us now.
20071         Include <scratch_buffer.h>.
20072         (GETPW_R_SIZE_MAX): Remove.
20073         (glob): Use struct scratch_buffer instead of extend_alloca.
20074         * lib/glob.in.h: Include libc-config.h rather than
20075         including <sys/cdefs.h> conditionally.
20076         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
20077         (__glibc_unlikely, __restrict, weak_alias):
20078         Remove, as libc-config does this for us now.
20079         * m4/glob.m4 (gl_PREREQ_GLOB):
20080         Remove sys/cdefs.h tests; no longer needed.
20081         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
20082         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
20084         scratch_buffer: new module
20085         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
20086         * lib/scratch_buffer_grow_preserve.c:
20087         * lib/scratch_buffer_set_array_size.c:
20088         New files, copied from glibc with very minor changes that can be
20089         copied back.
20090         * modules/scratch_buffer: New file.
20092         libc-config: new module
20093         * MODULES.html.sh: Add libc-config.
20094         * lib/cdefs.h: New file, copied from the GNU C Library with very
20095         minor changes that can be copied back.
20096         * lib/libc-config.h, modules/libc-config: New files.
20098 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20100         glob: match dangling symlinks
20101         This fixes a bug I inadvertently introduced to Gnulib when I
20102         merged glibc glob back into gnulib on 2007-10-16.  This fix is
20103         inspired by a patch proposed for glibc by Adhemerval Zanella in:
20104         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
20105         * doc/posix-functions/glob.texi: Update list of affected platforms.
20106         * lib/glob.c (__lstat64): New macro.
20107         (is_dir): New function.
20108         (glob, glob_in_dir): Match symlinks even if they are dangling.
20109         (link_stat, link_exists_p): Remove.  All uses removed.
20110         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
20111         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
20112         * modules/glob-tests (Depends-on): Add symlink.
20113         * tests/test-glob.c: Include errno.h, unistd.h.
20114         (BASE): New macro.
20115         (main): Test dangling symlinks, if symlinks are supported.
20117         glob, backupfile: inode 0 is a valid inode number
20118         * doc/posix-functions/readdir.texi (readdir):
20119         * doc/posix-headers/dirent.texi (dirent.h):
20120         Document more readdir portability issues.
20121         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
20122         (numbered_backup): Don’t treat inode 0 any differently from
20123         other inode values.
20124         * lib/glob.c (struct readdir_result): Remove skip_entry member.
20125         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
20126         All uses removed.
20127         * modules/glob (Depends-on): Remove d-ino.
20129         glob: simplify symlink detection
20130         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
20131         uint8_t, as C99 does not require uint8_t.
20132         (struct readdir_result): Use it.  Do not define skip_entry unless
20133         it is needed; this saves a byte on platforms lacking d_ino.
20134         (readdir_result_type, readdir_result_skip_entry):
20135         New functions, replacing ...
20136         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
20137         ... these functions, which were removed.  This makes the callers
20138         easier to read.  All callers changed.
20139         (D_INO_TO_RESULT): Now empty if there is no d_ino.
20141 2017-08-30  Pádraig Brady  <P@draigBrady.com>
20143         fts-tests: tag as a longrunning-test so not included by default
20144         * modules/fts-tests: This test takes about 20s on current systems,
20145         and uses about 285M of space on ext4.
20147 2017-08-30  Pádraig Brady  <P@draigBrady.com>
20149         renameat2: fix compilation on alpine linux
20150         * m4/renameat.m4: Check for <linux/fs.h> presence.
20151         * lib/renameat2.h: Only include <linux/fs.h> if present.
20152         Reported by Assaf Gordon on Alpine Linux.
20154 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20156         glob: try to port recent changes to MS-Windows
20157         Problem reported by Bruno Haible in:
20158         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
20159         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
20160         * lib/glob.in.h (__glob_pattern_p): ... to here.
20162 2017-08-24  Eric Blake  <eblake@redhat.com>
20164         warnings: fix compilation with old autoconf
20165         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
20166         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
20167         AC_DEFUN.
20168         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
20169         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
20171 2017-08-24  Bruno Haible  <bruno@clisp.org>
20173         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
20174         * modules/glob (Depends-on): Add c99.
20176 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20178         glob: fix typo that broke platforms lacking d_ino
20179         This typo also hurt performance on GNU/Linux and similar hosts.
20180         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
20181         in previous change.
20183 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20185         glob: merge from glibc with Zanella glob changes
20186         Merge glob from glibc, with changes for glob proposed
20187         by Adhemerval Zanella in the thread starting here:
20188         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
20189         plus some fixes for this merge.
20190         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
20191         New files, ported from glibc.
20192         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
20193         with __restrict.
20194         (__size_t): Remove.  All uses replaced by size_t.
20195         (size_t): Define by defining __need_size_t and including <stddef.h>.
20196         This should work even in non-glibc platforms, where any name
20197         pollution is OK.
20198         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
20199         (struct stat64): Don’t worry about __GLOB_GNULIB.
20200         (glob, globfree, glob_pattern_p): Remove macros for
20201         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
20202         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
20203         but set errno.
20204         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
20205         removed since the glibc behavior works on null pointers.
20206         Do not include stdio.h; old SunOS is irrelevant now.
20207         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
20208         Include glob_internal.h.
20209         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
20210         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
20211         worked only coincidentally.
20212         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
20213         Remove macros; now done in glob.in.h.
20214         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
20215         (glob): Properly initialize glob structure with
20216         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
20217         Remove old code using SHELL since Bash no longer
20218         uses this.
20219         (glob, prefix_array): Separate MS code better.
20220         (glob, glob_in_dir): Use C99 decls before statements when glibc
20221         does.
20222         (glob_in_dir): Remove old Amiga and VMS code.
20223         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
20224         separate files.
20225         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
20226         (__glibc_unlikely):
20227         Move here from glob.c.
20228         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
20229         (weak_alias): New macro.
20230         (__size_t): Remove.  All uses replaced by size_t.
20231         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
20232         * modules/glob (Files): Add +lib/glob_internal.h,
20233         lib/glob_pattern_p.c, lib/globfree.c.
20234         (Depends-on): Remove snippet/arg-nonnull.
20236 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20238         glob: port to clang's Undefined Sanitizer
20239         Problem reported by Tim Rühsen in:
20240         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
20241         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
20242         (glob_in_dir): Do not rely on undefined behavior in accessing
20243         struct members beyond their bounds.  Use a flexible array member
20244         instead.
20246 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
20248         vc-list-files: port to Solaris 10
20249         * build-aux/vc-list-files: Don't assume test -e works.
20251 2017-08-21  Karl Berry  <karl@freefriends.org>
20253         * doc/posix-functions/srandom.texi (srandom): typo }.
20255 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20257         git-version-gen: port to Solaris 10
20258         Problem reported by Dagobert Michelsen in:
20259         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
20260         * build-aux/git-version-gen (v_from_git):
20261         Use expr instead of shell substitution.
20263 2017-08-19  Bruno Haible  <bruno@clisp.org>
20265         host-cpu-c-abi: Improve detection of MIPS ABI.
20266         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
20267         _MIPS_SIM.
20269 2017-08-17  Bruno Haible  <bruno@clisp.org>
20271         hypot tests: Fix test failure on FreeBSD 11.0/x86.
20272         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
20274 2017-08-17  Bruno Haible  <bruno@clisp.org>
20276         float: Fix LDBL_MIN value on FreeBSD/x86.
20277         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
20279 2017-08-17  Bruno Haible  <bruno@clisp.org>
20281         random: Fix test compilation failure on Cygwin 1.5.25.
20282         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
20283         HAVE_DECL_SETSTATE.
20284         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
20285         declared.
20286         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
20287         HAVE_DECL_SETSTATE.
20288         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
20289         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
20290         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
20291         * doc/posix-functions/random.texi: Likewise.
20292         * doc/posix-functions/setstate.texi: Likewise.
20293         * doc/posix-functions/srandom.texi: Likewise.
20295 2017-08-16  Bruno Haible  <bruno@clisp.org>
20297         stdnoreturn: Fix test compilation failure on Cygwin.
20298         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
20299         <stdnoreturn.h> replacement.
20300         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
20301         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
20303 2017-08-16  Bruno Haible  <bruno@clisp.org>
20305         thread: Fix conflict with pthread_sigmask module.
20306         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
20307         it's defined as a macro.
20308         * modules/thread (Depends-on): Add pthread_sigmask.
20310 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
20312         rename: port better to NetBSD
20313         * doc/posix-functions/rename.texi (rename): NetBSD 7
20314         does not have the link-count bug.
20315         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
20316         broken merely because rename ("a", "b") removes "a" when the two
20317         names are hard links to the same file.
20319 2017-08-16  Bruno Haible  <bruno@clisp.org>
20321         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
20322         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
20323         the target file names with '$(srcdir)/'.
20324         * modules/unicase/locale-language (Makefile.am): Likewise.
20325         * modules/unicase/special-casing (Makefile.am): Likewise.
20326         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
20327         * modules/unictype/category-byname (Makefile.am): Likewise.
20328         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
20329         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
20330         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
20331         * modules/unictype/property-byname (Makefile.am): Likewise.
20332         * modules/unictype/scripts (Makefile.am): Likewise.
20333         * modules/uninorm/composition (Makefile.am): Likewise.
20335 2017-08-16  Bruno Haible  <bruno@clisp.org>
20337         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
20338         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
20339         value for OpenBSD.
20341 2017-08-16  Bruno Haible  <bruno@clisp.org>
20343         rename, renameat: Update doc regarding NetBSD.
20344         * doc/posix-functions/rename.texi: Clarify that when using
20345         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
20346         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
20347         version.
20349 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20351         renameat2: port better to macOS
20352         * lib/renameat2.c (renameat2): Use renameatx_np if available.
20354         futimens: don’t assume struct timespec layout
20355         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
20356         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
20357         * tests/test-fdutimensat.c (main):
20358         * tests/test-futimens.h (test_futimens):
20359         * tests/test-lutimens.h (test_lutimens):
20360         * tests/test-utimens.h (test_utimens):
20361         * tests/test-utimensat.c (main):
20362         Don’t assume that struct timespec is a two-member structure in
20363         tv_sec, tv_nsec order.  Although this is true on all platforms we
20364         know about, POSIX does not guarantee it.
20366         rename: document+test NetBSD rename
20367         Test failure reported by Bruno Haible in:
20368         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
20369         This is an area where NetBSD is better-behaved than POSIX,
20370         so allow the NetBSD behavior in tests.
20371         * doc/posix-functions/rename.texi:
20372         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
20373         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
20375 2017-08-15  Bruno Haible  <bruno@clisp.org>
20377         renameat: Ensure declaration in <stdio.h> on NetBSD.
20378         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
20379         * doc/posix-functions/renameat.texi: Mention this problem.
20381 2017-08-15  Bruno Haible  <bruno@clisp.org>
20383         duplocale: Work around NetBSD 7.0 bug.
20384         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
20385         * lib/duplocale.c: Add comment about NetBSD problem.
20386         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
20388 2017-08-15  Bruno Haible  <bruno@clisp.org>
20390         duplocale tests: Verify use with *_l functions.
20391         * modules/duplocale-tests (configure.ac): Test for uselocale and
20392         some *_l functions.
20393         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
20394         from main.
20395         (get_locale_dependent_values_from, test_with_locale_parameter): New
20396         functions.
20397         (main): Test both test_with_uselocale and test_with_locale_parameter.
20399 2017-08-15  Bruno Haible  <bruno@clisp.org>
20401         extensions: Enable NetBSD specific extensions.
20402         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
20404 2017-08-14  Bruno Haible  <bruno@clisp.org>
20406         open, openat: Update doc about O_CLOEXEC.
20407         * doc/posix-functions/open.texi: More concrete list of platforms.
20408         * doc/posix-functions/openat.texi: Likewise.
20410 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
20412         open: support O_CLOEXEC
20413         * NEWS, doc/posix-functions/open.texi:
20414         * doc/posix-functions/openat.texi: Document this.
20415         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
20416         (GNULIB_defined_O_CLOEXEC): New symbol.
20417         * lib/open.c: Include cloexec.h.
20418         (open): Support O_CLOEXEC.
20419         * lib/openat.c: Include cloexec.h.
20420         (rpl_openat): Support O_CLOEXEC.
20421         * lib/popen-safer.c: Do not include cloexec.h.
20422         (open_noinherit): Remove.
20423         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
20424         * lib/save-cwd.c: Do not include cloexec.h.
20425         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
20426         * m4/open-cloexec.m4: New file.
20427         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
20428         Replace 'open' if O_CLOEXEC is not present.
20429         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
20430         Replace 'openat' if O_CLOEXEC is not present.
20431         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
20432         * modules/open (Files): Add m4/open-cloexec.m4.
20433         (Depends-on): Depend on cloexec if replacing 'open'.
20434         * modules/openat (Files): Add m4/open-cloexec.m4.
20435         (Depends-on): Depend on cloexec if replacing openat.
20436         * modules/popen-safer (Depends-on): Remove cloexec.
20437         * modules/save-cwd (Depends-on): Remove cloexec, and add
20438         fd-safer-flag and 'open'.
20440 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
20442         reallocarray: minor fixes
20443         * doc/glibc-functions/reallocarray.texi: Update version numbers.
20444         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
20445         * modules/reallocarray (License): Change from GPL to LGPL.
20446         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
20447         Indent properly and don't use tabs.
20449 2017-08-13  Darshit Shah  <darnir@gnu.org>
20451         reallocarray: New module
20452         reallocarray is a new function in glibc 2.26 to safely allocate an array
20453         of memory locations with integer overflow protection.
20454         * MODULES.html.sh: Add reallocarray.
20455         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
20456         * lib/reallocarray.c: New file to implement module reallocarray.
20457         * lib/stdlib.in.h: Add function declarations for reallocarray.
20458         * m4/reallocarray.m4: New file.
20459         * m4/stdlib_h.m4: Declare reallocarray.
20460         * modules/reallocarray: New file.
20461         * modules/reallocarray-test: New file.
20462         * modules/stdlib: Coerce stdlib.h to export reallocarray.
20463         * tests/test-reallocarray.c: New test.
20465 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20467         dirent-safer: fix cloexec race
20468         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
20469         (opendir_safer): Use F_DUPFD_CLOEXEC.
20470         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
20471         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
20472         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
20473         instead of dup_safer.
20475         fts: fix cloexec races
20476         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
20477         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
20478         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
20479         (fd_ring_check): Set cloexec flag on new file descriptors.
20480         (fts_build, fd_ring_check): While we’re at it, make sure the
20481         resulting file descriptor is not 0, 1, or 2, since that is easy.
20483 2017-08-11  Bruno Haible  <bruno@clisp.org>
20485         fts tests: Fix link error.
20486         Reported by Tom G. Christensen in
20487         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
20488         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
20490 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20492         fts: port recent changes to CentOS 6
20493         Problem reported by Tom G. Christensen in:
20494         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
20495         * lib/fts.c (fsword): New type.
20496         (struct dev_type, filesystem_type): Use it.
20497         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
20498         Also, check for f_type only if fstatfs and sys/vfs.h work.
20500 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20502         tempname: do not depend on secure_getenv
20503         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
20504         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
20505         * modules/tempname (Depends-on): Remove secure_getenv.
20507 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
20509         extensions: add _OPENBSD_SOURCE
20510         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
20512 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
20513             Bruno Haible  <bruno@clisp.org>
20515         manywarnings: Add support for C++.
20516         * build-aux/g++-warning.spec: New file.
20517         * m4/manywarnings-c++.m4: New file.
20518         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
20519         redirects to manywarnings-c++.m4.
20520         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
20522 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
20524         git-version-gen: another fix for tags with "-"
20525         * build-aux/git-version-gen: Improve fix for tags containing "-".
20526         Suggested by Markus Armbruster in:
20527         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
20529 2017-08-06  Bruno Haible  <bruno@clisp.org>
20531         warnings, manywarnings: Add support for multiple languages, not just C.
20532         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
20533         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
20534         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
20535         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
20536         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
20537         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
20538         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
20539         of the current language. If C++ is the current language, modify
20540         WARN_CXXFLAGS instead of WARN_CFLAGS.
20541         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
20542         gl_MANYWARN_ALL_GCC.
20543         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
20545 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
20547         git-version-gen: Fix for tags containing '-'
20549         Really old versions of git-describe (before v1.5.0, Feb 2007)
20550         don't have the number of commits in their long format output,
20551         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
20552         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
20553         recognizes both patterns, and normalizes the old format to the new one.
20555         Unfortunately, this normalization code gets confused when the tag
20556         contains '-'.  Reproducer:
20558             $ git-tag -m test v0.2-rc1
20559             $ build-aux/git-version-gen .tarball-version; echo
20560             build-aux/git-version-gen: WARNING: git rev-list failed
20561             UNKNOWN
20563         We take exact tag "v0.2-rc1" for the old format, extract the presumed
20564         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
20565         commits since tha tag.  Fails, because tag "v0.2" does not exist.
20567         * git-version-gen: We could perhaps drop support for versions from
20568         more than a decade ago.  But tightening the pattern match is easy
20569         enough, so do that.  Still breaks when you use version tags ending in
20570         something matching -g????, but you arguably get what you deserve then.
20572 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
20574         valgrind-tests: use ls, and cache
20575         * m4/valgrind-tests.m4: Test ls, not bash.
20576         Problem reported by Reuben Thomas.
20577         Also, cache the result so that it can be overridden.
20579 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
20581         manywarnings: port to 64-bit GCC builds of Emacs
20582         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
20583         object size rather than hardwiring 2147483647.  This is needed to
20584         build GNU Emacs, which has one conditional (and used
20585         only-in-theory) call to malloc with a literal greater than
20586         2147483647.
20588 2017-08-04  Bruno Haible  <bruno@clisp.org>
20590         Relax the license of some modules with no runtime code.
20591         * modules/std-gnu11 (License): Set to 'unlimited'.
20592         * modules/c99 (License): Likewise.
20593         Reported by Reuben Thomas <rrt@sc3d.org>.
20594         * modules/d-ino (License): Set to 'LGPL'.
20595         * modules/host-os (License): Likewise.
20596         * modules/longlong (License): Likewise.
20598 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
20600         renameat2: port to RHEL 7 + NFS
20601         * lib/renameat2.c (renameat2) [SYS_renameat2]:
20602         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
20603         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
20605 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20607         renameat2: port to non-renameat platforms
20608         Problem reported for MSVC-2015 by Gisle Vanem in:
20609         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
20610         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
20611         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
20613 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
20615         manywarnings: port to 32-bit GCC bug
20616         Problem reported by Pino Toscano in:
20617         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
20618         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
20619         not 2**63 - 1, to work around the following GCC bug:
20620         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
20622 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
20624         backupfile: new function to validate backup suffix
20625         * lib/backupfile.c (set_simple_backup_suffix): New function.
20626         (backupfile_internal): Use it.
20628         canonicalize: fix EOVERFLOW commentary
20629         Problem reported by Bruno Haible in:
20630         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
20631         * lib/canonicalize.c (canonicalize_filename_mode):
20632         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
20634         Don't interpret EOVERFLOW to mean nonexistence
20635         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
20636         may be EOVERFLOW; this is likely more useful than reporting the
20637         stat errno.
20638         * lib/glob.c (link_stat): Rename from link_exists2_p and
20639         return -1/0 instead of 0/1.  Caller changed.
20640         * lib/glob.c (link_exists_p):
20641         * lib/renameat2.c (rename_noreplace, renameat2):
20642         * lib/tempname.c (try_nocreate):
20643         If errno == EOVERFLOW then the directory entry exists, so do not
20644         act as if it does not exist.
20646         backup-rename: new module
20647         It is like backupfile, except it avoids some race conditions,
20648         and it does not output to stderr or exit.
20649         * MODULES.html.sh: Add backup-rename.
20650         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
20651         * modules/backup-rename: New files.
20652         * lib/backupfile.c: Turn this into an internals file, which
20653         contains code common to backupfile and backup_rename.  Include
20654         backupfile-internal.h instead of backupfile.h.  Do not include
20655         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
20656         renameat2.h and fcntl.h.
20657         (BACKUP_NOMEM): New constant.
20658         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
20659         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
20660         (backupfile_internal): Rename from find_backup_file_name.
20661         Support new arg RENAME.
20662         (backup_args, backup_types, get_version, xget_version):
20663         Move to lib/backup-find.c.
20664         * lib/backupfile.h (backup_file_rename): New decl.
20665         * modules/backupfile (Files): Add lib/backup-internal.h,
20666         lib/backup-find.c.
20667         (Depends-on): Add dirfd, fcntl, renameat2.
20668         (lib_SOURCES): Add backup-find.c.
20670         renameat2: port better to older Solaris
20671         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
20672         Add goto to use a label, to silence picky compilers.
20674         fts-tests: port to gcc -Wwrite-strings
20675         * tests/test-fts.c (base, base_d): New static vars.
20676         (argv, remove_tree, main): Use them.
20678 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
20680         relocatable-lib{,-lgpl}: improve documentation
20681         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
20682         Various other updates.
20684 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
20685             Bruno Haible  <bruno@clisp.org>
20687         relocatable-lib{,-lgpl}: add Valgrind suppressions
20688         * lib/relocatable.valgrind: New file.
20689         * modules/relocatable-lib (Files): Add relocatable.valgrind.
20690         * modules/relocatable-lib-lgpl: Likewise.
20692 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
20694         relocatable: Make the license on the sources the GPL.
20695         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
20696         LGPL, which was a special case so that the relocatable source files
20697         could be used without gnulib-tool, to GPL. They can still be used under
20698         the LGPL, using the --lgpl option to gnulib-tool.
20700 2017-07-30  Bruno Haible  <bruno@clisp.org>
20702         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
20703         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
20704         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
20705         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
20706         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
20708 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
20710         faccessat: document AT_SYMLINK_NOFOLLOW issue
20711         * doc/posix-functions/faccessat.texi: Modernize platform list.
20712         Document AT_SYMLINK_NOFOLLOW limitation.
20714         renameat2: port to Solaris 10
20715         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
20716         with AT_SYMLINK_NOFOLLOW (which is not portable).
20717         (renameat): Undef before using, to avoid endless recursion when
20718         the replacement renameat calls renameat2 which calls the
20719         replacement renameat.
20720         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
20721         * modules/renameat2 (Depends-on): Remove faccessat.
20722         * modules/renameat-tests (test_renameat_LDADD):
20723         * modules/renameat2-tests (test_renameat2_LDADD):
20724         Remove $(LIB_EACCESS).
20726         renameat2: new module
20727         Although the Linux syscall renameat2 is not in glibc (yet?), it is
20728         useful to have access to its RENAME_NOREPLACE flag.
20729         * MODULES.html.sh (func_all_modules): Add renameat2.
20730         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
20731         * modules/renameat2-tests, tests/test-renameat2.c: New files.
20732         * lib/renameat.c (renameat): Move most of the implementation
20733         to renameat2, and just call renameat2.
20734         * modules/renameat (Files): Remove lib/at-func2.c.
20735         (Depends-on): Depend only on renameat2.
20736         (Include): Remove <fcntl.h>.
20737         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
20738         since renameat (via renameat2) might use faccessat.
20740 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
20742         vc-list-files: Adjust the script to support git worktrees
20743         * build-aux/vc-list-files: Require existence, not directory.
20745 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
20747         doc: bring MODULES.html.sh up to date
20748         Somehow a few months ago we stopped updating MODULES.html.sh.
20749         I don’t recall explicitly deciding this, so I updated it now.
20750         Alternatively I suppose we could remove it.
20751         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
20752         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
20753         truncate, utime, utime-h, windows-stat-inodes,
20754         windows-stat-override, windows-stat-timespec, year2038.  Sort.
20756 2017-07-26  Jim Meyering  <meyering@fb.com>
20758         fprintftime: fix build-break caused by recent renaming
20759         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
20760         "strftime.c".
20761         * modules/fprintftime: Depend directly on nstrftime.
20763 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
20765         regex: work with GCC7's -Werror=implicit-fallthrough=
20766         * lib/regex_internal.h (FALLTHROUGH): New macro.
20767         * lib/regcomp.c (peek_token_bracket, parse_expression):
20768         * lib/regexec.c (check_node_accept): Use it.
20770 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
20772         fts: simplify fts_build
20773         * lib/fts.c (fts_build): Simplify, and be lazier about
20774         calling leaf_optimization.
20776         fts: three levels of leaf optimization
20777         * lib/fts.c (enum leaf_optimization): New type with three values.
20778         (S_MAGIC_AFS): New macro.  Sort them.
20779         (leaf_optimization): Rename from leaf_optimization_applies, and
20780         return enum leaf_optimization instead of bool.  All uses changed.
20781         Add cases for unknown type and for AFS.
20782         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
20784         fts: cache dirent_inode_sort_may_be_useful too
20785         * lib/fts.c (struct dev_type): New struct.
20786         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
20787         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
20788         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
20789         Now takes FTSENT const *, not int.  All uses changed.  Use
20790         filesystem_type to cache.
20791         (link_count_optimize_ok): Remove.  Caller changed to use
20792         leaf_optimization_applies, which now uses shared cache.
20794         fts: introduce MIN_DIR_NLINK
20795         * lib/fts.c (MIN_DIR_NLINK): New constant.
20796         Use it instead of 2, whenever we are talking about link counts.
20798         fts: nlink_t signedness fixups
20799         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
20800         so that root need not be a special case later.
20801         (fts_read): Remove now-redundant test for fts_level.
20802         Do not assume that nlink_t is signed.
20803         (fts_build): Remove useless decrement of nlinks.
20804         (fts_stat): Avoid unlikely signed integer overflow later, if
20805         nlink_t is signed.
20807         fts-tests: new module
20808         * modules/fts-tests, tests/test-fts.c: New files.
20810 2017-07-23  Bruno Haible  <bruno@clisp.org>
20812         Rename module 'strftime' to 'nstrftime'.
20813         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
20814         * lib/nstrftime.c: Renamed from lib/strftime.c.
20815         * modules/nstrftime: Renamed from modules/strftime.
20816         (Files, Makefile.am): Update.
20817         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
20818         Fix comment.
20819         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
20820         (Files, Makefile.am): Update.
20821         * modules/strftime: New file, an obsolete indirection.
20822         * doc/posix-functions/strftime.texi: Update reference.
20823         * config/srclist.txt: Update info.
20824         * NEWS: Mention the change.
20826 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
20828         malloca: Silence a warning from clang's memory sanitizer.
20829         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
20830         (freea): Use it.
20832 2017-07-18  Bruno Haible  <bruno@clisp.org>
20834         host-cpu-c-abi: Fix detection of MIPS ABI.
20835         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
20836         ABI, not the CPU instruction set.
20838 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
20840         explicit_bzero: new module
20841         The explicit_bzero function has been added to glibc.
20842         This module is intended to supports its use in GNU programs.
20843         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
20844         * m4/explicit_bzero.m4, modules/explicit_bzero:
20845         New files.
20846         * doc/gnulib.texi (Glibc string.h): Link to new doc.
20847         * lib/string.in.h (explicit_bzero): Declare.
20848         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
20849         * modules/string (string.h): Substitute its vars.
20851 2017-07-16  Bruno Haible  <bruno@clisp.org>
20853         threadlib: Support static linking.
20854         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
20855         set gl_cv_have_weak to 'no'.
20857 2017-07-16  Bruno Haible  <bruno@clisp.org>
20859         unicase/locale-language: Fix link dependencies.
20860         * modules/unicase/locale-language (Link): New section.
20861         * modules/unicase/locale-language-tests (Makefile.am): Link
20862         test-locale-language program with $(LIBTHREAD).
20864 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
20866         sys_socket: Add support for OpenVMS.
20867         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
20868         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
20870 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
20872         sys_resource: Add support for OpenVMS.
20873         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
20874         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
20876 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
20877             Bruno Haible  <bruno@clisp.org>
20879         math: Add support for OpenVMS.
20880         * lib/math.in.h [__VMS]: Include <fp.h>.
20881         * doc/posix-headers/math.texi: Mention OpenVMS issues.
20883 2017-07-15  Bruno Haible  <bruno@clisp.org>
20885         getdtablesize: Add minimal support for OpenVMS.
20886         Reported by John E. Malmberg <wb8tyw@qsl.net>.
20887         * modules/getdtablesize (Description): Fix.
20888         * lib/getdtablesize.c: Fix comment.
20889         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
20890         getdtablesize() function, even though the test fails.
20891         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
20892         limitation on OpenVMS.
20894 2017-07-13  Bruno Haible  <bruno@clisp.org>
20896         Revisit cross-compilation guesses.
20897         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
20899 2017-07-13  Bruno Haible  <bruno@clisp.org>
20901         Improve cross-compilation guesses for native Windows.
20902         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
20903         Windows.
20904         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
20905         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
20906         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20907         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
20908         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
20909         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
20910         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
20911         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
20912         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20913         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
20914         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20915         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
20916         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
20917         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
20918         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
20919         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20920         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
20921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
20922         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20923         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
20924         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
20925         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
20926         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
20927         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
20928         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
20929         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
20930         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
20931         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
20932         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20933         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
20934         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20935         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
20936         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
20937         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
20938         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
20939         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
20940         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
20941         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20942         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
20943         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20944         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20945         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20946         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
20947         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
20948         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
20949         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
20950         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
20951         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
20952         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
20953         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
20954         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
20955         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
20956         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
20957         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
20958         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
20959         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
20960         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
20961         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
20962         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
20963         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
20964         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20965         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
20966         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
20967         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
20968         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
20969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20970         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
20971         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20972         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
20973         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
20974         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
20975         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20976         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20977         * m4/regex.m4 (gl_REGEX): Likewise.
20978         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
20979         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
20980         gl_FUNC_REMAINDERF_WORKS): Likewise.
20981         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
20982         gl_FUNC_REMAINDERL_WORKS): Likewise.
20983         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20984         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
20985         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20986         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
20987         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
20988         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
20989         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20990         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20991         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
20992         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20993         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
20994         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
20995         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20996         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20997         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
20998         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20999         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
21000         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21001         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21002         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
21003         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
21004         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21005         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21006         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
21007         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
21008         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21009         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21010         Likewise.
21011         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21012         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
21013         Windows. Enable also on Autoconf 2.70.
21014         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21015         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21016         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
21017         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
21018         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
21019         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
21020         for native Windows.
21021         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
21022         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
21024 2017-07-13  Bruno Haible  <bruno@clisp.org>
21026         Improve cross-compilation guesses for native Windows.
21027         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
21028         Windows.
21029         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
21030         memchr.m4.
21031         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21033 2017-07-13  Bruno Haible  <bruno@clisp.org>
21035         Improve cross-compilation guesses for native Windows.
21036         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
21037         native Windows.
21038         (gl_FUNC_FFLUSH): Update accordingly.
21039         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
21040         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
21042 2017-07-11  Bruno Haible  <bruno@clisp.org>
21044         More systematic m4 quoting and indentation.
21045         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
21046         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21047         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
21048         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21049         * m4/host-os.m4 (gl_HOST_OS): Likewise.
21050         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
21051         gl_WINSIZE_IN_PTEM): Likewise.
21052         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
21053         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
21054         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
21055         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
21056         Correct indentation.
21057         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
21058         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21059         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
21060         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
21061         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
21062         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21064 2017-07-10  Bruno Haible  <bruno@clisp.org>
21066         round, roundf: Avoid compiler warning in configure test.
21067         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
21068         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
21070 2017-07-10  Bruno Haible  <bruno@clisp.org>
21072         getlogin tests: Avoid #ifdefs when sharing code between modules.
21073         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
21074         * modules/getlogin-tests (Files): Likewise. Remove
21075         tests/test-getlogin_r.c.
21076         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
21077         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
21078         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
21079         getlogin().
21081 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21083         getlogin: don’t assume one name per uid
21084         Problem reported by Wolfgang F. Muthmann (Bug#27640).
21085         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
21086         (ttyname): Remove test.
21087         * modules/getlogin_r-tests (ttyname): Remove test.
21088         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
21089         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
21090         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
21091         getlogin rather than getlogin_r.  This avoids code duplication.
21092         (main): Use isatty and fstat rather than ttyname and stat.
21093         Use getpwnam instead of getpwuid, to be portable to test platforms
21094         that have multiple login names for the same uid.
21096 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
21097             Bruno Haible  <bruno@clisp.org>
21099         glob: Fix more memory leaks.
21100         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
21101         returning.
21102         Reported by Tim Rühsen.
21104 2017-07-10  Bruno Haible  <bruno@clisp.org>
21106         Make sure $host and $host_os are defined when used.
21107         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
21108         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
21109         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
21110         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21111         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
21112         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
21113         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
21114         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
21115         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21116         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
21117         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
21118         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
21119         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
21120         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
21121         m4_ifdef block.
21123 2017-07-09  Bruno Haible  <bruno@clisp.org>
21125         *printf: Fix cross-compilation guess for Solaris.
21126         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
21127         2010-12-21.
21129 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
21130             Bruno Haible  <bruno@clisp.org>
21132         vasnprintf: port to macOS 10.13
21133         Problem reported by comex in:
21134         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
21135         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
21137 2017-07-06  Bruno Haible  <bruno@clisp.org>
21139         imaxdiv tests: Fix logic.
21140         * tests/test-imaxdiv.c (main): Use == instead of =.
21141         Reported by Coverity.
21143 2017-07-06  Bruno Haible  <bruno@clisp.org>
21145         uninorm/filter: Fix use-after-free bug.
21146         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
21147         sortbuf == filter->sortbuf invariant.
21148         Reported by Coverity.
21150 2017-07-06  Bruno Haible  <bruno@clisp.org>
21152         glob: Fix more memory leaks.
21153         * lib/glob.c (glob): Free dirname before returning.
21154         Reported by Coverity and Tim Rühsen.
21156 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21158         parse-datetime: fix uninit var bug
21159         Reported by Bruno Haible in:
21160         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
21161         * lib/parse-datetime.y (parse_datetime2): Do not use
21162         uninitialized.
21164 2017-07-05  Bruno Haible  <bruno@clisp.org>
21166         doc: Update for MSVC 14.
21167         * doc/posix-headers/*.texi: Add info about MSVC 14.
21168         * doc/posix-functions/*.texi: Likewise.
21169         * doc/pastposix-functions/*.texi: Likewise.
21170         * doc/glibc-headers/*.texi: Likewise.
21171         * doc/glibc-functions/*.texi: Likewise.
21173 2017-07-05  Bruno Haible  <bruno@clisp.org>
21175         sched: Fix build failure on native Windows (regression from 2017-06-19).
21176         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
21178 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
21180         stdioext: Port to OpenVMS.
21181         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
21182         * lib/fpending.c (fpending): Remove non-working VMS specific code.
21183         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
21184         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
21185         * lib/fpurge.c (fpurge): Likewise.
21186         * lib/freadable.c (freadable): Likewise.
21187         * lib/freadahead.c (freadahead): Likewise.
21188         * lib/freading.c (freading): Likewise.
21189         * lib/freadptr.c (freadptr): Likewise.
21190         * lib/freadseek.c (freadseek): Likewise.
21191         * lib/fseeko.c (fseeko): Likewise.
21192         * lib/fseterr.c (fseterr): Likewise.
21193         * lib/fwritable.c (fwriteable): Likewise.
21194         * lib/fwriting.c (fwriting): Likewise.
21196 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
21198         glob: Declare variables at the very start of their scope.
21199         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
21200         its separate scope, so the functions will compile on Haiku.
21202 2017-07-01  Bruno Haible  <bruno@clisp.org>
21204         logbl: Work around a glibc bug on PowerPC64LE.
21205         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
21206         numbers.
21207         * doc/posix-functions/logbl.texi: Update.
21209 2017-06-29  Bruno Haible  <bruno@clisp.org>
21211         stat, fstat: Compile stat-w32.c only on platforms that need it.
21212         Suggested by Paul Eggert.
21213         * modules/stat (configure.ac): Request stat-w32.o only on native
21214         Windows.
21215         * modules/fstat (configure.ac): Likewise.
21217 2017-06-25  Bruno Haible  <bruno@clisp.org>
21219         stat: Improve last change.
21220         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
21222 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
21224         stat: port to xlc 12.01
21225         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
21226         12.01 complains "Compilation unit is empty."
21228 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
21230         xalloc-oversized: port to icc
21231         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
21232         __builtin_mul_overflow if ICC is defined, as this results in
21233         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
21234         20170213.
21236 2017-06-19  Bruno Haible  <bruno@clisp.org>
21238         classpath: Avoid including config.h twice, as it produces warnings.
21239         Reported by John E. Malmberg <wb8tyw@gmail.com>.
21240         * lib/classpath.h: Conditionalize the include of config.h.
21242 2017-06-19  Bruno Haible  <bruno@clisp.org>
21243             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
21245         sched: Fix compilation failure on OpenVMS.
21246         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
21247         test whether <pthread.h> exists and defines struct sched_param.
21248         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
21250 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21252         diffseq: port to GCC 7 with --enable-gcc-warnings
21253         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
21254         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
21255         not complain about big_snake being defined but not used.
21257 2017-06-15  Bruno Haible  <bruno@clisp.org>
21259         gettext-h: Update theoretical condition for use of variable size arrays.
21260         Reported by Paul Eggert.
21261         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
21262         to include the theoretical condition for availability of variable size
21263         arrays, if we could trust the value of __STDC_VERSION__.
21265 2017-06-12  Bruno Haible  <bruno@clisp.org>
21267         Relicense some modules under LGPLv2+.
21268         Daiki Ueno's approval is in
21269         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
21270         * modules/uniwidth/base (License): Change to LGPLv2+.
21271         * modules/uniwidth/width (License): Likewise.
21273 2017-06-11  Bruno Haible  <bruno@clisp.org>
21275         localename: Fix test failure on DragonFly BSD.
21276         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
21277         like FreeBSD.
21279 2017-06-11  Bruno Haible  <bruno@clisp.org>
21281         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
21282         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
21283         * lib/float.in.h: Likewise.
21284         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
21286 2017-06-11  Bruno Haible  <bruno@clisp.org>
21288         gnulib-tool: Clean up after autotools.
21289         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
21290         useless directory left over by the Autotools.
21292 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
21294         getopt-posix: port to glibc 2.25.90
21295         Problem reported by Daniel P. Berrange in:
21296         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
21297         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
21298         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
21299         #undef if __GETOPT_PREFIX is defined.
21301 2017-06-11  Bruno Haible  <bruno@clisp.org>
21303         strtod-obsolete: Fix license.
21304         * modules/strtod-obsolete (License): Change to LGPL.
21306 2017-06-10  Jim Meyering  <meyering@fb.com>
21308         maint: update to work with GCC7's -Werror=implicit-fallthrough=
21309         * lib/savewd.c (FALLTHROUGH): Define.
21310         (savewd_save, savewd_restore): Use this, rather than a comment,
21311         whenever one switch case falls through into the next.
21313 2017-06-08  Bruno Haible  <bruno@clisp.org>
21315         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
21316         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
21317         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
21318         case.
21320 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
21322         doc: remove robots, add prereqs
21323         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
21324         builds.  Simon's robot site does not seem to be up, so remove
21325         mentions of it for now.
21327 2017-06-08  Bruno Haible  <bruno@clisp.org>
21329         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
21330         * gnulib-tool (func_symlink_target): New function, extracted from
21331         func_symlink.
21332         (func_symlink, func_symlink_if_changed): Use it.
21334 2017-06-08  Bruno Haible  <bruno@clisp.org>
21336         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
21337         * gnulib-tool (func_ln_s): Determine cp_src correctly.
21339 2017-06-07  Bruno Haible  <bruno@clisp.org>
21341         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
21342         Reported by John E. Malmberg <wb8tyw@gmail.com> in
21343         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
21344         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
21345         override, pass 2 arguments to getcwd, not 3.
21347 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
21349         same-inode: port better to VMS 8.2 and later
21350         Problem reported by John E. Malmberg in:
21351         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
21352         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
21353         Use the usual POSIX definition.
21354         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
21356 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21358         error: fix POSIX violation for va_end
21359         Problem reported by Bruno Haible in:
21360         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
21361         * lib/error.c (error_tail): Do not call va_end here.
21362         (error, error_at_line): Call it here instead.
21364 2017-05-28  Bruno Haible  <bruno@clisp.org>
21366         c-strtod: Make it usable in C++ mode.
21367         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
21369 2017-05-25  Jim Meyering  <meyering@fb.com>
21371         quotearg: fix compilation failure due to FALLTHROUGH misuse
21372         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
21373         macro back to /* fall through */ comment.  The macro can apply only
21374         to a following case statement.  Reported by Assaf Gordon.
21376 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21378         intprops: port to recent icc
21379         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
21380         but does not support __builtin_add_overflow etc.
21381         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
21382         Define to 0.
21384 2017-05-23  Karl Berry  <karl@freefriends.org>
21386         * config/srclist.txt (iconv.m4): sync broken, comment out
21387         until (hopefully) the next gettext release.
21389 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
21391         Remove repeated words in comments.
21393 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
21395         fallthrough: reinstate a FALLTHROUGH instance in quotearg
21396         quotearg.c: Reinstate this instance which is significant
21397         when the if branch is not taken.
21399 2017-05-21  Bruno Haible  <bruno@clisp.org>
21401         gnulib-tool: Add options to create hard links.
21402         * gnulib-tool (func_usage): Document options --hardlink,
21403         --local-hardlink, --more-hardlinks.
21404         (func_symlink): Renamed from func_ln.
21405         (func_symlink_if_changed): Renamed from func_ln_if_changed.
21406         (func_hardlink): New function.
21407         (copymode, lcopymode): New variables.
21408         (symbolic, lsymbolic): Remove variables.
21409         (Options): Implement options --hardlink, --local-hardlink,
21410         --more-hardlinks.
21411         (func_should_link): Renamed from func_should_symlink. Set copyaction.
21412         (func_add_file, func_update_file): Update invocation of
21413         func_should_link. Invoke func_hardlink when appropriate.
21414         (func_import): Update comments.
21415         (func_create_testdir): Update invocation of func_should_link. Invoke
21416         func_hardlink when appropriate.
21417         Finally, invoke 'git update-index --refresh' to mitigate the effects of
21418         the hard links on git.
21420 2017-05-20  Bruno Haible  <bruno@clisp.org>
21422         argp: Simplify bit manipulation.
21423         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
21424         on a signed integer type.
21426 2017-05-20  Bruno Haible  <bruno@clisp.org>
21428         Avoid wrong configure results with gcc -fsanitize=address.
21429         This completes the work done on 2016-02-06 on this topic.
21430         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
21431         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21432         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21433         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21434         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
21435         returning.
21436         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
21437         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
21438         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21439         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
21440         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
21441         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
21442         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
21443         free allocated memory before returning.
21444         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21445         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
21446         objects before returning.
21447         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
21448         returning.
21450 2017-05-20  Bruno Haible  <bruno@clisp.org>
21452         gnulib-tool: Don't create hard links between gnulib and its testdirs.
21453         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
21455 2017-05-20  Bruno Haible  <bruno@clisp.org>
21457         argp, tsearch tests: Fix file list.
21458         * modules/argp-tests (Files): Add tests/macros.h.
21459         * modules/tsearch-tests (Files): Likewise.
21461 2017-05-20  Bruno Haible  <bruno@clisp.org>
21463         getopt-posix tests: Remove redundant include.
21464         * tests/test-getopt.h: Don't include "macros.h". It's already included
21465         by tests/test-getopt-main.h.
21467 2017-05-19  Jim Meyering  <meyering@fb.com>
21469         dfa: two small simplifications
21470         * lib/dfa.c (build_state): Avoid repeating longer expressions.
21472 2017-05-18  Jim Meyering  <meyering@fb.com>
21474         fallthrough: update for GCC 7/8
21475         * lib/quotearg.c (FALLTHROUGH): New macro.
21476         Use it whenever one switch case falls through into the next,
21477         replacing "/* Fall through */" comments.  This exposed one
21478         instance of an unwarranted "fall through" comment: unwarranted
21479         because it preceded a "goto" label not a case statement.
21480         * lib/freopen-safer.c (freopen_safer): Likewise.
21481         * lib/fts.c (leaf_optimization_applies): Likewise.
21482         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
21483         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
21484         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
21485         tests/macros.h for the definition.
21486         * tests/test-argp.c (group1_parser): Likewise.
21487         * tests/test-getopt.h (getopt_loop): Likewise.
21489 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21491         argp: fix shift bug
21492         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
21493         behavior on shift overflow, caught by gcc -fsanitize=undefined.
21495         argp: fix pointer-subtraction bug
21496         * lib/argp-help.c (hol_append): Don’t subtract pointers to
21497         different arrays, as this can run afoul of -fcheck-pointer-bounds.
21498         See the thread containing Bruno Haible’s report in:
21499         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
21501 2017-05-19  Bruno Haible  <bruno@clisp.org>
21503         printf-posix tests: Avoid test failure with "gcc --coverage".
21504         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21505         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
21506         than 5000000.
21507         * tests/test-fprintf-posix2.c (main): Likewise.
21509 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21511         closeout: don’t close stderr when sanitizing
21512         * NEWS: Document this.
21513         * lib/closeout.c (__has_feature): New macro, if not already defined.
21514         (SANITIZE_ADDRESS): New constant.
21515         (close_stdout): Don’t close stderr if sanitizing addresses.
21517 2017-05-19  Bruno Haible  <bruno@clisp.org>
21519         get-rusage-data tests: Avoid failure on Linux/glibc.
21520         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
21521         on glibc systems.
21523 2017-05-18  Bruno Haible  <bruno@clisp.org>
21525         localename: Include necessary header files on Cygwin.
21526         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
21527         where NL_LOCALE_NAME is defined.
21529 2017-05-18  Bruno Haible  <bruno@clisp.org>
21531         gettext: Update macros from gettext git.
21532         * m4/intldir.m4: Require Autoconf >= 2.60.
21533         * m4/progtest.m4: Fix typos in copyright notice.
21535 2017-05-18  Bruno Haible  <bruno@clisp.org>
21537         copy-file tests: Fix link error (regression from 2017-05-01).
21538         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21539         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
21540         $(LIB_CLOCK_GETTIME).
21542 2017-05-18  Bruno Haible  <bruno@clisp.org>
21544         unicase/special-casing: Fix incompatibility with gperf-3.0.4
21545         (regression from 2017-02-13).
21546         * lib/unicase/special-casing.in.h: Renamed from
21547         lib/unicase/special-casing.h.
21548         * modules/unicase/special-casing (Files): Add
21549         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
21550         (Makefile.am): Add rule for generating unicase/special-casing.h.
21551         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
21552         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
21553         not "special-casing.h".
21554         * lib/unicase/u*.c: Likewise.
21556 2017-05-17  Bruno Haible  <bruno@clisp.org>
21558         README: Don't ask people to read a TeXinfo file.
21559         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21560         * README: Tell people how to read the HTML formatted manual.
21562 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
21564         parse-datetime: Fix memleak
21565         * lib/parse-datetime.y (parse_datetime2): Cleanup on
21566         localtime_rz() failure.
21568 2017-05-16  Bruno Haible  <bruno@clisp.org>
21570         javacomp: Fix handle leak.
21571         Found by Coverity.
21572         * lib/javacomp.c (get_classfile_version): Close fd before returning.
21574 2017-05-16  Bruno Haible  <bruno@clisp.org>
21576         relocate: Make it easier to reclaim allocated memory.
21577         * lib/relocatable.h (relocate2): New declaration/macro.
21578         * lib/relocatable.c (relocate2): New function.
21579         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
21580         relocate2 function.
21581         * lib/localcharset.c (relocate2): Define fallback.
21582         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
21583         allocated memory.
21584         * lib/javaversion.c (relocate2): Define fallback.
21585         (javaexec_version): Invoke relocate2 instead of relocate. Free the
21586         allocated memory.
21588 2017-05-16  Bruno Haible  <bruno@clisp.org>
21590         relocate: Simplify EMX specific code.
21591         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
21592         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
21594 2017-05-16  Bruno Haible  <bruno@clisp.org>
21596         sigpipe tests: Fix file list.
21597         * modules/sigpipe-tests (Files): Add tests/macros.h.
21599 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21601         manywarnings: update for GCC 7
21602         * build-aux/gcc-warning.spec:
21603         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
21604         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
21605         requires a non-comment fallthrough attribute.  This is a bit
21606         cleaner than the comment versions.
21607         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
21608         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
21609         Use it whenever one switch case falls through into the next.
21610         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
21611         Use FALLTHROUGH macro.
21613 2017-05-15  Bruno Haible  <bruno@clisp.org>
21615         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
21616         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
21617         @ALLOCA@, not @LTALLOCA@.
21619 2017-05-15  Bruno Haible  <bruno@clisp.org>
21621         sys_select: Avoid "was expanded before it was required" warning.
21622         * modules/sys_select (configure.ac): Require, not invoke,
21623         gl_HEADER_SYS_SELECT.
21625 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
21627         gnulib-tool: improve GNU Make debugging
21628         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
21629         Report autoconf diagnostics when it fails, in the output makefile.
21631 2017-05-14  Bruno Haible  <bruno@clisp.org>
21633         stat-time tests: Improve comment.
21634         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
21636 2017-05-14  Bruno Haible  <bruno@clisp.org>
21638         same-inode: Adapt for windows-stat-inodes.
21639         * lib/same-inode.h: Include <sys/types.h>.
21640         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
21641         * modules/same-inode (Depends-on): Add sys_types.
21643 2017-05-14  Bruno Haible  <bruno@clisp.org>
21645         windows-stat-inodes: New module.
21646         * m4/windows-stat-inodes.m4: New file.
21647         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
21648         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
21649         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
21650         (_GL_WINDOWS_STAT_INODES): New macro.
21651         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
21652         (GetFileInformationByHandleExFunc): New variable.
21653         (initialize): Initialize it.
21654         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
21655         st_ino appropriately.
21656         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
21657         a fallback, because it does not provide st_dev and st_ino values.
21658         * modules/fstat (Depends-on): Add 'verify'.
21659         * modules/windows-stat-inodes: New file.
21660         * doc/windows-stat-inodes.texi: New file.
21661         * doc/gnulib.texi: Include it.
21662         * doc/posix-headers/sys_stat.texi: Mention the new module.
21664 2017-05-14  Bruno Haible  <bruno@clisp.org>
21666         stat-time tests: Workaround for native Windows.
21667         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
21668         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
21669         New variables.
21670         (initialize_filenames): New function.
21671         (main): Invoke it.
21672         (cleanup, prepare_test): Update.
21674 2017-05-14  Bruno Haible  <bruno@clisp.org>
21676         stat-time: Adapt for windows-stat-timespec.
21677         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
21678         entire st_ctim field.
21680 2017-05-13  Jim Meyering  <meyering@fb.com>
21682         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
21683         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
21684         file that uses the assume macro, claiming that verify.h is unused.
21686 2017-05-13  Bruno Haible  <bruno@clisp.org>
21688         Use symbolic values for _WIN32_WINNT.
21689         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
21690         * lib/sethostname.c (_WIN32_WINNT): Likewise.
21692 2017-05-13  Bruno Haible  <bruno@clisp.org>
21694         year2038: New module.
21695         * m4/year2038.m4: New file.
21696         * modules/year2038: New file.
21697         * doc/year2038.texi: New file.
21698         * doc/gnulib.texi: Include it.
21700 2017-05-13  Bruno Haible  <bruno@clisp.org>
21702         largefile: Simplify.
21703         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
21704         of _GL_WINDOWS_64_BIT_ST_SIZE.
21706 2017-05-13  Bruno Haible  <bruno@clisp.org>
21708         largefile: Improve and document.
21709         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
21710         the mingw headers already define 'stat' appropriately.
21711         * modules/largefile (Description): Clarify.
21712         * doc/largefile.texi: New file.
21713         * doc/gnulib.texi: Include it.
21714         * doc/posix-headers/sys_types.texi: Update.
21716 2017-05-13  Bruno Haible  <bruno@clisp.org>
21718         truncate: New module.
21719         * lib/unistd.in.h (truncate): New declaration.
21720         * lib/truncate.c: New file.
21721         * m4/truncate.m4: New file.
21722         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
21723         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
21724         REPLACE_TRUNCATE.
21725         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
21726         HAVE_TRUNCATE, REPLACE_TRUNCATE.
21727         * modules/truncate: New file.
21728         * tests/test-unistd-c++.cc (truncate): Test signature.
21729         * doc/posix-functions/truncate.texi: Mention the new module.
21731         * tests/test-truncate.c: New file.
21732         * modules/truncate-tests: New file.
21734 2017-05-13  Bruno Haible  <bruno@clisp.org>
21736         windows-stat-timespec: New module.
21737         * modules/windows-stat-timespec: New file.
21738         * m4/windows-stat-timespec.m4: New file.
21739         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
21740         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
21741         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
21742         fields st_atim, st_mtim, st_ctim.
21743         (st_atime, st_mtime, st_ctime): Define as macros.
21744         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
21745         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
21746         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
21747         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
21748         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
21749         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
21750         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
21751         FILETIME to 'struct timespec', not 'time_t'.
21752         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
21753         FILETIME to 'struct timespec', not 'time_t'.
21754         * lib/stat-time.h (STAT_TIMESPEC): Define also if
21755         _GL_WINDOWS_STAT_TIMESPEC.
21756         * doc/windows-stat-timespec.texi: New file.
21757         * doc/gnulib.texi: Include it.
21759 2017-05-13  Bruno Haible  <bruno@clisp.org>
21761         windows-stat-override: New module.
21762         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
21763         definition. Define GNULIB_defined_struct_stat.
21764         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
21765         link error if this symbol is used and the corresponding module is not
21766         in use.
21767         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
21768         GNULIB_OVERRIDES_STRUCT_STAT.
21769         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
21770         GNULIB_OVERRIDES_STRUCT_STAT.
21771         * modules/sys_stat (Makefile.am): Substitute
21772         GNULIB_OVERRIDES_STRUCT_STAT.
21773         * modules/windows-stat-override: New file.
21775 2017-05-13  Bruno Haible  <bruno@clisp.org>
21777         fstat: Fix module dependency conditions.
21778         * modules/fstat (Depends-on): Fix typo.
21780 2017-05-13  Bruno Haible  <bruno@clisp.org>
21782         stat, fstat: Complete removal of old native Windows code.
21783         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
21784         * lib/fstat.c: Likewise.
21785         * lib/stat-w32.c: Likewise.
21787 2017-05-13  Bruno Haible  <bruno@clisp.org>
21789         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
21790         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
21792 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
21794         getopt-posix: port to mingw
21795         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
21796         Problem reported by Daniel P. Berrage in:
21797         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
21799 2017-05-11  Bruno Haible  <bruno@clisp.org>
21801         gettimeofday: Increase precision on mingw.
21802         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
21803         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
21804         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
21805         GetSystemTimePreciseAsFileTime based implementation always.
21806         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
21807         mingw.
21809 2017-05-11  Bruno Haible  <bruno@clisp.org>
21811         poll: Fix confusion between SOCKETs and FDs on native Windows.
21812         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
21813         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
21815 2017-05-11  Bruno Haible  <bruno@clisp.org>
21817         doc: Clarify doc about socket functions on native Windows.
21818         This reworks doc that was added on 2008-09-29.
21819         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
21820         clearer wording.
21821         * doc/posix-functions/accept.texi: Use clearer wording.
21822         * doc/posix-functions/bind.texi: Likewise.
21823         * doc/posix-functions/connect.texi: Likewise.
21824         * doc/posix-functions/getpeername.texi: Likewise.
21825         * doc/posix-functions/getsockname.texi: Likewise.
21826         * doc/posix-functions/getsockopt.texi: Likewise.
21827         * doc/posix-functions/ioctl.texi: Likewise.
21828         * doc/posix-functions/listen.texi: Likewise.
21829         * doc/posix-functions/recv.texi: Likewise.
21830         * doc/posix-functions/recvfrom.texi: Likewise.
21831         * doc/posix-functions/send.texi: Likewise.
21832         * doc/posix-functions/sendto.texi: Likewise.
21833         * doc/posix-functions/setsockopt.texi: Likewise.
21834         * doc/posix-functions/shutdown.texi: Likewise.
21835         * doc/posix-functions/socket.texi: Likewise.
21837 2017-05-10  Bruno Haible  <bruno@clisp.org>
21839         poll: Fix link error on native Windows.
21840         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
21842 2017-05-10  Bruno Haible  <bruno@clisp.org>
21844         time: Fix missing initialization of HAVE_TIMEZONE_T.
21845         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
21846         here...
21847         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
21848         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
21849         gl_HEADER_SYS_TIME_H_DEFAULTS.
21850         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
21851         (configure.ac): Remove useless quoting.
21853 2017-05-10  Bruno Haible  <bruno@clisp.org>
21855         Implement a way to opt out from MSVC support, part 2.
21856         * modules/msvc-inval (Include): Document recommended idiom.
21857         * modules/msvc-nothrow (Include): Likewise.
21859         Implement a way to opt out from MSVC support.
21860         This is useful for Emacs.
21861         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
21862         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
21863         * lib/error.c: Likewise.
21864         * lib/fcntl.c: Likewise.
21865         * lib/flock.c: Likewise.
21866         * lib/fstat.c: Likewise.
21867         * lib/fsync.c: Likewise.
21868         * lib/ioctl.c: Likewise.
21869         * lib/isapipe.c: Likewise.
21870         * lib/lseek.c: Likewise.
21871         * lib/nonblocking.c: Likewise.
21872         * lib/poll.c: Likewise.
21873         * lib/select.c: Likewise.
21874         * lib/sockets.h: Likewise.
21875         * lib/sockets.c: Likewise.
21876         * lib/stdio-read.c: Likewise.
21877         * lib/stdio-write.c: Likewise.
21878         * lib/utimens.c: Likewise.
21879         * lib/w32sock.h: Likewise.
21880         * lib/w32spawn.h: Likewise.
21881         * tests/test-cloexec.c: Likewise.
21882         * tests/test-dup-safer.c: Likewise.
21883         * tests/test-dup2.c: Likewise.
21884         * tests/test-dup3.c: Likewise.
21885         * tests/test-fcntl.c: Likewise.
21886         * tests/test-pipe.c: Likewise.
21887         * tests/test-pipe2.c: Likewise.
21888         * lib/ftruncate.c: Likewise.
21889         (chsize_nothrow): Renamed from chsize.
21890         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
21891         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
21892         * lib/close.c: Likewise.
21893         * lib/dup.c: Likewise.
21894         * lib/fclose.c: Likewise.
21895         * lib/raise.c: Likewise.
21896         * tests/test-fgetc.c: Likewise.
21897         * tests/test-fputc.c: Likewise.
21898         * tests/test-fread.c: Likewise.
21899         * tests/test-fwrite.c: Likewise.
21900         * lib/getdtablesize.c: Likewise.
21901         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
21902         * lib/isatty.c: Don't include msvc-inval.h if
21903         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
21904         Include <io.h> as an alternative to msvc-nothrow.h.
21905         * lib/read.c: Likewise.
21906         * lib/write.c: Likewise.
21907         * lib/dup2.c: Likewise.
21908         (dup2_nothrow): New function.
21909         (ms_windows_dup2): Use it.
21910         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
21911         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
21912         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
21913         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
21914         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
21915         * m4/read.m4 (gl_FUNC_READ): Likewise.
21916         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
21917         * doc/windows-without-msvc.texi: New file.
21918         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
21919         section.
21921 2017-05-10  Bruno Haible  <bruno@clisp.org>
21923         wait-process: Adjust native Windows support.
21924         * lib/wait-process.c: Use the usual condition for recognizing a native
21925         Windows platform.
21927 2017-05-10  Bruno Haible  <bruno@clisp.org>
21929         doc: New chapter "Native Windows Support".
21930         * doc/gnulib.texi (Native Windows Support): New chapter.
21931         * doc/windows-libtool.texi: Small wording changes.
21932         * doc/windows-sockets.texi: Small wording and formatting changes.
21934 2017-05-10  Bruno Haible  <bruno@clisp.org>
21936         doc: Move section "Library version handling".
21937         * doc/gnulib.texi: Move section "Library version handling"
21938         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
21940 2017-05-10  Bruno Haible  <bruno@clisp.org>
21942         doc: Move section "Running self-tests under valgrind".
21943         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
21944         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
21946 2017-05-10  Bruno Haible  <bruno@clisp.org>
21948         doc: New chapter "Build Infrastructure Modules".
21949         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
21951 2017-05-10  Bruno Haible  <bruno@clisp.org>
21953         Prepare for reordering sections in the manual.
21954         * doc/gnulib.texi: Move several sections to separate files. Include
21955         these files.
21956         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
21957         * doc/obsolete.texi: Likewise.
21958         * doc/extra-tests.texi: Likewise.
21959         * doc/transversal.texi: Likewise.
21960         * doc/namespace.texi: Likewise.
21961         * doc/check-version.texi: Likewise.
21962         * doc/windows-sockets.texi: Likewise.
21963         * doc/windows-libtool.texi: Likewise.
21964         * doc/licenses-texi.texi: Likewise.
21965         * doc/build-automation.texi: Likewise.
21966         * doc/c-locale.texi: Likewise.
21968 2017-05-10  Bruno Haible  <bruno@clisp.org>
21970         Fix instructions how to update manual on www.gnu.org.
21971         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
21973 2017-05-09  Bruno Haible  <bruno@clisp.org>
21975         tzset: Expand comment about TZ problem on native Windows.
21976         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
21977         Paul Eggert.
21978         * lib/ctime.c (rpl_ctime): Likewise.
21979         * lib/localtime.c (rpl_localtime): Likewise.
21980         * lib/mktime.c (mktime): Likewise.
21981         * lib/strftime-fixes.c (rpl_strftime): Likewise.
21982         * lib/wcsftime.c (rpl_wcsftime): Likewise.
21984 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
21986         intprops: don’t depend on ‘verify’
21987         Problem reported by Ævar Arnfjörð Bjarmason in:
21988         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
21989         * lib/intprops.h: Do not include verify.h, and move compile-time
21990         checks from here ...
21991         * tests/test-intprops.c (main): ... to here, if they’re not here
21992         already.  Check widths of other standard integer types.
21993         * modules/intprops (Depends-on): Remove ‘verify’.
21995 2017-05-07  Bruno Haible  <bruno@clisp.org>
21997         utimens: On native Windows, support 100ns resolution also if fd < 0.
21998         * lib/utime.in.h: Include <time.h>.
21999         (_gl_utimens_windows): New declaration.
22000         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
22001         (utime): Invoke it.
22002         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
22003         instead of utime.
22004         * modules/utime (Depends-on): Add 'time'.
22006 2017-05-07  Bruno Haible  <bruno@clisp.org>
22008         utimens: Improve error code on native Windows.
22009         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
22010         error code EACCES, not EINVAL.
22012 2017-05-07  Bruno Haible  <bruno@clisp.org>
22014         utime: Handle more Windows error codes.
22015         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
22016         Based on explanations by Billy O'Neal.
22018 2017-05-05  Bruno Haible  <bruno@clisp.org>
22020         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
22021         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
22022         union.
22023         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
22024         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
22025         value of cipher->IV.
22027 2017-05-05  Bruno Haible  <bruno@clisp.org>
22029         wctype-h-c++-tests: Update.
22030         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
22032 2017-05-05  Bruno Haible  <bruno@clisp.org>
22034         wchar-c++-tests: Update.
22035         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
22037 2017-05-05  Bruno Haible  <bruno@clisp.org>
22039         utime-h-c++-tests: New module.
22040         * tests/test-utime-h-c++.cc: New file.
22041         (utime): Declare, missing since 2017-04-30.
22042         * modules/utime-h-c++-tests: New file.
22044 2017-05-05  Bruno Haible  <bruno@clisp.org>
22046         unistd-c++-tests: Update.
22047         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
22048         (read): Declare, missing since 2011-04-15.
22049         (sethostname): Declare, missing since 2011-12-03.
22051 2017-05-05  Bruno Haible  <bruno@clisp.org>
22053         time-c++-tests: Update.
22054         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
22055         (localtime, gmtime): Declare, missing since 2017-04-30.
22056         (ctime): Declare, missing since 2017-04-30.
22057         (strftime): Declare, missing since 2017-04-30.
22058         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
22059         2015-07-24.
22061 2017-05-05  Bruno Haible  <bruno@clisp.org>
22063         sys_resource-c++-tests: New module.
22064         * tests/test-sys_resource-c++.cc: New file.
22065         (getrusage): Declare, missing since 2012-04-13.
22066         * modules/sys_resource-c++-tests: New file.
22068 2017-05-05  Bruno Haible  <bruno@clisp.org>
22070         strings-c++-tests: New module.
22071         * tests/test-strings-c++.cc: New file.
22072         (ffs): Declare, missing since 2011-07-12.
22073         * modules/strings-c++-tests: New file.
22075 2017-05-05  Bruno Haible  <bruno@clisp.org>
22077         string-c++-tests: Update.
22078         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
22079         (ffsll): Declare, missing since 2011-07-15.
22081 2017-05-05  Bruno Haible  <bruno@clisp.org>
22083         stdlib-c++-tests: Update.
22084         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
22085         2011-10-18.
22086         (ptsname_r): Declare, missing since 2011-11-07.
22087         (qsort_r): Declare, missing since 2014-08-29.
22088         (random, srandom, initstate, setstate): Declare, missing since
22089         2012-01-14.
22090         (secure_getenv): Declare, missing since 2013-02-05.
22092 2017-05-05  Bruno Haible  <bruno@clisp.org>
22094         stdio-c++-tests: Update.
22095         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
22097 2017-05-05  Bruno Haible  <bruno@clisp.org>
22099         signal-h-c++-tests: Update.
22100         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
22102 2017-05-05  Bruno Haible  <bruno@clisp.org>
22104         math-c++-tests: Update.
22105         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
22106         (fma): Declare, missing since 2011-10-17.
22107         (fmal): Declare, missing since 2011-10-17.
22109 2017-05-05  Bruno Haible  <bruno@clisp.org>
22111         locale-c++-tests: Update.
22112         * tests/test-locale-c++.cc (localeconv): Declare, missing since
22113         2012-03-25.
22115 2017-05-05  Bruno Haible  <bruno@clisp.org>
22117         inttypes-c++-tests: New module.
22118         * tests/test-inttypes-c++.cc: New file.
22119         (strtoimax): Declare, missing since 2012-01-05.
22120         (strtoumax): Declare, missing since 2012-01-05.
22121         * modules/inttypes-c++-tests: New file.
22123 2017-05-05  Bruno Haible  <bruno@clisp.org>
22125         dirent-c++-tests: Update.
22126         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
22127         (rewinddir): Declare, missing since 2011-09-13.
22128         (dirfd): Declare, missing since 2010-03-08.
22130 2017-05-04  Bruno Haible  <bruno@clisp.org>
22132         argp: Fix mistake in 2017-04-23 commit.
22133         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
22134         assume that strerror_r returns 'int', not 'char *'.
22136 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
22138         argp: Fix typo.
22139         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
22141 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
22143         utimens: port to Emacs + MS-Windows
22144         Skip the new MS-Windows-specific code if Emacs.
22145         * lib/utimens.c [EMACS_CONFIGUATION]:
22146         Avoid new MS-Windows-specific code.
22147         (USE_SETFILETIME): New macro.
22148         (fdutimens): Use it.
22150 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22152         tzset: update doc for TZ problems on MS-Windows
22153         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
22154         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
22155         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
22156         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
22157         * doc/posix-functions/wcsftime.texi:
22158         Mention some issues with TZ under MS-Windows.
22160 2017-05-01  Bruno Haible  <bruno@clisp.org>
22162         copy-file: Fix build error on mingw.
22163         * modules/copy-file (Depends-on): Add 'close'.
22165 2017-05-01  Bruno Haible  <bruno@clisp.org>
22167         tzset: Work around TZ problem on native Windows.
22168         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
22169         Windows, set REPLACE_TZSET to 1.
22170         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
22171         invoke '_tzset' instead of 'tzset'.
22172         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
22174         * modules/time_rz (Depends-on): Add tzset.
22175         * lib/time_rz.c (tzset): Remove fallback definition.
22176         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
22178 2017-05-01  Bruno Haible  <bruno@clisp.org>
22180         mktime: Fix dependencies.
22181         * modules/mktime (Depends-on): Add 'time'.
22183 2017-05-01  Bruno Haible  <bruno@clisp.org>
22185         New module 'localtime-buffer', split off from module 'gettimeofday'.
22186         * lib/localtime-buffer.h: New file.
22187         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
22188         * lib/time.in.h (tzset): New declaration.
22189         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
22190         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
22191         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
22192         moved to lib/localtime-buffer.c or lib/tzset.c.
22193         * m4/localtime-buffer.m4: New file.
22194         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
22195         HAVE_TZSET, REPLACE_TZSET.
22196         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
22197         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
22198         gl_LOCALTIME_BUFFER_NEEDED.
22199         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
22200         since 2007-01-18.
22201         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
22202         tzset.
22203         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
22204         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
22205         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
22206         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
22207         * modules/localtime-buffer: New file.
22208         * modules/time (Depends-on): Remove 'gettimeofday'.
22209         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
22210         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
22211         * modules/tzset (Description): Enable hyperlink to POSIX spec.
22212         (Files): Add lib/tzset.c.
22213         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
22214         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
22215         gl_TIME_MODULE_INDICATOR.
22216         * modules/gettimeofday (Depends-on): Add localtime-buffer.
22218 2017-05-01  Bruno Haible  <bruno@clisp.org>
22220         copy-file: Preserve sub-second time stamps.
22221         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
22222         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
22223         transport the time stamps from the original file to the destination
22224         file.
22225         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
22226         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
22227         utime-h.
22229 2017-05-01  Bruno Haible  <bruno@clisp.org>
22231         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
22232         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
22233         also on MSVC.
22234         Reported by Eli Zaretskii <eliz@gnu.org>.
22236 2017-05-01  Bruno Haible  <bruno@clisp.org>
22238         wchar: Fix compilation error with the original mingw.org mingw.
22239         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
22240         <stddef.h> instead.
22241         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
22242         gl_WCTYPE_H.
22243         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
22244         gl_TYPE_WINT_T_PREREQ instead.
22245         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
22246         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
22247         Reported by Eli Zaretskii <eliz@gnu.org>.
22249 2017-04-30  Bruno Haible  <bruno@clisp.org>
22251         utimecmp: Add support for native Windows.
22252         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
22254 2017-04-30  Bruno Haible  <bruno@clisp.org>
22256         utimens: Add support for native Windows.
22257         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
22258         (fdutimens): Provide a native Windows implementation, like utime.c with
22259         added tv_nsec support.
22260         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
22261         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
22263 2017-04-30  Bruno Haible  <bruno@clisp.org>
22265         wcsftime: New module.
22266         * lib/wchar.in.h (wcsftime): New declaration.
22267         * lib/wcsftime.c: New file.
22268         * m4/wcsftime.m4: New file.
22269         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
22270         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
22271         HAVE_WCSFTIME, REPLACE_WCSFTIME.
22272         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
22273         HAVE_WCSFTIME, REPLACE_WCSFTIME.
22274         * modules/wcsftime: New file.
22275         * doc/posix-functions/wcsftime.texi: Mention the new module.
22277 2017-04-30  Bruno Haible  <bruno@clisp.org>
22279         strftime-fixes: New module.
22280         * lib/time.in.h (strftime): New declaration.
22281         * lib/strftime-fixes.c: New file.
22282         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
22283         (gl_FUNC_STRFTIME): Remove macro.
22284         * m4/strftime-fixes.m4: New file.
22285         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
22286         REPLACE_STRFTIME.
22287         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
22288         REPLACE_STRFTIME.
22289         * modules/strftime-fixes: New file.
22290         * doc/posix-functions/strftime.texi: Mention the new module.
22292 2017-04-30  Bruno Haible  <bruno@clisp.org>
22294         mktime: Work around TZ problem on native Windows.
22295         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
22296         from the native Windows workaround.
22297         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
22298         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
22299         'guessing no'.
22300         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
22301         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
22302         NEED_MKTIME_WINDOWS.
22303         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
22304         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
22305         NEED_MKTIME_INTERNAL.
22306         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
22307         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
22308         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
22309         not REPLACE_MKTIME.
22310         * doc/posix-functions/mktime.texi: Mention the native Windows
22311         workaround.
22313 2017-04-30  Bruno Haible  <bruno@clisp.org>
22315         localtime: New module.
22316         * lib/time.in.h (localtime): Declare also if requested by module
22317         'localtime'.
22318         * lib/localtime.c: New file.
22319         * m4/localtime.m4: New file.
22320         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
22321         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
22322         * modules/localtime: New file.
22323         * doc/posix-functions/localtime.texi: Mention the new module.
22325 2017-04-30  Bruno Haible  <bruno@clisp.org>
22327         ctime: New module.
22328         * lib/time.in.h (ctime): New declaration.
22329         * lib/ctime.c: New file.
22330         * m4/ctime.m4: New file.
22331         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
22332         REPLACE_CTIME.
22333         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
22334         * modules/ctime: New file.
22335         * doc/posix-functions/ctime.texi: Mention the new module.
22337 2017-04-30  Bruno Haible  <bruno@clisp.org>
22339         gettimeofday: Provide higher resolution on native Windows.
22340         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
22341         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
22342         (initialize): Initialize it.
22343         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
22344         'struct timeval'. Don't use _ftime().
22345         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
22346         <sys/timeb.h> and _ftime.
22348 2017-04-30  Bruno Haible  <bruno@clisp.org>
22350         Document the problem with the Cygwin environment variable TZ.
22351         * doc/posix-functions/tzset.texi: Add note about TZ.
22352         * doc/posix-functions/ctime.texi: Likewise.
22353         * doc/posix-functions/localtime.texi: Likewise.
22354         * doc/posix-functions/mktime.texi: Likewise.
22355         * doc/posix-functions/strftime.texi: Likewise.
22356         * doc/posix-functions/wcsftime.texi: Likewise.
22357         * doc/pastposix-functions/ftime.texi: Likewise.
22359 2017-04-30  Bruno Haible  <bruno@clisp.org>
22361         utime-tests: New module.
22362         * tests/test-utime.c: New file, based on tests/test-utimens.h.
22363         * tests/test-utimens-common.h: Include <sys/stat.h>.
22364         * modules/utime-tests: New file.
22366 2017-04-29  Bruno Haible  <bruno@clisp.org>
22368         utime: New module.
22369         * lib/utime.in.h: Add comment for snippets.
22370         (utime): New declaration.
22371         * lib/utime.c: New file.
22372         * m4/utime.m4: New file.
22373         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
22374         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
22375         REPLACE_UTIME.
22376         * modules/utime-h (Depends-on): Add snippets.
22377         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
22378         Insert snippets.
22379         * modules/utime: New file.
22380         * doc/posix-functions/utime.texi: Mention the new module.
22382 2017-04-29  Bruno Haible  <bruno@clisp.org>
22384         utime-h: Modernize handling of 'struct utimbuf'.
22385         * lib/utime.in.h: Include next <utime.h> if it exists.
22386         (utimbuf): Define to _utimbuf on native Windows.
22387         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
22388         Set UTIME_H on native Windows.
22389         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
22390         * modules/utime-h (Depends-on): Add include_next.
22391         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
22392         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
22394         * lib/utimens.c (utimbuf): Remove fallback definition.
22395         * m4/utimens.m4 (gl_UTIMENS): Don't require
22396         gl_CHECK_TYPE_STRUCT_UTIMBUF.
22397         * m4/utimbuf.m4: Remove file.
22398         * modules/utimens (Files): Remove m4/utimbuf.m4.
22400 2017-04-29  Bruno Haible  <bruno@clisp.org>
22402         Make use of module 'utime-h'.
22403         * modules/copy-file (Depends-on): Add utime-h.
22404         * lib/copy-file.c: Assume that <utime.h> exists.
22405         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
22407         * modules/utimens (Depends-on): Add utime-h.
22408         * lib/utimens.c: Assume that <utime.h> exists.
22410 2017-04-29  Bruno Haible  <bruno@clisp.org>
22412         utime-h: New module.
22413         * m4/utime_h.m4: New file.
22414         * lib/utime.in.h: New file.
22415         * modules/utime-h: New file.
22416         * doc/posix-headers/utime.texi: Mention the new module.
22418         * tests/test-utime-h.c: New file.
22419         * modules/utime-h-tests: New file.
22421 2017-04-30  Bruno Haible  <bruno@clisp.org>
22423         Fix a few typos.
22424         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
22425         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
22426         * doc/posix-functions/fstat.texi: Fix a plural typo.
22427         * doc/posix-functions/stat.texi: Likewise.
22428         * m4/include_next.m4: Update comments.
22430 2017-04-29  Bruno Haible  <bruno@clisp.org>
22432         error: Fix mistake in 2017-04-23 commit.
22433         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
22434         assume that strerror_r returns 'int', not 'char *'.
22436 2017-04-29  Bruno Haible  <bruno@clisp.org>
22438         stat: Fix time_t values and other problems on native Windows platforms.
22439         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
22440         implementations of stat().
22441         * lib/stat.c: Include filename.h instead of dosname.h. Include
22442         malloca.h, stat-w32.h.
22443         (is_unc_root): New function.
22444         (rpl_stat): New implementation for native Windows. Remove
22445         REPLACE_FUNC_STAT_DIR code.
22446         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
22447         Don't define REPLACE_FUNC_STAT_DIR.
22448         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
22449         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
22450         (Depends-on): Remove dosname. Add filename, malloca.
22451         (configure.ac): Also compile lib/stat-w32.c.
22453 2017-04-29  Bruno Haible  <bruno@clisp.org>
22455         fstat: Fix time_t values on native Windows platforms.
22456         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
22457         * lib/stat-w32.h: New file.
22458         * lib/stat-w32.c: New file.
22459         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
22460         stat-w32.h instead.
22461         (fstat_nothrow): Remove function.
22462         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
22463         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
22464         always.
22465         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
22466         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
22467         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
22468         (configure.ac): Also compile lib/stat-w32.c.
22470 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22472         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
22473         Problem reported by Assaf Gordon and Gavin Smith in:
22474         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
22475         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
22476         #define this, too.
22478 2017-04-29  Bruno Haible  <bruno@clisp.org>
22480         strerror_r-posix: Fixes for MSVC 14.
22481         * lib/strerror_r.c: Include <stdarg.h>.
22482         (strerror_r): Provide error messages for errno values 100...140.
22483         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
22485 2017-04-28  Bruno Haible  <bruno@clisp.org>
22487         noreturn: New module.
22488         * lib/noreturn.h: New file.
22489         * modules/noreturn: New file.
22490         * tests/test-noreturn.c: New file.
22491         * modules/noreturn-tests: New file.
22492         * tests/test-noreturn-c++.cc: New file.
22493         * modules/noreturn-c++-tests: New file.
22495 2017-04-27  Bruno Haible  <bruno@clisp.org>
22497         wctype-h: Fix compilation error with the original mingw.org mingw.
22498         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
22499         HAVE_CRTDEFS_H.
22500         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
22501         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
22502         <stddef.h> instead.
22503         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
22505 2017-04-26  Pádraig Brady  <P@draigBrady.com>
22507         nap.h: Fix compilation on non windows platforms
22508         * tests/nap.h: Move misplaced endif.
22510 2017-04-26  Pádraig Brady  <P@draigBrady.com>
22511         and Paul Eggert  <eggert@cs.ucla.edu>
22513         time_rz: fix heap buffer overflow vulnerability
22514         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
22515         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
22516         whether there is enough buffer space available, thus avoiding
22517         the problematic promotion of signed to unsigned causing an invalid
22518         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
22519         the start of the buffer.
22520         * tests/test-parse-datetime.c (main): Add a test case written by
22521         Paul Eggert, which overwrites enough of the heap so that
22522         standard glibc will fail with "free(): invalid pointer"
22523         without the patch applied.
22525 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
22527         xalloc: add missing integer overflow check
22528         * lib/xalloc.h (x2nrealloc): Also check for multiplication
22529         overflow when P is null.
22531 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
22533         parse-datetime: make it standalone
22534         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
22535         (_GL_ATTRIBUTE_FORMAT): New macro.
22536         These are needed to get './gnulib-tool --test parse-datetime' to work.
22538 2017-04-23  Bruno Haible  <bruno@clisp.org>
22540         nap.h: Port to native Windows.
22541         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
22542         use nap_fd instead. On native Windows, close and reopen nap_fd.
22543         (nap_works): Don't compare the ctimes, because on native Windows, these
22544         are the creation times.
22545         (nap): Update.
22547 2017-04-23  Bruno Haible  <bruno@clisp.org>
22549         nap.h: Fix logic.
22550         * tests/nap.h (nap): Avoid signed integer overflow in loop.
22552 2017-04-23  Bruno Haible  <bruno@clisp.org>
22554         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
22555         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
22556         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
22557         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
22558         * lib/argp-help.c (__argp_failure): Likewise.
22560 2017-04-23  Bruno Haible  <bruno@clisp.org>
22562         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
22563         * m4/strerror_r.m4: Revert changes since 2016-10-16.
22564         * lib/strerror_r.c: Likewise.
22566 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
22568         Target a C99 subset, not a C89 subset
22569         For many years Gnulib has targeted C89 and has resisted using C99
22570         features, as some Gnulib-using programs still wanted to target
22571         C89.  As this no longer seems to be the case, relax the porting
22572         requirements to allow some C99 features.  This is merely a change
22573         to the documentation, to give other Gnulib developers a chance to
22574         weigh in on the topic.
22575         * doc/extern-inline.texi (extern inline):
22576         * doc/gnulib-readme.texi (Portability guidelines):
22577         * doc/gnulib-tool.texi (Initial import):
22578         * doc/gnulib.texi (Header files):
22579         Modernize to talk about C99 and C11 instead of C89 and C99.
22580         * doc/gnulib-readme.texi (Portability guidelines):
22581         Now a section, not merely a subsection, so that it
22582         can be split up.  Modernize a bit.
22583         (C language versions, C99 features assumed)
22584         (C99 features avoided):
22585         New sections.
22587 2017-04-23  Bruno Haible  <bruno@clisp.org>
22589         doc: New section "Modules that modify the way other modules work".
22590         * doc/gnulib.texi (Modules that modify the way other modules work): New
22591         section.
22593 2017-04-23  Bruno Haible  <bruno@clisp.org>
22595         stat-time: Update comments.
22596         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
22597         * tests/test-utimens-common.h: Add reference regarding st_ctime on
22598         Windows.
22600 2017-04-01  Bruno Haible  <bruno@clisp.org>
22602         glob: Fix more memory leaks.
22603         * lib/glob.c (glob): Free allocated memory before returning.
22604         Reported by Coverity via Tim Rühsen.
22606 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22608         poll: improve fast check for out-of-range NFD
22609         * lib/poll.c: Do not include intprops.h.
22610         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
22611         * modules/poll (Depends-on): Remove intprops.
22613         ftoastr: cite a newer paper
22614         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
22615         instead of Loitsch 2010.
22617 2017-04-22  Bruno Haible  <bruno@clisp.org>
22619         poll: Enable argument check also in the Windows implementation.
22620         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
22621         Reported by Paul Eggert.
22623 2017-04-22  Bruno Haible  <bruno@clisp.org>
22625         getlogin_r: Work around bug in Mac OS X 10.12.
22626         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
22627         bug.
22628         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
22629         given size minus 1, call getlogin_r a second time, on a larger buffer.
22630         * modules/getlogin_r (Depends-on): Add malloca.
22631         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
22633 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22635         parse-datetime: fix %z and prefer signed int
22636         %z problem reported by Pádraig Brady in:
22637         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
22638         While fixing it, I decided to prefer signed ints to size_t, as
22639         they are less error-prone (e.g., ubsan catches overflow).
22640         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
22641         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
22642         counts, since signed integers make for better debugging.
22643         (date): Don’t assume %z works in printf formats.
22644         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
22645         sizes of buffers known to be small, e.g., because we’re using snprintf.
22646         (parse_datetime2): Simplify call to debug_mktime_not_ok.
22648 2017-04-22  Bruno Haible  <bruno@clisp.org>
22650         *printf: Work around rounding bug on Mac OS X.
22651         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
22652         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
22653         Mac OS X and FreeBSD.
22654         * doc/glibc-functions/*printf.texi: Likewise.
22656 2017-04-22  Bruno Haible  <bruno@clisp.org>
22658         vasnprintf tests: Avoid warnings.
22659         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
22660         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
22661         test.
22663 2017-04-22  Bruno Haible  <bruno@clisp.org>
22665         sys_file tests: Avoid warning.
22666         * tests/test-sys_file.c (main): Add a default clause to the switch
22667         statement.
22669 2017-04-22  Bruno Haible  <bruno@clisp.org>
22671         sethostname: Update doc.
22672         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
22673         Mac OS X.
22675 2017-04-22  Bruno Haible  <bruno@clisp.org>
22677         quotearg tests: Avoid warnings.
22678         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
22679         false.
22681 2017-04-22  Bruno Haible  <bruno@clisp.org>
22683         poll: Enable argument check.
22684         * lib/poll.c: Include intprops.h.
22685         (poll): Check value of nfd correctly.
22686         * modules/poll (Depends-on): Add intprops.
22688 2017-04-22  Bruno Haible  <bruno@clisp.org>
22690         get-rusage-data: Avoid warnings on Mac OS X.
22691         * lib/get-rusage-data.c: On Mac OS X, don't define
22692         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
22693         (get_rusage_data) [Mac OS X]: Just return 0.
22695 2017-04-22  Bruno Haible  <bruno@clisp.org>
22697         xbinary-io: Fix build error.
22698         * modules/xbinary-io (Depends-on): Add gettext-h.
22699         * lib/xbinary-io.c: Include gettext.h and define _().
22700         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
22701         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
22703 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22705         parse-datetime: overflow and debug cleanups
22706         This long patch was triggered by this bug report from Ruediger Meier:
22707         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
22708         I fixed the bug he noted, then found some others nearby, and then
22709         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
22710         up some of the code to follow GNU standards while I was at it.
22711         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
22712         use c_isdigit.
22713         (EPOCH_YEAR): Remove; unused.
22714         (TM_YEAR_BASE): Now an enum rather than a macro.
22715         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
22716         time zone offset, since timezones now are in terms of seconds and
22717         not minutes.
22718         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
22719         appropriate.  Verify that intmax_t is wide enough.
22720         (time_overflow, time_zone_str): New functions, used to deal
22721         more reliably with overflow.
22722         (dbg_printf): Add printf attribute, to help catch integer width errors.
22723         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
22724         (%union, to_hour, yylex, parse_datetime2):
22725         Use intmax_t instead of long int and/or long_time_t.
22726         All uses changed.
22727         (DBGBUFSIZE): Move earlier.
22728         (relative_time, set_hhmmss, parser_control):
22729         Just use int for nanoseconds and for time zones; that’s wide enough.
22730         (parser_control): Use bool for members like year_seen that can
22731         be booleans instead of counters.  All uses changed.
22732         Remove debug_default_input_timezone; no longer needed.
22733         All uses removed.
22734         (apply_relative_time): Return a bool overflow flag.
22735         All uses changed to check for overflow.
22736         (apply_relative_time, zone, date, relunit, relunit_snumber)
22737         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
22738         Check for integer overflow portably.
22739         (str_days): Use just int for N, as it’s wide enough.
22740         Prefer 2D char arrays to arrays of char * when it looks like
22741         2D is a win on typical platforms.
22742         Prefer snprintf to strncpy/strncat, for simplicity;
22743         all buffers are smaller than INT_MAX so this is safe.
22744         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
22745         (debug_print_current_time): Don’t assume tv_nsec is of type long,
22746         as this is not true on x32.  Output "." before any nanoseconds.
22747         (debug_print_current_time, parse_datetime2):
22748         Output local zones using a more-consistent format.
22749         (debug_print_current_time, date, parse_datetime2):
22750         (main) [TEST]:
22751         Don’t assume time_t is the same width as long.
22752         (print_rel_part): New function, replacing ...
22753         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
22754         (debug_print_relative_time): Use bool for boolean.
22755         (local_zone): dsts_seen now counts only tDST instances.
22756         (date): Fix printf of size_t to use %z.  Do not assume numeric
22757         tokens have negative values merely because the context suggests
22758         a syntax with "-" separating tokens.
22759         (time_zone_hhmm): Return bool success indicator, which checks for
22760         overflow.  Store result into PC->time_zone instead.  All callers
22761         changed.
22762         (tm_year_str): New function.  Return a bool success indicator and
22763         store the result into a buffer.  All callers changed.  Output the
22764         numerically correct string even if adding 1900 to the year would
22765         overflow.
22766         (to_tm_year): New function, replacing the old to_year.  All
22767         callers changed.
22768         (tm_diff): Sync with glibc.
22769         (lookup_word): Use to_uchar instead of doing it by hand.
22770         (TZBUFSIZE): Now local to the only function that needs it.
22771         (debug_strfdatetime): Simplify now that time zones are int seconds.
22772         (debug_strfdate): Work even if tm_year + 1900 would overflow.
22773         (get_effective_timezone): Remove.  All uses removed.
22774         (parse_datetime2): Use fprintf in pieces instead of snprintfing
22775         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
22776         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
22777         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
22778         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
22779         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
22780         * modules/parse-datetime (Depends-on): Add inttypes.
22782 2017-04-21  Bruno Haible  <bruno@clisp.org>
22784         gettext-h: Avoid -Wundef warning.
22785         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
22786         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
22787         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
22789 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
22791         error: Avoid "function declaration isn't a prototype" warning.
22792         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
22794 2017-04-21  Bruno Haible  <bruno@clisp.org>
22796         vasnprintf: Fix for MSVC 14.
22797         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
22798         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
22799         of !HAVE_SNPRINTF_RETVAL_C99.
22801 2017-04-21  Bruno Haible  <bruno@clisp.org>
22803         mbrtowc tests: Fix test failures on MSVC 14.
22804         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
22805         behaviour for invalid input.
22807 2017-04-21  Bruno Haible  <bruno@clisp.org>
22809         mbsinit: Fix for MSVC 14.
22810         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
22811         implementation that is in sync with mbrtowc.c. On other platforms, use
22812         an adequate ad-hoc implementation.
22814 2017-04-21  Bruno Haible  <bruno@clisp.org>
22816         Fix test-mbrtowc5.sh failure on native Windows.
22817         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
22818         "C".
22820 2017-04-21  Bruno Haible  <bruno@clisp.org>
22822         Avoid accidental use of native Windows APIs on Cygwin.
22823         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
22824         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
22825         * lib/localename.c (WINDOWS_NATIVE): Likewise.
22827 2017-04-20  Bruno Haible  <bruno@clisp.org>
22829         Remove red warnings from the generated MODULES.html.
22830         * modules/fcntl (Description): Disambiguate function references.
22831         * modules/getcwd-lgpl (Description): Likewise.
22832         * modules/hostent (Description): Likewise.
22833         * modules/servent (Description): Likewise.
22834         * modules/tempname (Description): Likewise.
22836 2017-04-20  Bruno Haible  <bruno@clisp.org>
22838         verify tests: Fix spurious failure with parallel make.
22839         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
22840         EXTRA_PROGRAMS.
22841         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
22842         * tests/test-verify-try.c: New file.
22843         * modules/verify-tests (Files): Add it.
22844         (EXTRA_PROGRAMS): Add test-verify-try.
22845         (MOSTLYCLEANFILES): Update accordingly.
22846         Reported by Adam James Stewart <ajstewart@anl.gov>.
22848 2017-04-18  Bruno Haible  <bruno@clisp.org>
22850         vma-iter: Fix compilation error on Solaris 7.
22851         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
22852         like on IRIX, OSF/1.
22853         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22855 2017-04-18  Bruno Haible  <bruno@clisp.org>
22857         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
22858         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
22859         included.
22860         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
22861         <sys/procfs.h>.
22862         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
22863         <sys/procfs.h> cannot be included.
22864         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22866 2017-04-18  Bruno Haible  <bruno@clisp.org>
22868         getopt-gnu: Add comments.
22869         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
22870         * modules/getopt-gnu (configure.ac): Likewise.
22872 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
22874         regex: port better to Solaris 10
22875         Solaris 10 <locale.h> includes <libintl.h>, which #defines
22876         gettext, and this causes a double #define.
22877         Problem reported by Gavin Smith in:
22878         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
22879         * lib/regex_internal.h (gettext): #undef before #defining.
22881 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
22883         intprops: improve comments
22884         * lib/intprops.h: Improve and shorten commentary.
22885         For the record, if we ever run into a pedantic compiler that
22886         behaves differently from GCC when converting an out-of-range value
22887         to a signed integer, we can work around the problem with something
22888         like the following code, where UCT is the signed counterpart of T
22889         (UCT is sometimes narrower than UT) and all callers are changed
22890         accordingly:
22891         #if __SUNPRO_C <= 0x5120
22892         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
22893            ((t) ((ut) (a) op (ut) (b)))
22894         #else
22895         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
22896            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
22897             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
22898                + TYPE_MINIMUM (t)) \
22899             : (t) (uct) ((ut) (a) op (ut) (b)))
22900         #endif
22902 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
22904         intprops: try to avoid tickling similar bugs
22905         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
22906         needs to be the same width as T; it can be wider.
22907         Change callers so that UT is at least as wide as unsigned int,
22908         as I suspect that this is less likely to run into compiler bugs.
22910         intprops: port to Oracle Studio 12.3 x86
22911         Problem reported by Gavin Smith in:
22912         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
22913         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
22914         Convert unsigned to signed via the usual rather than the standard way,
22915         to avoid a compiler bug in Oracle Studio 12.3 x86.
22917 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22919         getopt: prefer - to _ in new file names
22920         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
22921         * lib/getopt-core.h: Rename from lib/getopt_core.h.
22922         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
22923         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
22924         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
22925         All uses changed.
22927         getopt: port recent getopt changes to macOS
22928         Problem reported by Harald Maier (Bug#26398).
22929         The macOS C compiler uses __nonnull for its own purposes and that
22930         clashes with glibc's __nonnull.
22931         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
22932         * lib/getopt_cdefs.in.h (__nonnull): Remove.
22933         * lib/getopt_core.h (getopt):
22934         * lib/getopt_ext.h (getopt_long, getopt_long_only):
22935         Use _GL_ARG_NONNULL, not __nonnull.
22936         * lib/unistd.in.h: Move snippet hooks to before where the getopt
22937         .h files are included, so that _GL_ARG_NONNULL is defined in time.
22938         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
22939         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
22941 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22943         getopt-gnu: omit some duplicate code
22944         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
22945         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
22946         gnulib-tool already does this.
22947         * modules/getopt-gnu (configure.ac): Omit code duplicated from
22948         getopt-posix, which we depend on.
22950         getopt-posix: use angle-bracket include
22951         * lib/getopt1.c: Include <config.h>, not "config.h".
22953 2017-04-06  Zack Weinberg  <zackw@panix.com>
22955         getopt: annotate files with relationship to glibc
22957         As the final act in this patchset, adjust the message at the top of
22958         each file to indicate which files are synced with glibc.  (This has
22959         already been done for most of the headers.)
22961         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
22962         Mention in top-of-file boilerplate that these files are shared
22963         between glibc and gnulib.
22966         getopt: split up getopt.in.h and eliminate __need_getopt
22968         Over in glibc, all of the __need macros are being phased out in favor
22969         of small headers that declare only the necessary components, as this
22970         is much simpler and less prone to bugs.  As getopt is shared with
22971         glibc, gnulib needs to do the same for __need_getopt.
22973         __need_getopt is misnamed; what it really means is "we want only the
22974         getopt features specified in POSIX, not the GNU extensions".  glibc
22975         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
22976         these files can be shared verbatim with gnulib.  The portability
22977         wrapper, on the other hand, they have renounced altogether; glibc's
22978         getopt.h will no longer be shared with gnulib at all.  In exchange,
22979         certain glibc-specific quirks (having to do with __posix_getopt) no
22980         longer need appear in gnulib's headers at all.
22982         This patch merges getopt_core.h and getopt_ext.h from glibc, and
22983         splits up the current gnulib-side portability wrapper into three
22984         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
22985         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
22986         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
22987         unistd.in.h just use them.  All new files are clearly marked with
22988         whether they are shared with glibc.
22990         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
22991         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
22992         with glibc, and ...
22993         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
22994         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
22995         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
22996         instead of defining __need_getopt and including the full getopt.h.
22998         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
22999         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
23000         * modules/getopt-posix (Files): Add new headers and sort list.
23001         (Depends-on): No longer need snippet/arg-nonnull.
23002         (Makefile.am): Generate getopt_cdefs.h.
23005         getopt: better handling of ambiguous options
23007         glibc's getopt uses alloca to construct a linked list of possibilities
23008         for an "ambiguous" long option.  In gnulib, malloc should be used
23009         instead.  Providing for both cases complicates things a fair bit.
23011         This patch rewrites ambiguous-option handling to use a boolean vector
23012         instead of a linked list.  There is then only one allocation that
23013         might need freeing; in glibc it can honor __libc_use_alloca as usual,
23014         and in gnulib we define __libc_use_alloca to always be false, so we
23015         don't need ifdefs in the middle of the function.  This should also be
23016         slightly more efficient in the normal case of long options being fully
23017         spelled out -- I think most people aren't even aware they _can_
23018         sometimes abbreviate long options.
23020         One interesting consequence is that the list of possibilities is now
23021         printed in exactly the order they appear in the list of long options,
23022         instead of the first possibility being shuffled to the end.
23024         (The patch looks bigger than it really is because there's a fair bit
23025         of reindentation and code rearrangement.)
23027         * lib/getopt.c: When used standalone, define __libc_use_alloca
23028         as always false and alloca to abort if called.
23029         (process_long_option): Rewrite handling of ambiguous long options
23030         to use a single boolean vector, not a linked list; use
23031         __libc_use_alloca to decide whether to allocate this using alloca.
23034         getopt: refactor long-option handling
23036         There were two copies of the bulk of the code to handle long options.
23037         Now there is only one.
23039         This change temporarily removes the logic to avoid using alloca when
23040         standalone; the next patch in the series will restore it.
23042         * lib/getopt.c (process_long_option): New function split out
23043         from _getopt_internal_r.
23044         (_getopt_internal_r): Replace both copies of the long-option
23045         processing code with calls to process_long_option.
23048         getopt: tidy up _getopt_initialize a bit
23050         _getopt_data.__posixly_correct is completely redundant to
23051         _getopt_data.__ordering, and some work that logically belongs in
23052         _getopt_initialize was being done by _getopt_internal_r, making the
23053         code harder to understand.
23055         As a side effect, getenv will no longer be called if the first
23056         character of the options string is '+' or '-', which is probably a
23057         Good Thing.  (Perhaps we should have a flag character that
23058         specifically asks for the permutation behavior?)
23060         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
23061         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
23062         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
23065         getopt: merge from glibc: repetition reduction
23067         The definitions of the entry point functions 'getopt' and
23068         '__posix_getopt' can be made substantially less repetitive with a
23069         helper macro.
23071         While I was merging the const-correctness changes from gnulib into
23072         glibc I noticed there are still some unnecessary casts in
23073         _getopt_internal_r.
23075         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
23076         a macro.  Consistently cast 'argv' to 'char **' when calling
23077         _getopt_internal.
23078         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
23081         getopt: clean up error reporting
23083         getopt can print a whole bunch of error messages, and when used
23084         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
23085         cancellation point and getopt isn't, and also applying fprintf to a
23086         stream in wide-character mode is not allowed.  So every single error
23087         reporting case has an #ifdef _LIBC block in which it calls internal
23088         libc functions instead.  The counterpart patch series in glibc makes
23089         it possible to simplify all of that down to a set of #defines at the
23090         top of the file; core code is written as if it is safe to just call
23091         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
23092         call any *other* stdio functions.)
23094         * lib/getopt.c: When _LIBC is defined, define fprintf to
23095         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
23096         to _IO_funlockfile.  When neither _LIBC nor
23097         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
23098         funlockfile as no-ops.
23099         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
23100         standalone error-printing code can now be used for libc as well.
23101         Add an flockfile/funlockfile pair around one case where the error
23102         message is printed in several chunks.  Don't use fputc.
23105         getopt: fix fencepost error in ambiguous-W-option handling
23107         getopt_long contains an undocumented (AFAICT) feature in which, if you
23108         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
23109         treated as equivalent to '--foo'.  This is implemented with a partial
23110         second copy of the code for handling long options, and that code
23111         increments optind one too many times when recovering from an ambiguous
23112         abbreviated option, which can cause the main loop to walk past the end
23113         of argv and crash.
23115         I discovered this while writing a test case that tries to exercise all
23116         of getopt's error reporting paths; I wouldn't be surprised to learn
23117         that this feature is never used by real applications.
23119         * lib/getopt.c (_getopt_internal_r): Don't increment
23120         d->optind a second time when reporting ambiguous -W options.
23123         getopt: clean up getopt.c and getopt1.c file headers
23125         In getopt.c, there is no need to include wchar.h at all, and it is
23126         safe nowadays to assume that stdlib.h does declare getenv (several
23127         other gnulib modules make this assumption).
23129         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
23130         by using "" inclusions consistently, and there is no actual need to
23131         include stdlib.h (except in the #ifdef TEST block, where it should be
23132         unconditional), nor to provide a backup definition of NULL at all.
23134         * lib/getopt1.c: Simplify #ifdeffage at top of file.
23135         Move inclusion of stdlib.h to #ifdef TEST block and make
23136         unconditional.  Do not define NULL.
23137         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
23138         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
23139         * modules/getopt-gnu, modules/getopt-posix: Don't call
23140         gl_PREREQ_GETENV.
23143         getopt: harmonize comments with glibc
23145         The comments explaining how the behavior of 'getopt' varies depending
23146         on whether it's the standalone version and whether there are special
23147         characters at the beginning of the options string were inconsistent
23148         between gnulib and glibc, and also out of sync with the code.
23150         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
23153         getopt: remove USE_NONOPTION_FLAGS
23155         getopt includes code to parse an environment variable named
23156         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
23157         in decimal); but all of it has been #ifdefed out since 2001, with no
23158         official way to turn it back on.
23160         According to commentary in glibc's config.h.in, bash version 2.0
23161         set this environment variable to indicate argv elements that were
23162         the result of glob expansion and therefore should not be treated
23163         as options, but the feature was "disabled later" because "it
23164         caused problems".  According to bash's CHANGES file, "later" was
23165         release 2.01; it gives no more detail about what the problems
23166         were.
23168         Version 2.0 of bash was released on the last day of 1996, and version
23169         2.01 in June of 1997.  Twenty years later, I think it is safe to
23170         assume that this environment variable isn't coming back.
23172         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
23173         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
23174         __libc_argc and __libc_argv externs, which were only used by
23175         #ifdef USE_NONOPTION_FLAGS blocks.
23178         getopt: tabify, in preparation for merge with glibc
23180         glibc sticks to the GNU default of indenting with a mix of
23181         8-column tabs and spaces; make the gnulib copy match.
23183         getopt.h is not included because it is *not* going to be merged in its
23184         present form.
23186         * getopt.c, getopt1.c, getopt_int.h: Tabify.
23188 2017-04-02  Bruno Haible  <bruno@clisp.org>
23190         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
23191         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
23192         like it was done in modules/relocatable-lib on 2011-05-21 and in
23193         modules/relocatable-prog on 2011-08-15.
23194         Reported by Reuben Thomas <rrt@sc3d.org>.
23196 2017-03-31  Bruno Haible  <bruno@clisp.org>
23198         glob: Fix invalid free() call.
23199         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
23200         static storage to home_dir.
23201         Reported by Coverity via Tim Rühsen.
23203 2017-03-31  Bruno Haible  <bruno@clisp.org>
23205         glob: Fix memory leaks.
23206         * lib/glob.c (glob): Free allocated memory before returning.
23207         Reported by Coverity via Tim Rühsen.
23209 2017-03-31  Bruno Haible  <bruno@clisp.org>
23211         md5, sha1, sha256, sha512: Add comments regarding correctness.
23212         * lib/md5.h (buflen): Add comments regarding range.
23213         * lib/sha1.h (buflen): Likewise.
23214         * lib/sha256.h (buflen): Likewise.
23215         * lib/sha512.h (buflen): Likewise.
23216         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
23217         * lib/sha1.c (sha1_process_bytes): Likewise.
23218         * lib/sha256.c (sha256_process_bytes): Likewise.
23219         * lib/sha512.c (sha512_process_bytes): Likewise.
23220         Reported by Coverity via Tim Rühsen.
23222 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
23224         getopt: merge from glibc
23225         This does not change anything substantial; it merely simplifies
23226         hypothetical merges back to glibc.
23227         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
23228         Change copyright notice to match what is in glibc.
23229         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
23230         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
23231         __open_memstream rather than open_memstream and __glibc_likely
23232         instead of __builtin_expect.
23233         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
23235 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23237         dfa: make [0-9] faster in non-C locales
23238         Problem reported by John P. Linderman (Bug#26193).
23239         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
23240         If both ends of the range are ASCII digits, do not worry about
23241         multi-character collating sequences and the like.  Be consistent
23242         about using isalpha as a precondition for setbit_case_fold_c.
23244 2017-03-19  Bruno Haible  <bruno@clisp.org>
23246         lock: Fix compilation error with HP-UX IA64 cc.
23247         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
23248         weak on non-glibc platforms.
23250 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23252         stdalign: tweak version# and test for HP-UX IA64
23253         Problems reported by Bruno Haible in:
23254         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
23255         * lib/stdalign.in.h (_Alignas):
23256         * m4/stdalign.m4 (gl_STDALIGN_H):
23257         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
23258         used octal (as that is how they document it), but it is decimal in
23259         practice now and the ancient implementations no longer matter.
23260         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
23262 2017-03-19  Bruno Haible  <bruno@clisp.org>
23264         vma-iter: Add support for Solaris.
23265         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
23266         approach.
23267         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
23268         * lib/get-rusage-as.c: Update comment about Solaris.
23269         * lib/get-rusage-data.c: Likewise.
23271 2017-03-19  Bruno Haible  <bruno@clisp.org>
23273         vma-iter: Prefer HP-UX specific API on HP-UX.
23274         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
23275         * lib/vma-iter.h: Update.
23276         Just in case HP-UX ever implements mquery().
23278 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
23280         stdalign: restore previous behavior for HP-UX IA64
23281         See Bruno Haible's email in:
23282         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
23283         which cites p 150 of a manual saying that 'aligned' works on Itanium.
23284         * lib/stdalign.in.h (_Alignas):
23285         Assume the '061200' applies to Itanium, not to PA-RISC.
23286         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
23288 2017-03-17  Bruno Haible  <bruno@clisp.org>
23290         stat-time, timespec: Support use of the header files in C++ mode.
23291         * lib/stat-time.h: Add "C" linkage declaration.
23292         * lib/timespec.h: Likewise.
23294 2017-03-17  Bruno Haible  <bruno@clisp.org>
23296         stdalign: Make it work with HP-UX cc.
23297         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
23298         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
23299         for HP-UX cc.
23301 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
23303         flexmember: try to detect HP-UX 11.31 cc bug
23304         Problem reported by Bruno Haible in:
23305         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
23306         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
23307         Attempt to detect bug in HP-UX 11.31 cc.
23309 2017-03-16  Bruno Haible  <bruno@clisp.org>
23311         stdint: Fix test compilation failure with HP-UX 11 cc.
23312         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
23313         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
23314         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
23315         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
23317 2017-03-14  Bruno Haible  <bruno@clisp.org>
23319         gnulib-tool: Don't produce a tests directory with only snippet .h files.
23320         * gnulib-tool (func_modules_transitive_closure_separately): If
23321         testsrelated_modules ends up with no "real" modules, aside from
23322         modules with applicability 'all', set it to empty.
23324 2017-03-14  Bruno Haible  <bruno@clisp.org>
23326         vma-iter: Add support for HP-UX.
23327         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
23328         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
23329         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
23330         * lib/get-rusage-as.c: Update comment about HP-UX.
23331         * lib/get-rusage-data.c: Likewise.
23332         (get_rusage_data): Use get_rusage_data_via_setrlimit.
23334 2017-03-14  Bruno Haible  <bruno@clisp.org>
23336         limits-h: Make it work with HP-UX cc.
23337         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
23338         defined.
23340 2017-03-14  Bruno Haible  <bruno@clisp.org>
23342         Fix test failures on DragonFlyBSD.
23343         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
23344         * tests/test-select.h (test_bad_fd): Likewise.
23345         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
23347 2017-03-14  Bruno Haible  <bruno@clisp.org>
23349         freadahead: Silence warning on DragonFlyBSD.
23350         * lib/freadahead.c (__sreadahead): Declare ourselves.
23352 2017-03-14  Bruno Haible  <bruno@clisp.org>
23354         vma-iter: Add comment about AIX.
23355         * lib/vma-iter.c: Add comment about why this module is not implemented
23356         on AIX.
23358 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
23360         snippets: move unadjusted snippet sources to lib
23361         Problem reported by Michal Privoznik in:
23362         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
23363         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
23364         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
23365         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
23366         * lib/unused-parameter.h: Rename from
23367         build-aux/snippet/unused-parameter.h.
23368         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
23369         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
23370         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
23371         * modules/snippet/c++defs (Files:, CXXDEFS_H):
23372         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
23373         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
23374         Adjust to file renamings.
23376 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
23378         gnulib-tool: don't automatically distribute files from top/
23379         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
23380         not distribute top/README-release by default, don't distribute files
23381         from top/ unconditionally.
23382         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
23383         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
23385 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
23387         gnulib-tool: fix typo in comment output
23388         * gnulib-tool (func_import): Fix typo with previous change.
23390         snippets: work around GNU Make 3.82 VPATH
23391         When using 'gnulib-tool --gnu-make' on Emacs, and building
23392         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
23393         an out-of-source (VPATH) build failed because the sans-copyright
23394         snippet file was not built before the file that used it.
23395         Presumably this is some sort of VPATH thing.  Work around the
23396         problem by using the original snippet, i.e., don’t bother to
23397         remove its copyright notice.
23398         * modules/snippet/_Noreturn, modules/snippet/link-warning:
23399         Don’t assume Automake in comments.  Omit long-incorrect comment.
23400         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
23401         (MOSTLYCLEANFILES):
23402         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
23403         (MOSTLYCLEANFILES):
23404         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
23405         (MOSTLYCLEANFILES):
23406         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
23407         (MOSTLYCLEANFILES):
23408         Remove.
23409         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
23410         * modules/snippet/c++defs (CXXDEFS_H):
23411         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
23412         * modules/snippet/warn-on-use (WARN_ON_USE_H):
23413         Don’t bother to remove the copyright notice; just use the
23414         original snippet as-is.
23416 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
23418         gnulib-tool: minor --gnu-make fixups
23419         * gnulib-tool (func_emit_lib_Makefile_am):
23420         Remove useless code that was a blind alley during implementation.
23421         Problem reported by Thien-Thi Nguyen in:
23422         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
23423         (func_import): Note the "--gnu-make" option in the output comment.
23425 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
23427         gnulib-tool: new option --gnu-make
23428         This is for applications like GNU Emacs that use GNU Make
23429         features instead of Automake.
23430         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
23431         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
23432         Do not assume Automake.
23433         * gnulib-tool (func_determine_path_separator)
23434         (func_modules_transitive_closure, func_update_file)
23435         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
23436         (func_import): Add support for --gnu-make.
23438 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
23440         gnulib-common.m4: avoid aclocal.m4 bloat
23441         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
23442         Hide AM_PROG_AR from aclocal, so that aclocal does not
23443         install irrelevant macro definitions into aclocal.m4.
23445 2017-03-10  Bruno Haible  <bruno@clisp.org>
23447         vma-iter: Let callers know about error.
23448         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
23449         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
23451 2017-03-05  Bruno Haible  <bruno@clisp.org>
23453         Fix value of LD for 64-bit compilers on AIX.
23454         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
23455         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
23457 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
23459         dtotimespec: simplify
23460         * lib/dtotimespec.c (dtotimespec): Simplify.
23462 2017-03-04  Bruno Haible  <bruno@clisp.org>
23464         test-calloc-gnu: Reenable test also for GCC 7.
23465         * tests/test-calloc-gnu.c (eight): New function.
23466         (main): Don't skip test; use eight() instead.
23468 2017-03-04  Jim Meyering  <meyering@fb.com>
23470         test-calloc-gnu: port to GCC7
23471         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
23472         that attempts to calloc more than SIZE_MAX bytes, because GCC7
23473         and newer would detect that at compilation time.
23475 2017-03-04  Bruno Haible  <bruno@clisp.org>
23477         tests: Avoid compiler warning about uses of null_ptr.
23478         * tests/null-ptr.h: New file.
23479         * tests/test-canonicalize.c: Include null-ptr.h.
23480         (null_ptr): Remove function.
23481         * tests/test-canonicalize-lgpl.c: Likewise.
23482         * tests/test-memmem.c: Likewise.
23483         * tests/test-ptsname_r.c: Likewise.
23484         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
23485         * modules/canonicalize-lgpl-tests: Likewise.
23486         * modules/memmem-tests: Likewise.
23487         * modules/ptsname_r-tests: Likewise.
23488         Reported by Jim Meyering.
23490 2017-03-03  Bruno Haible  <bruno@clisp.org>
23492         doc: Mention Mac OS X deficiencies regarding semaphores.
23493         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
23494         * doc/posix-functions/sem_destroy.texi: Likewise.
23495         * doc/posix-functions/sem_getvalue.texi: Likewise.
23497 2017-03-03  Bruno Haible  <bruno@clisp.org>
23499         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
23500         Reported by Assaf Gordon <assafgordon@gmail.com> via
23501         Pádraig Brady <P@draigBrady.com>.
23502         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
23503         semaphores.
23504         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
23505         (atomic_int_semaphore): New macro.
23507 2017-02-28  Bruno Haible  <bruno@clisp.org>
23509         perror tests: Tweak for z/OS.
23510         Reported by Daniel Richard G. <skunk@iskunk.org>.
23511         * tests/test-perror.sh: Don't fail z/OS style perror output.
23513 2017-02-26  Bruno Haible  <bruno@clisp.org>
23515         nproc: Refactor large function.
23516         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
23517         from num_processors.
23518         (num_processors): In this function, only deal with OMP.
23520 2017-02-26  Pádraig Brady  <P@draigBrady.com>
23522         nproc: adjust handling of OpenMP environment variables
23523         to match the return value from omp_get_num_threads(), i.e.:
23524          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
23525          - Treat 0 as an invalid value and ignore
23526         Also remove the call to omp_get_num_threads() because
23527         it's ineffective without the omp pragmas in place.
23528         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
23529         so that it can be ignored.
23530         (num_processors): Honor OMP_THREAD_LIMIT even without
23531         OMP_NUM_THREADS being set.  Also fix a typo in the environment
23532         variable being checked, from the previous recent commit.
23534 2017-02-26  Pádraig Brady  <P@draigBrady.com>
23536         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
23537         * lib/nproc.c (parse_omp_threads): A new function refactored
23538         from num_processors() to support parsing both of the
23539         above environment variables.
23540         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
23541         to accurately reflect the current OpenMP nesting level.
23542         Also support the OMP_THREAD_LIMIT environment variable
23543         to limit the max value determined from OMP_NUM_THREADS.
23544         * modules/nproc: Depend on minmax header.
23545         Suggested by Oliver Heimlich.
23547 2017-02-25  Bruno Haible  <bruno@clisp.org>
23549         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
23550         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
23552 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23554         ftoastr: port to -Wdouble-promotion
23555         Work around -Wdouble-promotion false alarm in recent GCCs.
23556         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
23557         (ftoastr_snprintf, FTOASTR): Use it.
23559 2017-02-21  Bruno Haible  <bruno@clisp.org>
23561         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
23562         Reported by Rene Saavedra <rennes@openmailbox.org> in
23563         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
23564         * lib/glthread/lock.h: On glibc systems without
23565         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
23566         implementation of rwlocks.
23567         * lib/glthread/lock.c: Likewise.
23569 2017-02-20  Bruno Haible  <bruno@clisp.org>
23571         lock tests: Fix build failure on z/OS.
23572         Reported by Daniel Richard G. <skunk@iskunk.org>.
23573         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
23574         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
23575         exist.
23577 2017-02-19  Bruno Haible  <bruno@clisp.org>
23579         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
23580         This helps when CC=clang.
23581         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
23582         of /usr/bin/gcc.
23584         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
23585         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
23587 2017-02-19  Bruno Haible  <bruno@clisp.org>
23589         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
23590         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
23591         --with-tests --single-configure is specified.
23593 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
23595         users.txt: Update links, use HTTPS where possible
23596         * users.txt: Updated to HTTPS where possible,
23597         fixed some links to new locations.
23599 2017-02-16  Bruno Haible  <bruno@clisp.org>
23601         xbinary-io: Fix inlining.
23602         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
23604 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23606         xbinary-io: rename from xsetmode
23607         This patch is taken from suggestions by Bruno Haible in:
23608         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
23609         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
23610         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
23611         not ENOTTY, when it is an inappropriate device.
23612         * lib/binary-io.h (SET_BINARY): Resurrect.
23613         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
23614         (xset_binary_mode_error): Rename from xsetmode_error.
23615         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
23616         (xset_binary_mode): Rename from xsetmode.
23617         All uses changed.
23618         * modules/xbinary-io: Rename from modules/xsetmode.
23619         Update file names.
23620         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
23621         * NEWS: Update to match revised behavior.
23623 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23625         tests: Adjust to recent SET_BINARY change
23626         * tests/test-binary-io.c (main):
23627         * tests/test-binary-io.sh: Remove test for SET_BINARY.
23628         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
23629         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
23630         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
23632         xsetmode: new module
23633         This is to fix a problem noted by Eric Blake.
23634         Code was using xfreopen to change files to binary mode, but this
23635         fails for stdout when in append mode.  Such code should use
23636         xsetmode instead.
23637         * NEWS: Document incompatible changes to binary-io module.
23638         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
23639         New function.
23640         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
23641         (set_binary_mode): New function, which also checks for tty.
23642         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
23644 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
23646         headers: fix begin-end typos
23647         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
23648         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
23650         selinux-h: port to PGI 16.10
23651         * lib/se-selinux.in.h: Don't assume that include_next skips over
23652         duplicate -I DIR options.
23654         argp: port to PGI 16.10
23655         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
23657 2017-02-13  Darshit Shah  <darnir@gnu.org>
23659         unicase: Update function protoype to match definition.
23660         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
23661         uses 'size_t' as the datatype for the 'len' parameter in the functions
23662         it generates. Update the prototype specified here to match the newly
23663         generated function.
23665 2017-02-12  Bruno Haible  <bruno@clisp.org>
23667         times test: Avoid gcc warnings on Linux/x32.
23668         * tests/test-times.c (main): Really cast printf arguments from clock_t
23669         to 'long int'.
23671 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23673         glob: port better to emscripten
23674         Problem reported by Bruno Haible in:
23675         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
23676         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
23678 2017-02-11  Bruno Haible  <bruno@clisp.org>
23680         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
23681         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
23682         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
23683         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
23684         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
23685         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
23686         Distinguish hppa64 from hppa.
23688 2017-02-10  Bruno Haible  <bruno@clisp.org>
23690         search: Don't assume that tsearch() exists if 'VISIT' is defined.
23691         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
23692         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
23693         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
23695 2017-02-09  Bruno Haible  <bruno@clisp.org>
23697         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
23698         * doc/gnulib.texi (Libtool and Windows): Recommend
23699         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
23700         Reported by Reuben Thomas <rrt@sc3d.org>.
23702 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23704         stddef-tests: port to SIZE_MAX <= INT_MAX
23705         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
23706         Do not assume that INT_MAX < SIZE_MAX.
23708 2017-02-01  Bruno Haible  <bruno@clisp.org>
23710         lock tests: Fix link error.
23711         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
23712         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23714 2017-01-31  Bruno Haible  <bruno@clisp.org>
23716         lock: Fix link error (regression from 2017-01-05).
23717         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
23718         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
23719         pthread_rwlockattr_destroy weak.
23720         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23722 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
23724         Port to PGI 16.10 x86-64
23725         This patch fixes one real bug in gl_anylinked_list2.h, along with
23726         some minor glitches that are not bugs.  It does not silence PGI’s
23727         thousands of bogus warnings when compiling test-intprops.c.
23728         Fortunately, the warnings do not cause a failure.
23729         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
23730         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
23731         My goodness, PGI goes back a long ways - this predates C89!
23732         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
23733         For example, ASYNCSAFE (const void *) should expand to
23734         ‘const void *volatile’, not to ‘volatile const void *’.
23735         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
23736         * lib/verify.h (verify) [!__GNUC__]:
23737         Use shorter albeit meaningless string to bypass silly compiler limits.
23738         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
23739         * tests/nan.h (NaNf, NaNd, NaNl):
23740         Use static functions to avoid misguided compiler diagnostics.
23741         Is there some reason we don’t use static functions on all platforms?
23743 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
23745         parse-datetime: handle timezones reentrantly
23746         This API change was prompted by a report by Pádraig Brady in:
23747         https://bug.debian.org/851934#10
23748         To help fix the bug, make parse_datetime2 more reentrant.
23749         * NEWS: Document this incompatible change.
23750         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
23751         Add two arguments, the timezone and the timezone name.
23752         All callers changed.  If TZ="..." is specified, use it for
23753         calculating defaults.
23754         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
23755         this code should be usable in a library.
23756         (mktime_ok, get_effective_timezone):
23757         Accept timezone arg too.  All callers changed.
23758         (get_tz): Remove.
23759         (get_effective_timezone): Check for failures.
23761 2017-01-20  Eric Blake  <eblake@redhat.com>
23763         localename: port to cygwin 2.6
23764         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
23765         Cygwin.
23766         * modules/localename (Depends-on): Add extensions, since
23767         NL_LOCALE_NAME() is not visible without it.
23769 2017-01-17  Pádraig Brady  <P@draigBrady.com>
23771         parse-datetime: fix dependence on AC_PROG_SED
23772         * modules/parse-datetime: Use `sed` directly like all other modules.
23773         Reported by J William Piggott
23775 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
23777         intprops: update doc URLs
23778         * doc/intprops.texi (Integer Range Overflow): Update URLs.
23780 2017-01-16  Bruno Haible  <bruno@clisp.org>
23782         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
23783         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
23784         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
23785         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
23786         distinguish s390 and s390x.
23787         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
23788         * NEWS: Mention the change regarding 'armel'.
23790 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
23792         localeinfo: case_folded_counterparts and WEOF
23793         * NEWS: Document this.
23794         * lib/localeinfo.c (case_folded_counterparts):
23795         First arg is now wint_t, not wchar_t.  This generalizes the
23796         function to also work on WEOF, where it returns 0.
23798         dfa: port to gcc -fsanitize=undefined
23799         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
23800         as this runs afoul of gcc -fsanitize=undefined.
23802 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
23804         strftime: %z is -00 if unknown
23805         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
23806         the caller's responsibility to set 'negative_number'.  All uses changed.
23807         (__strftime_internal): Put '-' before a zero UTC offset if the time
23808         zone abbreviation starts with "-", which is the recently-introduced
23809         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
23810         * tests/test-strftime.c: Test for this.
23812 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
23814         dfa: port to older GCC
23815         Problem reported by Assaf Gordon in:
23816         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
23817         * modules/c99: New module.  This merely attempts to use the latest
23818         C version, which should be enough to solve this particular problem.
23819         The idea is to document which Gnulib modules assume C99 or later.
23820         * modules/dfa (Depends-on): Add it.
23822 2017-01-10  Bruno Haible  <bruno@clisp.org>
23824         Update DEPENDENCIES.
23825         * DEPENDENCIES: List only https URLs. Update recommended version for
23826         autoconf, automake, gperf.
23828 2017-01-10  Jim Meyering  <meyering@fb.com>
23830         maint.mk: enforce spelling of "timestamp" (i.e., no space)
23831         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
23832         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
23834 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
23836         dfa: minor simplification with emptyset
23837         * lib/dfa.c (build_state): Simplify by using emptyset.
23839 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
23841         dfa: shrink constraints from 4 bits to 3
23842         * lib/dfa.c (newline_constraint, letter_constraint)
23843         (other_constraint, prev_newline_dependent)
23844         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
23845         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
23846         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
23847         Constraints need only 3 bits, not 4.  Using smaller integers
23848         shrinks the code a bit and makes grep a tad faster on x86-64.
23850         dfa: omit unnecessary ptrdiff_t check
23851         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
23852         overflow, since xnmalloc does that now.
23854         dfa: omit unnecessary allocation
23855         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
23856         an all-zero follow set works just fine.
23858         dfa: omit unused local
23859         * lib/dfa.c (build_state): Fix up recent change.
23861         maint: remove stray .texi files
23862         Although these were superseded by other files like
23863         doc/posix-functions/ctime.texi, the old files were not removed.
23864         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
23866 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
23868         getprogname: fix port to IRIX
23869         * lib/getprogname.c (getprogname) [__sgi]:
23870         Don't dump core if malloc returns NULL.
23872         dfa: fix reallocation bug when matching newlines
23873         Problem reported for sed by S. Gilles (Bug#25390).
23874         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
23875         (dfastate): Reallocate before moving any newline transition ...
23876         (build_state): ... instead of reallocating here, where it is too late.
23878 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
23880         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
23881         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
23883 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
23885         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
23886         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
23888 2017-01-07  Bruno Haible  <bruno@clisp.org>
23890         stdioext: Port to Minix 3.2 and newer.
23891         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
23892         * lib/fseeko.c (fseeko): Likewise.
23893         Reported by Nelson Beebe via Paul Eggert.
23895 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
23897         getprogname: port to IRIX
23898         * lib/getprogname.c (getprogname): Port to IRIX.
23899         Based on an idea by Bastien Roucariès at:
23900         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
23901         via code from Bruno Haible at:
23902         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
23904         localename-tests: port to NetBSD 7
23905         Problem reported by Nelson H. F. Beebe.
23906         * tests/test-localename.c:
23907         Test newlocale and uselocale only if both exist.
23909         glob, intprops, xalloc: work around Clang bug
23910         Work around LLVM bug 16404, which is still not fixed.
23911         https://llvm.org/bugs/show_bug.cgi?id=16404
23912         Problem reported by Nelson H. F. Beebe.
23913         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
23914         Remove.
23915         * lib/glob.c (size_add_wrapv):
23916         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
23917         * lib/xalloc-oversized.h (xalloc_oversized):
23918         Do not use overflow builtins if Clang.
23920         dfa: fix 'return' typo
23921         Problem reported by Nelson H. F. Beebe.
23922         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
23924 2017-01-05  Pádraig Brady  <P@draigBrady.com>
23926         parse-datetime: fix generated paths for coverage files
23927         * modules/parse-datetime: Adjust the paths for parse-datetime.y
23928         within parse-datetime.c, so that gcc generates appropriate .gcno
23929         files, allowing lcov to proceed without error.  Previously it
23930         would error trying to find "lib/lib/parse-datetime.y".
23932 2017-01-05  Pádraig Brady  <P@draigBrady.com>
23934         maint.mk: support parallel execution of coverage
23935         * top/maint.mk (coverage): Run dependencies serially,
23936         thus supporting parallel processing of each one,
23937         particularly build-coverage, which builds and runs tests.
23939 2017-01-05  Bruno Haible  <bruno@clisp.org>
23941         lock tests: Prefer semaphore over mutex.
23942         * tests/test-lock.c (USE_SEMAPHORE): New constant.
23943         (struct atomic_int, init_atomic_int, get_atomic_int_value,
23944         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
23945         Suggested by Torvald Riegel <triegel@redhat.com>.
23947 2017-01-05  Bruno Haible  <bruno@clisp.org>
23949         lock: Provide guarantee to avoid writer starvation for rwlocks.
23950         The rationale is: 1) Read-preferring read-write locks are prone to
23951         writer starvation if the number of reader threads multiplied by the
23952         percentage of time they have the lock held is too high. 2) Write-
23953         preferring read-write locks are the only reliable way to avoid this.
23954         3) There have been reports of 'test-lock' hanging on glibc systems
23955         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
23956         and glibc indeed implements read-preferring rwlocks by default, see
23957         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
23958         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
23959         * m4/pthread_rwlock_rdlock.m4: New file.
23960         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
23961         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
23962         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
23963         of rwlock initialization on glibc systems without
23964         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
23965         of rwlocks altogether on non-glibc systems without
23966         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
23967         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
23968         * lib/glthread/lock.c [USE_POSIX_THREADS]
23969         (glthread_rwlock_init_for_glibc): New function.
23970         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
23971         comment.
23972         [USE_PTH_THREADS]: New implementation of rwlocks.
23973         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
23974         readers.
23975         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
23976         (Depends-on): Add 'extensions'.
23977         * tests/test-rwlock1.c: New file.
23978         * lock-tests (Files): Add it.
23979         (Depends-on): Add usleep.
23980         (Makefile.am): Add test-rwlock1 to the tests.
23982 2017-01-05  Bruno Haible  <bruno@clisp.org>
23984         thread: Fix pth port.
23985         * lib/glthread/thread.h (pth_init): Declare weak.
23986         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
23987         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
23988         function.
23990 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
23992         parse-datetime: fix debug message on lone year number
23993         Input dates such as
23994           date -d "Apr 11 22:59:00 2011"
23995         are parsed as date (Apr 11, with default year 2016), then time, then a
23996         number (2011). Based on the combination of previously seen tokens,
23997         'digits_to_date_time' determines 2011 to be a year value.
23998         This fixes the debug messages to correctly show the updated year.
23999         Before:
24000             $ date --debug -d 'Apr 11 22:59:00 2011'
24001             date: parsed date part: (Y-M-D) 2016-04-11
24002             date: parsed time part: 22:59:00
24003             date: parsed number part: today/this/now
24004         After:
24005             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
24006             date: parsed date part: (Y-M-D) 2016-04-11
24007             date: parsed time part: 22:59:00
24008             date: parsed number part: year: 2011
24009         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
24010         'debug_year_seen' member fields.
24011         (digits_to_date_time): Update 'year_seen' as needed.
24012         (debug_print_current_time): Inform about year updates.
24013         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
24015         parse-datetime: fix local timezone debug messages
24016         "Local timezones" are strings that affect only DST relative to the
24017         default timezone. The debug messages in parse-datetime.y printed
24018         wrong information when encountering local timezones.
24019         Examples:
24020         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
24021              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
24022              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
24023         When the default timezone relates to the zone strings, EET/EEST are
24024         parsed as local timezones (tLOCAL_ZONE), and only change the DST
24025         value (0/1, respectively):
24026              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
24027              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
24028         * lib/parse-datetime.y (debug_print_current_time): If local timezone
24029         was seen, inform about DST change, don't print actual timezone.
24030         (debug_strfdatetime): If local timezone was seen, use default timezone
24031         (and adjust as needed) instead of using incorrect timezone.
24032         (parse_datetime2): Use correct time-zone source string, and adjust
24033         default timezone as needed.
24035         parse-datetime: add debug warning about DST changes
24036         Incorrect date arithmetic due to daylight saving time (DST) are a
24037         common (false) bug report in coreutils.
24038         Detect two such cases and print a warning:
24039         1. year/month/day adjustments (performed on 'struct tm'),
24040            where 'mktime' returns a different isdst value.
24041         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
24042            where the result of 'localtime(3)' on the value will return a
24043            different isdst value.
24044         Note: DST changes could be harmless or unnoticeable.
24045         Examples (with 'TZ=America/New_York'):
24046         Unnoticeable: result is 2016-Dec-14
24047            $ date -d '2016-06-15 EDT + 6 months' +%b
24048            Dec
24049         Unnoticeable: result is 2016-Dec-15 11:00:00
24050            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
24051            2016-12-15
24052         This is unexpected:
24053            $ date -d '2016-06-01 EDT + 6 months' +%F
24054            2016-11-30
24055         The new debug warnings will show:
24056            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
24057            ...
24058            date: warning: daylight saving time changed after date adjustment
24059            ...
24060         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
24061         print an appropriate warning message.
24063         parse-datetime: add debug warning about date arithmetic
24064         Date arithmetic are done directly on the fields of 'struct tm',
24065         which can result in invalid dates. Normalization with 'mktime(3)'
24066         will then produce a different date - which might cause unexpected
24067         results.
24068         Examples:
24069           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
24070           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
24071         Note that date normalization is not inherently wrong and not rejected,
24072         as it has legitimate uses:
24073           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
24074         If the user asked to adjust months but 'mday' changed,
24075         or user asked to adjust years but 'month' changed - warn about it.
24076             $ ./src/date --debug -d '2016-10-31 - 1 month'
24077             ...
24078             date: warning: when adding relative months/years, \
24079                            it is recommended to specify the 15th of the month
24080             ...
24081             date: warning: month/year adjustment resulted in shifted dates:
24082             date:      adjusted Y M D: 2016 09 31
24083             date:    normalized Y M D: 2010 10 01
24084             ...
24085         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
24086         a warning message. Improve recommendation of when to use 15 of the
24087         month or noon for date arithmetic.
24089         parse-datetime: fix debug message of relative part after timezone
24090         Relative part (e.g '+8 days') after a timezone string was not
24091         reported (was only reported after a timezone number). Due to the
24092         parser's structure, timezone strings with numbers were handled
24093         separately.
24094         before:
24095              # Timezone number + relative part: OK
24096              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
24097              ...
24098              date: parsed relative part: -8 day(s)
24099              # Timezone string + relative part: missing
24100              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
24101              [ missing message ]
24102         After: messages are printed in both cases.
24103         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
24105         parse-datetime: fix incorrect debug message on lone number
24106         A lone number is an absolute value, not a relative time part.
24107         before:
24108            $ date --debug -d '20130101'
24109            date: parsed number part: today/this/now
24110         After:
24111            $ ./src/date --debug -d '20130101'
24112            date: parsed number part: (Y-M-D) 2013-01-01
24113         * lib/parse-datetime.y ('item'/'number' tokens): Call
24114         'debug_print_current_time' instead of 'debug_print_relative_time'.
24116 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
24118         doc: modernize for C11 etc.
24119         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
24120         for C11, MinGW, etc.  This responds to Paul Smith's question in:
24121         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
24123         dfa: prefer functions to FETCH_WC macro
24124         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
24125         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
24126         wint_t result into DFA->lex.wctok instead of to a separate arg.
24127         All callers changed.  Move more local decls closer to where
24128         they're used.
24130         dfa: narrow more local var scopes
24131         * lib/dfa.c: Move more local decls to be more local.
24133         dfa: remove duplicate assignment
24134         Problem reported by Bruno Haible in:
24135         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
24136         * lib/dfa.c (parse_bracket_exp): Simplify.
24138 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
24140         dfa: simplify constraint-dependency checking
24141         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
24142         (prev_other_constraint): Remove.
24143         (prev_newline_dependent, prev_letter_dependent):
24144         Simplify, to avoid an unnecessary bitwise AND operation.
24146         dfa: prefer functions and constants to macros
24147         * lib/dfa.c: Prefer constants to macros where either will do.
24148         (streq, isasciidigit, newline_constraint)
24149         (letter_constraint, other_constraint, succeeds_in_context)
24150         (prev_newline_constraint, prev_letter_constraint)
24151         (prev_other_constraint, prev_newline_dependent)
24152         (prev_letter_dependent, accepting, accepts_in_context):
24153         Now static functions instead of function-like macros.
24154         Use lower-case names accordingly.  All uses changed.
24156         dfa: narrow more local var scopes
24157         * lib/dfa.c: Move some more local decls down to nearer where
24158         they're needed.
24160 2016-12-31  Jim Meyering  <meyering@fb.com>
24162         dfa: narrow the scope of many local variables
24163         * lib/dfa.c: Now that we are no longer constrained to c89, move
24164         declarations of many variables (often indices) "down" into the
24165         scope(s) where used or to the point of definition.  This is a
24166         no-semantic-change diff.
24168 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
24170         version-etc: new year
24171         * build-aux/gendocs.sh (version):
24172         * doc/gendocs_template:
24173         * doc/gendocs_template_min:
24174         * doc/gnulib.texi:
24175         * lib/version-etc.c (COPYRIGHT_YEAR):
24176         Update copyright dates by hand in templates and the like.
24177         * all files: Run 'make update-copyright'.
24179 2016-12-31  Eric Blake  <eblake@redhat.com>
24181         do-release-commit-and-tag: avoid shell syntax error
24182         * build-aux/do-release-commit-and-tag (curr_br): $branch can
24183         contain spaces when rebasing.
24185         maint.mk: hoist gnulib_dir definition earlier
24186         * top/maint.mk (gnulib_dir): Move near top of file.
24188 2016-12-31  Jim Meyering  <meyering@fb.com>
24190         maint.mk: do not always evaluate intprops-related shell
24191         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
24192         using gnulib_dir undefined (gnulib_dir is defined later in the
24193         file, which will be fixed separately), and besides, there is no
24194         need to incur the cost of this shell invocation for every single
24195         use of this .mk file.  Reported by Eric Blake in
24196         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
24198 2016-12-30  Jim Meyering  <meyering@fb.com>
24200         maint.mk: improve sc_prohibit_intprops_without_use
24201         * top/maint.mk (_intprops_names): Don't hard-code the list of
24202         symbol names.  Instead, derive it on the fly.
24204 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
24206         dfa: shorten sbit, success
24207         * lib/dfa.c (struct regex_syntax.sbit):
24208         (struct dfa.success): Use char, not int, for array elements, since
24209         they are all in the range 0..7.
24211         dfa: simplify multibyte_prop etc.
24212         This follows up on a change made when dfa.c was in grep, namely grep
24213         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
24214         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
24215         That earlier simplification allows for some more simplification
24216         and trimming down here.
24217         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
24218         (struct lexer_state): New mamber brack.
24219         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
24220         since they must be in the range 0..3 now.
24221         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
24222         the brack member now supersedes them.
24223         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
24224         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
24225         (dfaparse): Remove unnecessary initializations of already-0 storage.
24226         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
24227         (dfassbuild): No need to clear sup->mbcsets.
24229         dfa: minor performance tweak
24230         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
24232         dfa: wrap charclass inside a struct
24233         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
24234         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
24235         about 5% faster, where list.txt is generated by 'aspell dump
24236         master | head -n 100000 >list.txt'.  See Bug#22239.
24237         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
24238         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
24239         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
24240         Adjust to this, e.g., by using charclass * rather than charclass.
24241         All callers changed as needed.
24242         (copyset): Remove.  All uses changed to simple assignment.
24243         (parse_bracket_exp): Use zeroset instead of memset.
24245 2016-12-30  Jim Meyering  <meyering@fb.com>
24247         maint.mk: update list of intprops.h symbol names
24248         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
24249         This avoids a false failure of the sc_prohibit_intprops_without_use
24250         rule in grep.
24252 2016-12-29  Eric Blake  <eblake@redhat.com>
24254         getopt: fix parallel test failure
24255         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
24256         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
24257         * tests/test-getopt-main.h (main): Use different file names
24258         in case test-getopt-gnu and test-getopt-posix run in parallel.
24260 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24262         xalloc: x2nrealloc check for ptrdiff_t overflow
24263         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
24264         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
24266 2016-12-24  Bruno Haible  <bruno@clisp.org>
24268         lock test: Fix performance problem on multi-core machines.
24269         * tests/test-lock.c (USE_VOLATILE): New macro.
24270         (struct atomic_int): New type.
24271         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
24272         functions.
24273         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
24274         as 'struct atomic_int'.
24275         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
24276         reclock_checker_thread, test_recursive_lock): Use the new functions.
24277         Reported by Eric Blake in
24278         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
24279         and by Pádraig Brady in
24280         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
24282 2016-12-19  Bruno Haible  <bruno@clisp.org>
24284         vma-iter: Fix endless loop on 64-bit Windows.
24285         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
24286         'unsigned long'.
24288 2016-12-19  Bruno Haible  <bruno@clisp.org>
24290         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
24291         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
24292         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
24293         Invoke gt_TYPE_WINT_T instead.
24294         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
24295         * modules/stdint (Files): Add m4/wint_t.m4.
24296         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
24297         * modules/wctype-h (Makefile.am): Likewise.
24298         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
24299         not only on MSVC.
24300         * lib/wctype.in.h (wint_t): Likewise.
24302 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24304         getopt-posix-tests: fix Makefile typo
24305         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
24306         Fix typo: the last ‘_’ was missing in the name.
24307         I suspect that the typo explains this build failure:
24308         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
24309         although I can’t reproduce the problem on Solaris 10 sparc.
24311 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24313         dfa: improve worst-case 'replace' performance
24314         See my note in Bug#22357#71.
24315         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
24316         (merge_constrained): New function, which is like
24317         the old 'merge' function, except with a new argument C2.
24318         Simplify the body by avoiding the need for different sections
24319         of code depending on whether one input is exhausted.
24320         (merge): Use the new function.
24321         (delete): Return the constraint of the deleted position,
24322         not the entire position.  Caller changed.
24323         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
24325 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
24327         dfa: performance improvement for removal of epsilon closure
24328         See Bug#22357#32.
24329         * lib/dfa.c (delete): Use binary search to find deleted index.
24330         (replace): New function.  It replaces a position with the followed set.
24331         (epsclosure): Replace it with a new algorithm.  Update caller.
24333 2016-12-18  Bruno Haible  <bruno@clisp.org>
24335         Split tests for getopt-posix and getopt-gnu.
24336         * tests/test-getopt-posix.c: New file.
24337         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
24338         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
24339         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
24340         GNULIB_TEST_GETOPT_GNU.
24341         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
24342         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
24343         (Makefile.am): Test test-getopt-posix instead of test-getopt.
24344         * modules/getopt-gnu-tests: New file.
24345         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
24347 2016-12-18  Bruno Haible  <bruno@clisp.org>
24349         posix-modules: Add options for specific platforms.
24350         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
24351         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
24352         Invoke func_tmpdir. Filter out the excludes.
24354 2016-12-18  Bruno Haible  <bruno@clisp.org>
24356         getopt: Fix link error for users of getopt() in <unistd.h>.
24357         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
24358         __need_getopt is defined. Undefine all macros before defining them.
24359         * modules/getopt (Include): Clarify that including <unistd.h> is also
24360         OK.
24361         * tests/test-getopt.c: Add comment.
24363 2016-12-17  Bruno Haible  <bruno@clisp.org>
24365         getaddrinfo tests: Avoid compilation error on MSVC.
24366         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
24367         getaddrinfo on native Windows.
24369 2016-12-17  Bruno Haible  <bruno@clisp.org>
24371         getlogin, getlogin_r: Fix link errors on MSVC.
24372         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
24373         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
24374         (Link): New section.
24375         * modules/getlogin_r (Files): Add m4/getlogin.m4.
24376         (configure.ac): Require gl_LIB_GETLOGIN.
24377         (Link): New section.
24378         * NEWS: Mention the new link requirements.
24379         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
24380         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
24382 2016-12-17  Bruno Haible  <bruno@clisp.org>
24384         Un-deprecate the 'progname' module.
24385         * NEWS: Describe the appropriate use-cases of 'progname' versus
24386         'getprogname'. Based on discussion summary at
24387         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
24389 2016-12-17  Bruno Haible  <bruno@clisp.org>
24391         Reorganize NEWS a bit.
24392         * NEWS: Move some not so important changes away from section
24393         "Important Notes".
24395 2016-12-17  Bruno Haible  <bruno@clisp.org>
24397         tanhf: Avoid redefinition error on MSVC.
24398         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
24399         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
24400         may be defined as an inline function.
24401         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
24402         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
24404 2016-12-17  Bruno Haible  <bruno@clisp.org>
24406         tanf: Avoid redefinition error on MSVC.
24407         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
24408         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
24409         may be defined as an inline function.
24410         * modules/math (Makefile.am): Substitute REPLACE_TANF.
24411         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
24413 2016-12-17  Bruno Haible  <bruno@clisp.org>
24415         sqrtf: Avoid redefinition error on MSVC.
24416         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
24417         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
24418         may be defined as an inline function.
24419         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
24420         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
24422 2016-12-17  Bruno Haible  <bruno@clisp.org>
24424         sinhf: Avoid redefinition error on MSVC.
24425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
24426         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
24427         may be defined as an inline function.
24428         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
24429         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
24431 2016-12-17  Bruno Haible  <bruno@clisp.org>
24433         sinf: Avoid redefinition error on MSVC.
24434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
24435         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
24436         may be defined as an inline function.
24437         * modules/math (Makefile.am): Substitute REPLACE_SINF.
24438         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
24440 2016-12-17  Bruno Haible  <bruno@clisp.org>
24442         logf: Avoid redefinition error on MSVC.
24443         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
24444         may be defined as an inline function.
24446 2016-12-17  Bruno Haible  <bruno@clisp.org>
24448         log10l: Avoid redefinition error on MSVC.
24449         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
24450         may be defined as an inline function.
24452 2016-12-17  Bruno Haible  <bruno@clisp.org>
24454         log10f: Avoid redefinition error on MSVC.
24455         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
24456         may be defined as an inline function.
24458 2016-12-17  Bruno Haible  <bruno@clisp.org>
24460         hypotl: Avoid redefinition error on MSVC.
24461         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
24462         may be defined as an inline function.
24464 2016-12-17  Bruno Haible  <bruno@clisp.org>
24466         hypotf: Avoid redefinition error on MSVC.
24467         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
24468         may be defined as an inline function.
24470 2016-12-17  Bruno Haible  <bruno@clisp.org>
24472         fmodl: Avoid redefinition error on MSVC.
24473         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
24474         may be defined as an inline function.
24476 2016-12-17  Bruno Haible  <bruno@clisp.org>
24478         fmodf: Avoid redefinition error on MSVC.
24479         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
24480         may be defined as an inline function.
24482 2016-12-17  Bruno Haible  <bruno@clisp.org>
24484         expf: Avoid redefinition error on MSVC.
24485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
24486         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
24487         may be defined as an inline function.
24488         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
24489         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
24491 2016-12-17  Bruno Haible  <bruno@clisp.org>
24493         coshf: Avoid redefinition error on MSVC.
24494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
24495         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
24496         may be defined as an inline function.
24497         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
24498         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
24500 2016-12-17  Bruno Haible  <bruno@clisp.org>
24502         cosf: Avoid redefinition error on MSVC.
24503         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
24504         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
24505         may be defined as an inline function.
24506         * modules/math (Makefile.am): Substitute REPLACE_COSF.
24507         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
24509 2016-12-17  Bruno Haible  <bruno@clisp.org>
24511         atan2f: Avoid redefinition error on MSVC.
24512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
24513         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
24514         may be defined as an inline function.
24515         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
24516         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
24518 2016-12-17  Bruno Haible  <bruno@clisp.org>
24520         atanf: Avoid redefinition error on MSVC.
24521         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
24522         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
24523         may be defined as an inline function.
24524         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
24525         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
24527 2016-12-17  Bruno Haible  <bruno@clisp.org>
24529         asinf: Avoid redefinition error on MSVC.
24530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
24531         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
24532         may be defined as an inline function.
24533         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
24534         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
24536 2016-12-17  Bruno Haible  <bruno@clisp.org>
24538         acosf: Avoid redefinition error on MSVC.
24539         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
24540         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
24541         may be defined as an inline function.
24542         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
24543         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
24545 2016-12-17  Bruno Haible  <bruno@clisp.org>
24547         Avoid redefinition errors on MSVC.
24548         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
24549         the function may be defined as an inline function.
24550         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
24551         the function may be defined as an inline function.
24553 2016-12-17  Bruno Haible  <bruno@clisp.org>
24555         Avoid redefinition errors on MSVC.
24556         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
24557         * lib/unistd.in.h: Include <stdio.h> when necessary.
24559 2016-12-17  Bruno Haible  <bruno@clisp.org>
24561         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
24562         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
24563         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
24564         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
24565         WINT_MAX.
24567 2016-12-17  Bruno Haible  <bruno@clisp.org>
24569         Avoid autoconf warning.
24570         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
24571         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
24573 2016-12-17  Bruno Haible  <bruno@clisp.org>
24575         fpending: Revert workaround against Emacs bug.
24576         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
24577         The Emacs bug is fixed by Eli Zaretskii in
24578         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
24580 2016-12-17  Bruno Haible  <bruno@clisp.org>
24582         getlogin_r tests: Port to mingw.
24583         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
24584         regression introduced on 2014-05-19.
24586 2016-12-17  Bruno Haible  <bruno@clisp.org>
24588         getlogin: Port to newer mingw.
24589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
24590         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
24591         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
24592         HAVE_GETLOGIN.
24593         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
24594         HAVE_GETLOGIN.
24595         * doc/posix-functions/getlogin.texi: Mention the issue.
24596         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
24597         regression introduced on 2014-05-14.
24599 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
24601         builtin-expect: improve port to IBM XL C
24602         Problem reported for z/OS by Daniel Richard G. in:
24603         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
24604         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
24605         Test for <builtins.h> directly.
24607         builtin-expect: port to IBM XL C
24608         Problem reported for z/OS by Daniel Richard G. in:
24609         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
24610         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
24611         Also allow __builtin_expect defined via a standard include file.
24613         regex: fix dependency
24614         Problem reported by Bruno Haible in:
24615         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
24616         * modules/regex: Depend on builtin-expect.
24618         builtin-expect: new module
24619         Fix fnmatch to use it.
24620         Problem reported for z/OS by Daniel Richard G.
24621         * lib/fnmatch.c (__builtin_expect):
24622         * lib/glob.c (__builtin_expect):
24623         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
24624         * lib/memmem.c (__builtin_expect) [!_LIBC]:
24625         * lib/scandir.c (__builtin_expect):
24626         * lib/strstr.c (__builtin_expect) [!_LIBC]:
24627         Remove macro; config.h now does this.
24628         * lib/gl_anytreehash_list1.h (add_to_bucket):
24629         * lib/regex_internal.h (BE):
24630         Assume __builtin_expect.
24631         * m4/builtin-expect.m4, modules/builtin-expect: New files.
24632         * modules/avltreehash-list, modules/fnmatch, modules/glob:
24633         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
24634         * modules/scandir, modules/strstr-simple:
24635         Depend on builtin-expect.
24637 2016-12-15  Bruno Haible  <bruno@clisp.org>
24639         init.sh: Add possibility to not delete temporary files.
24640         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
24641         to yes, don't erase the temporary directory.
24643 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
24645         regex: fix integer-overflow bug in never-used code
24646         Problem reported by Clément Pit–Claudel in:
24647         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
24648         * lib/regex_internal.h: Include intprops.h.
24649         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
24650         behavior on integer overflow.
24651         * modules/regex (Depends-on): Add intprops.
24653         fpending: fix port to MinGW on Emacs
24654         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
24655         Problem reported by Eli Zaretskii in:
24656         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
24657         Is Plan 9 still a valid porting target, anyway?
24659 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
24661         safe-alloc: use xalloc-oversized
24662         * lib/safe-alloc.c: Include xalloc-oversized.h.
24663         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
24664         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
24666         xalloc: do not exceed PTRDIFF_MAX
24667         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
24668         xalloc_oversized check, since objects larger than PTRDIFF_MAX
24669         bytes have pointer-subtraction problems.
24671         malloca: do not exceed PTRDIFF_MAX
24672         * lib/malloca.h: Include xalloc-oversized.
24673         (nmalloca): Use xalloc_oversized instead of rolling our own.
24674         * modules/malloca (Depends-on):
24675         * modules/relocatable-prog-wrapper (Depends-on):
24676         Add xalloc-oversized.
24678         quotearg: pacify GCC better
24679         * modules/quotearg (Depends-on): Add minmax, stdint.
24680         * lib/quotearg.c: Include minmax.h, stdint.h.
24681         (nslots): Now int, as there seems little point to going to extra
24682         work merely to support the INT_MAX slot, which nobody ever uses.
24683         (quotearg_n_options): Redo size-overflow checks to pacify GCC
24684         and to catch (mostly-theoretical) ptrdiff_t problems too.
24685         This can be done via one comparison.
24687 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
24689         xalloc-oversized: check for PTRDIFF_MAX too
24690         This avoids undefined behavior when subtracting pointers to
24691         objects containing more than PTRDIFF_MAX bytes.
24692         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
24693         Also return 1 if the result would exceed PTRDIFF_MAX>
24694         * modules/xalloc-oversized (Depends-on):
24695         Add stdint.
24697         dfa: fix glitches in previous commit
24698         Sorry, I don't know how I managed to commit the wrong version.
24699         * lib/dfa.c (MIN): Move up.
24700         (xpalloc): Now static.
24702         dfa: fix some unlikely integer overflows
24703         I found these while reviewing the recent Coverity-related fix.
24704         This patch changes part of dfa.c to prefer ptrdiff_t instead of
24705         size_t for object counts.  Using ptrdiff_t is the style typically
24706         used in Emacs; although it wastes a sign bit as sizes can never be
24707         negative, it makes -fsanitize=undefined more likely to catch
24708         integer overflows in index calculation, and nowadays the upside is
24709         typically more important than the downside.  Although perhaps the
24710         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
24711         of dfa.c already does, since it uses state_num which is signed),
24712         that is a bigger change and is not needed to fix the bugs I found.
24713         * lib/dfa.c: Include stdint.h and intprops.h.
24714         (TOKEN_MAX): New macro.
24715         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
24716         (charclass_index, parse_bracket_exp, addtok, insert, merge)
24717         (realloc_trans_if_necessary, free_mbdata):
24718         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
24719         This is safe because xpalloc checks that the sizes do not exceed
24720         either SIZE_MAX or PTRDIFF_MAX.
24721         (xpalloc): New function, mostly taken from Emacs.
24722         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
24723         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
24724         (charclass_index): Check for integer overflow in computing
24725         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
24726         added to it later.
24727         (alloc_position_set): Check for integer overflow.  On typical
24728         platforms this check has zero overhead, since the constant
24729         expression is false.
24730         (realloc_trans_if_necessary):
24731         Remove assertion, which I hope Coverity no longer needs.
24733         * modules/dfa (Depends-on): Add intprops, stdint.
24735 2016-12-12  Jim Meyering  <meyering@fb.com>
24737         dfa: add an assertion to avoid coverity false positive
24738         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
24739         warned that "newalloc1 - 2" could overflow.
24741 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
24743         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
24744         * dfa.h (DFA_CASE_FOLD): Remove.
24745         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
24747 2016-12-13  John W. Eaton  <gnu@jweaton.org>
24749         link: fix test to declare use of rename()
24750         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
24751         -Werror=implicit-function-declaration
24753 2016-12-12  Bruno Haible  <bruno@clisp.org>
24755         fpending: Port to native Windows with MSVC.
24756         * lib/fpending.c: Include stdio-impl.h.
24757         (__fpending): Include all known implementations. Err out if it's not
24758         ported.
24759         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
24760         * modules/fpending (Files): Add lib/stdio-impl.h.
24761         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
24763 2016-12-12  Bruno Haible  <bruno@clisp.org>
24765         stdioext: Port to native Windows with MSVC.
24766         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
24767         (struct _gl_real_FILE): New type.
24768         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
24769         Windows.
24770         * lib/fbufmode.c (fbufmode): Add code for native Windows.
24771         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
24772         other SystemV derived implementations.
24773         * lib/fpurge.c (fpurge): Likewise.
24774         * lib/freadable.c (freadable): Likewise.
24775         * lib/freadahead.c (freadahead): Likewise.
24776         * lib/freading.c (freading): Likewise.
24777         * lib/freadptr.c (freadptr): Likewise.
24778         * lib/freadseek.c (freadptrinc): Likewise.
24779         * lib/fseeko.c (fseeko): Likewise.
24780         * lib/fseterr.c (fseterr): Likewise.
24781         * lib/fwritable.c (fwritable): Likewise.
24782         * lib/fwriting.c (fwriting): Likewise.
24783         Reported by Gisle Vanem <gvanem@yahoo.no>.
24785 2016-12-11  Jim Meyering  <meyering@fb.com>
24787         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
24788         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
24789         to work with most shells, but not with the one provided by many
24790         Solaris 10 systems, so running configure with such a /bin/sh evokes
24791         e.g., "./configure: syntax error at line 33602: `(' unexpected".
24792         Reported by Assaf Gordon in
24793         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
24795 2016-12-10  Bruno Haible  <bruno@clisp.org>
24797         threadlib: Optimize out runtime test on Solaris >= 10.
24798         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
24799         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
24800         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
24802 2016-12-10  Bruno Haible  <bruno@clisp.org>
24804         stdint: Update doc about Solaris 9.
24805         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
24807 2016-12-09  Bruno Haible  <bruno@clisp.org>
24809         c-ctype tests: Fix link error on Solaris 9.
24810         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
24811         Reported at <https://savannah.gnu.org/bugs/?46827>.
24813 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
24815         dfa: fix performance bug that recomputes trans
24816         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
24817         25 on-demand changes.  The bug caused build_state to reset all
24818         d->trans elements to -2 even when d->trans was already non-null.
24819         Use C99 style decls after statements in this function.
24821         same-inode: port to MinGW
24822         Here st_ino is always 0, so change the definition of SAME_INODE so
24823         that 1 means the two files are the same, 0 with st_ino != 0 means
24824         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
24825         reported by Bruno Haible (Bug#25146).
24826         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
24827         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
24829 2016-12-04  Bruno Haible  <bruno@clisp.org>
24831         javacomp-script: Support Java 7 and 8.
24832         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
24833         target-version 1.7, 1.8.
24835 2016-12-02  Daiki Ueno  <ueno@gnu.org>
24837         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
24838         GPLv2" rewriting.
24840 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
24842         * gnulib-tool (func_import): Adhere to the license guideline when
24843         rewriting the license text to "LGPLv3+ or GPLv2":
24844         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
24846 2016-12-02  Bruno Haible  <bruno@clisp.org>
24848         localcharset: Avoid theoretical buffer overrun.
24849         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
24850         return value from setlocale if it would lead to a buffer overrun.
24852 2016-12-01  Bruno Haible  <bruno@clisp.org>
24854         Relicense some modules under LGPLv2+.
24855         Kevin Cernekee's approval is in
24856         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
24857         * modules/fseterr (License): Change to LGPLv2+.
24858         * modules/mbchar (License): Likewise.
24859         * modules/mbiter (License): Likewise.
24860         * modules/mbsnlen (License): Likewise.
24861         * modules/wcwidth (License): Likewise.
24863 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
24865         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
24866         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
24867         OS/2 kLIBC.
24869 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
24871         alphasort, scandir: Port to OS/2 kLIBC
24872         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
24873         declaration.
24874         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
24876 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
24878         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
24879         * lib/relocatable.c (relocate): Do not touch pathname if it is started
24880         with '/@unixroot'.
24882 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
24884         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
24885         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
24886         OS/2 kLIBC unless TCPV40HDRS is defined.
24888 2016-11-29  Jim Meyering  <meyering@fb.com>
24890         dfa: avoid new infinite loop
24891         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
24892         * lib/dfa.c (dfastate): When constructing a new state table, we could
24893         initially declare that we had found a match, and later find that
24894         constraints eliminate that possibility, yet continue to use the
24895         now stale "matched" indicator.  That would lead to an infinite loop.
24896         The solution is to update "matched" when necessary.
24897         Introduced by commit v0.1-983-g403adf1.
24899 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
24901         dfa: avoid match middle in multibyte character
24902         * lib/dfa.c (transit_state): If fails in matching single byte characters
24903         on a state including period expression in non-UTF8 multibyte locales,
24904         skip trailing bytes.
24905         (dfa_supported): Revert previous change.
24907 2016-11-27  Jim Meyering  <meyering@fb.com>
24909         dfa: avoid false match in non-UTF8 multibyte locales
24910         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
24911         as "not supported" so that callers will resort to using regex-based
24912         matcher.  This will surely hurt performance, but correctness trumps
24913         performance here, and the affected locales are less and less relevant,
24914         these days.  See grep's bug report https://bugs.gnu.org/24975.
24916 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
24918         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
24919         * lib/ptsname_r.c: Include the appropriate headers.
24920         [__sun]: Delete sys/sysmacros.h include.
24921         [_AIX || __osf__]: Likewise.
24922         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
24924 2016-11-27  Pádraig Brady  <P@draigBrady.com>
24926         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
24927         * lib/md4.c (md4_process_bytes): The existing define is made internal
24928         in recent versions of glibc, so also use this new public define.
24929         * lib/md5.c (md5_process_bytes): Likewise.
24930         * lib/sha1.c (sha1_process_bytes): Likewise.
24931         * lib/sha256.c (sha256_process_bytes): Likewise.
24932         * lib/sha512.c (sha512_process_bytes): Likewise.
24934 2016-11-27  Pádraig Brady  <P@draigBrady.com>
24936         maint: use a more standard return from mbrtowc test
24937         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
24938         from the test program as this often indicates an
24939         unhandled case in the test program.
24940         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
24941         (gl_MBRTOWC_SANITYCHECK): Likewise.
24942         (gl_MBRTOWC_NULL_ARG2): Likewise.
24943         (gl_MBRTOWC_NUL_RETVAL): Likewise.
24945 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
24947         freopen: work around glibc bug with closed fd
24948         Work around glibc bug#15589, where freopen mishandles the case
24949         where stdin etc. are already closed.
24950         * doc/posix-functions/freopen.texi (freopen): Document the bug.
24951         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
24952         instead of __need_FILE, as the latter does not work with glibc.
24953         Include <fcntl.h>, for open flags.
24954         (rpl_freopen): Work around glibc bug.
24955         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
24956         * modules/freopen (Depends-on): Add fcntl-h.
24957         * tests/test-freopen.c (main): Test for bug.
24959 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24961         fnmatch: fix typo introduced on 2016-08-17
24962         This fixes the port to non-GCC compilers that lack __builtin_expect.
24963         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
24965         dfa: simplify with new function fillset
24966         * lib/dfa.c (fillset): New function.
24967         Use it for clarity when applicable.
24969         dfa: fix glitches with on-demand states
24970         Also, adjust commentary to better match new code.
24971         Some of these glitches predate the recent change.
24972         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
24973         only non-initial states.
24974         (dfastate): Rename locals to better match new roles.
24975         Move them into nested scopes if this is easy.
24976         Omit unnecessary calls to zeroset.
24977         Simplify test for whether to throw in the positions of state 0.
24978         Omit C99-ism (decl after statement) since Gawk still wants C89.
24979         (build_state): Omit unnecessary test and assignment.
24980         Fix some confusion that counted transition tables inaccurately
24981         and could cause a memory leak.
24982         (dfaexec_main): Redo to make it clearer to the compiler that
24983         -1 and -2 are the only negative state numbers here.
24985 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
24987         dfa: addition of new state on demand
24988         * src/dfa.c (dfastate): Add argument UC, the current input character.
24989         Fill only a group including the character in transition table.
24990         (realloc_trans_if_necessary): Add the dummy state which means that a
24991         transition table is assigned but the next state is not assigned.
24992         (build_state): Return the next state.  All callers updated.
24993         (transit_state_singlebyte): If we get the dummy state,
24994         fill the transition table.
24995         (dfaexec_main): Handle the dummy state.
24996         (free_mbdata, dfafree): Consider the dummy state.
24998 2016-11-24  Daiki Ueno  <ueno@gnu.org>
25000         srclist: sync with released gettext
25001         * config/srclist.txt: Set "release" option to the files under
25002         $GETTEXT.
25004 2016-11-24  Daiki Ueno  <ueno@gnu.org>
25006         srclist: add "release" option
25007         * config/srclist.txt: Change the format so that the first column
25008         of each line points to the top-level directory of the source
25009         archive.
25010         * config/srclist-update: Accept "release" option that checks files
25011         from the most recently tagged revision in the source archive.
25013 2016-11-21  Bruno Haible  <bruno@clisp.org>
25015         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
25016         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
25017         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
25018         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
25019         Inline and remove member function 'rpl ()' of the wrapper struct.
25021 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
25023         dfa: fix logic typo
25024         Problem reported by Stephane Chazelas (Bug#24973).
25025         * lib/dfa.c (using_simple_locale): Fix typo that caused some
25026         non-simple locales like fr_FR to be treated as simple.
25028 2016-11-20  Jim Meyering  <meyering@fb.com>
25030         fix test driver leaks: exclude, malloc, realloc
25031         * tests/test-exclude.c (main): Fix trivial leak.
25032         * tests/test-malloc-gnu.c (main): Likewise.
25033         * tests/test-realloc-gnu.c (main): Likewise.
25034         With these changes, grep's tests are now leak free.
25035         I.e., running them with ASAN elicits no failure:
25036           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
25037             AM_LDFLAGS='-fsanitize=address -static-libasan' check
25039 2016-11-11  Bruno Haible  <bruno@clisp.org>
25041         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
25042         * modules/libunistring: (License): Change from LGPL to
25043         "LGPLv3+ or GPLv2".
25044         * modules/libunistring-optional: Likewise.
25045         * modules/unicase/*: Likewise.
25046         * modules/uniconv/*: Likewise.
25047         * modules/unictype/*: Likewise.
25048         * modules/unigbrk/*: Likewise.
25049         * modules/unilbrk/*: Likewise.
25050         * modules/uniname/*: Likewise.
25051         * modules/uninorm/*: Likewise.
25052         * modules/unistdio/*: Likewise.
25053         * modules/unistr/*: Likewise.
25054         * modules/uniwbrk/*: Likewise.
25055         * modules/uniwidth/*: Likewise.
25057 2016-11-12  Bruno Haible  <bruno@clisp.org>
25059         Relicense some modules under LGPLv2+.
25060         Paul Eggert's approval is in
25061         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
25062         Eric Blake's approval is in
25063         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
25064         Ludovic Courtès's approval is in
25065         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
25066         * modules/isnand-nolibm (License): Change to LGPLv2+.
25067         * modules/isnanf-nolibm (License): Likewise.
25068         * modules/isnanl-nolibm (License): Likewise.
25070 2016-11-19  Bruno Haible  <bruno@clisp.org>
25072         Relicense some modules under LGPLv2+.
25073         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
25074         modules/vasnprintf.
25075         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
25076         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
25077         All other significant changes to the files in lib/ of these modules
25078         are from me.
25079         * modules/memcmp2 (License): Change to LGPLv2+.
25080         * modules/amemxfrm (License): Likewise.
25081         * modules/fpieee (License): Likewise.
25082         * modules/fpucw (License): Likewise.
25083         * modules/frexp-nolibm (License): Likewise.
25084         * modules/frexpl-nolibm (License): Likewise.
25085         * modules/printf-frexp (License): Likewise.
25086         * modules/printf-frexpl (License): Likewise.
25087         * modules/printf-safe (License): Likewise.
25088         * modules/signbit (License): Likewise.
25090 2016-11-17  Bruno Haible  <bruno@clisp.org>
25092         Enable Unicode decoder safety unconditionally.
25093         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
25094         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
25095         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25096         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25097         * lib/unistr/u8-prev.c (u8_prev): Likewise.
25098         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
25099         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
25100         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
25101         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
25102         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
25103         * lib/unistr/u16-prev.c (u16_prev): Likewise.
25104         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
25105         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
25106         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
25107         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
25108         * lib/unistr/u32-prev.c (u32_prev): Likewise.
25109         * lib/unistr/u32-next.c (u32_next): Likewise.
25110         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
25111         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
25112         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
25113         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
25114         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
25115         CONFIG_UNICODE_SAFETY tests unconditionally.
25116         * tests/unistr/test-u32-mblen.c (main): Likewise.
25117         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
25118         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
25119         * tests/unistr/test-u32-next.c (main): Likewise.
25120         * tests/unistr/test-u32-strmblen.c (main): Likewise.
25121         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
25122         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
25123         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
25124         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
25125         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25126         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
25127         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
25128         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
25129         * lib/unistr/u16-check.c (u16_check): Update comment.
25130         * NEWS: Mention the changes that callers should be aware of.
25132 2016-11-19  Bruno Haible  <bruno@clisp.org>
25134         relocatable-prog-wrapper: Fix breakage on Cygwin.
25135         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
25136         (Depends-on): Remove intprops.
25137         * lib/relocwrapper.c: Update dependency tree.
25138         (strerror): Undefine.
25139         * build-aux/install-reloc (func_create_wrapper): Do not compile
25140         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
25142 2016-11-19  Bruno Haible  <bruno@clisp.org>
25144         strerror: Make it compile in C++ mode.
25145         * lib/strerror.c (strerror): Ignore the return value of memcpy().
25147 2016-11-15  Pedro Alves  <palves@redhat.com>
25149         sys_time: add gnulib::timeval for C++
25150         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
25151         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
25152         timeval macro.
25154 2016-11-14  Pedro Alves  <palves@redhat.com>
25156         snippet/c++defs: fix real-floating arg functions in C++ mode
25157         Also, define isfinite, isinf, isnan, signbit in the gnulib
25158         namespace instead of in the global namespace.
25159         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
25160         (_GL_END_NAMESPACE): New.
25161         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
25162         (isfinite, isinf, isnan, signbit) [__cplusplus &&
25163         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
25164         instead of in the global namespace.
25165         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
25166         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
25167         of in the global namespace.
25169 2016-11-13  Jim Meyering  <meyering@fb.com>
25171         strftime: don't use __THROW
25172         Each use of __THROW would provoke this from gcc-7-to-be:
25174           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
25175             on unit local functions [-Wattributes]
25176           static int iso_week_days (int, int) __THROW;
25177           ^~~~~~
25178         * lib/strftime.c (__THROW): Don't define.
25179         Remove each use of __THROW.
25180         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
25181         (tm_diff, iso_week_days, __strftime_internal): Likewise.
25183 2016-11-14  Paul Eggert  <eggert@union>
25185         obstack: port to gcc -fcheck-pointer-bounds
25186         Problem found by 'make check' failure on bleeding-edge coreutils
25187         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
25188         6.2.0-5ubuntu12), configured via "./configure
25189         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
25190         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
25191         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
25192         New macro, copied from fts_.h.
25193         (struct _obstack_chunk.contents): Use it.
25195 2016-11-14  Eric Blake  <eblake@redhat.com>
25197         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
25198         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
25199         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
25201 2016-11-14  Pádraig Brady  <P@draigBrady.com>
25203         strptime: fix compile error in recent change
25204         * lib/strptime.c (__strptime_internal): Fix ported code.
25206 2016-11-11  Bruno Haible  <bruno@clisp.org>
25208         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
25209         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
25210         (func_import): Extend determination of license_incompatibilities.
25211         (func_create_testdir): Extend table of license compatibility. Handle
25212         also the licenses GPLv3+, GPL, LGPLv3+.
25214 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
25216         strftime: tune %q
25217         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
25219         Merge strftime.c changes from glibc
25220         This incorporates:
25221         2007-10-16 [BZ #5184] Add tzset_called argument
25222         2008-06-13 [BZ #6612] pass reference to tzset_called around
25223         2009-10-30 Implement Burmese language locale for Myanmar
25224         2010-01-09 Add support for XPG7 testing
25225         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
25226         2015-10-20 Convert miscellaneous function definitions to prototype style
25227         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
25228         it anyway and this lessens the difference between gnulib and glibc.
25229         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
25230         (__THROW): Define if standard headers do not.
25231         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
25232         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
25233         Declare with __THROW.
25234         (__strftime_internal): Rename from strftime_case_. Add arg for
25235         whether tzset is called.  All uses changed.  Call tzset at most
25236         once.  Allow %OC, for Burmese.
25237         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
25238         Don't assume values are in range.
25240 2016-11-12  Eric Blake  <eblake@redhat.com>
25242         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
25243         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
25244         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
25245         different value.
25247 2006-11-12  Pedro Alves  <palves@redhat.com>
25249         Fix gnulib C++ namespace support and std::frexp
25250         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
25251         _GL_CXXALIASWARN.
25253 2006-11-12  Pedro Alves  <palves@redhat.com>
25255         GNULIB_NAMESPACE::func need not pull in rpl_func
25256         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
25257         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
25258         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
25259         struct instead of a function pointer.
25261 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
25263         manywarnings: fix -Wno-missing-field-initializers detection
25264         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
25265         to be independent of -Wunused-variable.  I.E. ensure the latter
25266         warning doesn't occur so that detection of the former is accurate.
25268 2016-11-05  Pádraig Brady  <pbrady@fb.com>
25270         strftime,strptime: support %q to represent the quarter
25271         * lib/strftime.c (strftime_case_): Add %q case.
25272         * lib/strptime.c (__strptime_internal): Likewise.
25273         * tests/test-strftime.c (quarter_test): A new test case.
25275 2016-11-03  Eric Blake  <eblake@redhat.com>
25277         bootstrap: Fix get_version() for AIX 5.3
25278         * build-aux/bootstrap (get_version): Factor out sed script, since
25279         indented comments choke AIX 5.3 sed.
25280         Reported-by: Michael Felt <aixtools@gmail.com>
25282 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
25284         intprops: port to older XL C
25285         Problem reported by Alexander Samoilov in:
25286         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
25287         http://savannah.nongnu.org/bugs/?49448
25288         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
25289         Define to 1 only for XL C 12.1 or later, since this bug
25290         occurs in XL C for AIX 6.0 but not in 12.1.
25292 2016-11-02  Pádraig Brady  <P@draigBrady.com>
25294         backupfile: initialize default suffix within the implementation
25295         * lib/backupfile.c (find_backup_file_name): Initialize the
25296         global variable here, to simplify usage, and to only call
25297         getenv() when needed.
25299 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
25301         futimens: remove FIXME for old Linux kernels
25302         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
25303         this in 2012" FIXME, like that for utimensat.
25305         utimensat: remove FIXME for old Linux kernels
25306         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
25307         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
25308         this in 2012" FIXME, by assuming the file system bug is absent
25309         unless demonstrated to be present.  We no longer need to worry
25310         about Linux kernel 2.6.32 when building with newer kernels.
25312 2016-10-16  Bruno Haible  <bruno@clisp.org>
25314         qsort_r: Fix macrology for platforms that lack the function.
25315         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
25316         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
25317         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
25318         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
25319         not exist.
25320         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
25321         the function exists.
25322         * modules/qsort_r: Add comments.
25324 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25326         sys_types: fix Texinfo typos
25327         * doc/glibc-functions/gnu_dev_major.texi:
25328         * doc/glibc-functions/gnu_dev_makedev.texi:
25329         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
25331 2016-10-26  John David Anglin  <dave.anglin@bell.net>
25333         getprogname: port to HP-UX
25334         See Bug#24805.
25335         * lib/getprogname.c (getprogname) [__hpux]: Port.
25336         * tests/test-getprogname.c (STREQ) [__hpux]:
25337         Special-case for HP-UX limitations on program name length.
25339 2016-10-20  Bruno Haible  <bruno@clisp.org>
25341         Update doc about target platforms.
25342         * doc/gnulib-intro.texi (Target Platforms): Update list.
25344 2016-10-15  Bruno Haible  <bruno@clisp.org>
25346         opendir, readdir, closedir: Relicense under LGPLv2+.
25347         * modules/opendir (License): Change to LGPLv2+.
25348         * modules/readdir (License): Likewise.
25349         * modules/closedir (License): Likewise.
25351 2016-10-16  Bruno Haible  <bruno@clisp.org>
25353         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
25354         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
25355         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
25356         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
25357         HAVE_DECL_STRERROR_R.
25359 2016-10-16  Bruno Haible  <bruno@clisp.org>
25361         Make the 'argp' module work without the 'error' module.
25362         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
25364 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
25366         diffseq: restore TOO_EXPENSIVE heuristic
25367         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
25368         (Bug#24715).  The simplest solution is to restore the
25369         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
25370         using a higher threshold to avoid Bug#16848 on smaller files.
25371         * lib/diffseq.h (struct context): Restore member too_expensive.
25372         (struct partition): Restore members lo_minimal, hi_minimal.
25373         (diag, compareseq): Restore arg find_minimal.  All uses changed.
25374         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
25375         1993 to make 'diff' run faster (but not as well) on large inputs,
25376         but use a threshold of 4096 instead of the old 256.
25377         * lib/fstrcmp.c (strcmp_bounded):
25378         * lib/git-merge-changelog.c (compute_differences):
25379         Adjust to diffseq.h changes.
25381 2016-10-22  Bruno Haible  <bruno@clisp.org>
25383         iconv: Avoid compilation error when bootstrapping GNU libiconv.
25384         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
25385         declaration yet, define ICONV_CONST to empty.
25387 2016-10-15  Bruno Haible  <bruno@clisp.org>
25389         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
25390         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
25391         module.
25393 2016-10-16  Bruno Haible  <bruno@clisp.org>
25395         system-quote tests: Avoid compiler warning on AIX.
25396         * tests/test-system-quote-child.c (fopen): Redefine like the system's
25397         <stdio.h> does.
25399 2016-10-16  Bruno Haible  <bruno@clisp.org>
25401         Fix some "gcc -Wall" warnings.
25402         * tests/test-ffsl.c (main): Use variable x, not i.
25403         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
25404         freopen.
25405         * tests/test-sethostname1.c (main): Explicitly ignore the return value
25406         of sethostname.
25408 2016-10-16  Bruno Haible  <bruno@clisp.org>
25410         gnulib-tool: Make --create-testdir on all modules work again.
25411         * gnulib-tool (func_create_testdir): Don't include the
25412         non-recursive-gnulib-prefix-hack module.
25414 2016-10-21  Daiki Ueno  <ueno@gnu.org>
25416         libunistring: change the maintainer to 'all'
25417         * modules/gen-uni-tables, modules/libunistring:
25418         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
25419         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
25420         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
25421         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
25422         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
25423         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
25424         * modules/uniwidth/*: Change the maintainer to 'all'.
25426 2016-10-16  Bruno Haible  <bruno@clisp.org>
25428         Simplify "configure: checking ..." messages.
25429         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
25430         AC_MSG_NOTICE.
25431         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
25433 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
25435         quotearg-tests: pacify gcc -Wall
25436         Problem reported by Bruno Haible in:
25437         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
25438         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
25439         * tests/test-quotearg.h: ... from here.
25441 2016-10-20  Pádraig Brady  <P@draigBrady.com>
25443         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
25444         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
25445         Needed on Centos <= 4.
25447 2016-10-20  Jim Meyering  <meyering@fb.com>
25449         printf.m4: fix a bug in detecting printf %j support
25450         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
25451         uintmax_t is defined in neither stdint.h nor inttypes.h.
25452         Before, this macro might have mistakenly set
25453         gl_cv_func_printf_sizes_c99=yes on such a system.
25454         Spotted by Zev Weiss.
25456 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
25458         sched: substitute HAVE_SYS_CDEFS_H too
25459         Problem reported by Tom G. Christensen in:
25460         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
25461         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
25462         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
25464 2016-10-19  Pádraig Brady  <P@draigBrady.com>
25466         quotearg: never write beyond the returned length
25467         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
25468         scan of the string when we initially encounter a single quote when
25469         shell quoting, so that if we then switch to a more concise quoting method
25470         we will not have written beyond that returned length.
25471         This is significant for sh-quote, which has separate routines
25472         to determine the length and do the actual quoting.
25473         * tests/test-quotearg.h: Reinstate the buffer bounds checking
25474         now that we never write more than the returned length.
25476 2016-10-18  Bruno Haible  <bruno@clisp.org>
25478         getprogname tests: Avoid failure in packages that use libtool.
25479         * tests/test-getprogname.c (main): Strip "lt-" prefix.
25480         Based on a patch by Jim Meyering.
25482 2016-10-16  Bruno Haible  <bruno@clisp.org>
25484         getprogname: Fix test failure on Cygwin. Comments.
25485         * lib/getprogname.h: Add comments.
25486         * lib/getprogname.c: Add comments. Fix #elif indentation.
25487         * tests/test-getprogname.c (main): On Cygwin, expect a result without
25488         ".exe" suffix.
25490 2016-10-16  Bruno Haible  <bruno@clisp.org>
25492         Make sure the libunistring detection rejects older versions with a
25493         known bug.
25494         * modules/unistr/u8-strtok (configure.ac): Bump required version.
25495         * modules/unistr/u16-strtok (configure.ac): Likewise.
25496         * modules/unistr/u32-strtok (configure.ac): Likewise.
25498 2016-10-18  Bruno Haible  <bruno@clisp.org>
25500         sh-quote, system-quote: revert regression of unit test.
25501         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
25502         * tests/test-system-quote-main.c (check_one): Likewise.
25504 2016-10-16  Pádraig Brady  <P@draigBrady.com>
25506         quotearg: fix stale tests
25507         * tests/test-quotearg.c [locale_results]: Add the missing str7
25508         entries to the expected results.
25509         * tests/test-system-quote-main.c (check_one): Don't enforce that we
25510         don't write beyond the returned length, since that's no longer the
25511         case if we switch to a more concise quoting style.
25512         * tests/test-sh-quote.c (check_one): Likewise.
25513         (main): Adjust for the new more concise quoting style.
25514         Reported by Bruno Haible.
25516 2016-10-16  Jim Meyering  <meyering@fb.com>
25518         non-recursive-gnulib-prefix-hack: fix inconsequential typo
25519         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
25520         to "$1".  This macro is always invoked with $1 == lib.
25521         Spotted by Bruno Haible
25523 2016-10-16  Bruno Haible  <bruno@clisp.org>
25525         Fix a test crash.
25526         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
25527         fails.
25529 2016-10-16  Pádraig Brady  <P@draigBrady.com>
25531         test-limits-h: suppress -Woverlength-strings
25532         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
25534 2016-10-15  Bruno Haible  <bruno@clisp.org>
25536         gettime, timespec, utimens: Relicense under LGPL.
25537         * modules/gettime (License): Change to LGPL.
25538         * modules/timespec (License): Likewise.
25539         * modules/utimens (License): Likewise.
25541 2016-10-14  Bruno Haible  <bruno@clisp.org>
25542             Pádraig Brady  <P@draigBrady.com>
25544         canonicalize-lgpl: Support the case path_max > INT_MAX.
25545         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
25546         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
25548 2016-10-13  Jim Meyering  <meyering@fb.com>
25550         getprogname: IBM z/OS: avoid NULL-dereference
25551         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
25552         upon strdup failure.
25554 2016-10-12  Jim Meyering  <meyering@fb.com>
25556         test-stdint: use _GL_VERIFY rather than "verify" for some tests
25557         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
25558         and an abbreviated diagnostic rather than verify with the full one,
25559         because the full-length strings would evoke warnings from gcc with
25560         -Woverlength-strings.
25562 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
25564         stdint: port SIZE_MAX to glibc s390
25565         Problem reported by Eric Blake in:
25566         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
25567         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
25568         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
25569         correct type, if possible.
25571 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
25573         getprogname: port to IBM z/OS
25574         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
25576 2016-10-11  Jim Meyering  <meyering@fb.com>
25578         maint: remove stray space after "." in AC_DEFINE comment.
25579         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
25580         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25582 2016-10-05  Jim Meyering  <meyering@fb.com>
25584         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
25585         * lib/long-options.c (parse_long_options): Add a break statement
25586         to avoid this new warning/failure:
25587         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
25588           --create-testdir --dir=/t/x --with-tests --test long-options
25589         ../../gllib/long-options.c: In function 'parse_long_options':
25590         ../../gllib/long-options.c:66:12: error: this statement may \
25591           fall through [-Werror=implicit-fallthrough]
25592                    (*usage_func) (EXIT_SUCCESS);
25593                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
25595 2016-10-05  Jim Meyering  <meyering@fb.com>
25597         utimecmp: avoid new GCC 7 warning from -Wbool-operation
25598         Testing this module would fail when using GCC 7 like this:
25599         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
25600           --dir=/tmp/x --with-tests --test utimecmp
25601         ../../gllib/utimecmp.c: In function ‘utimecmp’:
25602         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
25603           [-Werror=bool-operation]
25604                          time_t s = src_s & ~ (res == 2 * BILLION);
25605                                             ^
25606         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
25607           [-Werror=bool-operation]
25608                src_s &= ~ (res == 2 * BILLION);
25609                         ^
25610         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
25611         Instead, make it explicit that we intend to apply it to 0 or 1.
25613 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25615         dfa: save memory for states
25616         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
25617         states if dfa has a lot of caches.
25619 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
25621         wchar, wctype-h: fix for MinGW 3.22.2
25622         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
25623         special invocation, to fix issues with MinGW 3.22.2 wchar.h
25624         when included from <string.h>.
25625         * lib/wctype.in.h [__MINGW32__]: Add special invocation
25626         convention for MinGW 3.22.2, to solve issues with their
25627         wctype.h when included from <ctype.h>.
25629 2016-10-05  Jim Meyering  <meyering@fb.com>
25631         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
25632         * lib/long-options.c (parse_long_options): Add a break statement
25633         to avoid this new warning/failure:
25634         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
25635           --create-testdir --dir=/t/x --with-tests --test long-options
25636         ../../gllib/long-options.c: In function ‘parse_long_options’:
25637         ../../gllib/long-options.c:66:12: error: this statement may \
25638           fall through [-Werror=implicit-fallthrough]
25639                    (*usage_func) (EXIT_SUCCESS);
25640                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
25642         utimecmp: avoid new GCC 7 warning from -Wbool-operation
25643         Testing this module would fail when using GCC 7 like this:
25644         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
25645           --dir=/tmp/x --with-tests --test utimecmp
25646         ../../gllib/utimecmp.c: In function ‘utimecmp’:
25647         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
25648           [-Werror=bool-operation]
25649                          time_t s = src_s & ~ (res == 2 * BILLION);
25650                                             ^
25651         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
25652           [-Werror=bool-operation]
25653                src_s &= ~ (res == 2 * BILLION);
25654                         ^
25655         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
25656         Instead, make it explicit that we intend to apply it to 0 or 1.
25658 2016-10-03  Pádraig Brady  <P@draigBrady.com>
25660         quotearg: minimize shell quoting using double quotes
25661         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
25662         quote in encountered then use double quotes (c style quoting)
25663         when possible, as it simplifies the quoting.
25664         * tests/test-quotearg-simple.c: Add test cases.
25665         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
25666         for the fact we now may write beyond the returned length.
25668 2016-10-02  Jim Meyering  <meyering@fb.com>
25670         vasnprintf.c: avoid spurious warning from GCC 7
25671         The presence of cpp directives renders this "FALLTHROUGH" comment
25672         ineffective, so does not suppress the -Wimplicit-fallthrough warning
25673         from GCC 7 built from git on 2016-10-02.
25674         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
25675         directives, so that it takes effect once again.  This is clearly
25676         not a proper change, and I will revert it once this bug is fixed:
25677         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
25679 2016-10-01  Jim Meyering  <meyering@fb.com>
25681         getprogname: correct the test for a __progname variable
25682         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
25683         and AC_LINK_IFELSE to check for a global __progname.  If found,
25684         define HAVE_VAR___PROGNAME.
25685         * lib/getprogname.c (getprogname): Reflect the new name of the
25686         feature- checked preprocessor symbol:
25687         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
25689 2016-09-28  Jim Meyering  <meyering@fb.com>
25691         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
25692         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
25693         fall-through case with a /* fallthrough */ comment.
25695         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
25696         * lib/dfa.c (dfassbuild): Mark the end of this case with a
25697         /* fallthrough */ comment.
25699         getprogname: avoid __progname vs program_invocation_short_name pitfall
25700         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
25701         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
25702         not with Fedora 24's glibc-2.23.1-10.
25703         * lib/getprogname.c (__progname): Move this declaration down...
25704         (getprogname): ... into the #elif block where used, and make it
25705         explicitly "extern".
25707         getprogname: port to OpenBSD 5.1
25708         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
25709         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
25710         * modules/getprogname (configure.ac): Move most of this code...
25711         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
25712         increment serial number, and add a test for __progname.
25713         https://bugs.gnu.org/24562
25714         Reported by Nelson H. F. Beebe.
25716 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
25718         sched: port to GCC 6.2.1 on macOS Sierra
25719         Problem reported by Denis Davydov in:
25720         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
25721         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
25722         Include <sys/cdefs.h> before <sched.h>.
25723         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
25724         so that we needn’t worry about the sched.h include bug here.
25725         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
25726         and include it before <sched.h> if it exists, when
25727         checking for <sched.h>.
25729         tests/init.sh: port Alpine fix to AIX 7.1
25730         * tests/init.sh (compare_): When attempting to use diff -U3,
25731         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
25732         diff -u not outputting a space after leading '+', as the users
25733         of 'compare' should not be that picky about its output format.
25734         In the AIX 7.1 case, return with diff exit status (or with 2 if
25735         trouble), instead of some random nonzero exit status.
25736         * tests/test-init.sh (test_compare): Remove space after leading
25737         '+', so that AIX 7.1 'diff' passes the test.
25739 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25741         nl_langinfo: pacify GCC
25742         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
25743         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
25745         stdint: also set GL_GENERATE_LIMITS_H
25746         Problem reported by Jim Meyering in:
25747         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
25748         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
25750         limits-h, stdint: Don't assume extensions, fix typo
25751         * m4/limits-h.m4 (gl_LIMITS_H):
25752         * m4/stdint.m4 (gl_STDINT_H):
25753         Don't assume AC_USE_SYSTEM_EXTENSIONS.
25754         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
25755         reported by Jim Meyering in:
25756         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
25758 2016-09-21  Jim Meyering  <meyering@fb.com>
25760         getprogname: port to AIX
25761         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
25762         and strdup to obtain a short program name string.  Using code from
25763         Bruno Haible and an idea from Bastien ROUCARIÈS, in
25764         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
25765         Assaf Gordon reported that this new file would fail to compile on
25766         AIX-7.1 32bit.
25768 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
25770         extensions: fix typo in comment
25771         * m4/extensions.m4: Sync from Autoconf master.
25773         stdint: support new _WIDTH macros
25774         * doc/posix-headers/stdint.texi: Document this.
25775         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
25776         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
25777         support for INTMAX_WIDTH, etc. as well as for support for just C99.
25778         * modules/stdint (Depends-on): Add limits-h.
25779         (Makefile.am): Substitute HAVE_C99_STDINT_H.
25780         * modules/stdint-tests (Depends-on): Add extensions, so that
25781         INTMAX_MAX etc. are defined.
25782         * tests/test-stdint.c: Verify the new macros.
25784         limits-h: new module
25785         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
25786         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
25787         * doc/posix-headers/limits.texi: Document new module.
25788         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
25789         * modules/limit-h-tests, tests/test-limits-h.c: New files.
25791         stdio: don't redefine __USE_MINGW_ANSI_STDIO
25792         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
25793         if it is already defined.  Apparently GNU Emacs relies on this.  See:
25794         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
25796 2016-09-15  Eric Blake  <eblake@redhat.com>
25798         sys_types: avoid glibc 2.25 warnings about major()
25799         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
25800         older autoconf.
25801         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
25802         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
25803         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
25804         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
25806         mountlist: include sysmacros.h for glibc
25807         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
25808         AC_HEADER_MAJOR.
25809         * lib/mountlist.c (includes): Use correct headers.
25811 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
25813         extensions: port to more ISO C TSes
25814         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
25815         master, to add support for more recent ISO C TRs and TSes.
25817 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25819         intprops: new macro TYPE_WIDTH
25820         * lib/intprops.h (TYPE_WIDTH): New macro.
25821         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
25822         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
25823         * lib/parse-datetime.y (parse_datetime2):
25824         Use it.
25826         extensions: port to recent ISO C TRs
25827         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
25828         Sync from Autoconf master, to add support for recent ISO C TRs.
25829         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
25830         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
25831         the MinGW option is not an extension.
25833 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
25835         dfa: port to Solaris 9
25836         Problems reported by Tom G. Christensen in:
25837         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
25838         * modules/dfa (Depends-on): Add isblank.
25839         * modules/dfa-tests (dfa_match_aux_LDADD):
25840         Rename from test_stat_LDADD, to fix typo.
25841         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
25843 2016-09-10  Jim Meyering  <meyering@fb.com>
25845         strverscmp: avoid link failure on OS X
25846         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
25847         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
25849 2016-08-16  Jim Meyering  <meyering@fb.com>
25851         dfa: new module, importing grep's DFA matcher
25852         Since grep's DFA matcher is now being used by two gnulib-enabled
25853         projects, grep and sed, it makes sense to version-control its
25854         sources and unit tests in one place: here.
25855         * modules/dfa: New module.
25856         * modules/dfa-tests: New file.
25857         * lib/dfa.c: New file, from grep.
25858         * lib/dfa.h: Likewise.
25859         * lib/localeinfo.c: Likewise.
25860         * lib/localeinfo.h: Likewise.
25861         * tests/dfa-match-aux.c: Likewise.
25862         * tests/dfa-invalid-char-class.sh: Likewise.
25863         * tests/dfa-match.sh: Likewise, with minor changes.
25864         * MODULES.html.sh (Misc): Add "dfa" to this list.
25866 2016-09-09  Jim Meyering  <meyering@fb.com>
25868         getprogname-tests: don't depend on assert-h
25869         * modules/getprogname-tests (Depends-on): Remove assert-h.
25870         It was not needed, and in fact would cause build failure for
25871         coreutils on some systems.  Reported by Assaf Gordon in https:
25872         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
25874 2016-09-07  Jim Meyering  <meyering@fb.com>
25876         getprogname-tests: work also when EXEEXT is nonempty
25877         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
25878         * tests/test-getprogname.c (main): Use it.
25879         Suggested by Gisle Vanem.
25881 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
25883         getprogname: fix errors in previous change
25884         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
25885         s/program_invocation_name/base/
25886         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
25888 2016-09-08  Pádraig Brady  <P@draigBrady.com>
25890         parse-datetime: restrict debug output to input string
25891         * lib/parse-datetime.y (parse_datetime2): If we parse
25892         all of the input but determine it's invalid, ensure
25893         we don't output the now invalid input pointer.
25894         This issue was seen with `date -d 'now +1'`.
25896 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
25898         flexmember: new macro FLEXALIGNOF
25899         * lib/flexmember.h: Include <stddef.h>, for offsetof.
25900         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
25901         this macro.  Update comments.
25903 2016-09-07  Jim Meyering  <meyering@fb.com>
25905         getprogname: port to systems with __argv (mingw, msvc)
25906         * lib/getprogname.c (getprogname): Include "dirname.h" and use
25907         last_component: more general than open coding it with hard-coded "/".
25908         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
25909         * modules/getprogname (Depends-on): Add dirname-lgpl.
25910         (configure.ac): Check for __argv in <stdlib.h>.
25911         * modules/getprogname-tests: New file.
25912         * tests/test-getprogname.c: New file.
25913         Suggested by Gisle Vanem in
25914         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
25916 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
25918         flexmember: port better to GCC + valgrind
25919         With a char[] flexible array member in a struct with nontrivial
25920         alignment, GCC-generated code can access past the end of the
25921         array, because GCC assumes there are padding bytes to get the
25922         struct aligned.  So the common idiom of malloc (offsetof (struct
25923         s, m), n) does not properly allocate an n-byte trailing member, as
25924         malloc’s argument should be the next multiple of alignof (struct s).
25925         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
25926         Although C11 apparently permits this GCC optimization (i.e., there
25927         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
25928         See the thread containing:
25929         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
25930         * lib/flexmember.h: New file.
25931         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
25932         * lib/localename.c, lib/time_rz.c:
25933         Include flexmember.h.
25934         * lib/fnmatch_loop.c (struct patternlist):
25935         * lib/localename.c (struct hash_node):
25936         Use FLEXIBLE_ARRAY_MEMBER.
25937         * lib/fnmatch_loop.c (EXT):
25938         * lib/fts.c (fts_alloc):
25939         * lib/glob.c (glob_in_dir):
25940         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
25941         * lib/localename.c (gl_lock_define_initialized):
25942         * lib/time_rz.c (tzalloc):
25943         Use FLEXSIZEOF instead of offsetof.
25944         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25945         Check that the size of the struct can be taken.
25946         * modules/flexmember (Files): Add lib/flexmember.h.
25947         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
25948         Add flexmember.
25950 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
25952         getprogname: port to Solaris 10
25953         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
25954         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
25955         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
25957         stdalign: correct mistake in alignof doc
25958         Problem reported by Joseph Myers in:
25959         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
25960         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
25961         alignof(S) where S is a structure containing a flexible array
25962         member.  The Gnulib substitute does not support this, but C11 does.
25964 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
25966         main.mk: remove sc_program_name, since there is no more need to
25967         use set_program_name in tools (getprogname is enough for most
25968         of the cases).
25969         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
25970         * top/maint.mk (sc_program_name): Remove.
25972 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
25974         Port tests away from progname, since modules that need the
25975         program name already depend on getprogname.
25976         * modules/acl-tests (Depends-on): Remove progname.
25977         * modules/argmatch (Depends-on): Likewise.
25978         * modules/argmatch-tests (Depends-on): Likewise.
25979         * modules/argp-tests (Depends-on): Likewise.
25980         * modules/argp-version-etc-tests (Depends-on): Likewise.
25981         * modules/array-list-tests (Depends-on): Likewise.
25982         * modules/array-oset-tests (Depends-on): Likewise.
25983         * modules/avltree-list-tests (Depends-on): Likewise.
25984         * modules/avltree-oset-tests (Depends-on): Likewise.
25985         * modules/avltreehash-list-tests (Depends-on): Likewise.
25986         * modules/carray-list-tests (Depends-on): Likewise.
25987         * modules/copy-file-tests (Depends-on): Likewise.
25988         * modules/exclude-tests (Depends-on): Likewise.
25989         * modules/fchownat-tests (Depends-on): Likewise.
25990         * modules/fdopendir-tests (Depends-on): Likewise.
25991         * modules/filenamecat-tests (Depends-on): Likewise.
25992         * modules/fstatat-tests (Depends-on): Likewise.
25993         * modules/fstrcmp-tests (Depends-on): Likewise.
25994         * modules/linked-list-tests (Depends-on): Likewise.
25995         * modules/linkedhash-list-tests (Depends-on): Likewise.
25996         * modules/mkdirat-tests (Depends-on): Likewise.
25997         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
25998         * modules/nonblocking-socket-tests (Depends-on): Likewise.
25999         * modules/obstack-printf-tests (Depends-on): Likewise.
26000         * modules/openat-tests (Depends-on): Likewise.
26001         * modules/parse-datetime-tests (Depends-on): Likewise.
26002         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
26003         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
26004         * modules/quotearg-simple-tests (Depends-on): Likewise.
26005         * modules/quotearg-tests (Depends-on): Likewise.
26006         * modules/rbtree-list-tests (Depends-on): Likewise.
26007         * modules/rbtree-oset-tests (Depends-on): Likewise.
26008         * modules/rbtreehash-list-tests (Depends-on): Likewise.
26009         * modules/spawn-pipe-tests (Depends-on): Likewise.
26010         * modules/system-quote-tests (Depends-on): Likewise.
26011         * modules/uniname/uniname-tests (Depends-on): Likewise.
26012         * modules/uninorm/nfc-tests (Depends-on): Likewise.
26013         * modules/uninorm/nfd-tests (Depends-on): Likewise.
26014         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
26015         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
26016         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
26017         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
26018         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
26019         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
26020         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
26021         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
26022         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
26023         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
26024         * modules/unlinkat-tests (Depends-on): Likewise.
26025         * modules/version-etc-tests (Depends-on): Likewise.
26026         * modules/xalloc-die-tests (Depends-on): Likewise.
26027         * modules/xmemdup0-tests (Depends-on): Likewise.
26028         * modules/xprintf-posix-tests (Depends-on): Likewise.
26029         * modules/xvasprintf-tests (Depends-on): Likewise.
26030         * tests/test-argmatch.c: Do not include progname.h.
26031         (main) Stop calling set_program_name.
26032         * tests/test-argp-version-etc.c: Likewise.
26033         * tests/test-argp.c: Likewise.
26034         * tests/test-argv-iter.c: Likewise.
26035         * tests/test-array_list.c: Likewise.
26036         * tests/test-array_oset.c: Likewise.
26037         * tests/test-avltree_list.c: Likewise.
26038         * tests/test-avltree_oset.c: Likewise.
26039         * tests/test-avltreehash_list.c: Likewise.
26040         * tests/test-carray_list.c: Likewise.
26041         * tests/test-copy-acl.c: Likewise.
26042         * tests/test-copy-file.c: Likewise.
26043         * tests/test-exclude.c: Likewise.
26044         * tests/test-fchownat.c: Likewise.
26045         * tests/test-fdopendir.c: Likewise.
26046         * tests/test-filenamecat.c: Likewise.
26047         * tests/test-fstatat.c: Likewise.
26048         * tests/test-fstrcmp.c: Likewise.
26049         * tests/test-linked_list.c: Likewise.
26050         * tests/test-linkedhash_list.c: Likewise.
26051         * tests/test-mkdirat.c: Likewise.
26052         * tests/test-nonblocking-pipe-main.c: Likewise.
26053         * tests/test-nonblocking-socket-main.c: Likewise.
26054         * tests/test-obstack-printf.c: Likewise.
26055         * tests/test-openat.c: Likewise.
26056         * tests/test-parse-datetime.c: Likewise.
26057         * tests/test-pipe-filter-gi1.c: Likewise.
26058         * tests/test-pipe-filter-gi2-main.c: Likewise.
26059         * tests/test-pipe-filter-ii1.c: Likewise.
26060         * tests/test-pipe-filter-ii2-main.c: Likewise.
26061         * tests/test-quotearg-simple.c: Likewise.
26062         * tests/test-quotearg.c: Likewise.
26063         * tests/test-rbtree_list.c: Likewise.
26064         * tests/test-rbtree_oset.c: Likewise.
26065         * tests/test-rbtreehash_list.c: Likewise.
26066         * tests/test-sameacls.c: Likewise.
26067         * tests/test-set-mode-acl.c: Likewise.
26068         * tests/test-spawn-pipe-main.c: Likewise.
26069         * tests/test-system-quote-main.c: Likewise.
26070         * tests/test-unlinkat.c: Likewise.
26071         * tests/test-version-etc.c: Likewise.
26072         * tests/test-xalloc-die.c: Likewise.
26073         * tests/test-xfprintf-posix.c: Likewise.
26074         * tests/test-xmemdup0.c: Likewise.
26075         * tests/test-xprintf-posix.c: Likewise.
26076         * tests/test-xvasprintf.c: Likewise.
26077         * tests/uniname/test-uninames.c: Likewise.
26078         * tests/uninorm/test-u32-nfc-big.c: Likewise.
26079         * tests/uninorm/test-u32-nfd-big.c: Likewise.
26080         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
26081         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
26082         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26083         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26084         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26085         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26086         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26087         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26088         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26089         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26090         * tests/test-c-stack.c: (program_name): Do not define.
26091         (main): Do not set program_name.
26092         * tests/test-closein.c: Likewise.
26093         * tests/test-xstrtol.c: Likewise.
26094         * tests/test-yesno.c: Likewise.
26096 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
26098         Port modules to use getprogname explicitly, instead of requiring
26099         progname to be used (or program_name to be provided).
26100         * lib/argmatch.c: Do not include progname.h.
26101         [TEST] (program_name): Do not define.
26102         [TEST] (main): Call getprogname instead of using program_name.
26103         * lib/c-stack.c: Do not include progname.h.
26104         (program_name): Do not define.
26105         (die): Call getprogname instead of using program_name.
26106         * lib/chdir-long.c: Do not include progname.h.
26107         [TEST_CHDIR] (main): Do not set program_name.
26108         * lib/error.c [!_LIBC]: Include progname.h.
26109         [!_LIBC] (program_name): Define using getprogname.
26110         * lib/euidaccess.c: Do not include progname.h.
26111         [TEST] (main): Do not set program_name.
26112         * lib/git-merge-changelog.c: Include getprogname.h instead of
26113         progname.h.
26114         (usage): Call getprogname instead of using program_name.
26115         (main): Likewise.  Stop calling set_program_name.
26116         * lib/group-member.c: Do not include progname.h.
26117         [TEST] (main): Do not set program_name.
26118         * modules/argmatch (Depends-on): Add getprogname.
26119         * modules/c-stack (Depends-on): Likewise.
26120         * modules/error (Depends-on): Likewise.
26121         * modules/git-merge-changelog (Depends-on): Likewise.
26122         Also remove progname.
26124 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
26126         * NEWS: Document the deprecation of the 'progname' module.
26128 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
26130         getprogname: new module
26131         This provides a LGPL module for getting the name of the current
26132         program, using the same API found on *BSD systems.
26133         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
26134         * modules/getprogname: New files.
26135         * MODULES.html.sh (Misc): Add getprogname.
26137 2016-09-02  Jim Meyering  <meyering@fb.com>
26139         manywarnings: add -fno-common
26140         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
26141         to the list.  Quoting the manual, "Compiling with -fno-common is
26142         useful on targets for which it provides better performance, or if
26143         you wish to verify that the program will work on other systems that
26144         always treat uninitialized variable declarations this way [putting
26145         it in the data section]."  If diffutils had been using this sooner,
26146         it would have prevented this duplicate declaration issue:
26147         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
26149 2016-08-31  Simon Josefsson  <simon@josefsson.org>
26151         parse-datetime: Fix typo.
26152         * lib/parse-datetime.y (parse_datetime2): Fix typo.
26154 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
26156         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
26157         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
26158         GCC 5 and 6 that have __builtin_sub_overflow but not
26159         __builtin_sub_overflow_p.  With the recent changes, these
26160         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
26161         implementation than with INT_SUBTRACT_OVERFLOW implementation,
26162         since the former needs just one runtime comparison whereas the
26163         latter needs two.
26165         strverscmp: sync with glibc
26166         Although this doesn't exactly synchronize with glibc
26167         byte-for-byte, it makes the code behave the same as glibc.
26168         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
26169         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
26170         difference shouldn't matter in practical use.  All uses changed
26171         back to isdigit.
26172         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
26173         (next_state): Now unsigned char array; redo elements.
26174         (result_type): Now signed char array; redo elements.
26175         (__strverscmp): Fix glibc bug 9913 by using new states.
26176         * tests/test-strverscmp.c (main): Test glibc bug 9913.
26178 2016-08-29  Jim Meyering  <meyering@fb.com>
26180         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
26181         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
26182         similarly to how it was done to intprops.h.
26184 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
26186         intprops.h: port recent changes to GCC 6.2.0
26187         * lib/intprops.h (__has_builtin): Move earlier.
26188         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
26189         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
26190         the last argument can be null.  All uses changed.
26191         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
26192         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
26193         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
26194         and it's not clear which GCC versions it works for.
26195         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
26196         its definiens.
26198         intprops.h: use __typeof__ with GCC 7
26199         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
26200         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
26201         This avoids computing the expression's value (which might overflow!).
26203 2016-08-29  Jim Meyering  <meyering@fb.com>
26205         intprops.h, xalloc-oversized.h: work with gcc 7
26206         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
26207         __builtin_mul_overflow each accept a NULL pointer as the third
26208         argument.  However in gcc 7, that is no longer accepted.
26209         Instead, one must use the "_p"-suffixed names, with which, the
26210         third parameter is no longer a pointer.
26211         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
26212         the definition: not true for gcc 7 and subsequent.
26213         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
26214         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
26215         Provide new definitions for gcc 7 and subsequent.
26216         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
26217         that works with gcc-7.
26219         intprops.h: fix missing-backslash problems
26220         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
26221         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
26223 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26225         intprops: fix paren typo on old platforms
26226         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
26227         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
26228         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
26229         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
26230         && !defined LLONG_MAX]:
26231         Remove stray paren.
26233         intprops: port to OpenVMS
26234         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
26235         * doc/posix-headers/limits.texi: Document the problem.
26236         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
26237         Define if not already defined.
26239 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
26241         parse-datetime: improve debug implementation
26242         Follow-up to commit 12ad79069 ("add optional debug printing").
26243         Improve parse-datetime's debug implementation: remove macros,
26244         replace global debug flag variable with a function parameter,
26245         use nstrftime for formatting.
26246         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
26247         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
26248         (parse_datetime2): New function, accepts 'flags' parameter, supporting
26249         debug flag. Existing interface 'parse_datetime' left unmodified.
26250         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
26251         (struct parser_control): add 'parse_datetime_debug' member variable.
26252         (parse_datetime): Call new function 'parse_datetime2' without debug.
26253         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
26254         pc.parse_datetime_debug variable as needed.
26255         (to_year): Accept new flags parameter, instead of using global variable.
26256         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
26257         use struct 'debug' variable instead of global variable.
26258         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
26259         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
26260         correspnding functions directly instead of using macros.
26261         * modules/parse-datetime: Add gnulib's strftime module.
26263 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
26265         c-strcase-tests: port to EBCDIC
26266         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
26267         which assume ASCII encoding semantics to run only in ASCII
26268         mode, as they fail in EBCDIC.
26270         sigpipe-tests: fix typo
26271         * tests/test-sigpipe.sh: C, not B.
26273 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
26275         canonicalize-lgpl: fix errno after malloca fails
26276         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
26277         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
26278         * lib/canonicalize-lgpl.c (__realpath):
26279         Don't assume malloca sets errno on failure.
26281 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26283         strtod: port errno handling to z/OS
26284         * lib/strtod.c (strtod): Save and restore errno more reliably.
26286 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
26288         strtod: port to z/OS
26289         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
26290         implementation.
26292 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26294         strtod: port to z/OS
26295         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
26296         implementation.
26298         regex, string: rename to avoid '__string'
26299         * lib/regex.h, lib/string.in.h: Do not use the identifier
26300         '__string', as it is effectively reserved by string.h on z/OS.
26302         c-strcase-tests, wcwidth-tests: depend on c-ctype
26303         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
26304         Add c-ctype.
26306 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
26308         thread: port to z/OS
26309         * lib/glthread/thread.c, lib/glthread/thread.h:
26310         Rudimentary gl_thread support for z/OS.
26312         maint: port tests to z/OS errno behavior
26313         * tests/test-nonblocking-reader.h:
26314         * tests/test-nonblocking-writer.h:
26315         Accommodate z/OS errno code preferences. (I believe this should
26316         still be within spec; IBM is good at following the letter if not
26317         the spirit of such things.)
26319         maint: preprocessor changes to support z/OS
26320         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
26321         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
26322         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
26323         * tests/test-nonblocking-pipe.h:
26325         fclose, strstr-simple, wchar: port to z/OS
26326         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
26327         Changes to the Autoconf M4 code to support z/OS.  Note that
26328         fclose() is broken in a different way on z/OS than it is on other
26329         systems, thus the special-case in fclose.m4.
26331         iconv_open-utf-tests, iconv-tests: port to EBCDIC
26332         * tests/test-iconv-utf.c, tests/test-iconv.c:
26333         Added appropriately conditional #pragmas so that the test strings
26334         in test-iconv-utf.c are correctly interpreted in ASCII instead of
26335         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
26336         addressed in a more portable way by simply rewriting all the ASCII
26337         literal characters as octal escapes, but then you would lose the
26338         partial readability that the strings have now. Also, iconv_open()
26339         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
26341         c-strcase-tests, wcwidth-tests: port to EBCDIC
26342         * tests/test-c-strcasecmp.c: Include c-ctype.h.
26343         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
26344         * tests/test-wcwidth.c: Likewise.
26346 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26348         stdbool: don't require _Bool for C++
26349         Problem reported by David Seifert in:
26350         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
26351         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
26352         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
26353         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
26354         stricter about checking that bool and _Bool are compatible in C.
26356 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
26358         getdelim: remove dependency on realloc-posix
26359         * lib/canonicalize-lgpl.c (alloc_failed)
26360         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
26361         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
26362         Use __set_errno where needed, for consistency.
26363         * lib/getdelim.c (alloc_failed): New function.
26364         (getdelim): Use it.
26366 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
26368         parse-datetime: add optional debug printing
26369         Print parsing information, warnings, and errors to stderr.
26370         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
26371         * lib/parse-datetime.y:
26372         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
26373         (PROGRESS*): Same as DEBUG, for progress reporting.
26374         (dbg_printf): Print message to stderr, with 'date' prefix.
26375         (struct parser_control): Add 'debug_*_seen' variables.
26376         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
26377         (debug_print_current_time, debug_print_relateive_time): Prints the
26378         current/relative date/time value of parser_control.
26379         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
26380         (to_year): Warn about 2-digit year parsing.
26381         (yylex):   Warn about unrecognized words.
26382         (get_effective_timezone): Returns current timezone in minutes.
26383         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
26384         clearly and unambigiously as possible.
26385         (debug_mktime_not_ok): Print detailed information about failed
26386         date/time values.
26387         (parse_datetime): Add DEBUG messages for failures, warnings. Add
26388         PROGRESS messages for status messages.
26389         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
26391 2016-08-06  Jim Meyering  <meyering@fb.com>
26393         tests/init.sh: exclude dash with bad "local" semantics
26394         * tests/init.sh (gl_shell_test_script_): Add a function to
26395         eliminate a shell like "dash" (unlike bash, zsh) that has
26396         surprising/risky "local var='...'" semantics.  Inspired by
26397         the problem and discussion in https://bugs.gnu.org/24116#11.
26399 2016-08-02  Ján Tomko  <jtomko@redhat.com>
26401         maint.mk: expand the prohibit_doubled_word regex
26402         This check has a static list of words that are checked for
26403         repetitions.  Expand it before running the perl script to
26404         avoid using expensive captures.  This decreases the cost
26405         for libvirt from 1.66s to 0.66s.
26406         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
26407         (sc_prohibit_doubled_word): Use it.
26409 2016-07-26  Ján Tomko  <jtomko@redhat.com>
26411         useless-if-before-free: skip non-matching lines early
26412         * build-aux/useless-if-before-free: First match each line with the
26413         simple/quick /\bif\b/ and reject if there is no match. This often
26414         saves the cost of the much more involved regular expression.
26415         For libvirt, this decreases the cost from 1.44s to 1.02s.
26417 2016-07-26  Ján Tomko  <jtomko@redhat.com>
26419         maint.mk: speed up sc_po_check
26420         sc_po_check would skip files based on their names, or on the
26421         existence of files with derived names. Rewrite it to use perl
26422         instead of shell to make the check faster.
26423         * top/maint.mk (perl_translatable_files_list_): Define.
26424         (sc_po_check): Use it.
26426 2016-07-30  Ján Tomko  <jtomko@redhat.com>
26428         maint.mk: speed up require_config_h_first
26429         Instead of spawning three processes per file,
26430         rewrite the check in perl and run it once for all the files.
26431         * top/maint.mk (perl_config_h_first_): Define.
26432         (sc_require_config_h_first): Use it in place of shell code.
26434 2016-07-26  Ján Tomko  <jtomko@redhat.com>
26436         maint.mk: speed up sc_po_check
26437         sc_po_check would skip files based on their names, or on the
26438         existence of files with derived names. Rewrite it to use perl
26439         instead of shell to make the check faster.
26440         * top/maint.mk (perl_translatable_files_list_): Define.
26441         (sc_po_check): Use it.
26443 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
26445         obstack: pacify GCC 6 with -Wnull-dereference
26446         Problem reported by Assaf Gordon in:
26447         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
26448         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
26449         Declare with __attribute_noreturn__.
26450         * lib/obstack.h (__attribute_noreturn__): New macro.
26452 2016-07-13  Eric Blake  <eblake@redhat.com>
26454         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
26455         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
26456         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
26458 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
26460         doc: mention glibc SSIZE_MAX buglet
26461         * doc/posix-headers/limits.texi (limits.h): Document the bug.
26463 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
26465         printf-posix: Fix mingw build
26466         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
26467         expression for detecting C symbol prefixes but forgot to qoute square
26468         brackets in the command line arguments for grep.  That way when
26469         building with mingw the condition was false although it ought to be
26470         true instead.  In particular scenarios this led to the following
26471         compile error:
26473             Cannot export rpl_printf: symbol not found
26474             Cannot export rpl_scanf: symbol not found
26475             collect2: error: ld returned 1 exit status
26477         Fix this by properly quoting square brackets.
26479 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
26481         mktime: call tzset as per POSIX
26482         Problem reported by Ludovic Courtès in:
26483         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
26484         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
26485         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
26487 2016-06-26  Pádraig Brady  <P@draigBrady.com>
26489         fts: handle readdir() errors
26490         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
26491         but also upon error when it will also set errno.  Therefore
26492         flag the error case from readdir().  We treat the case where
26493         no items are read the same as if the dir can't be accessed,
26494         i.e. by setting fts_errno to FTS_DNR.
26496 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
26498         intprops: port better to GCC 7
26499         GCC 7 __builtin_add_overflow supports a new usage form, where the
26500         last argument is a null pointer, and which merely returns 1 if an
26501         overflow would occur.  This is a constant expression if all
26502         arguments are constants, and should generate faster code when code
26503         needs to be generated.
26504         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
26505         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
26506         Use builtin operations if available.
26507         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
26508         operations are available, as it's almost surely faster.
26510 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
26512         intprops-test: port to GCC 6
26513         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
26514         since the bug is not fixed in GCC 6.1.
26516 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
26518         xalloc-oversized: port to GCC 7; fewer warnings
26519         GCC 7 will have a better way to deal with integer overflow.
26520         Plus, fix a warnings problem reported by Tim Ruehsen in:
26521         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
26522         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
26523         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
26524         For GCC 5, use __xalloc_oversized if both args are constants,
26525         or if pedantic.
26527 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
26529         regex: port to Sun C
26530         Reported by Daiki Ueno.
26531         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
26532         __restrict, in prototype.  This fixes a problem I introduced in
26533         the 2016-02-19 merge from glibc.
26535 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
26537         stdbool: Restore __bool_true_false_are_defined check
26538         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
26539         __bool_true_false_are_defined is still defined, even with C++11.
26541 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
26543         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
26544         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
26546 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
26548         Use GCC_LINT, not lint
26549         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
26550         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
26551         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
26552         Document problem with lint and _Noreturn.
26553         * lib/diffseq.h (IF_LINT, IF_LINT2):
26554         * lib/fts.c (sccsid):
26555         * lib/getndelim2.c (IF_LINT):
26556         * lib/gl_anylinked_list2.h (gl_linked_iterator)
26557         (gl_linked_iterator_from_to):
26558         * lib/gl_anytree_list2.h (gl_tree_iterator)
26559         (gl_tree_iterator_from_to):
26560         * lib/gl_anytree_oset.h (gl_tree_iterator):
26561         * lib/gl_array_list.c (gl_array_iterator)
26562         (gl_array_iterator_from_to):
26563         * lib/gl_array_oset.c (gl_array_iterator):
26564         * lib/gl_carray_list.c (gl_carray_iterator)
26565         (gl_carray_iterator_from_to):
26566         * lib/idcache.c:
26567         * lib/inet_ntop.c (IF_LINT):
26568         * lib/regcomp.c (build_charclass_op, create_tree):
26569         * lib/regex_internal.c (re_acquire_state)
26570         (re_acquire_state_context):
26571         * lib/trigl.c (rcsid):
26572         * lib/trim.c (IF_LINT):
26573         * lib/vasnprintf.c (IF_LINT):
26574         * lib/verify.h (assume):
26575         Treat GCC_LINT like lint.
26577 2016-05-29  Bruno Haible  <bruno@clisp.org>
26579         secure_getenv: Port to many more platforms.
26580         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
26581         functions.
26582         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
26583         for non-BSD Unix platforms and for native Windows.
26584         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
26585         Prompted by a request from Nikos Mavrogiannopoulos.
26587 2016-05-27  Eric Blake  <eblake@redhat.com>
26589         canonicalize: Fix broken probe for realpath.
26590         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
26591         in logic introduced in 54615b95.
26593 2016-05-26  Eric Blake  <eblake@redhat.com>
26595         unsetenv: relax to LGPLv2+
26596         * modules/unsetenv (License): Match setenv license.
26598 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
26600         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
26601         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
26602         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
26603         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
26604         (commonarg, dirargs, dirs, infoarg, generate_ascii)
26605         (generate_html, generate_info, generate_tex, outdir)
26606         (source_extra, split, srcfile, texarg): Move above 'version'.
26607         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
26609 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
26611         manywarnings: update for GCC 6.1
26612         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
26613         Add GCC 6.1 options that apply to C.
26614         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
26615         do not apply to C, are obsolescent, etc.
26617 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
26619         glob: size_t overflow checks
26620         * lib/glob.c (__has_builtin): New macro.
26621         (size_add_wrapv, glob_use_alloca): New static functions.
26622         (glob, glob_in_dir): Check for size_t overflow in several places,
26623         and fix some size_t checks that were not quite right.
26625         glob: don't assume INT_MAX < SIZE_MAX
26626         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
26627         latter is not portable to (probably theoretical) hosts where
26628         SIZE_MAX <= INT_MAX.
26630 2016-05-09  Bruno Haible  <bruno@clisp.org>
26632         Fix undefined behaviour in gettext.h.
26633         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
26634         pointer's value after the storage it points to has been freed.
26635         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
26636         Spotted by Coverity.
26638 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
26640         git-version-gen: avoid undefined shift
26641         Problem reported by Mosè Giordano in:
26642         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
26643         * build-aux/git-version-gen: Avoid undefined behavior if invoked
26644         with --prefix or --fallback but without a later argument.  While
26645         we're at it, omit unnecessary quotes.
26647 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
26649         glob: merge glibc changes into lib/glob.c
26650         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
26651         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
26652         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
26653           struct dirent [BZ #19779]
26654         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
26655           callback gl_readdir
26656         2015-10-20 Convert miscellaneous function definitions to prototype style
26657         2015-10-20 Convert 113 more function definitions to prototype style
26658           (files with assertions)
26659         2015-06-12 Fix getlogin_r namespace (bug 18527).
26660         2014-02-10 Use glibc_likely instead __builtin_expect.
26661         2013-10-20 When glob pattern contains a trailing slash match only
26662           directories. Fixes bug 10278.
26663         2013-09-04 glob: silence -Wattribute warnings
26664         2013-06-07 Avoid use of "register" as optimization hint.
26665         2012-09-25 Use size_t instead of int for internal variables in glob
26666           (bug 14621)
26667         2011-07-20 Check for overflows in expressions
26668         2011-05-28 Remove unused variable
26669         2011-05-22 Add a few more alloca size checks
26670         2010-03-27 Whitespace fixes
26671         2010-03-27 Fix one more issue with the glob patch
26672         2010-03-24 Fix glob with empty pattern
26673         2008-05-27 Remove useless more "if" tests before "free"
26674         * modules/glob (Depends-on): Add stdint.
26676 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
26678         mktime: port to stricter signed overflow checking
26679         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
26680         (long_int): Require width for INT_MAX * 3 * (seconds per year),
26681         instead of merely for INT_MAX * 2.  In practice platforms that
26682         do the latter also do the former.
26683         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
26684         (shr): New static function, replacing SHR.  All uses changed.
26685         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
26686         and TIME_T_MAX.  All uses changed.
26687         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
26688         Use long_int, not time_t.
26689         (long_int_avg): New static function, replacing time_t_avg.
26690         All uses changed.  Round toward positive infinity, as that
26691         generates slightly better code.
26692         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
26693         by INT_ADD_WRAPV.
26694         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
26695         (convert_time): New static function.
26696         (ranged_convert): Use it
26697         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
26698         Use simpler test for loop exit.
26699         (__mktime_internal): Store negative of guessed offset, to simplify
26700         overflow checking.  Remove no-longer-needed test for small time_t
26701         overflows.
26703         mktime: speed up DEBUG_MKTIME benchmarks
26704         Call tzset just once, at the start, rather than for every test
26705         case.  This lets us measure the CPU cost of mktime as opposed to
26706         that of tzset.  This is relevant when TZ is not set and glibc is
26707         being used.  This speeds up tests by a factor of 40 on my Fedora
26708         23 x86-64 platform.
26709         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
26710         to call tzset and as a sanity check.  Later on, use localtime_r
26711         instead of localtime.
26713         mktime: resurrect DEBUG_MKTIME testing
26714         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
26715         Include <string.h>, for strcmp.
26717         mktime: simplify DEBUG_MKTIME
26718         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
26719         Simplify later usage accordingly.
26721         Port mktime_internal offset to unsigned time_t
26722         This avoids some assumptions about wraparound arithmetic on
26723         signed integer overflow.
26724         * lib/mktime-internal.h (mktime_offset_t): New type.
26725         (mktime_internal): Use it in decl.
26726         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
26728         * lib/mktime.c (__mktime_internal, localtime_offset):
26729         * lib/timegm.c (timegm): Use it.
26730         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
26731         (gl_FUNC_MKTIME): Require it.
26733 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
26735         xstrtol: prohibit monstrosities like "1bB"
26736         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
26737         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
26738         "B" only if the first suffix needs a base.
26739         * tests/test-xstrtol.sh: Test this.
26741 2016-04-21  Pádraig Brady  <P@draigBrady.com>
26743         xstrtod: reinstate setting of *result upon ERANGE
26744         * lib/xstrtod.c (XSTRTOD): The user may decide to use
26745         the returned limits upon ERANGE, so allow and document that.
26747 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
26749         xstrtod: modify *result only if no errors
26750         * lib/xstrtod.c (XSTRTOD).
26752 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
26754         btowc: document problems in C locale
26755         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
26756         with mbrtowc.  See: http://bugs.gnu.org/23269#32
26758 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
26760         mktime: improve integer overflow checking
26761         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
26762         (WRAPV): Remove; no longer needed.
26763         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
26764         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
26765         Remove.  Use intprops.h defns instead.
26766         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
26767         Use bool for Boolean, for clarity.
26768         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
26769         detect integer overflow.
26770         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
26772         intprops: check two's complement assumption
26773         Suggested by Eric Blake in:
26774         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
26775         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
26776         short, int, long, and (if available) long long are two's complement.
26777         * modules/intprops (Depends-on): Add 'verify'.
26779         intprops, mktime, strtol: assume two's complement
26780         These macros were not portable to every conforming C11 ones'
26781         complement platform.  It's not worth the hassle of porting to some
26782         platforms that use ones' complement or signed magnitude, as such
26783         platforms are almost purely theoretical nowadays and porting even
26784         to some of them makes the code harder to review for little
26785         practical benefit.  Problem reported by Florian Weimer in:
26786         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
26787         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
26788         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
26789         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
26790         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
26791         (TYPE_SIGNED_MAGNITUDE):
26792         Remove.  All uses rewritten to assume two's complement, which is
26793         all we can reasonably test nowadays anyway.
26794         * top/maint.mk (_intprops_names): Remove the removed macros.
26796 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
26798         stdint: port to strict C11 left shift
26799         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
26800         Pacify clang -Wshift-negative-value, which should be an issue only
26801         on clang setups where stdint.h does not conform to C11 or to C++11.
26802         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
26804 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
26806         mbrtowc: work around glibc bug#19932
26807         Fix mbrtowc so that it never returns -1 in the C locale,
26808         as this conflicts with a future version of POSIX
26809         http://austingroupbugs.net/view.php?id=663#c2738
26810         and causes problems with GNU grep: http://bugs.gnu.org/23234
26811         See glibc bug 19932:
26812         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
26813         * doc/posix-functions/mbrlen.texi (mbrlen):
26814         * doc/posix-functions/mbrtowc.texi (mbrtowc):
26815         Document the glibc bug.
26816         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
26817         Include hard-locale.h, locale.h.
26818         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
26819         if the bug is possible.
26820         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
26821         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
26822         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
26823         * modules/mbrtowc (Depends-on): Add hard-locale.
26824         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
26825         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
26826         * tests/test-mbrtowc5.sh: New file.
26828 2016-04-03  Pedro Alves  <palves@redhat.com>
26830         stdint: detect good enough pre-C++11 stdint.h in C++ mode
26831         When gnulib is configured in C++ mode for a system with a working C99
26832         implementation of stdint.h that predates C++11, gnulib ends up
26833         substituting stdint.h anyway.  This works on most targets, but on e.g.,
26834         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
26835         MinGW is LLP64.  Instead of trying to detect the right types, detect
26836         good-enough-pre-C++11 stdint.h and in such case define
26837         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
26838         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
26839         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
26840         conforms to C99.  If it does, check whether it hides symbols
26841         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
26842         does, define those macros in config.h.
26844 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
26846         argp: merge changes from glibc
26847         Among other things, this should fix problems found by a Coverity
26848         scan and reported by Andrei Borzenkov:
26849         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
26850         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
26851         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
26852         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
26853         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
26854         * lib/argp.h:
26855         Merge changes from glibc.
26856         * tests/test-argp-2.sh: Adjust to match new behavior.
26858 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
26860         stddef: support configuring with g++
26861         Problem reported by Ángel González in:
26862         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
26863         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
26864         Do not define if _GCC_MAX_ALIGN_T is defined.
26866 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
26868         test-framework-sh: minor cleanups
26869         * tests/init.sh (testdir_prefix_): Output a trailing newline,
26870         since strictly speaking POSIX requires this.
26871         (setup_): Do not use the variable 'fail', as that makes the
26872         trace output harder to read ('fail' is typically used by
26873         tests to mean the test failed).  Treat // portably.
26874         Check that new directory is not merely a sibling of the tmp dir.
26875         Avoid unnecessary invocation of tr.
26877         test-framework-sh: revert port to NetBSD 7.0
26878         It was a false alarm; I misinterpreted Assaf Gordon's report.
26879         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
26880         Restore.
26881         (test_dir_): Adjust to mktempd_ change.
26882         (mktempd_): Restore 2nd arg.  Use -t again.
26883         (base_template_, template_, nx_): Resurrect old code.
26885         Port better to Alpine Linux
26886         Its diff implementation does not support -c, but does support -U3.
26887         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
26888         * tests/init.sh (diff_opt_): New var.
26889         (compare_): Prefer diff -U3 to diff -c to plain diff.
26891 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
26893         test-framework-sh: port to NetBSD 7.0
26894         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
26895         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
26896         Remove.  All uses removed.
26897         (test_dir_): Adjust to mktempd_ change.
26898         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
26899         (base_template_, template_, nx_): Simplify by hardcoding.
26901 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
26903         gitlog-to-changelog: suppress ignored chatter
26904         * build-aux/gitlog-to-changelog: Do not warn about skipping
26905         an SHA if it would have been ignored anyway.
26907 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
26909         setlocale: add "sv" to Windows language table
26910         * lib/setlocale.c (language_table) [W32]: Add "sv".
26911         Reported in <https://savannah.gnu.org/bugs/?44588>.
26913 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
26915         sys_select: port to new Cygwin
26916         Problem reported by Ken Brown in:
26917         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
26918         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
26919         diagnostics.
26921 2016-03-17  Jim Meyering  <meyering@fb.com>
26923         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
26924         * tests/test-userspec.c (main): Remove unnecessary braces and fix
26925         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
26926           test-userspec.c:176:9: error: statement is indented as if it were \
26927             guarded by... [-Werror=misleading-indentation]
26928                    {
26929                    ^
26930           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
26931                  if (!diag && !T[i].result)
26932                  ^~
26934 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
26936         time_rz: port to clang -Wunused-const-variable
26937         * lib/time_rz.c (TZ): Remove.  All uses removed.
26939         std-gnu11: improve clang support
26940         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
26941         2016-03-15 Also try clang
26942         2016-03-15 Port C11 and C++11 testing to clang
26944         select: port more to Intel 2016.1.150 compiler
26945         Problem reported by Balázs Hajgató in:
26946         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
26947         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
26949 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
26951         select: try to port to 2016.1.150 compiler
26952         Problem reported by Balázs Hajgató in:
26953         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
26954         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
26955         POSIX specifies 'restrict'.
26957 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
26959         localename-tests: memory allocation fixes
26960         * tests/test-localename.c (test_locale_name)
26961         (test_locale_name_thread): Don't call freelocale on a locale
26962         that was the base of a successful newlocale, as that
26963         results in a double free.  Problem reported by Assaf Gordon.
26964         (test_locale_name_thread): Free saved names after use, to pacify
26965         gcc -fsanitize=address.
26967 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
26969         intprops: make .h file license match module
26970         * lib/intprops.h: Change the license wording to match glibc format.
26971         This is what is in modules/intprops anyway.  See:
26972         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
26974 2016-03-08  Eric Blake  <eblake@redhat.com>
26976         acl: fix missing return on Cygwin
26977         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
26978         fall off end of function. Fixes http://bugs.gnu.org/22949
26980 2016-03-05  Bruno Haible  <bruno@clisp.org>
26982         extern-inline: port to PGI CC
26983         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
26984         keyword 'inline'.
26985         Reported by Adam James Stewart in:
26986         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
26988 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26990         signbit: port back to pre-C++11 GCC
26991         * lib/math.in.h (signbit): Do previous change only if
26992         __cplusplus < 201103.  See Jonathan Wakely in:
26993         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
26995 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
26997         mountlist: recognize autofs-mounted remote file systems, too
26998         Originally reported at: https://bugzilla.redhat.com/1309247
26999         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
27000         "-hosts" because it is used by autofs to mount remote file systems.
27002 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
27004         signbit: port to C++ with GCC 6
27005         * lib/math.in.h (signbit) [__cplusplus]:
27006         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
27007         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
27009         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
27011         regex: make it closer to libc
27012         Make Idx a signed type, rather than possibly unsigned.
27013         The unsignedness was not really buying us anything, since the code
27014         overflows for other reasons before getting to PTRDIFF_MAX.  Making
27015         it signed allows us to use -1 and -2 with abandon, like libc does,
27016         thus lessening the number of differences between gnulib and libc.
27017         Also, it should help avoid gratuitous warnings like the one
27018         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
27019         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
27022         regex: merge patches from libc
27024         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
27025         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
27026         Convert miscellaneous function definitions to prototype style.
27027         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
27028         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
27029         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
27030         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
27031         (re_search_internal):
27032         Convert to prototype-style function definition.
27033         Use internal_function for internal functions.
27035 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
27037         stdalign: port to older HP and IBM cc
27038         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
27039         C compilers, by checking their version numbers.  These version
27040         numbers appear in MariaDB and in Qt code that dates way back and
27041         that conditiionally uses the 'aligned' attribute.
27043 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
27045         stdalign: port to clang 3.7.0
27046         Problem reported by Herbert J. Skuhra in:
27047         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
27048         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
27049         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
27050         https://llvm.org/bugs/show_bug.cgi?id=26547
27052 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
27054         readdir_r: now obsolescent
27055         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
27056         * lib/mountlist.c (read_file_system_list): Add a FIXME.
27058 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
27060         misc: port better to gcc -fsanitize=address
27061         Without these patches, ./configure CFLAGS='-fsanitize=address'
27062         would compute incorrect values.  This patch fixes some (but not all)
27063         test failures with recent glibc, with this configuration.
27064         * m4/acl.m4 (gl_ACL_GET_FILE):
27065         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
27066         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
27067         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
27068         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
27069         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
27070         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
27071         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
27072         * m4/getline.m4 (gl_FUNC_GETLINE):
27073         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
27074         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
27075         * m4/regex.m4 (gl_REGEX):
27076         * m4/strndup.m4 (gl_FUNC_STRNDUP):
27077         * tests/test-calloc-gnu.c (main):
27078         * tests/test-duplocale.c (main):
27079         * tests/test-getgroups.c (main):
27080         * tests/test-getline.c (main):
27081         * tests/test-inttostr.c (main):
27082         * tests/test-localename.c (test_locale_name)
27083         (test_locale_name_thread, test_locale_name_environ)
27084         (test_locale_name_default):
27085         * tests/test-regex.c (main):
27086         * tests/test-setlocale1.c (main):
27087         * tests/test-stat.h (test_stat_func):
27088         Free heap-allocated storage before exiting.
27089         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
27090         Don't match *_foo symbols inserted by AddressSanitizer.
27091         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
27093 2016-02-02  Jim Meyering  <meyering@fb.com>
27095         verify-tests: also remove stray test-verify.Tpo
27096         * modules/verify-tests (Makefile.am): Arrange for "make clean"
27097         to remove the test-verify.Tpo file that is left behind by
27098         the automake-generated rule upon compilation failure.
27099         Otherwise, that .Tpo file would cause a failed "make distcheck"
27100         at least for grep.
27102 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
27104         std-gnu11: new module
27105         This makes it easier for applications to prefer C11 and C++11
27106         to older variants, when compiling C and C++ code.
27107         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
27108         a nontrivial chunk of GPLed Autoconf source code.
27109         * COPYING: Mention the m4/*.m4 copyright situation.
27110         * MODULES.html.sh (std-gnu11): New module.
27111         * m4/std-gnu11.m4, modules/std-gnu11: New files.
27113 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
27115         get-permissions, strftime: fix grammar in comments
27116         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
27117         some grammar fixes Alan Mackenzie made to GNU Emacs.
27119 2016-01-25  Daiki Ueno  <ueno@gnu.org>
27121         gettext: mark as obsolete
27122         Suggested by Paul Eggert in:
27123         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
27124         * modules/gettext (Status): Mark as obsolete.
27125         (Notice): Suggest to use 'gettext-h' instead.
27126         * modules/gettext-h (Description): Suggest GNU gettext, instead of
27127         the 'gettext' module.
27129 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
27131         gnulib-tool: don't give up on ln -s so easily
27132         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
27133         because an earlier one failed.  The targets could be on different
27134         file systems.  Problem reported by KO Myung-Hun in:
27135         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
27137         closedir: fix OS/2-related typos
27138         Problem reported by KO Myung-Hun in:
27139         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
27140         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
27141         in the last couple of changes.
27143 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
27145         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
27146         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
27147         copying a directory.
27149 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
27151         regex: treat [x] as x if x is a unibyte encoding error
27152         Problem reported by Aharon Robbins in:
27153         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
27154         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
27155         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
27157         closedir, dirfd, opendir: port to OpenSolaris 5.10
27158         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
27159         * m4/dirfd.m4 (gl_FUNC_DIRFD):
27160         * m4/opendir.m4 (gl_FUNC_OPENDIR):
27161         Don't use ${word##pat} substitution, as it doesn't work in
27162         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
27163         http://bugs.gnu.org/22443#11
27165 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
27167         bootstrap: use American spelling
27168         * build-aux/bootstrap: Honor American spelling.
27170 2016-01-22  Karl Berry  <karl@freefriends.org>
27172         * doc/posix-functions/localtime.texi,
27173         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
27175 2016-01-21  Bruno Haible  <bruno@clisp.org>
27177         hash-pjw-bare: fix comment
27178         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
27180         wcwidth: Replace also on OpenBSD 5.8
27181         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
27182         * doc/posix-functions/wcwidth.texi: Update.
27184 2016-01-20  Pádraig Brady  <P@draigBrady.com>
27186         gnu-web-doc-update: fix addition of new files
27187         If there were already added (emnpty) dirs,
27188         then cvs aborts the add with the message:
27189           cvs [add aborted]: there is a version in <./dirname> already
27190         * build-aux/gnu-web-doc-update: Add directories separately
27191         to the addition of files, to avoid the above issue
27192         impacting the addition of files.
27194 2016-01-19  Daiki Ueno  <ueno@gnu.org>
27196         utimens-tests: avoid pulling gettext .m4 files
27197         Although this is not the right fix to the original problem:
27198         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
27199         it makes it possible again for consumer projects to use arbitrary
27200         version of gettext, through the steps described at:
27201         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
27202         See here for details:
27203         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
27204         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
27205         'gettext'.
27206         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
27207         'gettext'.
27209 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
27211         regex: pacify static checkers
27212         Problem and draft fix reported by Aharon Robbins in:
27213         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
27214         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
27215         Clear memory to pacify static checkers.
27217         regex: fix [ diagnostic
27218         Problem and fix reported by Aharon Robbins in:
27219         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
27220         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
27222         regex: fix memory leaks
27223         Problem and draft fix reported by Aharon Robbins in:
27224         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
27225         * lib/regcomp.c (build_range_exp, build_charclass_op)
27226         * lib/regex_internal.c (re_dfa_add_node):
27227         Fix memory leak on failure.
27229 2016-01-18  Pádraig Brady  <P@draigBrady.com>
27231         fts: don't unconditionally use leaf optimization for NFS
27232         NFS st_nlink are not accurate on all implementations,
27233         leading to aborts() if that assumption is made.
27234         See <https://bugzilla.redhat.com/1299169>
27235         * lib/fts.c (leaf_optimization_applies): Remove NFS from
27236         the white list, and document the issue.
27238 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
27239             KO Myung-Hun  <komh@chollian.net>
27241         gnulib-tool: don't assume ln -s works
27242         * gnulib-tool (func_ln_s): New function.
27243         (func_ln): Use it.
27245 2016-01-15  KO Myung-Hun  <komh@chollian.net>
27247         utimes: detect utimes() correctly on OS/2 kLIBC
27248         utimes() of OS/2 kLIBC has some limitations.
27249         1. OS/2 itself supports a file date since 1980 year in local time.
27250         2. OS/2 itself supports only even seconds for a file time.
27251         3. utimes() of OS/2 kLIBC does not work on an opened file.
27252         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
27253         * doc/posix-functions/utimes.texi: Document the above limitations of
27254         utimes() on OS/2 kLIBC.
27256 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
27257             KO Myung-Hun  <komh@chollian.net>
27259         openat_proc_name: port to OS/2 kLIBC
27260         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
27261         instead of /proc/self/fd.
27262         * lib/openat-proc.c (openat_proc_name):
27263         Don't assume file name length is less than INT_MAX.
27264         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
27266 2016-01-14  KO Myung-Hun  <komh@chollian.net>
27268         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
27269         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
27270         definitions of intptr_t and uintptr_t (which use int and unsigned)
27271         to avoid clashes with declarations of system functions like sbrk.
27272         * lib/stdint.in.h (intptr_t, uintptr_t): Check
27273         _INTPTR_T_DECLARED before defining them.
27275         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
27276         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
27277         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
27278         Declare on kLIBC.
27279         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
27280         fd associated with dirp.
27281         (_gl_register_dirp_fd): New. Register fd associated with dirp to
27282         dirp_fd_list.
27283         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
27284         (dirfd): Implemented for kLIBC.
27285         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
27286         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
27287         succeeds.
27288         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
27289         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27290         (REPLACE_DIRFD): Define to 1 if replaced.
27291         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
27292         * modules/closedir (Depends-on): Add dirfd.
27293         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
27294         condition.
27295         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
27296         * modules/opendir (Depends-on): Add dirfd.
27298         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
27299         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
27300         * lib/dup.c (dup_nothrow): New.
27301         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
27302         (klibc_dup2): New.
27303         * lib/fcntl.c (klibc_fcntl): New.
27304         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
27305         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
27306         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
27307         fd.
27309         pipe_filter_ii_execute: port to OS/2 kLIBC
27310         Pipes on kLIBC do not support O_NONBLOCK like Win32.
27311         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
27312         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
27313         Reuse Win32 code on OS/2 kLIBC.
27314         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
27315         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
27317         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
27318         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
27319         static inline function.  The implementation of wcwidth in wcwidth.c
27320         causes a "conflicting types" error.
27321         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
27323         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
27324         spawn() on OS/2 kLIBC is not silly like one on Windows
27325         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
27326         empty string on OS/2 kLIBC.
27328         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
27329         On OS/2 kLIBC, select() works only on sockets.
27330         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
27332         binary-io: don't put fd in binary mode if it is a console on EMX
27333         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
27334         a console on EMX.
27336 2016-01-15  Pádraig Brady  <P@draigBrady.com>
27338         doc: mention unfixed issues with unsupported localtime() values
27339         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
27340         returns nonsense for localtime(2^56).
27341         * doc/posix-functions/localtime_r.texi: Likewise.
27343 2016-01-14  Pádraig Brady  <P@draigBrady.com>
27345         doc: mention setlocale() issues on OpenBSD
27346         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
27347         never fails, and the need to check categories individually.
27349 2016-01-14  Pádraig Brady  <P@draigBrady.com>
27351         sig2str: list all signals on FreeBSD >= 7
27352         FreeBSD >= 7 is contravening POSIX by not defining NSIG
27353         to the maximal statically defined signal value.
27354         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
27355         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
27356         where available, even when NSIG is defined.
27358 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
27360         acl-permissions: port to USE_ACL==0 platforms
27361         I ran into this problem when building bleeding-edge GNU Emacs
27362         with gcc -fsanitize=address on Fedora 23.  On this platform
27363         the ACL library does not pass the 'configure' test and Emacs
27364         then does not build due in part to what appear to be typos in the
27365         ACL part of Gnulib.
27366         * lib/acl-internal.c (free_permission_context):
27367         * lib/acl-internal.h (struct permission_context):
27368         Test whether USE_ACL is nonzero, not whether it is defined.
27370 2016-01-12  Martin Sebor  <msebor@redhat.com>
27372         mktime: rename macro to avoid glibc clash
27373         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
27374         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
27376 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
27378         Port "$@" to OpenIndiana ksh93
27379         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
27380         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
27381         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
27382         bug long-dead shells, so remove the workaround.
27383         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
27384         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
27385         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
27386         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
27387         Use "$@" instead of ${1+"$@"}.
27389         Port Universal Time settings to strict POSIX
27390         * build-aux/announce-gen, build-aux/bootstrap:
27391         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
27392         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
27393         * build-aux/gnupload, build-aux/mkinstalldirs:
27394         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
27395         * build-aux/update-copyright, build-aux/useless-if-before-free:
27396         * build-aux/vc-list-files, tests/test-strftime.c:
27397         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
27398         but POSIX says the behavior of TZ="UTC" is undefined.
27400 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
27402         msvc-inval: fix problem with unset shell var
27403         Problem reported by Karl Berry in:
27404         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
27405         * modules/msvc-inval (Depends-on):
27406         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
27407         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
27409 2016-01-01  Pádraig Brady  <P@draigBrady.com>
27411         tests: for compare_(), use cmp -s where available
27412         * tests/init.sh (compare_): Only fall back to cmp without
27413         the POSIX defined -s option, where this is not available.
27415 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
27417         version-etc: new year
27418         * build-aux/gendocs.sh (version):
27419         * doc/gendocs_template:
27420         * doc/gendocs_template_min:
27421         * doc/gnulib.texi:
27422         * lib/version-etc.c (COPYRIGHT_YEAR):
27423         Update copyright dates by hand in templates and the like.
27424         * all files: Run 'make update-copyright'.
27426 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27428         human: fix output buffer overrun by 1
27429         * lib/human.c (human_readable): Fix off-by-one typo in buffer
27430         calculation that could lead to a one-byte buffer overrun.
27432 2015-12-28  Daiki Ueno  <ueno@gnu.org>
27434         maint: fix operator precedence in mbrtowc test
27435         This is a fix for test breakage introduced by commit 45228d96; the
27436         equality expression must be parenthesized when negated with '!',
27437         otherwise we always get:
27439           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
27441         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
27442         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
27444 2015-12-23  James Youngman  <jay@gnu.org>
27446         regexprops-generic: update from regex.h
27447         * doc/regexprops-generic.texi: update by running the regexprops binary
27448         from findutils (the command line is 'regexprops "Regular Expressions"
27449         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
27450         gnulib with GNU grep had made this document out-of-date.
27452 2015-12-23  Pádraig Brady  <P@draigBrady.com>
27454         strftime-tests: avoid false failure on OS X
27455         * tests/test-strftime.c (struct localtime_rz_test): Add an
27456         ahistorical member which is used to warn rather than fail
27457         when tm_isdst isn't set for such entries.  This is the case for
27458         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
27460 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
27462         fts: ensure leaf optimization is used for NFS
27463         NFS provides usable dirent.d_type but not necessarily for all entries
27464         of large directories.  See <https://bugzilla.redhat.com/1252549>
27465         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
27467 2015-12-20  Pádraig Brady  <P@draigBrady.com>
27469         fts: enable leaf optimization for XFS
27470         XFS provides usable dirent.d_type only for DT_DIR,
27471         but the noleaf optimization still applies.
27472         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
27474 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
27476         intprops: comment fix
27477         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
27478         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
27480         intprops-test: work around GCC bug 68971
27481         Problem reported by Pádraig Brady in:
27482         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
27483         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
27484         (main): Add a case that better tests 64-bit long in this area.
27486 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
27488         gnulib-tool: allow multiple --local-dir usage
27489         * gnulib-tool: Use --local-dir to construct compound
27490         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
27491         PATH_SEPARATOR early.
27492         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
27493         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
27494         func_determine_path_separator because that needs to be detected
27495         earlier now.
27496         (func_determine_path_separator): New function.
27497         (func_path_foreach, func_path_foreach_inner): New functions.
27498         (func_path_prepend, func_path_append): Likewise.
27499         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
27500         (func_lookup_file, func_all_modules): Use new functions to work
27501         with local_gnulib_path.
27502         (func_modules_in_dir, func_exists_module): New callbacks for
27503         func_path_foreach.
27504         (func_exists_module, func_get_tests_module): Likewise.
27505         (func_is_local_file, func_should_symlink): New helper methods.
27506         (func_add_file, func_update_file): Use new func_should_symlink
27507         instead, DRY.
27508         (func_reconstruct_cached_local_gnulib_path): New helper.
27509         (func_reconstruct_cached_dir): New callback.
27510         (func_import): The cached_local_gnulib_dir renamed to
27511         cached_local_gnulib_path similarly to local_gnulib_dir.
27512         Use new func_reconstruct_cached_local_gnulib_path.
27513         (func_count_relative_local_gnulib_path): New sub-method.
27514         (func_create_testdir): Use func_should_symlink, DRY.
27515         (func_create_megatestdir): Use new functions to work with
27516         local_gnulib_path correctly.
27517         (func_append_local_dir): New helper.
27519 2015-12-08  Pádraig Brady  <P@draigBrady.com>
27521         fix freadptr to work with ungetc on all uClibc configs
27522         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
27523         where GNU coreutils cut(1) generates invalid output on uClibc
27524         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
27525         * lib/freadptr.c (freadptr): Return NULL if there are
27526         ungotten chars.  In this case freadseek() will iterate
27527         again to process the ungotten character.
27529 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
27531         xalloc-oversized: improve performance with GCC 5
27532         * lib/xalloc-oversized.h (xalloc_oversized):
27533         Improve performance with GCC 5 by using __builtin_mul_overflow.
27535 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
27537         intprops: new public macro EXPR_SIGNED
27538         Emacs can use this macro, so make it public.
27539         * doc/intprops.texi (Arithmetic Type Properties): Rename from
27540         'Integer Type Determination', since some of these macros apply
27541         to non-integer types.  Clarify what kinds of constant expressions
27542         these macros return.  Say when the arguments can be non-integers.
27543         Mention newly published macro EXPR_SIGNED.
27544         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
27545         make it public.  All uses changed.
27547         intprops: fix typo in clang port
27548         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
27549         '__builtin_add_overflow' that is not caught by compiler.
27551 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
27553         test-timespec: fix typo in previous change
27554         * tests/test-timespec.c (main): Fix typo that reduced test quality.
27556         timespec-sub: fix overflow bug; add tests
27557         * lib/timespec-add.c (timespec_add):
27558         * lib/timespec-sub.c (timespec_sub):
27559         Work even if time_t is narrower than int (a theoretical
27560         possibility).  Redo code for a bit more clarity.
27561         * lib/timespec-sub.c (timespec_sub):
27562         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
27563         * modules/timespec-tests, tests/test-timespec.c: New files.
27565         intprops-test: suppress -Woverlength-strings
27566         Problem reported by Pádraig Brady in:
27567         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
27568         It is not worth the hassle to port this test to compilers that
27569         cannot handle long strings in diagnostics.
27570         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
27572 2015-11-03  Pádraig Brady  <P@draigBrady.com>
27574         quotearg: add quotearg_n_style_colon()
27575         This quotes with default options of the specified style,
27576         but with quoting enabled for instances of ':'.
27577         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
27578         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
27580 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
27582         intprops: revise _WRAPV macros, revert _OVERFLOW
27583         The incompatible changes to the _OVERFLOW macros were too much of
27584         a hassle in practice, so revert them.  Instead, change the new
27585         _WRAPV macros to make them closer in behavior to GCC 5's new
27586         builtin_add_overflow etc. functions.  No other software was using
27587         these newly-added macros yet, so this should be OK.
27588         * NEWS: Revert previous change, since the incompatible change
27589         has been reverted, and nobody used the incompatible version.
27590         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
27591         Document revised behavior.
27592         (Integer Range Overflow): Adjust example to match above revisions.
27593         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
27594         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
27595         these can be used in integer constant expressions again.
27596         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
27597         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
27598         needed.
27599         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
27600         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
27601         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
27602         Remove, as they did not seem that useful.
27603         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
27604         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
27605         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
27606         Support new semantics.
27607         (__has_builtin): New macro, if not alreay defined.
27608         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
27609         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
27610         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
27611         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
27612         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
27613         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
27614         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
27615         New macros.
27616         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
27618 2015-11-03  Jim Meyering  <meyering@fb.com>
27620         intprops: add parentheses for when OP has precedence lower than "-"
27621         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
27622         "a OP b" must be parenthesized for when OP is like "<<", which has
27623         lower precedence than the following "-". Reported by Pádraig Brady.
27625 2015-11-03  Pádraig Brady  <P@draigBrady.com>
27627         quotearg: constify get_quoting_style parameters
27628         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
27629         * lib/quotearg.c (get_quoting_style): Likewise.
27631 2015-11-02  Pádraig Brady  <P@draigBrady.com>
27633         quotearg: add support for $'' shell escaping
27634         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
27635         items and descriptions.
27636         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
27637         above types by quoting like "shell", but using $'...' syntax
27638         for non printable characters, which should provide unambiguous
27639         printable output for any input.
27640         * tests/test-quotearg-simple.c: Update accordingly.
27642 2015-11-02  Pádraig Brady  <P@draigBrady.com>
27644         maint: use a more standard return from mbrtowc test
27645         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
27646         from the test program as this is non standard and often
27647         indicates an unhandled case in the test program.
27648         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
27650 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
27652         intprops: add WRAPV and const flavors for GCC 5
27653         If available, use GCC 5's builtin functions for efficient integer
27654         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
27655         and safely compute the low-order bits of the correct answer.
27656         A downside of these efficient functions is that they cannot be
27657         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
27658         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
27659         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
27660         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
27661         Document the changes.
27662         (Wraparound Arithmetic): New section.
27663         (Integer Range Overflow):
27664         Put this subsection last, since it's least useful.
27665         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
27666         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
27667         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
27668         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
27669         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
27670         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
27671         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
27672         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
27673         New macros.
27674         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
27675         Generate calls to GCC builtins if available, for speed.
27676         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
27677         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
27678         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
27679         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
27680         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
27681         (CHECK_QUOTIENT, CHECK_REMAINDER):
27682         Test WRAPV and CONST flavors (when available) too.
27684 2015-10-30  Pádraig Brady  <P@draigBrady.com>
27686         doc: use extended timezone format in iso-8601 example
27687         * doc/parse-datetime.texi: The standard states that extended format
27688         is to be used consistently throughout.
27689         Note that lib/parse-datetime.y can handle either tz format.
27691 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27693         stdalign: port to Sun C 5.9
27694         * doc/posix-headers/stdalign.texi: Document this.
27695         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
27696         __attribute__ ((__aligned__ (...))).
27698 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27700         time_rz: fix comment about tzalloc
27701         * lib/time_rz.c (tzalloc): Fix comment.
27703 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
27705         stdalign: work around pre-4.9 GCC x86 bug
27706         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
27707         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
27708         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
27710 2015-10-18  Pádraig Brady  <P@draigBrady.com>
27712         maint.mk: sc_tight_scope: remove extraneous expressions
27713         * top/maint.mk (tight_scope): This is not really required since
27714         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
27715         that matches all nm entries.  But it does remove extraneous entries
27716         that may be confusing or cause issue in future maintenance.
27718 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
27720         time_rz: return NULL if localtime_r fails
27721         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
27722         while still attempting to pacify bleeding-edge GCC.
27724         fts: port to C11 alignof
27725         * doc/posix-headers/stdalign.texi (stdalign.h):
27726         Document the C11 restriction.
27727         * lib/fts.c: Include stddef.h, for max_align_t.
27728         (fts_alloc): Align using max_align_t, not FTSENT.
27729         * modules/fts (Depends-on): Add stddef.
27731 2015-10-18  Jim Meyering  <meyering@fb.com>
27733         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
27734         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
27735         would see this:
27737         lib/time_rz.c: In function 'localtime_rz':
27738         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
27739           [-Werror=nonnull]
27740                    if (tm && !save_abbr (tz, tm))
27741                        ^
27743         That was complaining about "tm" because it is a parameter that was
27744         declared with the __nonnull__ attribute.
27745         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
27746         result of localtime_r.
27748 2015-10-17  Jim Meyering  <meyering@fb.com>
27750         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
27751         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
27752         name-extraction regexp mistakenly used \S+, and would mistakenly
27753         extract "*F" from "extern int *F()" rather than the desired "F".
27754         Use \w+ instead.
27756 2015-10-17  Jim Meyering  <meyering@fb.com>
27758         maint.mk: sc_tight_scope: factor and support OS X
27759         * top/maint.mk (_gl_tight_scope): Address three issues:
27760         - factor out four instances of code that wraps a string in "^...$"
27761         - allow nm-reported symbol names to have an optional leading "_"
27762         - add "main" to the list of ignored variable names, because on os x,
27763         "main" has nm-reported type "S" in the variable-checking section.
27765 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
27767         safe-alloc-tests: fix typo in license header
27768         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
27770 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
27772         copy-file: fix mem leak in error case
27773         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
27774         upon error opening or performing I/O to the src and dest files.
27776 2015-10-15  Mike Frysinger  <vapier@chromium.org>
27778         localename: control langinfo.h inclusion
27779         This header is only used to work around buggy behavior in old
27780         versions of glibc, so do not include it all the time.  Otherwise
27781         we get build failures on systems that do not provide langinfo.h.
27782         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
27783         in the source later on.
27784         The patch was originally submitted to gettext as:
27785         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
27787 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27789         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
27790         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
27791         * lib/u64.c, lib/unistd.c:
27792         Append 'typedef int dummy;', to pacify compilers that are picky
27793         about empty translation units.
27795 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
27797         accept4-tests: fix to avoid non portable flags
27798         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
27799         as they are the only documented ones, and passing others may trigger
27800         EINVAL (seen on FreeBSD 10.1-RELEASE).
27801         * doc/glibc-functions/accept4.texi: Mention that we don't provide
27802         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
27804 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
27806         gnulib-tool: fix tests of 'extensions' module
27807         This complements f8fe25fab60e3c687a124 commit.
27808         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
27809         emitting of initial gl_EARLY macros.
27810         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
27811         replaced with func_emit_pre_early_macros call.
27813 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
27815         unicase/locale-language: fix typo in utf-8 cookie
27816         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
27817         Problem reported by Zbigniew Jędrzejewski-Szmek.
27819 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
27821         xalloc: do not worry about GCC 5 warning on 32 bit
27822         * lib/xalloc.h: Revert previous change.
27823         I found a better way to fix this in coreutils.
27825 2015-10-02  Pádraig Brady  <P@draigBrady.com>
27827         xalloc: avoid GCC 5.1 warning on 32 bit
27828         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
27829         xalloc_oversized(), which was seen to give this warning
27830         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
27831         when simplifying conditional".
27833 2015-10-02  Daiki Ueno  <ueno@gnu.org>
27835         uniname/uniname-tests: avoid compiler warnings
27836         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
27837         unused local variables.
27838         (test_alias_lookup): Fix alias name display in failure cases.
27840 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
27842         c-ctype: do not worry about EBCDIC + char signed
27843         Drop support for EBCDIC with char being signed, as this breaks too
27844         many programs.  Problem reported by Ben Pfaff in:
27845         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
27846         * lib/c-ctype.h: Verify that we are not using EBCDIC with
27847         char being signed.
27848         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
27849         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
27850         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
27851         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
27852         * tests/test-c-ctype.c (test_all):
27853         Simplify by assuming standard char values cannot be negative.
27854         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
27856 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
27858         c-ctype: port better to z/OS EBCDIC
27859         Problems reported by Daniel Richard G. in:
27860         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
27861         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
27862         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
27863         (_C_CTYPE_OTHER_CNTRL): New macro.
27864         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
27865         from SCHAR_MIN, as the functions are defined only from values
27866         promoted from char or from unsigned char, not necessarily from
27867         signed char.
27869 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
27871         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
27873         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
27874         and ARFLAGS variables.  Doing this unconditionally could break
27875         later Automake's AM_PROG_AR invocation (at least it's
27876         AC_CHECK_TOOLS call to detect correct 'ar' binary).
27878         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
27879         Amsterdam Compiler Kit, so make the previous code to have effects
27880         only on ACK, and rather automatically call the Automake's
27881         AM_PROG_AR as soon as possible to decide other cases.
27883         References:
27884         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
27886         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
27887         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
27888         is possible, keep setting AR/ARFLAGS to reasonable defaults.
27889         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
27890         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
27891         'extensions' module is used.
27892         * modules/extensions (configure.ac-early): Remove as this snippet
27893         is added to gnulib-comp.m4 earlier anyway.
27895 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
27897         sockets: MS Windows initalization fixes
27898         Problem reported by Test User in:
27899         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
27900         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
27901         Correct the endianness.
27902         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
27903         number mismatch, not just on <.  Cleanup before any such failure.
27905 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
27907         gc: fix detection of installed libgcrypt version
27908         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
27909         at least as recent as 1.4.4.  The previously used macro is not
27910         available now, since modules were removed in version 1.6.0.
27912 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
27914         c-ctype: rewrite to use inline functions
27915         This simplifies maintenance, since it makes for just one
27916         implementation of each function, letting the compiler have the fun
27917         of optimization.  In practice this works well nowadays with GCC.
27918         E.g., c_isascii might need only three instructions even though the
27919         source code lists every ASCII character individually in a large
27920         switch statement.
27921         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
27922         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
27923         * NEWS: Document the API change.
27924         * lib/c-ctype.c: Drastically simplify, since this now just expands
27925         inline functions.
27926         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
27927         (C_CTYPE_INLINE): New macro.
27928         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
27929         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
27930         Verify that either ASCII or EBCDIC is being used.
27931         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
27932         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
27933         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
27934         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
27935         New private macros.
27936         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
27937         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
27938         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
27939         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
27940         (c_tolower, c_toupper): When converting, return the unsigned char,
27941         as that is what z/OS does.
27942         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
27943         of some c-ctype.h macros.
27944         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
27945         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
27946         c_tolower promotion to be compatible with z/OS.
27948 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
27950         gitlog-to-changelog: trim only trailing whitespaces
27951         This is fix for --format regression introduced by commit
27952         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
27953         doubled %n string) had no effect anymore.  This format
27954         specification has been used e.g. by GNU paxuitils (commit
27955         edfd8bcc3).
27957         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
27958         newlines in commmit messages.
27960 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
27962         Test that c_iscntrl agrees with iscntrl, etc.
27963         Suggested by Daniel Richard G. in:
27964         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
27965         * modules/c-ctype-tests (Depends-on): Add ctype.
27966         * tests/test-c-ctype.c: Include <ctype.h>.
27967         (NCHARS): New constant.
27968         (test_agree_with_C_locale): New function.
27969         (main): Use it.
27970         (test_all): Use named constants.
27972         c-ctype: improve c_isascii testing
27973         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
27974         Add a test to count the number of ASCII characters.
27976 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27978         savewd: remove SAVEWD_CHDIR_READABLE
27979         It was problematic in the light of file systems that ignore umask.
27980         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
27981         * NEWS: Document this.
27982         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
27983         successful, -1 (setting errno) on failure, rather than something
27984         more complicated than that.
27985         * lib/mkdir-p.c (make_dir_parents):
27986         Do not use SAVEWD_CHDIR_READABLE.
27987         * lib/savewd.c (savewd_chdir):
27988         Remove support for SAVEWD_CHDIR_READABLE.
27989         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
27991         c-ctype: port better to EBCDIC
27992         Problems reported by Daniel Richard G. in
27993         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
27994         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
27995         Include "verify.h".
27996         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
27997         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
27998         Define as enum constants with value false, if not defined, so that
27999         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
28000         code more portable, as both branches of the 'if' are compiled on
28001         all platforms.
28002         (C_CTYPE_EBCDIC): New constant.
28003         Verify that the character set is either ASCII or EBCDIC.
28004         (to_char): New static function.
28005         (c_isascii, c_iscntrl):
28006         Assume standard control-character assignments for EBCDIC.
28007         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
28008         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
28009         Rewrite to use 'if' instead of 'ifdef'.
28010         Use to_char if non-ASCII.  Prefer <= to >=.
28011         Prefer true and false to 1 and 0, for booleans.
28012         (c_iscntrl): Use 'if', not 'ifdef'.
28013         * modules/c-ctype (Depends-on): Add verify.
28014         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
28015         (to_char): New function.
28016         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
28018 2015-09-21  Pádraig Brady  <P@draigBrady.com>
28020         nanosleep: fix return code for interrupted replacement
28021         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
28022         that we return -1 in the case the call is interrupted by a signal,
28023         rather than the current value of 1.
28024         Diagnosed and tested by Daniel Richard G.
28026 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
28028         Diagnose ERE '()|\1'
28029         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
28030         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
28031         track of the set of previously-completed subexpressions available
28032         before the first alternative, and restore this set just before
28033         parsing each subsequent alternative.  This lets us diagnose the
28034         invalid back-reference in the ERE '()|\1'.
28036         regex: merge patches from libc
28038         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
28039         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
28040         * lib/regex_internal.h:
28041         Include <libc-lock.h> instead of <bits/libc-lock.h>.
28043         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
28044         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
28045         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
28046         wcscoll.
28047         * lib/regexec.c (check_node_accept_bytes): Likewise.
28049         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
28050         Fix regex wcrtomb namespace (bug 18496).
28051         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
28052         instead of wcrtomb.
28054         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
28055         Fix regex wctype namespace (bug 18495).
28056         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
28057         instead of towlower.
28058         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
28059         instead of iswlower.  Call __towupper instead of towupper.
28060         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
28061         instead of iswalnum.
28063         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
28064         * lib/regcomp.c (parse_bracket_exp): Initialize type to
28065         COLL_SYM in a couple of places to avoid uninitialized variable
28066         wanings on tilegx gcc 4.8.2.
28068         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
28069         * lib/regex_internal.h: Remove NOT_IN_libc.
28071         2014-11-17  Andreas Schwab  <schwab@suse.de>
28072         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
28074         2014-09-11  Roland McGrath  <roland@hack.frob.com>
28075         Move findidx nested functions to top-level.
28076         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
28077         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
28078         Pass new arguments to findidx.
28079         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
28080         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
28081         Don't #include it inside the function.  Pass new arguments to findidx.
28082         * lib/regex_internal.h:
28083         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
28084         (re_string_elem_size_at): Don't #include it inside the function.
28085         Pass new arguments to findidx.
28087         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
28088         Check if DEBUG is defined in regex_internal.c
28089         * lib/regex_internal.c: Check if DEBUG is defined and is set.
28091 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
28093         ceill: detect buggy OpenBSD implementation
28094         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
28095         which returns zero for small values.  Discussed here:
28096         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
28098 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
28100         mountlist: add me_mntroot field on Linux machines
28101         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
28102         mount_entry so Linux machines based on /proc/self/mountinfo can
28103         distinguish between bind mounts and original mounts.  In reality bind
28104         mounts aren't treated differently than mountroot=/ mounts by the
28105         kernel, but the user often wants these bind mounts distinguished.
28106         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
28107         More details at https://pad.lv/1432871
28109 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
28111         doc: Describe to use multiple instances of gnulib
28112         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
28113         instances of gnulib with different modules can be used, for example one
28114         for a lib and another one for associated tools.
28116 2015-09-01  Pádraig Brady  <P@draigBrady.com>
28118         base32: mark function as __attribute__ const
28119         * lib/base32.h (isbase32): Mark __attribute__ const as
28120         suggested by GCC, and consistent with the base64 module.
28122 2015-08-20  Daiki Ueno  <ueno@gnu.org>
28124         gnulib-tool: don't transform binary files with sed
28125         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
28126         .mo and .class files.
28127         Reported by Denis Denisov.
28129 2015-08-10  Daiki Ueno  <ueno@gnu.org>
28131         gperf: respect silent rules
28132         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
28133         V_GPERF_0 for silent rules.
28134         * modules/iconv_open (Makefile.am): Use V_GPERF.
28135         * modules/unicase/locale-language (Makefile.am): Likewise.
28136         * modules/unicase/special-casing (Makefile.am): Likewise.
28137         * modules/unictype/category-byname (Makefile.am): Likewise.
28138         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
28139         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
28140         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
28141         * modules/unictype/property-byname (Makefile.am): Likewise.
28142         * modules/unictype/scripts (Makefile.am): Likewise.
28143         * modules/uninorm/composition (Makefile.am): Likewise.
28145 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
28147         Improve port of stdalign to C++11
28148         Problem reported by Sundaram in:
28149         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
28150         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
28151         (__alignas_is_defined): Define if C++11 or newer.
28153 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
28155         pmccabe2html: fix gawk regex escaping
28156         * build-aux/pmccabe2html: Add one more backslash to properly
28157         escape the gsub replacement value.  Fixes this error:
28158         gawk: ./build-aux/pmccabe2html:425: \
28159         warning: escape sequence `\&' treated as plain `&'
28161 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
28163         time_rz: port to pedantic memcpy
28164         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
28165         that reject memcpy (..., NULL, 0).
28167 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
28169         time_rz: port better to MinGW
28170         Don't change tzname, as this makes MinGW dump core (Bug#21020).
28171         Instead, store the tzname copy in the struct tm_zone object.
28172         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
28173         * lib/strftime.c [!_LIBC]:
28174         * lib/time_rz.c: Include time-internal.h.
28175         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
28176         name from *TZ rather than from TZNAME, doable because *TZ now has
28177         a tzname_copy member.
28178         * lib/time-internal.h: New file, with contents taken from
28179         lib/time_rz.c.  It's separate because strftime.c now accesses
28180         struct tm_zone members.
28181         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
28182         New member tzname_copy.
28183         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
28184         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
28185         Initialize tzname_copy member.
28186         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
28187         in tzname_copy member.
28188         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
28189         (restore_tzname): Remove; no longer needed.  All calls removed.
28190         * modules/time_rz (Files): Add lib/time-internal.h.
28192         time: port __need_time_t to MinGW
28193         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
28194         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
28196 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
28198         strftime: fix newly-introduced bug on Solaris
28199         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
28200         consistently at the start, rather than doing some of the setup at
28201         the start and some in the %Z format spec.  This is cleaner, and
28202         works better with time_rz on platforms like Solaris where struct
28203         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
28204         mktime_z and localtime_rz can mess up the tzname cache.
28206         test-strftime: test for Solaris bug
28207         * modules/strftime-tests (Depends-on): Add strerror.
28208         * tests/test-strftime.c: Include <errno.h>.
28209         (posixtm_test): New function, containing the old 'main'.
28210         (struct tzalloc_test, struct localtime_rz_test): New types.
28211         (TZ, LT): New static vars.
28212         (tzalloc_test): New function.
28213         (main): Rewrite in terms of posixtm_test and tzalloc_test.
28215         time_rz: port to Solaris etc.
28216         Works around a tzname problem on platforms like Solaris that have
28217         tzname but not tm_zone, by setting tzname at the appropriate time
28218         and restoring it later.
28219         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
28220         New static vars.
28221         (save_abbr) [HAVE_TZNAME]: Set them.
28222         (revert_tz) [HAVE_TZNAME]: Clear or use them.
28223         (restore_tzname): New function.
28224         (localtime_rz, mktime_z): Use it.
28226         time_rz: now LGPL
28227         * modules/time_rz (License): Now LGPL, because strftime depends on it.
28229         time_rz: make a constant 'const'
28230         * lib/time_rz.c (local_tz): Now const.
28232         time_rz: fix off-by-one typo
28233         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
28235 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
28237         fprintftime, strftime: use timezone_t args
28238         * NEWS: Document the change.
28239         * lib/fprintftime.h (fprintftime):
28240         * lib/strftime.c (extra_args) [my_strftime]:
28241         * lib/strftime.h (nstrftime):
28242         Time zone arg is now of type timezone_t, not int.
28243         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
28244         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
28245         (my_strftime) [emacs && !my_strftime]:
28246         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
28247         Remove; Emacs doesn't need this any more.
28248         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
28249         fprintftime and nstrftime to call tzset.
28250         (ut) [!my_strftime]: Remove, replacing with ...
28251         (tz) [!my_stftime]: ... this new macro.  All uses changed.
28252         (strftime_case_): Use localtime_rz and mktime_z instead
28253         of localtime_r and mktime.
28254         * modules/fprintftime (Depends-on): Add time_rz.
28255         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
28256         * tests/test-strftime.c (main): Adjust to new nstrftime API.
28258         time_rz: new module
28259         * MODULES.html.sh: Add time_rz.
28260         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
28261         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
28262         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
28263         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
28264         New var HAVE_TIMEZONE_T (default 0).
28265         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
28266         New var GNULIB_TIME_RZ (default 0).
28267         * modules/time (time.h): Substitute the new vars.
28269         flexmember: license is now unlimited
28270         * modules/flexmember (License): Change to unlimited,
28271         since its only source file gives an unlimited license.
28273 2015-07-15  Eric Blake  <eblake@redhat.com>
28275         maint: update copyright paper procedures
28276         * config/srclist.txt: Drop outdated files.
28277         * doc/Copyright/conditions.txt: Update to latest.
28278         * doc/Copyright/assign.changes.manual: Delete.
28279         * doc/Copyright/assign.future.manual: Likewise.
28280         * doc/Copyright/assign.manual: Likewise.
28281         * doc/Copyright/assign.translation.manual: Likewise.
28282         * doc/Copyright/disclaim.changes.manual: Likewise.
28283         * doc/Copyright/disclaim.manual: Likewise.
28284         * doc/Copyright/disclaim.program: Likewise.
28286 2015-07-07  Daiki Ueno  <ueno@gnu.org>
28288         localename: fix link error on Illumos
28289         Illumos defines __sun, but does not have getlocalename_l nor the
28290         equivalent.  This partially reverts commit 387c214.
28291         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
28292         available, as well as uselocale.
28293         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
28294         use getlocalename_l if it is not available.
28296 2015-07-07  Daiki Ueno  <ueno@gnu.org>
28298         unistr/uN-strtok-tests: avoid a trivial leak
28299         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
28300         input and delim after the multibyte delimiter tests.
28302 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
28304         file-has-acl, acl-permissions: fix HP-UX typos
28305         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
28306         * lib/file-has-acl.c (file_has_acl):
28307         * lib/set-permissions.c (context_acl_from_mode)
28308         (context_aclv_from_mode, set_acls):
28309         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
28310         They were introduced by the recent ACL changes.
28312         regex: match current GNU grep behavior
28313         These symbols have not matched GNU grep behavior for quite some time.
28314         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
28315         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
28316         Change to match current GNU behavior.
28317         Simplify by expressing it as differences from POSIX BREs and EREs.
28318         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
28320 2015-07-03  Jim Meyering  <meyering@fb.com>
28322         set-permissions.c: adjust acl_from_mode's cpp guard
28323         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
28324         directives identical to those guarding the sole use.
28325         Otherwise, on some systems, we'd get a warning about
28326         the function being defined but not used.
28327         Also, filter through cppi to correct misleading indentation
28328         of cpp directives.
28330 2015-07-03  Pádraig Brady  <P@draigBrady.com>
28332         tests: restrict shells to those that support 'local'
28333         The local keyword is very widely supported and used
28334         in tests in coreutils and grep at least.  Therefore
28335         restrict to testing with shells that support it.
28336         This mainly excludes /bin/sh on Solaris.
28337         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
28339 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
28340         and Daiki Ueno  <ueno@gnu.org>
28342         unistr/uN-strtok: handle multibyte delimiters
28343         Previously, uN_strtok moved PTR to the next unit to the token end.
28344         When DELIM contained a multibyte character, the new position could
28345         be a middle of a multibyte character.
28346         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
28347         after the token.
28348         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
28349         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
28350         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
28351         * modules/unistr/u8-strtok (Depends-on): Depend on
28352         unistr/u8-strmblen.
28353         * modules/unistr/u16-strtok (Depends-on): Depend on
28354         unistr/u16-strmblen.
28355         * modules/unistr/u32-strtok (Depends-on): Depend on
28356         unistr/u32-strmblen.
28357         * tests/unistr/test-u-strtok.h: New file.
28358         * tests/unistr/test-u8-strtok.c: New file.
28359         * tests/unistr/test-u16-strtok.c: New file.
28360         * tests/unistr/test-u32-strtok.c: New file.
28361         * modules/unistr/u8-strtok-tests: New file.
28362         * modules/unistr/u32-strtok-tests: New file.
28363         * modules/unistr/u16-strtok-tests: New file.
28365 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
28367         update-copyright: fix test failure with perl >= 5.22 (trivial)
28368         * build-aux/update-copyright: Escape a literal left curly bracket,
28369         required with perl >= 5.22
28371 2015-07-02  Daiki Ueno  <ueno@gnu.org>
28373         u{16,32}-strstr-tests: relax timeout condition
28374         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
28375         tests can take longer than 5 seconds to complete.
28376         Reported by Dagobert Michelsen in:
28377         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
28378         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
28379         seconds to 10 seconds.
28380         * tests/unistr/test-u32-strstr.c (main): Likewise.
28382 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
28384         gnulib-common.m4: change the ARFLAGS default to 'cr'
28385         In some GNU/Linux distributions people started to compile 'ar'
28386         binary with --enable-deterministic-archives (binutils project).
28387         That, however, in combination with previous autotools long time
28388         working default AR{_,}FLAGS=cru causes warnings on such
28389         installations:
28390         ar: `u' modifier ignored since `D' is the default (see `U')
28391         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
28392         set already.
28394 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
28396         selinux-h: avoid double free after *getfilecon()
28397         Originally reported by Ben Shelton on bug-tar:
28398         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
28399         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
28400         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
28401         param should be freed by freecon(3) (regardless the return value).
28403 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
28405         fix pty related tests issues on Windows (trivial)
28406         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
28407         however it's still present in tests/ subdirectory of the final project.
28408         Therefore avoid it to pass `make check`.
28409         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
28410         will just return -ENOSYS, so avoid this non applicable test allowing
28411         the build to proceed.
28413 2015-07-01  Pádraig Brady  <P@draigBrady.com>
28415         acl: fix definition of acl_from_mode on FreeBSD
28416         This was causing basic coreutils copy operations to fail
28417         with ENOTSUP or ENOENT error messages.
28418         * lib/acl-internal.h (acl_from_mode): Only define when
28419         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
28420         of acl_from_mode() defined in lib/set-permissions.c to
28421         be used on FreeBSD at least.
28422         * lib/set-permissions.c: Fix up comment spelling,
28423         and a redundant variable assignment; noticed in passing.
28425 2015-06-30  Pádraig Brady  <P@draigBrady.com>
28427         readutmp: port to FreeBSD >= 9
28428         * lib/readutmp.h: Map utmpxname() to setutxdb().
28429         With that coreutils who(1) and pinky(1) tests pass.
28431 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
28433         mgetgroups: port to strict OS X
28434         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
28435         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
28436         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
28437         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
28439 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
28441         mgetgroups: port to strict OS X
28442         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
28443         Document the getgrouplist problem.
28444         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
28445         New macro.
28446         (mgetgroups): Use it.
28447         * m4/mgetgroups.m4 (gl_MGETGROUPS):
28448         Check for OS X signature for getgrouplist.
28450 2015-06-29  Jim Meyering  <meyering@fb.com>
28452         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
28453         It started like this when building coreutils' latest on OS X,
28454         invoking ./configure with a nonempty --cache=.cache:
28456           lib/linkat.c:46:42: error: operator '||' has no right operand
28457           lib/linkat.c: In function 'rpl_linkat':
28458           lib/linkat.c:330:27: error: #if with no expression
28460         Here's linkat.c's line 46:
28462           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
28464         Here's some context:
28466           $ grep linkat_nofoll .cache
28467           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
28468           $ grep LINKAT_SYM lib/config.h
28469           #define LINKAT_SYMLINK_NOTSUP
28471         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
28472         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
28473         but that violates a tenet of AC_CACHE_CHECK: it must
28474         have no side effect other than setting its cache variable.
28476         What happens is that when the cache is set, we'd skip the
28477         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
28478         defined to whatever value it happened to have in configure's
28479         environment.  In my case, it was not defined, so this later code:
28481           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
28482             [Define to 1 if linkat can create hardlinks to symlinks])
28484         would emit code with an empty RHS.
28486         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
28487         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
28489 2015-06-28  Jim Meyering  <meyering@fb.com>
28491         mountlist: avoid an unused-label warning on OS X
28492         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
28493         Building on OS X, I saw a warning about the "free_then_fail" label
28494         being unused.  Give it the _GL_UNUSED_LABEL attribute.
28496         error.c: correct printf-style format: %d -> %u
28497         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
28498         rather than %d, to match the type of "line_number", unsigned int.
28500 2015-06-25  Pádraig Brady  <P@draigBrady.com>
28502         fts: avoid reading beyond the heap allocation
28503         GCC 5.1.1 with -O2 and -fsanitize=address reports
28504         a read of size 4 from a heap object of size 3 is indeed invalid,
28505         though this may be due to incorrect padding assumptions by GCC, see:
28506         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
28507         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
28508         * modules/fts: Depend on stdalign.
28510 2015-06-24  Pádraig Brady  <P@draigBrady.com>
28512         savedir: avoid undefined behavior in qsort call
28513         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
28514         "runtime error: null pointer passed as argument 1,
28515          which is declared to never be null"
28516         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
28518 2015-06-24  Pádraig Brady  <P@draigBrady.com>
28520         userspec: avoid undefined behavior in gettext call
28521         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
28522         "runtime error: null pointer passed as argument 2,
28523          which is declared to never be null"
28524         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
28526 2015-06-20  Glenn Morris  <rgm@gnu.org>
28528         gitlog-to-changelog: improve gitmerge.el commits
28529         Let the Emacs ChangeLog generation process exclude "skipped"
28530         messages from merge commits (Bug#20717).
28531         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
28533 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
28535         wchar: fix MinGW compilation warnings
28536         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
28537         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
28538         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
28540 2015-06-20  Daiki Ueno  <ueno@gnu.org>
28542         uniname/uniname-tests: use pristine data files
28543         For copyright and maintenance reasons, use the data files from UCD
28544         without modification.
28545         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
28546         (getfield): Remove.
28547         (aliases_count): New global variable.
28548         (fill_names): Skip comments and empty lines in the input.  Don't
28549         use getfield.
28550         (fill_aliases): Likewise.
28551         (main): Change the expected command line arguments to:
28552         NAMES... ["--" ALIASES...].
28553         * tests/uniname/test-uninames.sh: Adjust to the change in
28554         test-uninames.c.
28555         * tests/uniname/UnicodeDataNames.txt: Remove.
28556         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
28557         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
28558         file from Unicode 8.0.0.
28560 2015-06-19  Pádraig Brady  <P@draigBrady.com>
28562         linked-list, linkedhash-list: avoid compiler warnings
28563         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
28564         -Werror=suggest-attribute=pure (from GCC 5.1.1).
28566 2015-06-19  Daiki Ueno  <ueno@gnu.org>
28568         libunistring: bump minimum version to 0.9.6
28569         * all modules depending on updated Unicode data: Regenerate.
28570         The modules are listed by a script that does:
28571         - for each file listed by: git show --oneline --name-only 705f4efc
28572           - deduce the containing modules, based on "Files:"
28573         - deduce the modules which depend on the containing modules, based
28574           on "Depends-on:"
28576 2015-06-18  Daiki Ueno  <ueno@gnu.org>
28578         uniname/uniname: update to Unicode 8.0.0
28579         * lib/uniname/uninames.h: Regenerate.
28580         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
28581         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
28583 2015-06-18  Daiki Ueno  <ueno@gnu.org>
28585         libunistring: update to Unicode 8.0.0
28586         * lib/gen-uni-tables.c (SIZEOF): New macro.
28587         (output_numeric): Increase the maximum number of fractions from
28588         128 to 160.  Increase the level3 value width from 7 bits to 8
28589         bits.  Use SIZEOF instead of a hard-coded integer.
28590         (output_blocks): Decrease the cut-off threshold from 0x30000 to
28591         0x28000.
28592         (fill_blocks): Increase the maximum number of blocks from 256 to
28593         384.  Use SIZEOF instead of a hard-coded integer.
28594         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
28595         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
28596         value width.
28597         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
28598         a new case added to LBP22.
28599         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
28600         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
28601         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
28602         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
28603         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
28604         * tests/uniwidth/test-uc_width2.sh: Same updates as in
28605         lib/uniwidth/width.c.
28606         * all generated files under lib/uni* and tests/uni*: Regenerate.
28608 2015-06-16  Pádraig Brady  <P@draigBrady.com>
28610         gnu-web-doc-update: add --mirror to remove stale files
28611         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
28612         out of date files from the CVS server.  Since this is usually
28613         appropriate, a prompt is given when the option is not specified,
28614         along with the `cvs remove` command that would be run.
28616 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
28618         acl-permissions: pacify -Wsuggest-attribute=const
28619         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
28620         * lib/acl-internal.h (free_permission_context):
28621         Declare with attribute const if ! (defined USE_ACL &&
28622         (HAVE_ACL_GET_FILE || defined GETACL)).
28624         fsync: document AIX misbehavior
28625         * doc/posix-functions/fsync.texi (fsync):
28626         Document failure on AIX with read-only file descriptor.
28628 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
28630         stdio: Don't redefine gets when using C++
28631         * lib/stdio.in.h (gets): Disable warning on C++.
28633 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
28635         acl-permissions: port to AIX, C89 HP-UX
28636         Problems reported by Michael Felt.
28637         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
28638         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
28639         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
28640         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
28641         Add cast for AIX, whose system calls are declared to accept
28642         char * even though the arguments are really char const *.
28643         * lib/get-permissions.c (get_permissions):
28644         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
28645         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
28646         that broke a build.
28647         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
28648         Rework types to pacify xlc.
28650 2015-06-03  Pádraig Brady  <P@draigBrady.com>
28652         vasprintf-posix: avoid compiling vasnprintf where possible
28653         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
28654         module where not required.  For example on a GNU/Linux system
28655         when gnulib-tool is run with the --conditional-dependencies option.
28657 2015-06-02  Pádraig Brady  <P@draigBrady.com>
28659         file-has-acl: fix build on Mac OS X 10
28660         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
28661         which has an incompatible 6 parameter getxattr() call.
28662         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
28663         call on Mac OS X >= 10.4.
28664         * doc/glibc-functions/fgetxattr.texi: Likewise.
28665         * lib/file-has-acl.c: Revert to more complete combined check.
28666         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
28667         Reported by Jack Howarth.
28669 2015-06-02  Pádraig Brady  <P@draigBrady.com>
28671         prefix-gnulib-mk: remove no longer needed special case
28672         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
28673         continued lib_SOURCES lines are no longer present,
28674         so special case handling of such entries is not required.
28676 2015-06-01  Pádraig Brady  <P@draigBrady.com>
28678         acl: don't depend on the deprecated qacl module
28679         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
28681 2015-06-01  Pádraig Brady  <P@draigBrady.com>
28683         gnulib-tool: concatenate lib_SOURCES to a single line
28684         * gnulib-tool: Refactor the line merging sed logic,
28685         and use that to output a single lib_SOURCES line for each module.
28686         gnulib using projects often postprocess this output to prepend
28687         subdir paths to each item, and having a single line simplifies this
28688         processing allowing better decoupling from the gnulib-tool output.
28690 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
28692         pthread_sigmask: discount system version if a simple macro (trivial)
28693         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
28694         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
28695         function to ensure it's available.
28697 2015-05-31  Pádraig Brady  <P@draigBrady.com>
28699         readlinkat: avoid OS X 10.10 trailing slash bug
28700         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
28701         has this bug.
28702         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
28703         that OS X 10.10 has this function.
28704         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
28705         as done for readlink().
28706         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
28707         trailing slash bug, and assume readlinkat() has the same issue.
28708         Also fix a typo where $gl_cv_decl_readlink_works was tested,
28709         rather than the correct $gl_cv_decl_readlinkat_works.
28711 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
28713         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
28714         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
28715         module rewrite.
28717         acl-permissions: Fix build on Solaris and Cygwin
28718         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
28719         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
28720         ace_entries variables have moved into struct permission_context but
28721         they were still accessed as local variables here.
28723 2015-05-29  Pádraig Brady  <P@draigBrady.com>
28725         linkat: avoid OS X 10.10 trailing slash with symlink bug
28726         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
28727         causes the symlink to be dereferenced, and if it points
28728         to a non existent file, that file will be created as
28729         a hard link to "path1".
28730         This fixes a test failure in test-linkat.c.
28731         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
28732         this case.  The existing workaround in linkat.c for
28733         trailing slash issues, suffices for this case.
28734         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
28735         the list of platforms with trailing slash issues.
28737 2015-05-28  Pádraig Brady  <P@draigBrady.com>
28739         unlinkat: handle ignoring of ".." on Darwin 14
28740         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
28741         on Mac OS X 10.10, where it ignores paths with a trailing "..",
28742         so handle in the same manner.
28743         * m4/unlinkat.m4: Comment on this Darwin issue.
28744         * doc/posix-functions/unlink.texi: Update the latest version
28745         where the issue was seen.
28746         * doc/posix-functions/unlinkat.texi: Mention this issue.
28747         Fixes a test failure in test-unlinkat.c.
28749 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
28751         qacl: split into qcopy-acl and qset-acl
28752         Emacs needs the former, but not the latter.
28753         * modules/acl-permissions: New file, containing most of the old qacl.
28754         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
28755         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
28756         * modules/qcopy-acl, modules/qset-acl: New files.
28757         * MODULES.html.sh (File system functions):
28758         Mention the new modules, and mention qacl while we're at it.
28760 2015-05-27  Glenn Morris  <rgm@gnu.org>
28762         gitlog-to-changelog: new option --ignore-line
28763         (This patch is imported from the GNU Emacs master.)
28764         This option ignores individual commit lines matching a pattern.
28765         * build-aux/gitlog-to-changelog: Add --ignore-line option.
28767 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
28769         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
28770         Implement get_permissions and set_permissions primitives for getting all
28771         the permissions of a file, storing them, and later setting them. (In the
28772         minimal case, the permissions consist only of a file mode.) Reimplement
28773         qset_acl and qcopy_acl based on these new primitives: this avoids code
28774         duplication and makes error handling more consistent.
28775         The Solaris and Cygwin code still uses duplicate code paths for setting
28776         a file mode while making sure that no acls exist and setting an explicit
28777         acl; this is no worse than before, but could be cleaned up.  The AIX
28778         code still doesn't read ACLs, it only makes sure that acls don't get in
28779         the way when setting a file mode.
28780         * lib/acl-internal.h (struct permission_context): New data structure.
28781         (get_permissions, set_permissions, free_permission_context): Declare.
28782         * lib/acl-internal.c (free_permission_context): New helper function.
28783         * lib/get-permissions.c (get_permissions): New helper function split off
28784         from qcopy_acl.
28785         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
28786         AIX, set a file's permissions based only on a file mode.
28787         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
28788         other platforms construct a temporary acl from the file mode and set
28789         that acl in the same way as setting an acl read from the source file.
28790         This should help avoid code duplication and inconsistent / buggy
28791         behavior.
28792         (set_acls): New helper function Split off from qcopy_acl.
28793         (chmod_or_fchmod): Moved here from qset-acl.c.
28794         (set_permissions): New helper function.
28795         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
28796         set_permissions.
28797         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
28798         * modules/qacl: Add get-permissions.c and set-permissions.c.
28800         file-has-acl: Split feature tests again (Bug#20667)
28801         * lib/file-has-acl.c: Instead of testing for
28802         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
28803         define them when needed.
28804         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
28805         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
28807 2015-05-27  Pádraig Brady  <P@draigBrady.com>
28809         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
28810         This avoids a conflict with "FORTIFY_SOURCE" variants
28811         of the string functions when they're replaced on NetBSD-6.0.1
28812         and Darwin-14.3.0 at least.
28813         * lib/string.in.h: Avoid including our "lib/string.h" while
28814         including the system <string.h>.
28816 2015-05-26  Eric Blake  <eblake@redhat.com>
28818         stdio: limit __gnu_printf__ witness to gcc 4.4+
28819         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
28820         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
28822         error: use correct printf attributes on mingw
28823         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
28825         inttypes: force correct mingw PRIdMAX even without <stdio.h>
28826         * modules/inttypes (Depends-on): Require extensions, so that mingw
28827         always uses GNU style inttypes.
28828         * lib/inttypes.in.h: On mingw, include <stdio.h>.
28830         stdio: fix probe on mingw under gcc 5.1
28831         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
28832         around new gcc preprocessor rules.
28834 2015-05-07  Glenn Morris  <rgm@gnu.org>
28836         gitlog-to-changelog: parse "Tiny-change"
28837         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
28838         "Copyright-paperwork-exempt".  (Bug#20324)
28840 2015-05-06  Pádraig Brady  <P@draigBrady.com>
28842         doc: document glibc posix_fallocate() issues
28843         * doc/posix-functions/posix_fallocate.texi: Mention the
28844         glibc efficiency problems and issues with NFS.
28846 2015-05-05  Karl Berry  <karl@freefriends.org>
28848         * build-aux/gendocs.sh (usage): document new css default
28849         for HTML (--htmlarg).
28851 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
28853         extern-inline: no need for workaround in GCC 5.1
28854         * doc/extern-inline.texi (extern inline):
28855         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
28856         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
28857         around these bugs in GCC 5.1 and later.  Maybe in a decade or
28858         two we can remove these workarounds.
28860 2015-04-28  Pádraig Brady  <P@draigBrady.com>
28862         eealloc, pagealign_alloc, xalloc: avoid clang warnings
28863         Avoid [-Wunknown-attributes] warnings like:
28864         warning: unknown attribute '__alloc_size__' ignored
28865         * lib/xalloc.h: Don't use the __alloc_size__  attribute
28866         with clang, as support has been fully removed as of clang 3.5:
28867         https://github.com/llvm-mirror/clang/commit/c047507a
28868         * lib/eealloc.h: Likewise.
28869         * lib/pagealign_alloc.h: Likewise.
28871 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
28873         tests: pacify GCC 5.1's stricter printf checking
28874         * tests/test-dirname.c (main):
28875         * tests/test-getaddrinfo.c (simple):
28876         * tests/test-getlogin.c (main):
28877         * tests/test-getndelim2.c (main):
28878         * tests/test-inttostr.c (CK):
28879         * tests/test-md5.c (main):
28880         * tests/test-read-file.c (main):
28881         * tests/test-sha1.c (main):
28882         Fix mismatches between printf format and value signedness.
28883         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
28884         Remove, as CAST_VAL always returned a value of type uintmax_t.
28886         fts: port to GCC 5.1 with --enable-gcc-warnings
28887         Without this fix, GCC 5.1 (correctly) warns about a subscript
28888         error on the fts_name component of FTSENT.  It's actually a
28889         flexible member, so define it that way on C99 or later hosts.
28890         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
28891         structure that now has a flexible array member.
28892         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
28893         (FTSENT): fts_name is now flexible on C99-or-later platforms.
28894         * modules/fts (Depends-on): Add flexmember.
28896 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
28898         file-has-acl: port to CentOS 6
28899         Problem reported by Tom G. Christensen in:
28900         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
28901         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
28902         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
28903         HAVE_GETXATTR.
28904         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
28905         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
28906         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
28907         file-has-acl.c actually needs.
28909 2015-04-26  Pádraig Brady  <P@draigBrady.com>
28911         file-has-acl: always return false when ACLs aren't supported
28912         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
28913         change the GNU/Linux getxattr path, to transform "not supported"
28914         errors to a false return rather than an error.  This is handled
28915         within file_has_acl() due to the platform specific tests to
28916         determine if ACLs are not supported.
28918 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
28920         gettext: propagate po/Makefile.in.in too
28921         * build-aux/po/Makefile.in.in: Copy from latest gettext.
28922         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
28923         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
28924         between Makefile.in.in and the gettext-runtime m4 files.
28926 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
28928         file-has-acl: new module, split from acl
28929         And add a new module file-has-acl-tests to match.
28930         I ran into a problem with the recent changes to the acl module,
28931         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
28932         When using the fixed version with Emacs, I discovered that
28933         file-has-acl wasn't separated out well enough for Emacs (e.g., it
28934         had multiple libraries, but needed only one), so I fixed that too.
28935         * NEWS: Document this incompatible change.
28936         * modules/file-has-acl, modules/file-has-acl-tests: New files.
28937         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
28938         Initialize gl_need_lib_has_acl.
28939         (gl_FUNC_ACL): Require it.
28940         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
28941         Move the file-has-acl.c-relevant stuff to ...
28942         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
28943         use_xattrs = 0' typo, and omit some needless work.  Set
28944         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
28945         when gl_FUNC_ACL is called.
28946         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
28947         (Link): Remove $(LIB_HAS_ACL).
28948         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
28949         (check_PROGRAMS): Move stuff relevant to file-has-acl to
28950         modules/file-has-acl-tests.
28951         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
28953         manywarnings: add GCC 5.1 warnings
28954         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
28955         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
28956         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
28957         -Wsuggest-override, -Wuse-without-only.  Change
28958         -Wnormalized=... operands to match 5.1.
28959         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
28960         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
28961         -Wdiscarded-qualifiers, -Wformat-signedness,
28962         -Wincompatible-pointer-types, -Wint-conversion,
28963         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
28964         -Wshift-count-negative, -Wshift-count-overflow,
28965         -Wsizeof-array-argument, -Wsuggest-final-methods,
28966         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
28967         and add -Warray-bounds=2 as a special case.
28969 2015-04-21  Simon Josefsson  <simon@josefsson.org>
28971         doc: update FDL template to match FDL examples.
28972         * doc/alloca-opt.texi:
28973         * doc/alloca.texi:
28974         * doc/c-ctype.texi:
28975         * doc/c-strcase.texi:
28976         * doc/c-strcaseeq.texi:
28977         * doc/c-strcasestr.texi:
28978         * doc/c-strstr.texi:
28979         * doc/c-strtod.texi:
28980         * doc/c-strtold.texi:
28981         * doc/ctime.texi:
28982         * doc/error.texi:
28983         * doc/gcd.texi:
28984         * doc/gnulib-tool.texi:
28985         * doc/inet_ntoa.texi:
28986         * doc/intprops.texi:
28987         * doc/lib-symbol-visibility.texi:
28988         * doc/maintain.texi:
28989         * doc/parse-datetime.texi:
28990         * doc/quote.texi:
28991         * doc/regexprops-generic.texi:
28992         * doc/standards.texi: Remove spurious 'with' in FDL license
28993         template.
28995 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
28997         lstat: fix cross-compilation 'ln -s' problem
28998         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
28999         Have the test program call 'symlink' rather than a separate
29000         script run 'ln -s'; this is more likely to work in
29001         cross-compilation environments.  Reported by Pavel Fedin in:
29002         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
29004 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
29006         gendocs.sh: default to a common CSS style sheet for HTML output
29007         * build-aux/gendocs.sh (htmlarg): Change default value.
29009 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
29011         gnulib-tool: output bold attribute more portably
29012         * gnulib-tool (func_show_module_list): Change hexadecimal
29013         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
29014         encoded numbers as arguments to `printf' is not portable,
29015         and is not claimed by POSIX.  This is the case with FreeBSD.
29017 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
29019         qacl: Simplify HP-UX acl_nontrivial check
29020         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
29021         acl_nontrivial. Check if the acl has at most three entries instead (it must
29022         have exactly three entries according to the HP-UX documentation). Ignore
29023         uids and gids as long as an entry is either for a user (i.e., the owner),
29024         a group (i.e., the owning group), or others.
29025         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
29026         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
29028 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
29030         acl: On Linux, check for acls without libacl
29031         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
29032         library function to check for the presence of acls, avoiding a library.
29033         * lib/file-has-acl.c: Include xattr headers if we have them.
29034         (file_has_acl): On Linux, use getxattr().
29035         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
29036         file_has_acl(). Check for xattr headers and getxattr().
29038 2015-04-14  Ángel González  <keisial@gmail.com>
29040         tempname: avoid unused parameter warnings (trivial)
29041         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
29042         (try_nocreate): Likewise.
29044 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
29046         fseeko: fix build failure on NetBSD >= 6 (trivial)
29047         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
29048         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
29050 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
29052         gitlog-to-changelog: port to MS-Windows
29053         * build-aux/gitlog-to-changelog (git_dir_option):
29054         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
29055         MS-Windows Perl.  Reported by Eli Zaretskii in:
29056         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
29058 2015-04-07  Karl Berry  <karl@gnu.org>
29060         gendocs: new option --tex for passing args to texi2dvi.
29061         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
29062         (TEXI2DVI): cut to just command name.
29063         (usage): mention new option, and update copyright.
29064         <generate_tex>: use it.
29066 2015-04-07  Karl Berry  <karl@gnu.org>
29068         * config/srclistvars.sh (GETTEXT): new definition.
29069         * config/srclist.txt: use it for gettext .m4 files.
29070         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
29071         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
29072         and continuing into April.
29074 2015-04-07  Daiki Ueno  <ueno@gnu.org>
29076         uniname/uniname-tests: fix failure due to alias
29077         Reported by Jack Howarth in:
29078         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
29079         * tests/uniname/test-uninames.c (name_has_alias): New function.
29080         (test_inverse_lookup): Exclude character name with valid alias,
29081         from randomly generated character names.
29082         (main): Fill unicode_aliases before calling test functions.
29084 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
29086         hash: remove deprecated hash_insert0 function
29087         * lib/hash.h (hash_insert0): Remove deprecated function.
29088         * lib/hash.c (hash_insert0): Likewise.
29090 2015-04-02  Pádraig Brady  <P@draigBrady.com>
29092         mountlist: remove dependency on libmount
29093         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
29094         directly, rather than depending on libmount, which has many
29095         dependencies due to its dependence on libselinux, as detailed at:
29096         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
29097         Note we restrict this to __linux__ as that's probably where this
29098         interface will remain.  If ever porting, it would be best
29099         to first pull the makedev() wrapper from coreutils to a gnulib module.
29100         Note also we don't add a getline dependency to the mountlist module,
29101         as all Linux versions are sufficient.
29103 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
29105         stddef: port to pre-C11 GCC on x86
29106         On this platform, max_align_t should have an alignment of 8 even
29107         though the storage alignments of double, long, etc. max out at 4.
29108         Inspired by a comment of Andreas Schwab's here:
29109         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
29110         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
29111         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
29112         * tests/test-stddef.c: Test __alignof__ too, if available.
29114 2015-03-24  Pádraig Brady  <P@draigBrady.com>
29116         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
29117         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
29119 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
29121         yesno: make EOL optional in ENABLE_NLS case also (trival)
29122         * lib/yesno.c (yesno): Check for EOL before replacing.
29123         * tests/test-yesno.sh: Add a test case (test along with gettext).
29125 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
29127         fdopendir-tests: test it does not close its arg
29128         * tests/test-fdopendir.c (main): Test that fdopendir does not
29129         close its argument.  From a suggestion by David Grayson in:
29130         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
29132 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
29134         gitlog-to-changelog: trim trailing white space
29135         * build-aux/gitlog-to-changelog (main):
29136         Trim trailing white space from commit message lines.
29137         This is helpful for processing the GNU Emacs repository,
29138         which dates back to 1985 and contains a lot of such lines.
29140         gitlog-to-changelog: new option --ignore-matching
29141         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
29142         Support new option --ignore-matching=PAT, which ignores all
29143         commit messages whose first line matches PAT.
29145 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29147         fdopendir: port better to MinGW
29148         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
29149         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
29150         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
29151         * modules/fdopendir (Depends-on): Add dirfd.
29153 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
29155         fdopendir: fix typo in comment
29156         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
29158 2015-03-09  Eric Blake  <eblake@redhat.com>
29160         error: document all entry points provided
29161         * doc/glibc-functions/error_print_progname.texi
29162         (error_print_progname): Mention the error module.
29163         * doc/glibc-functions/error_at_line.texi (error_at_line):
29164         Likewise.
29165         * doc/glibc-functions/error_message_count.texi
29166         (error_message_count): Likewise.
29167         * doc/glibc-functions/error_one_per_line.texi
29168         (error_one_per_line): Likewise.
29170 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
29172         vasnprintf: pacify clang 3.5.0
29173         Problem reported by Werner Lemberg in:
29174         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
29175         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
29176         The casts aren't needed, since the characters in question are ASCII.
29178 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
29180         glob, etc.: port to MSVC v18 on MS-Windows 8.1
29181         * lib/dirent--.h (GNULIB_defined_opendir):
29182         * lib/dirent.in.h (GNULIB_defined_opendir)
29183         (GNULIB_defined_closedir):
29184         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
29185         #undef only if Gnulib defined it.
29187         poll: port to MSVC v18 on MS-Windows 8.1
29188         Problem reported by Gisle Vanem in:
29189         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
29190         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
29191         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
29192         Add sys_socket.
29194 2015-02-24  Pádraig Brady  <P@draigBrady.com>
29196         tests: support stderr verification with returns_()
29197         * tests/init.sh (returns_): Disable tracing for this wrapper
29198         function, so that stderr of the wrapped command is unchanged,
29199         allowing for verification of the contents.
29201 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
29203         passfd: avoid valgrind uninitalised data warning
29204         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
29205         to include just the fd we've initialized, rather than including
29206         the extra space used for alignment.
29208 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
29210         uniwbrk/u32-wordbreaks-tests: fix copyright
29211         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
29213         dup2: doc and test for Android bug
29214         Reported by Kevin Cernekee in:
29215         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
29216         * doc/posix-functions/dup2.texi (dup2): Document the bug.
29217         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
29219 2015-02-23  Kevin Cernekee  <cernekee@google.com>
29221         Replace dup2() on Android
29222         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
29223         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
29224         fails.  Using rpl_dup2() fixes this because it has an explicit test
29225         for this condition.
29227 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
29229         Android doesn't define RLIM_SAVED_*
29230         Portability problem reported by Kevin Cernekee in:
29231         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
29232         * doc/posix-headers/sys_resource.texi (sys/resource.h):
29233         Mention the portability problem.
29234         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
29235         Define if not defined.
29236         * m4/dup2.m4 (gl_FUNC_DUP2):
29237         * m4/fcntl.m4 (gl_FUNC_FCNTL):
29238         Likewise.
29240 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
29242         vasnprintf-posix-tests: use consistent test
29243         * tests/test-vasnprintf-posix.c (test_function):
29244         Use "<" in assert instead of "<=", for consistency with other tests.
29246 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29248         printf, isinf, etc.: noncanonical != NaN
29249         Do not require that isinf, printf, etc. treat noncanonical
29250         values as NaNs.  Instead, require only that they do not crash.
29251         Problem reported by Joseph Myers in:
29252         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
29253         * doc/posix-functions/dprintf.texi (dprintf):
29254         * doc/posix-functions/fprintf.texi (fprintf):
29255         * doc/posix-functions/isfinite.texi (isfinite):
29256         * doc/posix-functions/isinf.texi (isinf):
29257         * doc/posix-functions/isnan.texi (isnan):
29258         * doc/posix-functions/printf.texi (printf):
29259         * doc/posix-functions/snprintf.texi (snprintf):
29260         * doc/posix-functions/sprintf.texi (sprintf):
29261         * doc/posix-functions/vdprintf.texi (vdprintf):
29262         * doc/posix-functions/vfprintf.texi (vfprintf):
29263         * doc/posix-functions/vprintf.texi (vprintf):
29264         * doc/posix-functions/vsnprintf.texi (vsnprintf):
29265         * doc/posix-functions/vsprintf.texi (vsprintf):
29266         Document this.
29267         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
29268         * m4/isinf.m4 (gl_ISINFL_WORKS):
29269         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
29270         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
29271         * tests/test-isfinite.c (test_isfinitel):
29272         * tests/test-isinf.c (test_isinfl):
29273         * tests/test-isnan.c (test_long_double):
29274         * tests/test-isnanl.h (main):
29275         * tests/test-snprintf-posix.h (test_function):
29276         * tests/test-sprintf-posix.h (test_function):
29277         * tests/test-vasnprintf-posix.c (test_function):
29278         * tests/test-vasprintf-posix.c (test_function):
29279         Test only that noncanonical values do not cause crashes, not that
29280         they are treated as NaNs.  In some cases this means a larger
29281         output buffer is needed.
29283 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
29285         fts: remove redundant close() (trivial)
29286         * lib/fts.c (fts_read): Remove redundant call to close().
29287         Spotted by coverity.
29289 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29291         getdtablesize: port better for Android
29292         Problem reported by Kevin Cernekee in:
29293         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
29294         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
29295         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
29296         Instead, just use getrlimit, taking care to avoid Cygwin bug.
29298         poll: fixes for large fds
29299         * lib/poll.c (poll): Don't check directly for NFD too large.
29300         Don't rely on undefined behavior in FD_SET when an arg exceeds
29301         FD_SETSIZE.  Always set revents afterwards, even if to zero.
29302         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
29303         as that makes the test a bit stricter.
29305 2015-02-19  Kevin Cernekee  <cernekee@google.com>
29307         fcntl: Fix cross compiling
29308         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
29309         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
29311 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
29313         dup2, fcntl: cross-compile better for Android
29314         Problem reported by Kevin Cernekee in:
29315         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
29316         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
29317         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
29318         there's little need to cross-compile for older kernels nowadays.
29319         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
29320         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
29322 2015-02-18  Pádraig Brady  <P@draigBrady.com>
29324         getopt: don't crash on memory exhaustion
29325         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
29326         memory exhaustion.  In the _LIBC case we use alloca() as is
29327         already done in glibc, so we don't need to consider the separate
29328         error path in that awkward case.  Also fix a memory leak when
29329         ambiguous options are present.
29330         Reported by Tobias Stoeckmann
29332 2015-02-17  Mike Miller  <mtmiller@ieee.org>
29334         tempname: allow compilation with C++ (trivial)
29335         * lib/tempname.h [C++]: Specify extern "C" linkage.
29336         * lib/tempname.h (try_tempname):
29337         * lib/tempname.c (__try_tempname, __gen_tempname):
29338         Rename 'try' to 'tryfunc'.
29340 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
29342         dup2, fcntl: port to AIX
29343         * m4/dup2.m4 (gl_FUNC_DUP2):
29344         * m4/fcntl.m4 (gl_FUNC_FCNTL):
29345         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
29346         The former works on AIX 7.1 but the latter does not.
29347         Also, this may work better with Android; see:
29348         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
29350 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
29352         getdtablesize, dup2, fcntl: port to Android
29353         Problem reported by Kevin Cernekee in:
29354         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
29355         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
29356         Mention that getdtablesize doesn't work on Android.
29357         * lib/getdtablesize.c: Use getrlimit substitute only if
29358         getdtablesize is declared.  This should suffice for Cygwin
29359         while not breaking Android.
29360         * m4/dup2.m4 (gl_FUNC_DUP2):
29361         * m4/fcntl.m4 (gl_FUNC_FCNTL):
29362         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
29363         standardized but the latter is not, and sysconf works on Android.
29364         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
29365         Also check that getdtablesize is declared.
29366         This removes the need for a special case for Android.
29368 2015-02-16  Kevin Cernekee  <cernekee@google.com>
29370         localename: Implement gl_locale_name_thread_unsafe for Android
29371         * lib/localename.c: Android API level >= 21 supports two hardcoded
29372         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
29373         the internal __locale_t struct.
29375 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
29377         fts: avoid crash when a cycle is added while traversing
29378         This could be triggered by auto-mounting a recursive bind mount.
29379         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
29380         * lib/fts.c (fts_read): Avoid removing the original hash table item
29381         when leaving a directory that caused a cycle, and preserve the FTS_DC
29382         flag.
29384 2015-02-16  Daiki Ueno  <ueno@gnu.org>
29386         uniname/uniname: support character alias
29387         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
29388         Generate one-way mapping from aliases to codepoints in the
29389         generated tables.  Special case variation selectors to reduce
29390         table size.
29391         * lib/uniname/uniname.c (unicode_character_name): Special case
29392         variation selectors.
29393         (unicode_name_character): Special case variation selectors and
29394         their aliases.
29395         * lib/uniname/uninames.h: Regenerate.
29396         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
29397         * modules/uniname/uniname-tests (Files): Add
29398         tests/uniname/NameAliases.txt.
29399         * tests/uniname/test-uninames.c: Mark as static.
29400         (ALIASLEN): Define.
29401         (struct unicode_alias): New struct.
29402         (unicode_aliases): New variable.
29403         (fill_aliases): New function.
29404         (test_alias_lookup): New test function.
29405         (main): Run the 'test_alias_lookup' test if the second argument is
29406         given.
29407         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
29408         second argument.
29410 2015-02-11  Kevin Cernekee  <cernekee@google.com>
29412         Fix FILE struct compatibility with Android API level >= 21
29413         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
29414         __sferror.  Recent versions of Bionic's stdio.h no longer define
29415         __sferror.
29416         * lib/fbufmode.c: Likewise.
29417         * lib/fflush.c: Likewise.
29418         * lib/fpurge.c: Likewise.
29419         * lib/freadable.c: Likewise.
29420         * lib/freadahead.c: Likewise.
29421         * lib/freading.c: Likewise.
29422         * lib/freadptr.c: Likewise.
29423         * lib/freadseek.c: Likewise.
29424         * lib/fseeko.c: Likewise.
29425         * lib/fseterr.c: Likewise.
29426         * lib/fwritable.c: Likewise.
29428         Assume unbroken ungetc() on Android
29429         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
29430         test case passed when running on an Android host, and the code
29431         hasn't really changed since 2009.
29433         getdtablesize: Fix Android build
29434         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
29435         versions have this symbol in the .so library (at least 32-bit
29436         platforms) but are missing the declaration in the header file,
29437         causing the m4 logic to guess incorrectly.
29439         localename: Fix Android build
29440         * modules/localename (Depends-on): Add langinfo.
29442         getugroups: Fix Android build
29443         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
29444         functions.
29446         euidaccess: Fix Android build
29447         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
29448         AT_EACCESS gets declared.
29450         linkat_nofollow: Add fallback case for cross compiling
29451         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
29453         net_if: Handle content-free <net/if.h> system headers
29454         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
29455         struct if_nameindex.  If not, enable the replacement header.
29457         signal_h: Fix Android build
29458         * lib/signal.in.h: Add Android to the list of platforms that declare
29459         pthread_sigmask() in <pthread.h> instead of <signal.h>.
29461         duplocale: Fix Android build of duplocale-tests
29462         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
29463         is included by test-duplocale.c (but not by duplocale.c).
29464         * modules/duplocale-tests (configure.ac): Check for monetary.h.
29465         * tests/test-duplocale.c: Skip test if monetary.h is absent.
29466         * doc/posix-headers/monetary.texi: Add Android to the list of
29467         platforms missing monetary.h.
29469 2015-02-11  Pádraig Brady  <P@draigBrady.com>
29471         tests: avoid recent -Werror=unused-variable regression in test-locale
29472         * tests/test-locale.c (main): Reference the variable to avoid the
29473         "unused variable" warning.
29475 2015-02-11  Pádraig Brady  <P@draigBrady.com>
29477         maint: various whitespace cleanups in tempname
29478         * lib/tempname.c: Normalize spacing and line length.
29479         * lib/tempname.h: Likewise.
29480         * modules/tempname: Likewise.
29482 2015-02-11  Pádraig Brady  <P@draigBrady.com>
29484         tests: provide returns_() to simplify exit status checking
29485         * tests/init.sh (returns_): A new function for use in tests,
29486         to allow for easier checking of return values, where you expect
29487         a command to exit with failure status.  By checking for a particular
29488         exit code, you don't hide any crashes for example.
29490 2015-02-11  Pádraig Brady  <P@draigBrady.com>
29492         mountlist: only use libmount when specified
29493         There are currently many shared libs dependencies introduced by
29494         libmount with associated runtime and virt mem overhead.
29495         Therefore don't enable by default.
29496         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
29498 2015-02-08  Daiki Ueno  <ueno@gnu.org>
29500         uniname/unimame-tests: don't link with -lunistring
29501         * modules/uniname/uniname-tests (Makefile.am): Don't link against
29502         $(LIBUNISTRING).  Document the rationale why we need to
29503         conditionalize the test.
29505 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
29507         fstrcmp: don't assume strlen < INT_MAX
29508         * lib/fstrcmp.c: Include stddef.h and stdint.h.
29509         (uintptr_t): Remove, as we're now assuming stdint.
29510         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
29511         Prefer ptrdiff_t to int when the value could exceed INT_MAX
29512         if the input string is long.
29513         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
29514         uintptr_t to size_t when the underlying value is a pointer casted
29515         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
29516         * modules/fstrcmp (Depends-on): Add stdint.
29518         diffseq: prefer ptrdiff_t to ssize_t
29519         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
29520         ptrdiff_t is the natural type for signed indexes.
29521         On a few older platforms, ssize_t is narrower than size_t.
29523         xalloc: fix typo that suppressed warnings
29524         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
29525         This typo, introduced a couple of years ago, mistakenly suppressed
29526         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
29527         -Wmissing-declarations warnings.
29529         full-read: fix license notice typo
29530         * lib/full-read.h: Remove a stray line in the license notice.
29531         Reported by Sam Ellis in: http://bugs.gnu.org/19808
29533         crypto/gc: fix a -Wswitch warning
29534         Reported by Bruce Korb in:
29535         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
29536         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
29538 2015-02-03  Pádraig Brady  <P@draigBrady.com>
29540         gnulib-tool: fix handling of patch(1) diagnostics
29541         * gnulib-tool: Send diagnostics from patch(1) to stderr,
29542         as otherwise gnulib-tool will reparse that output and attempt
29543         to lookup modules.
29545 2015-02-03  Pádraig Brady  <P@draigBrady.com>
29547         bootstrap: exit immediately upon gnulib-tool failure
29548         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
29549         This was noticed when gnulib-tool exited early due to failure
29550         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
29551         but various confusing errors were then given as the build proceeded.
29553 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
29555         symlinkat: include all required header files
29556         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
29557         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
29558         Reported at https://savannah.gnu.org/bugs/index.php?44151
29559         and by Jack Howarth.
29561 2015-01-29  Pádraig Brady  <P@draigBrady.com>
29563         localename: support Solaris 12 and illumos
29564         * lib/localename.c (gl_locale_name_thread_unsafe): call
29565         getlocalename_l() on newer __sun platforms.
29566         Reported by Alexander Pyhalov.
29567         Fix suggested by Rich Burridge.
29569 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
29571         locale: fix tests on illumos (trivial)
29572         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
29573         so move from global scope to main().
29575 2015-01-24  Daiki Ueno  <ueno@gnu.org>
29577         unictype: avoid undefined left-shift behavior
29578         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
29579         gcc's -fsanitize=shift and running its tests triggered:
29580           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
29581             places cannot be represented in type 'int'
29582         Cast LHS to 'unsigned int' after integer promotion.
29583         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
29584         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
29586 2015-01-20  Daiki Ueno  <ueno@gnu.org>
29588         libunistring: bump version of unitypes dependants
29589         Due to the header file search order, all the headers which depend
29590         on unitypes.h need to be generated, when the preinstalled
29591         libunistring is older.
29592         * modules/unicase/base (configure.ac): Bump minimum version to
29593         0.9.4.
29594         * modules/uniconv/base (configure.ac): Likewise.
29595         * modules/unilbrk/base (configure.ac): Likewise.
29596         * modules/uninorm/base (configure.ac): Likewise.
29597         * modules/unistdio/base (configure.ac): Likewise.
29598         * modules/unistr/base (configure.ac): Likewise.
29599         * modules/uniwbrk/base (configure.ac): Likewise.
29600         * modules/uniwidth/base (configure.ac): Likewise.
29602 2015-01-20  Daiki Ueno  <ueno@gnu.org>
29604         unictype/category-none: fix link with libunistring
29605         Since _UC_CATEGORY_NONE is not a public symbol, it will be
29606         prefixed with "libstring_" when compiled as part of libunistring.
29607         To avoid undefined symbol at link time, increase the minimum
29608         version when the dependant modules are updated.
29609         * modules/unictype/category-none (configure.ac): Bump minimum
29610         version to 0.9.5.
29612 2015-01-20  Daiki Ueno  <ueno@gnu.org>
29614         unitypes: fix build with installed libunistring
29615         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
29616         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
29617         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
29619 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29621         time: port to MinGW32 3.21
29622         Problem reported by Eli Zaretskii in:
29623         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
29624         * lib/time.in.h:
29625         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
29626         * modules/time (Depends-on):
29627         Fall back on unistd.h if the other include files don't define
29628         struct timespec.
29630         update-copyright: apply to self
29631         * build-aux/update-copyright: Fix copyright date.  How ironic!
29633 2015-01-15  Daiki Ueno  <ueno@gnu.org>
29635         libunistring: update to Unicode 7.0.0
29636         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
29637         Manichaean names.
29638         * lib/unictype/joininggroup_name.h: Likewise.
29639         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
29640         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
29641         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
29642         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
29643         (fill_arabicshaping, joining_group_as_c_identifier): Support those
29644         enum values.
29645         (is_property_alphabetic): Accept newly added characters to
29646         cuneiform numeric signs.
29647         (is_property_default_ignorable_code_point): Reject U+0605.
29648         (FIELDLEN): Increase from 120 to 160.
29649         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
29650         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
29651         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
29652         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
29653         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
29654         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
29655         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
29656         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
29657         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
29658         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
29659         U+1E8D0..U+1E8D6.
29660         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
29661         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29662         lib/uniwidth/width.c.
29663         * all generated files under lib/uni* and tests/uni*: Regenerate.
29665 2015-01-14  Daiki Ueno  <ueno@gnu.org>
29667         libunistring: update to Unicode 6.3.0
29668         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
29669         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
29670         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
29671         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
29672         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
29673         Update WB5, WB9, WB10, WB13a, and WB13b.
29674         * tests/uniwbrk/test-uc-wordbreaks.c
29675         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
29676         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
29677         (UC_BIDI_PDI): New enumeration values.
29678         (bidi_category_byname): Support those enum values.
29679         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
29680         dedicated property assigned.
29681         (is_property_case_ignorable): Check 0x0027.
29682         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
29683         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
29684         (output_wbp): Support those enum values.
29685         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
29686         (UC_BIDI_PDI): New enumeration values.
29687         * lib/unictype/bidi_byname.gperf: Add those property names.
29688         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
29689         U+180E, U+1A1B, and U+2066..U+2069.
29690         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29691         lib/uniwidth/width.c.
29692         * all generated files under lib/uni* and tests/uni*: Regenerate.
29694 2015-01-14  Daiki Ueno  <ueno@gnu.org>
29696         libunistring: update to Unicode 6.2.0
29697         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
29698         (unilbrk_table): Adjust table size.
29699         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
29700         for LBP_RI.
29701         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
29702         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
29703         Normalize table index skipping ignored properties.
29704         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
29705         WBP_EXTEND and WBP_FORMAT, which are now computed without using
29706         the table.
29707         * lib/uniwbrk/wbrktable.h: Adjust table size.
29708         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
29709         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
29710         Support rule GB8a.
29711         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
29712         * tests/unigbrk/test-uc-is-grapheme-break.c
29713         (graphemebreakproperty_to_string): Support GBP_RI.
29714         * tests/uniwbrk/test-uc-wordbreaks.c
29715         (wordbreakproperty_to_string): Support WBP_RI.
29716         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
29717         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
29718         (output_lbp): Support LBP_RI.  Adjust some characters changed from
29719         LBP_AL to LBP_ID.
29720         (output_lbp): Support LBP_RI.
29721         (WBP_RI): New enumeration value.
29722         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
29723         (output_wbp): Support WBP_RI.
29724         (GBP_RI): New enumeration value.
29725         (output_gbp_test, fill_org_gbp): Support GBP_RI.
29726         * all generated files under lib/uni* and tests/uni*: Regenerate.
29728 2015-01-14  Daiki Ueno  <ueno@gnu.org>
29730         libunistring: update to Unicode 6.1.0
29731         * lib/gen-uni-tables.c (output_joining_group): Switch to
29732         3-level table to accommodate joining groups defined with higher
29733         codepoint value.  Since there are only 88 groups defined in
29734         Unicode 7.0.0, use 7-bit packed format for level3 entries.
29735         (get_lbp): Update for Unicode 6.1.0.
29736         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
29737         3-level table.
29738         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
29739         joining group name.
29740         * lib/unictype/joininggroup_name.h: Likewise.
29741         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
29742         (unilbrk_table): Adjust table size.
29743         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
29744         for LBP_HL.
29745         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
29746         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
29747         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
29748         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
29749         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
29750         U+302E..U+302F.
29751         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29752         lib/uniwidth/width.c.
29753         * all generated files under lib/uni* and tests/uni*: Regenerate.
29754         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
29756 2015-01-15  Daiki Ueno  <ueno@gnu.org>
29758         uniwbrk/u32-wordbreaks-tests: add conformance test
29759         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
29760         tests/uniwbrk/test-uc-wordbreaks.c,
29761         tests/uniwbrk/test-uc-wordbreaks.sh, and
29762         tests/uniwbrk/WordBreakTest.txt.
29763         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
29764         test-uc-wordbreaks to $(check_PROGRAMS), and define
29765         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
29766         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
29767         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
29769 2015-01-15  Daiki Ueno  <ueno@gnu.org>
29771         uniwbrk: ignore Extended/Format characters at BOL not BOS
29772         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
29773         characters if the previous character property is one of
29774         WBP_NEWLINE, WBP_CR, and WBP_LF.
29776 2015-01-11  Jim Meyering  <meyering@fb.com>
29778         test-strstr.c: avoid a trivial leak
29779         * tests/test-strstr.c (main): Free haystack.
29781         update-copyright: recognize groff's \(co marker
29782         * build-aux/update-copyright (circle_c_re): Also accept
29783         uses of \(co, as found in gzip.1.
29785 2015-01-08  Pádraig Brady  <P@draigBrady.com>
29787         maint.mk: fix compatibility with OS X nm
29788         * top/maint.mk (_gl_tight_scope): Use the -g option to
29789         show exported items rather than the -e option which is
29790         ignored on all platforms except OS X where it gives an error.
29791         Reported by Assaf Gordon.
29793 2015-01-07  KO Myung-Hun  <komh@chollian.net>
29795         localcharset: improve charset detection on OS/2
29796         Use system codepage when appropriate.  Map OS/2 codepages to
29797         GNU canonical charset names if possible.
29798         * lib/config.charset: Don't output aliases if "$os" is os2*.
29799         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
29800         result for OS/2.
29801         (locale_charset) [OS2]: Use system codepage if codeset is omitted
29802         from the locale name which is neither "C" nor "POSIX".
29804 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
29806         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
29807         This reverts the last patch but one, as it shouldn't be needed now
29808         that the typo is fixed.
29809         * lib/count-leading-zeros.h (count_leading_zeros_ll):
29810         * lib/count-trailing-zeros.h:
29811         * lib/count-one-bits.h:
29812         Go back to using 64-bit intrinsics.
29814         count-leading-zeros: fix pragma typos
29815         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
29816         Fix typos in declaration of intrinsics when _MSC_VER.
29818 2015-01-06  Pádraig Brady  <P@draigBrady.com>
29820         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
29821         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
29822         intrinsics in this case.
29823         * lib/count-trailing-zeros.h: Likewise.
29824         * lib/count-one-bits.h: Likewise.
29826 2015-01-06  Daiki Ueno  <ueno@gnu.org>
29828         uniname/uniname: update to Unicode 7.0.0
29829         To accommodate new characters added since Unicode 5.1.0, this
29830         changes the internal representation of codepoint ranges.
29831         Previously, we grouped codepoint ranges by manually assigned 4-bit
29832         tag, which only allowed 16 groups.  This removes the limitation by
29833         switching to binary search on a table.  For the detail rationale
29834         and the benchmark results, see:
29835         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
29836         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
29837         to INDEX, as it no longer represents a codepoint.
29838         (range): New struct.
29839         (main): Switch to intervals list from a bit-pattern based
29840         classification.
29841         * lib/uniname/uninames.h: Regenerate.
29842         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
29843         * modules/uniname/base (configure.ac): Bump minimum version to
29844         0.9.5.
29845         * modules/uniname/uniname (configure.ac): Bump minimum version to
29846         0.9.5.
29848 2015-01-05  Eric Blake  <eblake@redhat.com>
29850         doc: update INSTALL from autoconf
29851         * doc/install.texi: Resync from autoconf.
29852         * doc/INSTALL: Reflect recent autoconf update.
29853         * doc/INSTALL.ISO: Likewise.
29854         * doc/INSTALL.UTF-8: Likewise.
29856         stdio: fix use of PRIdMAX on modern mingw
29857         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
29858         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
29859         to work with modern mingw.
29861 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
29863         pthread: detect git mingw builds with only partial pollution
29864         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
29865         pollution, as seen temporarily in Fedora 21.
29867 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
29869         lib-symbol-versions: cache script check
29870         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
29871         Cache the check for linker version scripts.
29872         From a suggestion by Christophe Curis in:
29873         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
29875 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
29877         maint: fix grammar nits in propername (trivial change)
29878         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
29879         and use an adequate verb and tense.
29881 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
29883         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
29884         * module/gendocs: Add 'doc/gendocs_template_min'.
29886         * build-aux/gendocs.sh: Change email addresses and upstream URLs
29887         from to Gnulib's.
29888         (scripturl, templateurl): Adjust accordingly.
29890 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29892         gendocs: copyright date and version fix
29893         Reported by Karl Berry in:
29894         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
29895         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
29896         Fix copyright date.
29897         * build-aux/gendocs.sh (scriptversion): Update.
29899 2015-01-01  Karl Berry  <karl@gnu.org>
29901         * doc/install.texi,
29902         * build-aux/mdate-sh,
29903         * build-aux/depcomp,
29904         * build-aux/config.guess,
29905         * build-aux/config.sub,
29906         * build-aux/ar-lib,
29907         * build-aux/compile: revert copyright updates (some from last
29908         year) in slaved files.
29910 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29912         version-etc: new year
29913         * doc/gnulib.texi:
29914         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
29915         * all files: Run 'make update-copyright'.
29917 2014-12-30  Pádraig Brady  <P@draigBrady.com>
29919         xstrtol: ensure errno is reset
29920         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
29921         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
29923         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
29925 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
29927         utimens: fix dependency typo
29928         * modules/utimens (Depends-on): Remove 'assure'.
29929         This bug was introduced in the recent 'assure' patch.
29931 2014-12-22  Eric Blake  <eblake@redhat.com>
29933         docs: mention why libgen.h is bad
29934         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
29936 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
29938         assure: new module
29939         This works better than 'assert' when compiling with -DNDEBUG,
29940         as it avoids some compiler diagnostics in that case.
29941         Reported by Norihiro Tanaka in:
29942         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
29943         * MODULES.html.sh (func_all_modules): Add 'assure'.
29944         * lib/assure.h, modules/assure: New files.
29945         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
29946         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
29947         Prefer 'assure' to 'assert'.
29948         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
29949         * modules/chdir-long, modules/cycle-check, modules/fchdir:
29950         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
29951         Depend on 'assure'.
29953 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
29955         stdalign: port better to HP compilers
29956         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
29957         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
29959         stdalign: work around Apple GCC 4.0 bug
29960         Reported by David Fang in:
29961         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
29962         * lib/stdalign.in.h (_Alignas):
29963         * m4/stdalign.m4 (gl_STDALIGN_H):
29964         Do not use aligned attribute with GCC 4.0 on Apple.
29966 2014-12-16  Pádraig Brady  <P@draigBrady.com>
29968         getcwd: fix test failure on OS X 10.9
29969         * m4/getcwd-path-max.m4: Avoid the replacement if it
29970         won't be effective due to the PATH_MAX limitation of lstat().
29971         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
29972         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
29973         for this case for use in tests, and also exclude this
29974         case when setting REPLACE_GETCWD.
29975         * tests/test-getcwd.c (test_long_name): Restrict the
29976         tested path length so that lstat() will not be passed
29977         a path greater than PATH_MAX.
29978         Also key a test condition on HAVE_OPENAT_SUPPORT rather
29979         than AT_FDCWD, since the latter is set unconditionally
29980         since Sep 2009 in commit 52c658e9.
29982 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
29984         parse-datetime: avoid a compiler warning with byacc (trivial)
29985         * lib/parse-datetime.y (yylex): Use the same prototype in the
29986         function definition as the declaration, to avoid a -Wstrict-prototypes
29987         warning seen when using byacc.
29989 2014-12-12  Daiki Ueno  <ueno@gnu.org>
29991         unicase/locale-language-tests: fix LOCALE_FR test
29992         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
29993         a French locale with traditional encoding.
29994         Reported by umerqayam in:
29995         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
29997 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
29999         stddef: support C11's max_align_t
30000         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
30001         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
30002         Do not undef, as that might cause max_align_t to be defined twice.
30003         Instead, change use to check for _GL_STDDEF_WINT_T too.
30004         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
30005         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
30006         Check for max_align_t.
30007         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
30008         * modules/stddef-tests (Depends-on): Add stdalign.
30009         * tests/test-stddef.c: Test max_align_t.
30011 2014-12-11  Daiki Ueno  <ueno@gnu.org>
30013         unistd: fix iOS check conditional
30014         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
30015         as 0 or 1 in <TargetConditionals.h>, and the previous check always
30016         yielded true on non-iOS environment.
30017         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
30018         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
30019         they are defined.
30021 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
30023         posixtm: avoid compiler warning in a better way
30024         * lib/posixtm.c (IF_LINT): Remove.
30025         (year, posix_time_parse):
30026         Return true (not 0) if successful.  All callers changed.
30027         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
30029 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
30031         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
30032         started with '/' on EMX.
30034 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
30036         freopen: workaround freopen() on OS/2 kLIBC
30037         * lib/freopen.c (rpl_freopen): Workaround.
30038         * m4/freopen.m4: Add os2* case.
30040         get_shared_library_fullname: port to EMX
30041         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
30042         on EMX, respectively.
30043         (_DLL_InitTerm): New on EMX.
30044         (get_shared_library_fullname): Implement on EMX.
30046         find_executable: port to EMX
30047         * lib/progreloc.c (find_executable): Implement on EMX.
30049         sched: check struct sched_param in spawn.h as well
30050         * lib/sched.in.h: Include spawn.h on kLIBC.
30051         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
30053 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
30055         bootstrap: Allow perl modules in $buildreq
30056         * build-aux/bootstrap: Add case for perl modules.
30058 2014-12-08  Pádraig Brady  <P@draigBrady.com>
30060         apply _GL_ATTRIBUTE_PURE to some inline functions
30061         clang 3.4.2 flagged these inline functions as pure
30062         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
30063         * lib/sig-handler.h (get_handler): Likewise.
30064         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
30065         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
30067 2014-12-06  Pádraig Brady  <P@draigBrady.com>
30069         vasnprintf: fix potential use after free
30070         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
30071         flagged by clang-analyzer 3.4.2.
30073 2014-12-05  Pádraig Brady  <P@draigBrady.com>
30075         filevercmp, posixtm: avoid compiler warnings with -O3
30076         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
30077         * lib/posixtm.c: (IF_LINT): Define.
30078         (posix_time_parse): Use it to void a "may be used uninitialized"
30079         warning, seen only with -O3.
30081 2014-12-05  Bruno Haible  <bruno@clisp.org>
30083         Fix LDBL80_WORDS macro on big endian platforms.
30084         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
30085         LDBL80_WORDS macro.
30086         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
30087         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30088         * tests/test-isfinite.c (test_isfinitel): Likewise.
30089         * tests/test-isinf.c (test_isinfl): Likewise.
30090         * tests/test-isnan.c (test_long_double): Likewise.
30091         * tests/test-isnanl.h (main): Likewise.
30092         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
30093         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
30094         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
30095         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
30096         Reported by Pádraig Brady.
30098 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
30100         git-version-gen: do not print new line characters
30101         * build-aux/git-version-gen: Use printf instead of echo and tr.
30103         gnulib-tool: recognize x:* as an absolute path
30104         * gnulib-tool (func_gnulib_dir): Add ?:* case.
30105         (func_relconcat): Likewise.
30107 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
30109         argp: avoid extraneous translation and mem leak with empty pre doc
30110         * lib/argp-help.c (argp_doc): Never translate the empty string,
30111         when "\v" is the first or last character of the string, as that
30112         has a reserved meaning to return the header info from a po file.
30113         This also fixes a small memory leak in the !post case.
30114         The issue can be seen with this command for example:
30115         LC_MESSAGES=en_US grub2-mknetdir --help
30117 2014-11-27  Daiki Ueno  <ueno@gnu.org>
30119         uniname/uniname-tests: skip if system's libunistring is used
30120         * modules/uniname/uniname-tests (Makefile.am): Skip test if
30121         uniname/uniname module is not compiled.
30123 2014-11-27  Pádraig Brady  <P@draigBrady.com>
30125         printf: fix configure check on big endian systems
30126         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
30128 2014-11-22  Daiki Ueno  <ueno@gnu.org>
30130         pipe-filter-gi, pipe-filter-ii: port to AIX
30131         On AIX 7.1, 'select' is defined as static and cannot be referred
30132         to from inline function.
30133         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
30134         the definition...
30135         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
30136         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
30138 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
30140         gitlog-to-changelog: add --until
30141         * build-aux/gitlog-to-changelog: Support new --until option.
30142         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
30144 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
30146         extern-inline: update commentary about GCC bugs
30147         * m4/extern-inline.m4: Add another GCC bug number to comments.
30149 2014-11-13  Daiki Ueno  <ueno@gnu.org>
30151         gen-uni-tables: untabify
30152         * lib/gen-uni-tables.c: Untabify.
30154 2014-11-13  Daiki Ueno  <ueno@gnu.org>
30156         gen-uni-tables: check out-of-range values added to 3-level tables
30157         * lib/gen-uni-tables.c (output_category, output_bidi_category)
30158         (output_joining_type, output_ident_category): Check out-of-range
30159         values added to 3-level tables.
30161 2014-11-13  Daiki Ueno  <ueno@gnu.org>
30163         gen-uni-tables: utilize 'assert'
30164         * lib/gen-uni-tables.c: Include <assert.h>.
30165         (output_category, output_combclass, output_decimal_digit_test)
30166         (output_decimal_digit, output_digit_test, output_digit)
30167         (output_numeric, get_mirror_value, fill_properties)
30168         (fill_property30, is_property_alphabetic)
30169         (is_property_default_ignorable_code_point)
30170         (is_property_uppercase, is_property_lowercase)
30171         (is_property_cased, is_property_case_ignorable)
30172         (is_property_changes_when_lowercased, is_property_iso_control)
30173         (is_property_math, fill_arabicshaping, output_joining_group)
30174         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
30175         (output_wbp, fill_org_gbp, get_decomposition)
30176         (output_decomposition, fill_composition_exclusions)
30177         (debug_output_composition_tables, output_composition_tables)
30178         (redistribute_casefolding_rules, output_casing_rules): Use
30179         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
30180         reporting.
30182 2014-11-13  Daiki Ueno  <ueno@gnu.org>
30184         gen-uni-tables: cosmetic improvements
30185         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
30186         variables specification.
30187         (is_outdigit): Remove unused function.
30189 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
30191         fcntl-h-tests: port to PA-RISC GNU/Linux
30192         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
30194 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
30196         fts: port to C89
30197         Problem reported for MSVC 16 by Gisle Vanem in:
30198         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
30199         * lib/fts.c (fts_build): Avoid declaration before statement.
30201 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
30203         unistd: port to iOS
30204         Problem reported by André Klitzing in:
30205         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
30206         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
30208 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30210         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
30211         Problem reported by Alan Modra in:
30212         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
30213         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
30214         Always cast the function arg, reverting this part of the previous
30215         change.
30217 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30219         obstack: avoid potentially-nonportable function casts
30220         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
30221         Remove, replacing with ...
30222         (call_chunkfun, call_freefun): New static functions.
30223         All uses changed.  Avoid potentially-nonportable casts.
30224         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
30225         (_obstack_begin_worker): Omit last two args, since they
30226         rely on potentially-nonportable casts.  All callers changed.
30227         * lib/obstack.h (_OBSTACK_CAST): New macro.
30228         Use it everywhere the old API used a potentially-nonportable cast.
30229         The new API doesn't cast.
30230         (struct obstack): Use unions rather than requiring
30231         potentially-nonportable casts.
30232         (obstack_chunkfun, obstack_freefun): Return void.
30234 2014-11-03  Alan Modra  <amodra@gmail.com>
30236         obstack: fix macro return values
30237         * lib/obstack.h (obstack_next_free): Return void *.
30238         (obstack_1grow_fast, obstack_blank_fast): Return void.
30239         For __GNUC__ macros:
30240         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
30241         For !__GNUC__ macros:
30242         (obstack_make_room, obstack_grow, obstack_grow0)
30243         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
30245 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
30247         obstack: do not assume system-supplied obstack is size_t safe
30248         * m4/obstack.m4: New file.
30249         * modules/obstack (Files): Add it.
30251         obstack: port to platforms that #define __alignof__
30252         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
30253         not if !_LIBC.  We don't know of any platforms that #define
30254         __alignof__, but it might be useful in tests.  Conversely,
30255         glibc assumes GCC.
30257 2014-11-03  Pádraig Brady  <P@draigBrady.com>
30259         linkat: don't unconditionally replace on GNU/Linux
30260         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
30261         was redundant for a few reasons.  It was present to support compiling
30262         on new systems but running on the old narrow window of Linux 2.6.1[67].
30263         It setup and cleaned up test files which weren't actually used.
30264         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
30265         implicit in the following check.
30267 2014-11-03  Pádraig Brady  <P@draigBrady.com>
30269         linkat: wrap to handle symlinks on OS X 10.10
30270         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
30271         but not usable because it doesn't support creating hardlinks
30272         to symlinks.  Therefore add a generic test for this capability
30273         and fallback to our emulation if linkat() fails with ENOTSUP.
30275 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
30277         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
30278         * doc/posix-functions/open.texi (open):
30279         * doc/posix-functions/openat.texi (openat):
30280         Document that these functions do not set errno to ELOOP when
30281         a symlink is opened with O_NOFOLLOW.
30283 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
30285         obstack: add NEWS entry for recent incompatible changes
30286         * NEWS: Describe recent changes.
30288 2014-10-30  Pádraig Brady  <P@draigBrady.com>
30290         mountlist: don't use libmount to decide on dummy/remote
30291         * lib/mountlist.c (read_file_system_list): Don't use the libmount
30292         routines to determine whether a file system is dummy or remote,
30293         as they're not currently compatible.  For example the remoteness
30294         is determined on file system type (for which the list seems incomplete),
30295         rather than simply checking for a ':' in the device name.
30296         Also libmount currently determines that 'tmpfs' is a dummy file system
30297         even though it has associated storage.
30299 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
30301         obstack: prefer __alignof__ to alignof
30302         This is for portability to pre-4.7 GCC when compiling glibc.
30303         See Joseph S. Myers in:
30304         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
30305         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
30306         New macro, defined by including and using <alignof.h>.
30307         (MAX): New macro.
30308         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
30309         Do not use enums as they are not portable to some broken compilers.
30310         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
30312         obstack: prefer alignof to calculating alignments by hand
30313         * lib/obstack.c: Include <stdalign.h>.
30314         (struct fooalign): Remove.
30315         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
30316         * modules/obstack (Depends-on): Add stdalign.
30318 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
30320         obstack: use size_t alignments and check for overflow
30321         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
30322         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
30323         * lib/obstack.h (struct obstack.alignment_mask):
30324         Use _OBSTACK_SIZE_T, not int, for alignments.
30325         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
30326         overflows, e.g., when adding the alignment.
30328 2014-10-29  Alan Modra  <amodra@gmail.com>
30330         obstack: 64-bit obstack support, part 3
30331         This finally enables full 64-bit obstack support.  The glibc
30332         shared library specific code is removed from obstack.c too, and
30333         the error handling code conditionally compiled under control of
30334         another macro, _OBSTACK_NO_ERROR_HANDLER.
30335         * lib/obstack.h: Include string.h earlier.
30336         (_OBSTACK_INTERFACE_VERSION): Define.
30337         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
30338         * lib/obstack.c: Don't include shlib-compat.h.
30339         (OBSTACK_INTERFACE_VERSION): Delete.
30340         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
30341         glibc code is compatible with version 2.  Don't include stdio.h for
30342         __GNU_LIBRARY.
30343         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
30344         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
30345         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
30346         glibc shared library specific source.
30348         obstack: 64-bit obstack support, part 2
30349         This gets us 4G obstack support, without changing ABI
30350         compatibility, apart from possibly introducing some
30351         signed/unsigned comparison warnings in code that uses obstack.h.
30352         a) Replace "int" size parameters, return values, and macro local vars
30353            with _OBSTACK_SIZE_T, an "unsigned int" for now.
30354         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
30355         c) Make all obstack macros checking available room use obstack_room.
30356            "next_free + desired > chunk_limit" may wrap the lhs for chunks
30357            allocated near the top of memory.
30358         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
30359         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
30360         in place of "int" size parameters, return values and local vars.
30361         (_CHUNK_SIZE_T): Define.
30362         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
30363         union use an _OBSTACK_SIZE_T integer type.
30364         For __GNUC__ versions of the following macros...
30365         (obstack_room): Rename local var.
30366         (obstack_make_room): Use obstack_room.
30367         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
30368         obstack_int_grow, obstack_blank): Likewise.
30369         (obstack_finish): Use unsigned comparison when comparing aligned
30370         next_free against chunk_limit.
30371         (obstack_free): Cast OBJ to remove possible const qualifier.
30372         For !__GNUC__ versions of the following macros...
30373         (obstack_make_room): Use obstack_room.
30374         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
30375         obstack_int_grow, obstack_blank): Likewise.
30376         (obstack_finish): Use unsigned comparision when comparing aligned
30377         next_free against chunk_limit.
30378         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
30379         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
30380         _OBSTACK_SIZE_T.
30381         (_obstack_begin, _obstack_begin_1): Likewise.
30382         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
30383         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
30385         obstack: 64-bit obstack support, part 1
30386         a) Correct calls to alloc function, to use a size_t arg.  "long" is
30387            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
30388            and "size_t" 64 bits.
30389         b) Consolidate _obstack_begin and _obstack_begin1 code.
30390         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
30391         use "size_t" rather than "long".
30392         (_obstack_begin, _obstack_begin1): Likewise.
30393         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
30394         obstack_chunkfun): Update alloc function casts.
30395         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
30396         (chunkfun_type, freefun_type): New typdefs.
30397         (_obstack_begin_worker): Split out from ..
30398         (_obstack_begin, _obstack_begin_1): ..here.
30400         obstack: tidy part 2
30401         a) Don't be concerned about "not polluting the namespace with stddef.h
30402            symbols" in obstack.h, since gnulib string.h includes stddef.h
30403            anyway, and it seems unlikely that anyone would care.
30404         b) Don't roll our own slow memcpy in _obstack_newchunk.
30405         c) Rename obstack_free to _obstack_free.  This makes the naming
30406            consistent with other obstack functions and obviates the need for
30407            __obstack_free.  Ancient obstack.c defined both obstack_free and
30408            _obstack_free.  We continue to do that for _LIBC via an alias.
30409         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
30410            is clever, but nowadays gcc warns on undefined macros.  You'll get
30411            an undefined macro warning if simulating an old gcc with -U__GNUC__
30412            -U__GNUC_MINOR__ -D__GNUC__=1.
30413         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
30414         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
30415         (__obstack_free): Delete, update refs.
30416         (_obstack_free): Rename from obstack_free.
30417         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
30418         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
30419         * lib/obstack.c: Don't include stddef.h.
30420         (COPYING_UNIT): Delete.
30421         (_obstack_begin): Formatting fix.
30422         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
30423         (_obstack_free): Rename from __obstack_free, update alias.  Move
30424         undef of obstack_free to where it is needed.
30426         obstack: tidy part 1
30427         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
30428            to me, and result in overlong lines after later patches.
30429         b) Move error handling code, to avoid a forward declaration and to
30430            simplify later patches in this series.
30431         * lib/obstack.h (struct obstack <temp>): Rename fields of union
30432         and update all uses.
30433         * lib/obstack.c: Include stdlib.h earlier.
30434         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
30435         in file.
30436         (print_and_abort): Remove now redundant forward declaration.
30438 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30440         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
30441         Without this change, in bleeding-edge fileutils Autoconf complains
30442         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
30443         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
30444         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
30445         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
30447 2014-10-24  Daiki Ueno  <ueno@gnu.org>
30449         iconv: avoid false detection of non-working iconv
30450         The INBUF arguments of iconv can be either 'const char **'
30451         or 'char **'.  If CC is g++, the difference causes a compile error
30452         and thus leads to a false detection of non-working iconv.
30453         Reported by Eli Zaretskii and Werner LEMBERG in:
30454         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
30455         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
30456         iconv.  Bump serial number.
30458 2014-10-23  Pádraig Brady  <P@draigBrady.com>
30460         bootstrap: print more diagnostics for missing programs
30461         * build-aux/bootstrap: only suppress stderr when checking for
30462         alternative program names.  This supports programs issuing non
30463         standard error messages.
30465 2014-10-23  Pádraig Brady  <P@draigBrady.com>
30467         bootstrap: only update the gnulib submodule
30468         * build-aux/bootstrap: Restrict the "submodule update" command
30469         to the gnulib path.
30471 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30473         symlinkat: port to AIX 7.1
30474         * doc/posix-functions/symlinkat.texi (symlinkat):
30475         Mention AIX porting problem.
30476         * lib/symlinkat.c: Always include errno.h.
30477         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
30478         * lib/unistd.in.h (symlinkat): Add replacement machinery.
30479         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
30480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
30481         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
30482         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
30483         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
30485         readlinkat: port to AIX 7.1
30486         * doc/posix-functions/readlink.texi (readlink):
30487         * doc/posix-functions/readlinkat.texi (readlinkat):
30488         Mention AIX porting problem.
30489         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
30490         New function.
30491         * lib/unistd.in.h (readlinkat): Add replacement machinery.
30492         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
30493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
30494         * modules/readlinkat (configure.ac): Also compile replacement
30495         if REPLACE_READLINKAT.
30496         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
30498 2014-10-12  Karl Berry  <karl@gnu.org>
30500         * doc/posix-functions/dirname.texi: remove spurious {.
30502 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
30504         basename, dirname: Improve documentation.
30505         * doc/posix-functions/basename.texi: Mention dirname module and
30506         base_name() function.
30507         * doc/posix-functions/dirname.texi: Mention dir_name() and
30508         mdir_name() functions.
30509         Suggested by Werner LEMBERG <wl@gnu.org>.
30511 2014-09-24  Jim Meyering  <meyering@fb.com>
30513         exclude: declare exclude_patopts static
30514         * lib/exclude.c (exclude_patopts): Declare static,
30515         to avoid triggering a -Wmissing-prototypes warning.
30516         The alternative (declaring it in the .h file) would
30517         require publicizing the private "struct patopts".
30519 2014-09-21  Werner Lemberg  <wl@gnu.org>
30521         dirname: support compilation with C++
30522         * lib/dirname.h: Add necessary C linkage declarations.
30524 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
30526         qsort_r: include <config.h>
30527         Problem reported by Tom G. Christensen in:
30528         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
30529         * lib/qsort.c [!_LIBC]: Include <config.h> first.
30531 2014-09-16  Dylan Cali  <calid1984@gmail.com>
30533         avltree-list: avoid compiler warnings (trivial)
30534         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
30535         -Werror=suggest-attribute=pure.
30536         * lib/gl_array_list.c: Likewise.
30537         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
30538         declaration to avoid -Werror=missing-prototypes.  This is not added
30539         to a header as only exported for tests.  Add (void) to the
30540         check_invariants() call to indicate we're discarding the result
30541         in this context which avoids -Werror=unused-value.  Note we don't
30542         use ignore_value here to avoid a dependency as we know we'll not
30543         be adding __attribute__((warn_unused_result)) to check_invariants().
30544         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
30546 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
30548         qsort_r: new module, for GNU-style qsort_r
30549         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
30551 2014-09-15  Werner LEMBERG  <wl@gnu.org>
30553         strerror_r-posix: support compilation with C++
30554         * lib/strerror_r.c: Add necessary C linkage declarations.
30556 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
30558         fcntl-h: fix compilation with Intel C++ compiler (trivial)
30559         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
30561 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
30563         mountlist: use /proc/self/mountinfo when available
30564         Use libmount to propagate device IDs provided by Linux in
30565         /proc/self/mountinfo.  This will give more accurate output when
30566         using df in chroot'ed environments as the device IDs are not
30567         determined by stat() which may be inaccurate within the chroot.
30568         * lib/mountlist.c (read_file_system_list): Use the libmount routines
30569         from util-linux to parse "/proc/self/mountinfo" or fall back to
30570         standard getmntent() processing.
30571         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
30572         getmntent() is used, as is the case on GNU/Linux.
30574 2014-09-07  Eric Wong  <normalperson@yhbt.net>
30576         users.txt: add cmogstored
30577         cmogstored has used gnulib since the beginning in 2012 to support
30578         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
30580 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
30582         Trivial change.
30583         * gnulib-tool: Use same options as build-aux/bootstrap to download
30584         PO files.
30586 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
30588         Trivial change.
30589         * gnulib-tool: Fallback to wget when rsync of PO files fails.
30591 2014-09-04  Eric Blake  <eblake@redhat.com>
30593         maintainer-makefile: add syntax check for useless ';;'
30594         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
30596 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
30598         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
30599         Problem reported by Assaf Gordon in:
30600         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
30601         Apparently Ubuntu is doing some fancy link-time optimization
30602         that doesn't work with -lpthread but does work with -pthread.
30603         Work around the bug by preferring -pthread to -lpthread.
30604         * m4/pthread.m4 (gl_PTHREAD_CHECK):
30605         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
30606         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
30607         Treat -pthread like -lpthread.
30609 2014-09-04  Eric Blake  <eblake@redhat.com>
30611         error: drop spurious semicolon
30612         * lib/error.c (__error_at_line): Fix ';;'.
30614 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30616         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
30617         * m4/gnulib-common.m4 (AC_C_RESTRICT):
30618         Override AC_C_RESTRICT unconditionally.
30619         Update from autoconf, incorporating:
30620         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
30621         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
30623 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30625         manywarnings: add GCC 4.9 warnings
30626         Also, make it easier to maintain this in the future.
30627         * build-aux/gcc-warning.spec: Add -Wabi-tag,
30628         -Wconditionally-supported, -Wdelete-incomplete,
30629         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
30630         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
30631         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
30632         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
30633         only for older GCC versions that need them.  Handle
30634         -Wnormalized=nfc specially, so that the 'comm' command used
30635         for maintenance doesn't get confused.
30637 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
30639         vasnprintf: fix bugs in width computation
30640         * lib/vasnprintf.c (VASNPRINTF):
30641         Rework previous change, which introduced a bug,
30642         to avoid the warning in a different way.
30643         Avoid undefined behavior if the width arg is less than -INT_MAX.
30644         Avoid unnecessary use of HAS_WIDTH local.
30646 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
30648         vasnprintf: Avoid signed/unsigned comparison warning.
30649         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
30650         compare end addr of generated string w/ maximum end addr.
30652 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
30654         parse-datetime: Avoid pointer difference.
30655         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
30656         instead of calculating difference of pointers.  This removes an
30657         annoying warning, devoid of any use.
30659 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
30661         qsort_r: new module, for GNU-style qsort_r
30662         This works even on FreeBSD, which has an incompatible qsort_r API.
30663         * MODULES.html.sh: Add it.
30664         * doc/glibc-functions/qsort_r.texi: It's now supported.
30665         * lib/qsort.c: New file, taken from glibc with minor changes
30666         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
30667         removed.
30668         * lib/qsort_r.c: New file, compiled only on FreeBSD.
30669         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
30670         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
30671         * modules/qsort_r, modules/qsort_r-tests: New files.
30672         * modules/stdlib (Makefile): Set up its defaults.
30673         * tests/test-qsort_r.c: New file.
30675 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
30677         vla: new module
30678         GNU RCS can use this, mostly for documentation I expect.  See:
30679         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
30680         * MODULES.html.sh: Add vla.
30681         * lib/vla.h, modules/vla: New files.
30683 2014-08-07  Daiki Ueno  <ueno@gnu.org>
30685         localename: make gl_locale_name_thread really thread-safe on Windows
30686         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
30687         "glthread/lock.h".
30688         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
30689         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
30691 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
30693         getpass: don't assume struct termios
30694         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
30695         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
30696         * lib/getpass.c (getpass): Port to systems lacking struct termios.
30698         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
30699         Problem reported by Jonas 'Sortie' Termansen in:
30700         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
30701         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
30702         Implement via sysconf for platforms that lack getdtablesize.
30704         vararrays: modernize AC_C_VARARRAYS for C11
30705         This backports a change I recently made to Autoconf.
30706         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
30707         VLAs are not supported, as this is what C11 does.  The old macro
30708         HAVE_C_VARARRAYS is still defined if they are supported, but is
30709         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
30711 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
30713         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
30714         * build-aux/install-reloc (func_create_wrapper): Also wrap
30715         strerror-override, stat, stat.
30717 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
30719         sys_select: fix FD_ZERO problem on Solaris 10
30720         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
30721         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
30722         to expand to an expression that invoked memset without necessarily
30723         including <string.h>.  The problem was that the first include
30724         defined _SYS_TIME_H, causing the second include to short-circuit.
30725         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
30726         Also, fix what appears to be a cut-and-paste typo, by replacing
30727         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
30728         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
30730         accept: document Solaris 10 type glitch
30731         * doc/posix-functions/accept.texi (accept): Mention that
30732         Solaris 10 'accept' takes void * last arg, not socklen_t *.
30734 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
30736         extern-inline: port to FreeBSD, DragonFly
30737         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
30738         is present if either __DragonFly__ or __FreeBSD__ is defined.
30739         FreeBSD problem reported by Andrey Borzenkov in:
30740         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
30741         Also, worry about __APPLE__ only if __MACH__ is also defined,
30742         as this is more consistent with the rest of gnulib.
30743         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
30744         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
30746 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30748         regex: Make #if/#ifdef usage consistent for DEBUG
30749         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
30750         of the inconsistent usage of #if and #ifdef as that works with
30751         both Glibc and Gnulib's style.
30753 2014-07-31  Eric Blake  <eblake@redhat.com>
30755         openat-die: use _Noreturn markup
30756         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
30757         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
30758         _Noreturn.
30760 2014-07-30  Eric Blake  <eblake@redhat.com>
30762         test-open: port to cygwin, which lacks Fortify
30763         * tests/test-open.h (ALWAYS_INLINE): New macro.
30764         (__always_inline): Don't abuse internal symbol on non-glibc.
30766 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
30768         localename: Enforce declarations before statements.
30769         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
30770         first statement.
30772 2014-07-18  Jim Meyering  <meyering@fb.com>
30774         test-userspec: don't look up numeric user names
30775         * tests/test-userspec.c: I found a system for which getpwnam("0")
30776         returned a pointer to a non-root user's entry, and that made the
30777         test fail.
30778         (T): Prefix each numeric input with "+", to inhibit lookup.
30780 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
30782         localcharset, localename: MS-Windows support for non-default locales
30783         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
30784         falling back on the default system codepage, try extracting
30785         the codepage from what 'setlocale' returns.  This allows to
30786         take into account changes of the codeset due to non-default
30787         locale set by a previous call to 'setlocale'.
30788         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
30789         Define if not already defined.
30790         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
30791         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
30792         current locale by calling 'setlocale', then converting the
30793         locale name into LCID by calling 'get_lcid'.  This allows to
30794         take into account changes in the current locale from the
30795         default one, in contrast to GetThreadLocale.
30797 2014-07-14  Daiki Ueno  <ueno@gnu.org>
30799         announce-gen: avoid failure when Digest::SHA is installed
30800         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
30801         Digest::SHA1->new in print_checksums fails.
30802         * build-aux/announce-gen (digest_classes): New associative array
30803         for available message digest implementations.
30804         (print_locations): Use it.
30806 2014-07-13  Pádraig Brady  <P@draigBrady.com>
30808         gettext: revert "update macros to version 0.19"
30809         This reverts commit 9b9370ca, as it currently requires that
30810         developers of any project that explicitly uses the gettext module
30811         or implicitly uses it through the utimens-tests or
30812         futimens-tests modules, use gettext >= 0.19.
30813         However there are some stability and availablity issues with
30814         that version at present.  We can reinstate this soon, when stability
30815         is addressed and packages are more readily available.
30817 2014-07-12  Jim Meyering  <meyering@fb.com>
30819         regex: don't deref NULL upon heap allocation failure
30820         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
30821         failure in one more place.
30822         To trigger the segfault, configure grep -with-included-regex,
30823         build it, and run these commands:
30824         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
30825         I discovered this while replying to a private report from
30826         Jens Schleusener about excessive memory consumption by grep
30827         when using a regular expression like the one above.
30829 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
30831         regex: fix memory leak in compiler
30832         Fix by Andreas Schwab in:
30833         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
30834         * lib/regcomp.c (parse_reg_exp): Deallocate partially
30835         constructed tree before returning error.
30837 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
30839         announce-gen: avoid perl warnings
30840         * build-aux/announce-gen: add two minor checks to avoid
30841         "use of uninitialized value" warnings when command-line parameters are
30842         missing.
30844 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
30846         localename: avoid -Wsuggest-attribute={const,pure} warnings
30847         * lib/localename.c (string_has): Tag internal function as pure.
30848         * lib/localename.h (gl_locale_name_default): Tag extern declaration
30849         as const when appropriate.
30851 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
30853         nl_langinfo: Fix last change.
30854         * lib/nl_langinfo.c (includes): Drop redundant include.
30856 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
30858         error: Fix -Wundef warnings in glibc
30859         * lib/error.c [_LIBC]: Define default macros for
30860         glibc.
30861         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
30862         Check _LIBC before STRERROR_R_CHAR_P.
30864         error: Sync from glibc master
30865         * lib/error.c [_LIBC]: Remove INTUSE usage.
30866         (error_tail): Remove unused macro ALLOCA_LIMIT.
30867         Fix potential buffer overflow.  Fix potential NULL dereference
30868         in strcmp.
30870 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
30872         nl_langinfo: fix build under mingw
30873         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
30875 2014-07-09  Andrew D Warshall  <warshall@99main.com>
30877         mountlist: do not classify a bind-mounted dir entry as "dummy"
30878         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
30879         1-argument getmntent() (instead of assuming absence).
30881 2014-07-08  Eric Blake  <eblake@redhat.com>
30883         maint.mk: less syntax-check noise when SIGPIPE is ignored
30884         * top/maint.mk (_sc_header_without_use)
30885         (sc_require_config_h_first): Parse full list.
30887 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
30888             Paul Eggert  <eggert@cs.ucla.edu>
30890         nl_langinfo: CODESET on MS-Windows and more items from localeconv
30891         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
30892         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
30893         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
30894         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
30895         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
30896         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
30897         Include <stdio.h> if Microsoft Windows.
30898         Include <time.h> if !REPLACE_NL_LANGINFO.
30899         (ctype_codeset): New function, taken from rpl_nl_langinfo,
30900         and with improvements for Microsoft Windows.
30901         (rpl_nl_langinfo): Use it.
30902         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
30903         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
30904         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
30905         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
30906         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
30907         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
30908         corresponding values returned by 'localeconv'.  Compute the values
30909         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
30910         'strftime' with a suitable struct tm value.
30912 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
30914         Bruno Haible has stepped down as maintainer.
30915         See Karl Berry in:
30916         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
30917         Daiki Ueno has volunteered to maintain libunistring; see:
30918         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
30919         * modules/gen-uni-tables, modules/libunistring:
30920         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
30921         * modules/unicase/base, modules/unicase/cased:
30922         * modules/unicase/empty-prefix-context:
30923         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
30924         * modules/unicase/locale-language, modules/unicase/special-casing:
30925         * modules/unicase/tocasefold, modules/unicase/tolower:
30926         * modules/unicase/totitle, modules/unicase/toupper:
30927         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
30928         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
30929         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
30930         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
30931         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
30932         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
30933         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
30934         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
30935         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
30936         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
30937         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
30938         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
30939         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
30940         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
30941         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
30942         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
30943         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
30944         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
30945         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
30946         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
30947         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
30948         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
30949         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
30950         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
30951         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
30952         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
30953         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
30954         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
30955         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
30956         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
30957         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
30958         * modules/unicase/ulc-casexfrm, modules/unicodeio:
30959         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
30960         * modules/uniconv/u16-conv-to-enc:
30961         * modules/uniconv/u16-strconv-from-enc:
30962         * modules/uniconv/u16-strconv-from-locale:
30963         * modules/uniconv/u16-strconv-to-enc:
30964         * modules/uniconv/u16-strconv-to-locale:
30965         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
30966         * modules/uniconv/u32-strconv-from-enc:
30967         * modules/uniconv/u32-strconv-from-locale:
30968         * modules/uniconv/u32-strconv-to-enc:
30969         * modules/uniconv/u32-strconv-to-locale:
30970         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
30971         * modules/uniconv/u8-strconv-from-enc:
30972         * modules/uniconv/u8-strconv-from-locale:
30973         * modules/uniconv/u8-strconv-to-enc:
30974         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
30975         * modules/unictype/bidicategory-all:
30976         * modules/unictype/bidicategory-byname:
30977         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
30978         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
30979         * modules/unictype/bidiclass-byname:
30980         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
30981         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
30982         * modules/unictype/block-all, modules/unictype/block-list:
30983         * modules/unictype/block-of, modules/unictype/block-test:
30984         * modules/unictype/category-C, modules/unictype/category-Cc:
30985         * modules/unictype/category-Cf, modules/unictype/category-Cn:
30986         * modules/unictype/category-Co, modules/unictype/category-Cs:
30987         * modules/unictype/category-L, modules/unictype/category-LC:
30988         * modules/unictype/category-Ll, modules/unictype/category-Lm:
30989         * modules/unictype/category-Lo, modules/unictype/category-Lt:
30990         * modules/unictype/category-Lu, modules/unictype/category-M:
30991         * modules/unictype/category-Mc, modules/unictype/category-Me:
30992         * modules/unictype/category-Mn, modules/unictype/category-N:
30993         * modules/unictype/category-Nd, modules/unictype/category-Nl:
30994         * modules/unictype/category-No, modules/unictype/category-P:
30995         * modules/unictype/category-Pc, modules/unictype/category-Pd:
30996         * modules/unictype/category-Pe, modules/unictype/category-Pf:
30997         * modules/unictype/category-Pi, modules/unictype/category-Po:
30998         * modules/unictype/category-Ps, modules/unictype/category-S:
30999         * modules/unictype/category-Sc, modules/unictype/category-Sk:
31000         * modules/unictype/category-Sm, modules/unictype/category-So:
31001         * modules/unictype/category-Z, modules/unictype/category-Zl:
31002         * modules/unictype/category-Zp, modules/unictype/category-Zs:
31003         * modules/unictype/category-all, modules/unictype/category-and:
31004         * modules/unictype/category-and-not, modules/unictype/category-byname:
31005         * modules/unictype/category-longname, modules/unictype/category-name:
31006         * modules/unictype/category-none, modules/unictype/category-of:
31007         * modules/unictype/category-or, modules/unictype/category-test:
31008         * modules/unictype/category-test-withtable:
31009         * modules/unictype/combining-class:
31010         * modules/unictype/combining-class-all:
31011         * modules/unictype/combining-class-byname:
31012         * modules/unictype/combining-class-longname:
31013         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
31014         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
31015         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
31016         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
31017         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
31018         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
31019         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
31020         * modules/unictype/digit, modules/unictype/joininggroup-all:
31021         * modules/unictype/joininggroup-byname:
31022         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
31023         * modules/unictype/joiningtype-all:
31024         * modules/unictype/joiningtype-byname:
31025         * modules/unictype/joiningtype-longname:
31026         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
31027         * modules/unictype/mirror, modules/unictype/numeric:
31028         * modules/unictype/property-all, modules/unictype/property-alphabetic:
31029         * modules/unictype/property-ascii-hex-digit:
31030         * modules/unictype/property-bidi-arabic-digit:
31031         * modules/unictype/property-bidi-arabic-right-to-left:
31032         * modules/unictype/property-bidi-block-separator:
31033         * modules/unictype/property-bidi-boundary-neutral:
31034         * modules/unictype/property-bidi-common-separator:
31035         * modules/unictype/property-bidi-control:
31036         * modules/unictype/property-bidi-embedding-or-override:
31037         * modules/unictype/property-bidi-eur-num-separator:
31038         * modules/unictype/property-bidi-eur-num-terminator:
31039         * modules/unictype/property-bidi-european-digit:
31040         * modules/unictype/property-bidi-hebrew-right-to-left:
31041         * modules/unictype/property-bidi-left-to-right:
31042         * modules/unictype/property-bidi-non-spacing-mark:
31043         * modules/unictype/property-bidi-other-neutral:
31044         * modules/unictype/property-bidi-pdf:
31045         * modules/unictype/property-bidi-segment-separator:
31046         * modules/unictype/property-bidi-whitespace:
31047         * modules/unictype/property-byname:
31048         * modules/unictype/property-case-ignorable:
31049         * modules/unictype/property-cased:
31050         * modules/unictype/property-changes-when-casefolded:
31051         * modules/unictype/property-changes-when-casemapped:
31052         * modules/unictype/property-changes-when-lowercased:
31053         * modules/unictype/property-changes-when-titlecased:
31054         * modules/unictype/property-changes-when-uppercased:
31055         * modules/unictype/property-combining:
31056         * modules/unictype/property-composite:
31057         * modules/unictype/property-currency-symbol:
31058         * modules/unictype/property-dash:
31059         * modules/unictype/property-decimal-digit:
31060         * modules/unictype/property-default-ignorable-code-point:
31061         * modules/unictype/property-deprecated:
31062         * modules/unictype/property-diacritic:
31063         * modules/unictype/property-extender:
31064         * modules/unictype/property-format-control:
31065         * modules/unictype/property-grapheme-base:
31066         * modules/unictype/property-grapheme-extend:
31067         * modules/unictype/property-grapheme-link:
31068         * modules/unictype/property-hex-digit:
31069         * modules/unictype/property-hyphen:
31070         * modules/unictype/property-id-continue:
31071         * modules/unictype/property-id-start:
31072         * modules/unictype/property-ideographic:
31073         * modules/unictype/property-ids-binary-operator:
31074         * modules/unictype/property-ids-trinary-operator:
31075         * modules/unictype/property-ignorable-control:
31076         * modules/unictype/property-iso-control:
31077         * modules/unictype/property-join-control:
31078         * modules/unictype/property-left-of-pair:
31079         * modules/unictype/property-line-separator:
31080         * modules/unictype/property-logical-order-exception:
31081         * modules/unictype/property-lowercase, modules/unictype/property-math:
31082         * modules/unictype/property-non-break:
31083         * modules/unictype/property-not-a-character:
31084         * modules/unictype/property-numeric:
31085         * modules/unictype/property-other-alphabetic:
31086         * modules/unictype/property-other-default-ignorable-code-point:
31087         * modules/unictype/property-other-grapheme-extend:
31088         * modules/unictype/property-other-id-continue:
31089         * modules/unictype/property-other-id-start:
31090         * modules/unictype/property-other-lowercase:
31091         * modules/unictype/property-other-math:
31092         * modules/unictype/property-other-uppercase:
31093         * modules/unictype/property-paired-punctuation:
31094         * modules/unictype/property-paragraph-separator:
31095         * modules/unictype/property-pattern-syntax:
31096         * modules/unictype/property-pattern-white-space:
31097         * modules/unictype/property-private-use:
31098         * modules/unictype/property-punctuation:
31099         * modules/unictype/property-quotation-mark:
31100         * modules/unictype/property-radical:
31101         * modules/unictype/property-sentence-terminal:
31102         * modules/unictype/property-soft-dotted:
31103         * modules/unictype/property-space:
31104         * modules/unictype/property-terminal-punctuation:
31105         * modules/unictype/property-test, modules/unictype/property-titlecase:
31106         * modules/unictype/property-unassigned-code-value:
31107         * modules/unictype/property-unified-ideograph:
31108         * modules/unictype/property-uppercase:
31109         * modules/unictype/property-variation-selector:
31110         * modules/unictype/property-white-space:
31111         * modules/unictype/property-xid-continue:
31112         * modules/unictype/property-xid-start:
31113         * modules/unictype/property-zero-width, modules/unictype/scripts:
31114         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
31115         * modules/unictype/syntax-c-whitespace:
31116         * modules/unictype/syntax-java-ident:
31117         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
31118         * modules/unigbrk/u16-grapheme-breaks:
31119         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
31120         * modules/unigbrk/u32-grapheme-breaks:
31121         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
31122         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
31123         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
31124         * modules/unigbrk/uc-is-grapheme-break:
31125         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
31126         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
31127         * modules/unilbrk/u16-width-linebreaks:
31128         * modules/unilbrk/u32-possible-linebreaks:
31129         * modules/unilbrk/u32-width-linebreaks:
31130         * modules/unilbrk/u8-possible-linebreaks:
31131         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
31132         * modules/unilbrk/ulc-possible-linebreaks:
31133         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
31134         * modules/uniname/uniname, modules/uninorm/base:
31135         * modules/uninorm/canonical-decomposition:
31136         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
31137         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
31138         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
31139         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
31140         * modules/uninorm/nfkc, modules/uninorm/nfkd:
31141         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
31142         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
31143         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
31144         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
31145         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
31146         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
31147         * modules/unistdio/base, modules/unistdio/u-printf-args:
31148         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
31149         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
31150         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
31151         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
31152         * modules/unistdio/u16-u16-sprintf:
31153         * modules/unistdio/u16-u16-vasnprintf:
31154         * modules/unistdio/u16-u16-vasprintf:
31155         * modules/unistdio/u16-u16-vsnprintf:
31156         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
31157         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
31158         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
31159         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
31160         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
31161         * modules/unistdio/u32-u32-asnprintf:
31162         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
31163         * modules/unistdio/u32-u32-sprintf:
31164         * modules/unistdio/u32-u32-vasnprintf:
31165         * modules/unistdio/u32-u32-vasprintf:
31166         * modules/unistdio/u32-u32-vsnprintf:
31167         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
31168         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
31169         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
31170         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
31171         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
31172         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
31173         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
31174         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
31175         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
31176         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
31177         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
31178         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
31179         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
31180         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
31181         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
31182         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
31183         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
31184         * modules/unistr/u16-check, modules/unistr/u16-chr:
31185         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
31186         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
31187         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
31188         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
31189         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
31190         * modules/unistr/u16-move, modules/unistr/u16-next:
31191         * modules/unistr/u16-prev, modules/unistr/u16-set:
31192         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
31193         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
31194         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
31195         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
31196         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
31197         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
31198         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
31199         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
31200         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
31201         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
31202         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
31203         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
31204         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
31205         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
31206         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
31207         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
31208         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
31209         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
31210         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
31211         * modules/unistr/u32-next, modules/unistr/u32-prev:
31212         * modules/unistr/u32-set, modules/unistr/u32-startswith:
31213         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
31214         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
31215         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
31216         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
31217         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
31218         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
31219         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
31220         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
31221         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
31222         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
31223         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
31224         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
31225         * modules/unistr/u8-check, modules/unistr/u8-chr:
31226         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
31227         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
31228         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
31229         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
31230         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
31231         * modules/unistr/u8-next, modules/unistr/u8-prev:
31232         * modules/unistr/u8-set, modules/unistr/u8-startswith:
31233         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
31234         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
31235         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
31236         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
31237         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
31238         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
31239         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
31240         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
31241         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
31242         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
31243         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
31244         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
31245         * modules/uniwbrk/base, modules/uniwbrk/table:
31246         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
31247         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
31248         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
31249         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
31250         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
31251         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
31252         * modules/uniwidth/width, modules/utf16-ucs4:
31253         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
31254         * modules/utf8-ucs4-unsafe:
31255         Change maintainer from Bruno Haible to Daiki Ueno.
31256         This is my guess at the libunistring modules; please feel free
31257         to fix if I guessed incorrectly.
31258         * modules/accept4, modules/acl, modules/acos, modules/acosf:
31259         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
31260         * modules/areadlink, modules/array-list, modules/array-mergesort:
31261         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
31262         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
31263         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
31264         * modules/binary-io, modules/bison-i18n, modules/btowc:
31265         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
31266         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
31267         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
31268         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
31269         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
31270         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
31271         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
31272         * modules/closedir, modules/concat-filename, modules/copy-file:
31273         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
31274         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
31275         * modules/csharpcomp-script, modules/csharpexec:
31276         * modules/csharpexec-script, modules/ctype, modules/diffseq:
31277         * modules/dprintf, modules/dprintf-posix, modules/dup:
31278         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
31279         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
31280         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
31281         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
31282         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
31283         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
31284         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
31285         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
31286         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
31287         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
31288         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
31289         * modules/findprog, modules/findprog-lgpl, modules/floor:
31290         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
31291         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
31292         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
31293         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
31294         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
31295         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
31296         * modules/freadable, modules/freadahead, modules/freadptr:
31297         * modules/freadseek, modules/freopen, modules/frexp:
31298         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
31299         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
31300         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
31301         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
31302         * modules/ftello, modules/full-read, modules/full-write:
31303         * modules/fwritable, modules/fwriteerror, modules/gcd:
31304         * modules/get-rusage-as, modules/get-rusage-data:
31305         * modules/getdtablesize, modules/getrusage, modules/gettext:
31306         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
31307         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
31308         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
31309         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
31310         * modules/iconv, modules/iconv-h, modules/iconv_open:
31311         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
31312         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
31313         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
31314         * modules/integer_length_ll, modules/ioctl, modules/isatty:
31315         * modules/isblank, modules/isnand, modules/isnand-nolibm:
31316         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
31317         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
31318         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
31319         * modules/javaexec, modules/javaexec-script, modules/javaversion:
31320         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
31321         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
31322         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
31323         * modules/lib-symbol-visibility, modules/libsigsegv:
31324         * modules/linked-list, modules/linkedhash-list, modules/list:
31325         * modules/localcharset, modules/locale, modules/localeconv:
31326         * modules/localename, modules/lock, modules/log, modules/log-ieee:
31327         * modules/log10, modules/log10-ieee, modules/log10f:
31328         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
31329         * modules/log1p, modules/log1p-ieee, modules/log1pf:
31330         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
31331         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
31332         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
31333         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
31334         * modules/logf, modules/logf-ieee, modules/login_tty:
31335         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
31336         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
31337         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
31338         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
31339         * modules/mbscspn, modules/mbsinit, modules/mbslen:
31340         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
31341         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
31342         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
31343         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
31344         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
31345         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
31346         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
31347         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
31348         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
31349         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
31350         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
31351         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
31352         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
31353         * modules/posix_spawn, modules/posix_spawn-internal:
31354         * modules/posix_spawn_file_actions_addclose:
31355         * modules/posix_spawn_file_actions_adddup2:
31356         * modules/posix_spawn_file_actions_addopen:
31357         * modules/posix_spawn_file_actions_destroy:
31358         * modules/posix_spawn_file_actions_init:
31359         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
31360         * modules/posix_spawnattr_getpgroup:
31361         * modules/posix_spawnattr_getschedparam:
31362         * modules/posix_spawnattr_getschedpolicy:
31363         * modules/posix_spawnattr_getsigdefault:
31364         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
31365         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
31366         * modules/posix_spawnattr_setschedparam:
31367         * modules/posix_spawnattr_setschedpolicy:
31368         * modules/posix_spawnattr_setsigdefault:
31369         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
31370         * modules/pow, modules/powf, modules/printf-frexp:
31371         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
31372         * modules/progname, modules/propername, modules/pselect:
31373         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
31374         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
31375         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
31376         * modules/read, modules/readdir, modules/readlink:
31377         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
31378         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
31379         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
31380         * modules/relocatable-script, modules/remainder:
31381         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
31382         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
31383         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
31384         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
31385         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
31386         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
31387         * modules/setlocale, modules/sh-quote, modules/shutdown:
31388         * modules/signal, modules/signbit, modules/sigpipe:
31389         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
31390         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
31391         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
31392         * modules/snippet/link-warning, modules/snippet/unused-parameter:
31393         * modules/snprintf, modules/snprintf-posix, modules/spawn:
31394         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
31395         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
31396         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
31397         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
31398         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
31399         * modules/streq, modules/strerror_r-posix, modules/striconv:
31400         * modules/striconveh, modules/striconveha, modules/strncat:
31401         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
31402         * modules/sublist, modules/sys_resource, modules/sys_utsname:
31403         * modules/sys_wait, modules/system-posix, modules/system-quote:
31404         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
31405         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
31406         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
31407         * modules/truncf, modules/truncf-ieee, modules/truncl:
31408         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
31409         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
31410         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
31411         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
31412         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
31413         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
31414         * modules/wait-process, modules/waitpid, modules/wcpcpy:
31415         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
31416         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
31417         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
31418         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
31419         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
31420         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
31421         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
31422         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
31423         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
31424         * modules/write, modules/xconcat-filename, modules/xlist:
31425         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
31426         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
31427         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
31428         * modules/y0, modules/y1, modules/yn:
31429         Remove Bruno Haible as maintainer; if he's the sole maintainer,
31430         change the maintainer to 'all'.  Let's hope someone volunteers.
31432 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
31434         mktime: merge #if/#ifdef usage from glibc
31435         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
31436         as that works with both Glibc's and Gnulib's style.
31437         See thread starting at Siddhesh Poyarekar's bug report at:
31438         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
31440 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
31442         git-version-gen: improve option descriptions
31443         * build-aux/git-version-gen: Mention that --prefix and --fallback
31444         have a mandatory argument.
31446 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
31448         regex: fix memory leak in compiler
31449         Fix by Andreas Schwab in:
31450         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
31451         * lib/regcomp.c (parse_expression): Deallocate partially
31452         constructed tree before returning error.
31454         regex: merge patch from libc
31455         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
31456         Combine __USE_BSD and __USE_SVID into __USE_MISC.
31457         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
31459 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
31461         acl: port to gcc -Wredundant-decls
31462         From a request by Dmitry Antipov in:
31463         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
31464         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
31465         "#ifndef _GL_ACL_H".
31467 2014-06-11  Bruce Korb  <bkorb@gnu.org>
31468         Jim Meyering  <meyering@fb.com>
31470         parse-duration: eliminate 68-year duration limit
31471         * lib/parse-duration.c: Include "intprops.h".
31472         (TIME_MAX): Rename to MAX_DURATION and define to
31473         TYPE_MAXIMUM(time_t).
31474         * modules/parse-duration (Depends-on): Add intprops.
31475         Reported by Jonas 'Sortie' Termansen.
31477 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31479         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
31480         * modules/pthread (Depends-on): Add 'extensions', as it defines
31481         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
31482         (configure.ac-early): New section.
31483         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
31484         it is no longer needed.
31486 2014-06-14  Pádraig Brady  <P@draigBrady.com>
31488         pthread: define thread-safe macros on some platforms
31489         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
31490         for thread-safe operation on some platforms.
31492 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
31494         regex: don't be multithreaded if USE_UNLOCKED_IO.
31495         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
31496         * lib/regex_internal.h: Do not use multithreaded version if
31497         USE_UNLOCKED_IO is defined.  This is a hack, but it works
31498         around a porting bug with coreutils 8.22 on AIX 7.1.
31500 2014-06-11  Daiki Ueno  <ueno@gnu.org>
31502         gettext: update macros to version 0.19
31503         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
31504         depend on gl_EXTERN_INLINE and drop support for older Bison
31505         versions.
31507 2014-06-10  Pádraig Brady  <P@draigBrady.com>
31509         select,poll: fix console handle check on windows 8
31510         lib/poll.c (IsConsoleHandle): Change from testing the lower
31511         2 bits of the handle to the more expensive but accurate syscall.
31512         lib/select.c: Likewise.
31514 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
31516         select: fix waiting on anonymous pipes on MS-Windows
31517         * lib/select.c (rpl_select): Fall back to polling when select()
31518         indicates there is nothing to check, while due to the timeout not
31519         expiring, activity is indicated on one of the handles.
31520         Also clear the TIMEOUT argument if the timer does expire.
31522 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
31524         times: fix to return non constant value on MS-Windows
31525         * lib/times.c (times): Don't use the process creation time,
31526         rather clock() which on windows returns the number of
31527         clock ticks since the process started.
31529 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
31531         isatty: fix to work on windows 8
31532         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
31533         2 bits of the handle to the more expensive but accurate syscall.
31535 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
31537         maint: fix typo in fdl.texi
31538         * doc/fdl.texi: Fix typo (missing '@').
31539         Somehow this was in fdl.texi but not fdl-1.3.texi.
31541 2014-06-06  Ben Walton  <bdwalton@gmail.com>
31543         mountlist: avoid hasmntopt const type warning on solaris
31544         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
31545         with char * instead of const char *.  Passing the constant string
31546         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
31547         to avoid the warning.
31549 2014-06-04  Eric Blake  <eblake@redhat.com>
31551         maintainer-makefile: delete obsolete code
31552         * top/maint.mk (build_aux): Drop old code, as threatened.
31554         maintainer-makefile: avoid spurious error messages
31555         * top/maint.mk (syntax-check): Guard definition and use of
31556         $(shell) by whether Makefile is present.
31558 2014-06-03  Ben Walton  <bdwalton@gmail.com>
31560         rename: avoid unused-but-set-variable compiler warning
31561         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
31562         it is possible that dst_exists may be set but not used.  Mark it with
31563         the unused attribute to avoid compiler warnings.
31565 2014-06-02  Ben Walton  <bdwalton@gmail.com>
31567         rename: mark a label as potentially unused
31568         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
31569         by marking the out label as potentially unused.
31570         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
31572 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
31574         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
31575         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
31577 2014-06-02  Ben Walton  <bdwalton@gmail.com>
31579         acl: apply pure attribute to two functions
31580         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
31581         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
31583 2014-06-01  Pádraig Brady  <P@draigBrady.com>
31585         gnulib-common.m4: add _GL_UNUSED_LABEL
31586         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
31587         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
31589 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
31591         dup2, fcntl, fcntl-h: port to AIX 7.1
31592         This fixes some porting problems discovered when testing the latest
31593         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
31594         in grep but it could be important for other applications.
31595         * doc/posix-functions/dup2.texi:
31596         * doc/posix-functions/fcntl.texi:
31597         * doc/posix-headers/fcntl.texi:
31598         Document AIX bugs.
31599         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
31600         Define to 0 if outside 'int' range.
31601         * m4/dup2.m4 (gl_FUNC_DUP2):
31602         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31603         Check for getdtablesize.  If it's available, test a value just
31604         outside its range instead of testing 1000000.  When cross-compiling,
31605         guess that AIX will fail this improved test.
31607 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
31609         printf, config.rpath: Port to FreeBSD 10.
31610         Problem reported by Tijl Coosemans in:
31611         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
31612         * build-aux/config.rpath (hardcode_libdir_flag_spec)
31613         (hardcode_direct): Simplify FreeBSD configuration.
31614         (library_names_spec): Don't mishandle FreeBSD 10+.
31615         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
31616         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
31617         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
31618         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
31619         Don't mishandle FreeBSD 10+ when cross-compiling.
31621         ftoastr: work around compiler bug in IBM xlc 12.1
31622         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
31623         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
31624         around a compiler bug in IBM xlc 12.1.0.0: it complains
31625         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
31626         _GL_FLT_PREC_BOUND.'
31628 2014-05-30  Kieran Colford  <colfordk@gmail.com>
31630         valgrind-tests: fixed misleading help message
31631         * m4/valgrind-tests.m4: The help message generated by configure
31632         implied that valgrind was disabled by default, which it wasn't.
31633         Adjusted the help message using s/enable/disable/ to clarify.
31635 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
31637         isfinite, isinf, isnan tests: fix for little-endian PowerPC
31638         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
31639         first double of a PowerPC "double double" pair.
31640         * tests/test-isinf.c (test_isinfl): Likewise.
31641         * tests/test-isnan.c (test_long_double): Likewise.
31642         * tests/test-isnanl.h (main): Likewise.
31643         * tests/test-signbit.c (test_signbitl): Likewise.
31645 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
31647         exclude-tests: port to AIX 7.1
31648         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
31649         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
31650         the regex code uses locks.
31652 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
31654         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
31655         Without this fix, Emacs would sometimes call sigprocmask instead
31656         of pthread_sigmask, which is a no-no in multithreaded applications.
31657         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
31658         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
31659         Suppress check for pthread_sigmask working without -lpthread if
31660         the application always links with -lpthread.  Do not link with
31661         $LIBMULTITHREAD if gl_THREADLIB is not defined.
31662         * m4/timer_time.m4 (gl_TIMER_TIME):
31663         Require gl_THREADLIB only if it is defined.  Do not append
31664         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
31666 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
31668         gnulib-tool: wget translations using --no-verbose rather than --quiet
31669         This allows the user to see error messages if any (--quiet hides them)
31670         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
31672 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
31674         gnulib-tool: adjust translation wget to avoid a https redirection
31675         Context: http://translationproject.org/latest/gnulib redirects to
31676            https://translationproject.org/latest/gnulib/
31677         Rationale: if the user falls back to wget, she doesn't have rsync and
31678         is probably in a minimal build environment, where packages such as
31679         'ca-certificates' are missing as well, resulting in a failed (and
31680         difficult to detect since ignored) translation initial fetch.
31681         Consequently let's avoid https if possible, and add the missing
31682         trailing slash.  This also avoids an unnecessary 302 redirection.
31683         * gnulib-tool: Add trailing slash to gnulib URL.
31685 2014-05-22  Pádraig Brady  <P@draigBrady.com>
31687         getlogin_r-tests: check return value rather than errno
31688         * tests/test-getlogin_r.c (main): As per POSIX we should be
31689         verifying the return value from getlogin_r() rather than errno.
31691 2014-05-22  Pádraig Brady  <P@draigBrady.com>
31693         getlogin_r-tests: fix various issues in recent change
31694         * tests/test-getlogin_r.c: Include required headers that were
31695         missed in recent commit eec20b4e.
31696         Also consistently check the errno rather than the return value from
31697         getlogin_r as POSIX only specifies that non zero is returned on error.
31698         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
31700 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
31702         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
31703         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
31704         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
31705         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
31706         * lib/spawn-pipe.c:
31707         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
31708         and then 'int open64(const char *, int, ...);', which means the
31709         declaration for 'open' gets lost if we later '#undef open'.
31710         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
31711         where the compilation reported the non-fatal error "In function
31712         'openat_proc_name' ... warning: implicit declaration of function
31713         'open'".  In this case the error is relatively harmless, but in
31714         other cases it might not be so minor.
31716 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
31718         xalloc: don't potentially generate invalid code for xmemdup calls
31719         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
31720         this function can initialize the newly-allocated storage with new
31721         pointers, which means this function is not malloc-like.  See:
31722         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
31724 2014-05-19  Pádraig Brady  <P@draigBrady.com>
31726         getlogin_r-tests: avoid false failure under sudo/ssh etc.
31727         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
31728         changes from commit 97249cf29 to not depend on environment variables.
31730 2014-05-18  Pádraig Brady  <P@draigBrady.com>
31732         getlogin-tests: avoid false failure under cron
31733         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
31734         since that's not what's under test.  Centos 6 was seen to return
31735         EINVAL for ttyname() when run from cron.
31737 2014-05-16  Jim Meyering  <meyering@fb.com>
31739         mbrtowc.m4: fix a comment typo
31740         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
31741         emitted documentation string.
31743 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
31745         mbrlen, mbrtowc: fix bug with empty input
31746         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
31747         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
31748         so this is mainly for documentation.
31749         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
31750         (gl_FUNC_MBRTOWC): Use it.
31751         * tests/test-mbrtowc.c (main): Test for the bug.
31753 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
31755         doc: document mbrtowc and mbrlen problem with empty input
31756         * doc/posix-functions/mbrlen.texi (mbrlen):
31757         * doc/posix-functions/mbrtowc.texi (mbrtowc):
31758         Document portability problem when the input string is empty.  See:
31759         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
31761         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
31762         Problem reported by Eli Zaretskii in:
31763         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
31764         * doc/posix-functions/execl.texi (execl):
31765         * doc/posix-functions/execle.texi (execle):
31766         * doc/posix-functions/execlp.texi (execlp):
31767         * doc/posix-functions/execv.texi (execv):
31768         * doc/posix-functions/execve.texi (execve):
31769         * doc/posix-functions/execvp.texi (execvp):
31770         Mention spawn+exit problem on non-Cygwin Windows platforms.
31772 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
31774         getlogin-tests: avoid false failure under sudo/ssh etc.
31775         * modules/getlogin-tests (configure.ac): Check for ttyname().
31776         * tests/test-getlogin.c (main): Don't depend on environment variables
31777         to correlate with getlogin(), since sudo and ssh etc. can tamper
31778         with the LOGNAME and USER env vars.  Instead lookup the name from
31779         the uid associated with the stdin tty.
31781 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
31783         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
31784         These were found when building the latest grep snapshot on IRIX 6.5.
31785         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
31786         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
31787         never used later.
31788         * lib/quotearg.c (quoting_options_from_style):
31789         * lib/xstrtol.c (__xstrtol):
31790         Use enum instead of 0, to pacify IRIX 6.5 cc.
31792 2014-04-18  Pádraig Brady  <P@draigBrady.com>
31794         gitlog-to-changelog: revert inclusion of git-log-fix file
31795         * build-aux/git-log-fix: Delete dummy file.
31796         * modules/gitlog-to-changelog: Don't reference (overwrite)
31797         the project specific git-log-fix file.
31799 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
31801         maint.mk: Relax the copyright check to cater for non FSF projects
31802         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
31803         to not require the "Free" suffix after the copyright years.
31805 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
31807         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
31808         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
31809         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
31810         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
31811         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
31813 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
31815         exclude: port to strict C99
31816         Strict C does not allow converting a function pointer to void *
31817         and vice versa.  Pass a pointer to a function pointer instead.
31818         * lib/exclude.c (add_exclude_file):
31819         Pass the address of the function pointer.
31820         (call_addfn): And deference the address here, to match.
31822 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
31824         regex: do not depend on malloc-gnu
31825         * modules/regex (Depends-on): Remove malloc-gnu.
31826         It's no longer needed, because of the 2012-12-29 patch
31827         "regex: port to hosts where malloc (0) == NULL".
31828         Reported by Nathan Kennedy in:
31829         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
31831 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
31833         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
31834         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
31835         * doc/posix-functions/expl.texi: Mention the workaround.
31837 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
31839         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
31840         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
31841         size to be zero even when the pointer is nonnull.  This
31842         accommodates the use case where P is malloc (0) and *PN is 0 on a
31843         host where malloc (0) yields nonnull.
31845 2014-04-09  Eric Blake  <eblake@redhat.com>
31847         fts: avoid unnecessary strlen calls
31848         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
31850 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31852         fts: avoid unnecessary strlen calls
31853         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
31854         when that can be faster than strlen.
31856 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
31858         fts: avoid unnecessary strlen calls
31859         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
31860         (fts_build): Store the length of the dp->d_name entry in a local variable
31861         instead of calling strlen() several times via the above, removed macro.
31862         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
31863         run by ~4%, yet this reduces the execution time by about a third if run
31864         via "ltrace -c rm -rf some-dir".
31866 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
31868         obstack: Remove ancient NeXTSTEP gcc support conditional
31869         This change will ease merging with glibc.  The "#if ... __NEXT__"
31870         causes a warning with -Wundef which glibc now enables by default.
31871         Problem reported by Will Newton in
31872         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
31873         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
31874         so go with that.
31875         * lib/obstack.h (__extension__):
31877 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
31879         obstack: merge with glibc changes
31880         * lib/obstack.c, lib/obstack.h: Merge from glibc.
31881         This is mostly indenting and commentary changes.
31882         Instances of 'register' have been removed.
31884 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
31886         strftime: wrap macros in "do {...} while(0)"
31887         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
31888         this macro in "do {...} while(0)" to prevent false use as a
31889         single statement, e.g., in an un-braced "{}" else-block.
31890         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
31891         (strftime_case_): Remove 'else' after 'goto' - which was the
31892         only non-fatal, un-braced use of one of the above macros.
31893         Spotted by coverity (NESTING_INDENT_MISMATCH).
31895 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
31897         modechange: avoid memory leaks for invalid octal modes
31898         * lib/modechange.c (mode_compile): During the parsing of
31899         notations like +40, free the 'mc' buffer for invalid mode
31900         strings like +17777 (greater than the maximum octal mode),
31901         =18 (bad octal mode characters) or u=1 ('affected' with
31902         octal modes).
31903         Reproducer, e.g.:
31904             $ valgrind --leak-check=full chmod +17777 file
31905         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
31906         add notations +40, 00440, etc.".
31907         Spotted by coverity (RESOURCE_LEAK).
31909 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
31911         gitlog-to-changelog: include a dummy git-log-fix file
31912         Problem reported by Nathan Stratton Treadway in:
31913         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
31914         * build-aux/git-log-fix: New file.
31916 2014-03-13  Jim Meyering  <meyering@fb.com>
31918         gitlog-to-changelog: also include the file, git-log-fix
31919         * modules/gitlog-to-changelog (Files): Add git-log-fix.
31920         Reported by Assaf Gordon.
31922 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
31924         regex: port to OS X 10.8.5 en_US.UTF-8 locale
31925         This fixes a bug when ignoring case and when comparing the
31926         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
31927         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
31928         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
31929         titlecase letter is neither lowercase nor uppercase, but
31930         uppercasing the titlecase letter (via towupper) yields the
31931         uppercase letter, so the two letters should match when ignoring case.
31932         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
31933         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
31934         Don't test whether a character is lowercase before uppercasing it.
31936 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
31938         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
31939         This is basically one of the options Bruno Haible proposed in:
31940         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
31941         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
31942         * lib/stdint.in.h: Use it.
31943         * modules/stdint (Depends-on): Add sys_types.
31945 2014-02-26  Pádraig Brady  <P@draigBrady.com>
31947         parse-datetime: fix crash or infloop in TZ="" parsing
31948         * lib/parse-datetime.y (parse_datetime): Break out of the
31949         TZ="" parsing loop once the second significant " is found.
31950         Also skip over any subsequent whitespace to be consistent
31951         with the non TZ= case.
31952         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
31954 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
31956         savedir: new symbol for fast-read version
31957         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
31958         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
31959         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
31960         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
31962 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
31964         unistd: port readlink to Mac OS X 10.3.9
31965         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
31966         around self-include problem in Mac OS X 10.3.9 when combined with
31967         readlink module.  Problem reported by Klaus Zietler in
31968         <http://bugs.gnu.org/16825>.
31970 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31972         diffseq: remove TOO_EXPENSIVE heuristic
31973         Problem with diffutils reported by Vincent Lefevre in
31974         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
31975         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
31976         Although appropriate for circa-1993 hardware, these days the heuristic
31977         seems to be more trouble than it's worth.
31978         * lib/diffseq.h: Modernize citations.
31979         (struct context): Remove member too_expensive.
31980         All uses changed.
31981         (struct partition): Remove members lo_minimal, hi_minimal.
31982         All uses changed.
31983         (diag, compareseq): Remove arg find_minimal.  All uses changed.
31984         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
31985         1993 to make 'diff' run faster (but not as well) on large inputs.
31986         These days, computers are fast enough that it's typically better
31987         to run slower but more accurately.
31988         * lib/fstrcmp.c: Remove duplicate comment.
31989         * lib/fstrcmp.c (strcmp_bounded):
31990         * lib/git-merge-changelog.c (compute_differences):
31991         Adjust to diffseq.h changes.
31992         * NEWS: Document the change.
31994         savedir: simplify by using stpcpy
31995         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
31996         (streamsavedir): Use stpcpy instead.
31997         * modules/savedir (Depends-on): Add stpcpy.
31999 2014-02-21  Pádraig Brady  <P@draigBrady.com>
32001         spawn: fix link error on uclibc
32002         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
32003         to incorporate -lrt if needed (on uclibc for example).
32004         * modules/posix_spawn: Reference the substituted LIB.
32006 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
32007         timer: fix uClibc detection of threading
32008         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
32009         enabled in uClibc.
32011 2014-02-21  Eric Blake  <eblake@redhat.com>
32013         maintainer-makefiles: provide AC_PROG_SED for older autoconf
32014         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
32016 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
32018         exclude: add support for posix regexps
32020         This commit adds support for POSIX extended regular expressions
32021         and fixes a long-standing memory leak (pattern buffer was never
32022         freed).  It also implements a new interface function to read
32023         exclude patterns from a FILE, which passes an additional parameter
32024         to its callback function, thereby allowing to preserve its state
32025         between invocations.
32027         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
32028         (pattern_buffer): New struct.
32029         (exclude): New member patbuf.
32030         (exclude_add_pattern_buffer): New function.
32031         (free_exclude_segment): Free regexps.
32032         (free_exclude): Free allocated pattern buffers.
32033         (exclude_patopts): New function.
32034         (file_pattern_matches): Use exclude_patopts.
32035         (add_exclude): support regexps.
32036         (add_exclude_fp): New function.
32037         (add_exclude_file): Rewrite using add_exclude_fp.
32038         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
32039         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
32040         (add_exclude_fp)
32041         (add_exclude_file): Rewrite using add_exclude_fp.
32042         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
32043         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
32044         (add_exclude_fp)
32045         (exclude_add_pattern_buffer): New prototypes.
32046         * modules/exclude: Depends on regex and filename.
32048 2014-02-20  Eric Blake  <eblake@redhat.com>
32050         maintainer-makefiles: use $(SED) for syntax check
32051         * modules/maintainer-makefile (configure.ac): Check for sane sed.
32052         * top/maint.mk: Change sed to $(SED).
32054 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
32055             Paul Eggert  <eggert@cs.ucla.edu>
32057         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
32058         Patch based on an idea by Dick Streefland in
32059         <https://savannah.gnu.org/patch/?7892>.
32060         * NEWS: Document this.
32061         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
32062         (direntry_t, comparison_function): New types.
32063         (direntry_cmp_name): New function.
32064         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
32065         (streamsavedir, savedir): New arg OPTION.
32066         (streamsavedir): Simplify memory allocation.
32067         (fdsavedir): Remove.
32068         * lib/savedir.h (enum savedir_option): New type.
32069         (streamsavedir, savedir): New arg OPTION.
32070         (fdsavedir): Remove.
32072 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
32074         file-type: add support for doors and other less-common file types
32075         Problem with S_ISDOOR reported by Rich Burridge.
32076         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
32077         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
32078         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
32080 2014-01-23  Eric Blake  <eblake@redhat.com>
32082         pthread: work around winpthread header pollution on mingw
32083         * lib/time.in.h: Move pthread workarounds...
32084         * lib/pthread.in.h: ...here.
32085         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
32086         detect macro pollution on mingw.
32087         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
32089 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
32091         qacl: check for fchmod
32092         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
32093         and qset-acl.c both use HAVE_FCHMOD.
32095 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
32097         fdopen-tests: port to Tru64
32098         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
32099         descriptor that is not open, as POSIX doesn't specify the
32100         resulting behavior and the test does not work on Tru64.
32101         Problem reported by Steven M. Schweda in:
32102         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
32104         stdalign: port to HP-UX compilers
32105         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
32106         if __HP_cc or __HP_aCC are nonzero.
32108 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
32110         strtoimax: port to platforms lacking 'long long'
32111         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
32112         check whether strtoll is declared, which causes the C file to
32113         wrongly report an error.  Problem reported by Steven M. Schweda in:
32114         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
32115         * lib/strtoimax.c (strtoull):
32116         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
32117         (strtoll): Declare only if HAVE_LONG_LONG_INT.
32119 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
32121         relocatable-perl: fix texi syntax
32122         * doc/relocatable-maint.texi: Escape braces.
32124 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
32126         relocatable-perl: like relocatable-script, but for Perl scripts
32127         * build-aux/relocatable.pl.in: Add.
32128         * doc/relocatable-maint.texi: Add documentation.
32129         * modules/relocatable-perl: Add.
32131 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
32133         tests: fix export bug in previous patch
32134         Problem reported by Jim Meyering.
32135         * tests/init.sh (re_shell): New var, which is exported instead of
32136         re_shell_.
32138         tests: simplify porting to Solaris 10 /bin/sh
32139         Some test cases in 'grep' need a shell that groks '$(';
32140         export re_shell_ for their benefit.  Problem reported for 'grep'
32141         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
32142         * tests/init.sh (re_shell_): Export if it's used.
32144 2014-01-06  Eric Blake  <eblake@redhat.com>
32146         md5, sha1, sha256, sha512: support older autoconf
32147         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
32148         for autoconf < 2.63b.
32150         include_next: port to autoconf 2.63
32151         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
32153 2014-01-04  Jim Meyering  <meyering@fb.com>
32155         maint: add a gnulib-local rule to keep non-ascii out of .texi files
32156         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
32157         so that "make sc_maint" will ding anyone who puts non-ascii
32158         in any of gnulib's .texi files.
32160 2014-01-03  Jim Meyering  <meyering@fb.com>
32162         freadable, fwritable, fwriting: declare with the "pure" attribute
32163         * lib/freadable.h (freadable): Declare with the "pure" attribute.
32164         * lib/fwritable.h (fwritable): Likewise.
32165         * lib/fwriting.h (fwriting): Likewise.
32166         Suggested by Bruno Haible.
32168         maint.mk: adapt openat.h-include-without-use test
32169         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
32170         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
32171         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
32172         With this change, running "make sc_maint" in gnulib's top-level
32173         directory now passes for me.
32175 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
32177         doc: use ASCII in .texi files where UTF-8 isn't needed
32178         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
32179         * doc/posix-functions/setkey.texi, doc/regex.texi:
32180         Use ASCII input, not UTF-8.
32182 2014-01-02  Jim Meyering  <meyering@fb.com>
32184         freading: declare with the "pure" attribute
32185         * lib/freading.h (freading): Declare with the "pure" attribute.
32187         manywarnings: remove -Wmudflap
32188         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
32189         it is no longer supported in gcc-4.9-to-be.
32191 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32193         relocatable-script: remove unused code
32194         Problem reported by Reuben Thomas in:
32195         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
32196         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
32198 2014-01-01  Jim Meyering  <meyering@fb.com>
32200         maint: fix public-submodule-commit to work with newer git
32201         * top/maint.mk (public-submodule-commit): Remove excess quoting.
32202         We were over-quoting the test arguments, and somewhere prior to
32203         version 1.8.5.2.229, git stopped removing those excess quotes,
32204         which made the test fail, since the unexpanded strings would
32205         always differ; using GIT_TRACE=1 confirmed that the git merge-base
32206         command wasn't even being run.
32208 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32210         doc: update main copyright year
32211         * doc/gnulib.texi: Update copyright date.
32213 2014-01-01  Eric Blake  <eblake@redhat.com>
32215         version-etc: new year
32216         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
32217         * all files: run 'make update-copyright'
32219 2013-12-24  Eric Blake  <eblake@redhat.com>
32221         passfd: give nicer error for recvfd at eof
32222         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
32223         * tests/test-passfd.c (main): Enhance test to cover this.
32225 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
32227         gettimeofday: port recent C++ fix to Emacs
32228         Without this further patch, Emacs won't build due to
32229         the portcheck failing.  Also, this simplifies the patch a bit.
32230         * lib/time.in.h (localtime, gmtime): Don't replace unless
32231         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
32232         * lib/time.in.h (localtime, gmtime):
32233         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
32234         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
32235         * modules/time (time.h):
32236         Don't worry about the possibility of localtime and gmtime
32237         being absent; they're present in all C libraries we know about.
32238         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
32239         Don't assume sys_time is present and has been initialized.
32240         Instead, use a hack that should work even if it hasn't been.
32241         Don't use a portcheck for gmtime or localtime; this supports
32242         the hack.
32243         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
32245 2013-12-17  John W. Eaton  <jwe@gnu.org>
32247         gettimeofday: fix C++ crosscompilation
32249         Never replace gmtime and localtime by macros when compiling with
32250         C++, this prevents <ctime> from being included.
32252         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
32253         define gmtime and localtime as preprocessor macros.  Instead
32254         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
32255         REPLACE_LOCALTIME substitutions.
32256         * lib/time.in.h: Declare gmtime and localtime when needed.
32257         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
32258         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
32259         * modules/time: Depend on gettimeofday, and substitute the above
32260         variables in time.h.
32262 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
32264         qacl: port to Windows better
32265         See Eli Zaretskii in
32266         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
32267         * lib/file-has-acl.c (acl_access_nontrivial):
32268         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
32269         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
32271 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
32273         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
32274         * lib/gl_openssl.h: Cast void pointers to a specific type.
32276 2013-12-07  Pádraig Brady  <P@draigBrady.com>
32278         open-tests: fix build failure with -Werror=old-style-declaration
32279         * tests/test-open.h: Reorder the inline to avoid the issue.
32281 2013-12-07  Pádraig Brady  <P@draigBrady.com>
32283         md5, sha1, sha256, sha512: fix link error with partial libcrypto
32284         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
32285         init time, so that if early checks find crypto routines,
32286         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
32287         avoiding link failures.
32289 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
32291         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
32292         This provides a new way to specify the default for
32293         gl_CRYPTO_CHECK, one that is reflected in the --help message.
32294         Emacs uses this, as well as the old way.
32295         This attempts to implement a suggestion by Pádraig Brady in
32296         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
32297         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
32298         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
32300         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
32301         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
32302         Add support for a new option, --with-openssl=auto, which causes
32303         the library to be used if available and silently ignored if not.
32304         Add support to allow configure.ac to specify its own
32305         default, by setting with_openssl_default before invoking gl_INIT.
32307 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
32309         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
32310         Problem reported by Daiki Ueno in:
32311         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
32312         * tests/test-open.h (__always_inline):
32313         New macro, if not already defined.
32314         (test_open): Use it.
32316 2013-12-04  Eric Blake  <eblake@redhat.com>
32318         include_next: minimize code duplication
32319         * modules/include_next (Depends-on): Add absolute-header.
32320         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
32321         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
32323 2013-12-04  Pádraig Brady  <P@draigBrady.com>
32325         getcwd: fix compile error in configure check
32326         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
32328 2013-12-04  Pádraig Brady  <P@draigBrady.com>
32330         regex: suppress core dumps from detection code
32331         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
32332         to suppress core dumps that may well occur on glibc systems.
32333         These core dumps might not be cleaned up automatically, or could
32334         trigger some system core dump handling logic.
32336 2013-12-03  Pádraig Brady  <P@draigBrady.com>
32338         md5, sha1, sha256, sha512: support mandating use of openssl
32339         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
32340         description, to list the now 3 separate options.  also don't
32341         mention the default=no, since this is implicit given the option
32342         is described as --with-openssl rather than --without-openssl.
32343         If projects change the default they're free to document that.
32344         with --with-openssl[=yes] we now error out when the specified
32345         hash algorithm is not available in libcrypto.
32347 2013-12-03  Ivailo  <xakepa10@gmail.com>
32349         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
32350         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
32351         -Wformat-nonliteral checks, as these edge cases are part of the test.
32353 2013-12-03  Eric Blake  <eblake@redhat.com>
32355         regex: avoid glibc deadlock during configure
32356         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
32357         glibc bug 15078 in turn triggers bug 16159.
32358         Reported by Michal Privoznik.
32360 2013-12-02  Pádraig Brady  <P@draigBrady.com>
32362         md5, sha1, sha256, sha512: use openssl routines if available.
32363         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
32364         routines will be used if available, requiring apps to link @LIB_CRYPTO@
32365         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
32366         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
32367         in the standard system location.
32368         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
32369         * m4/sha256.m4: Likewise with SHA256.
32370         * m4/sha512.m4: Likewise with SHA512.
32371         * m4/md5.m4: Likewise with MD5.
32372         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
32373         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
32374         * lib/sha256.h: Likewise with SHA256.
32375         * lib/sha512.h: Likewise with SHA512.
32376         * lib/md5.h: Likewise with MD5.
32377         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
32378         * lib/sha256.c: Likewise with SHA256.
32379         * lib/sha512.c: Likewise with SHA512.
32380         * lib/md5.c: Likewise with MD5.
32381         * modules/crypto/sha1 (Link:): Add the new optional lib.
32382         (Depends-on:): Add dependency on extern-inline.
32383         * modules/crypto/sha256: Likewise.
32384         * modules/crypto/sha512: Likewise.
32385         * modules/crypto/md5: Likewise.
32386         * modules/crypto/sha1-tests: Reference the lib here too.
32387         * modules/crypto/md5-tests: Likewise.
32388         * modules/crypto/gc-des-tests: Likewise.
32389         * modules/crypto/gc-hmac-md5-tests: Likewise.
32390         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32391         * modules/crypto/gc-hmac-sha256-tests: Likewise.
32392         * modules/crypto/gc-hmac-sha512-tests: Likewise.
32393         * modules/crypto/gc-md5-tests: Likewise.
32394         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32395         * modules/crypto/gc-sha1-tests: Likewise.
32396         * modules/crypto/gc-tests: Likewise.
32397         * modules/crypto/hmac-md5-tests: Likewise.
32398         * modules/crypto/hmac-sha1-tests: Likewise.
32399         * modules/crypto/hmac-sha256-tests: Likewise.
32400         * modules/crypto/hmac-sha512-tests: Likewise.
32402 2013-11-29  RV1971  <rv1971@web.de>
32404         base64: (trivial) fix compilation regression on some compilers
32405         * lib/base64.c: Don't return the void function,
32406         instead split to a separate return statement.
32408 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
32410         ignore-value: revert previous code change
32411         * lib/ignore-value.h (ignore_value): Use __extension__ and
32412         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
32413         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
32414         Change the comment to try to explain this better.
32416 2013-11-27  Pádraig Brady  <P@draigBrady.com>
32418         selinux-h: improve stub types and add more stub functions
32420         * lib/se-selinux.in.h: Change security_context_t to a typedef
32421         rather than a define, as it's a pointer type and so is better
32422         as a typedef to avoid issues declaring multiple variables
32423         with the comma operator.  Also add stub for string_to_security_class().
32424         * lib/se-context.in.h: Add stub functions for
32425         context_{type,range,role,user}_get().
32427 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
32429         ignore-value: prefer GCC version back through 2.0
32430         The code didn't match the comments, so I did a bit of software
32431         archaeology.  GCC 2.0 seems to support __extension__ and
32432         __typeof__, so fix both code and comments to use 2.0.
32433         * lib/ignore-value.h (ignore_value): Use __extension__ and
32434         __typeof__ for GCC 2.0 through 3.3, too.
32436 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
32438         pty: Activate the signature wrapper of forkpty.
32439         The intended preprocessor macro HAVE_FORKPTY is
32440         never defined, yet `lib/forkpty.c' depends on it.
32442         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
32443         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
32444         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
32446 2013-11-18  Jim Meyering  <meyering@fb.com>
32447         and Paul Eggert  <eggert@cs.ucla.edu>
32449         quotearg: don't attempt to store 1 << 31 into an "int"
32450         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
32451         gcc's new -fsanitize=undefined and running its tests triggered some
32452         new test failures due to undefined behavior, all with this diagnostic:
32453           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
32454             cannot be represented in type int
32455         Rather than shifting "1" left to form a mask, shift the bits right and
32456         simply use "1" as the mask.
32458 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
32460         error: depend on stdio
32461         Problem reported by Nikos Mavrogiannopoulos in
32462         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
32463         * modules/error (Depends-on): Add stdio.
32465 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
32467         * doc/relocatable-maint.texi (Supporting Relocation): Improve
32468         wording.
32469         Reported by Reuben Thomas <rrt@sc3d.org>.
32471 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
32473         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
32474         New function and macro, to work around _DARWIN_C_SOURCE problem.
32475         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
32477 2013-11-11  Pádraig Brady  <P@draigBrady.com>
32479         base64: provide a fast path for encoding well sized buffers
32480         Avoid conditionals in the base64 encoding loop,
32481         which was seen to give 60% better throughput.
32482         * lib/base64.c (base64_encode_fast): A new function to be called
32483         when we don't want to NUL terminate, and we have enough space
32484         in the output to encode the given input.
32485         (base64_encode): Call the _fast() version when appropriate.
32486         Also remove a redundant mask with 0x3F on the first encoded byte.
32488 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
32490         extern-inline: port better to OS X 10.9
32491         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
32492         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
32493         OS X 10.9, except for g++ where the bug is still present.
32494         See <http://trac.macports.org/ticket/41033>.
32496 2013-11-08  Eric Blake  <eblake@redhat.com>
32498         fpending: fix regression on DragonFly BSD
32499         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
32500         * lib/fpending.h (__fpending): Don't declare twice.
32501         Reported by GW in
32502         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
32504 2013-11-05  Jim Meyering  <meyering@fb.com>
32506         hash: relax license to LGPLv2+, for libguestfs
32507         * modules/hash (License): Change from GPL to LGPLv2+.
32509 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32511         intprops: port to Oracle Studio c99
32512         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
32513         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
32515 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32517         obstack: pacify HP C
32518         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
32519         warning "conversion from pointer to smaller integer" from HP
32520         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
32521         C89 or later nowadays, so cast to void instead of int.  Privately
32522         reported by H.Merijn Brand.  Also, change header to match glibc's,
32523         to make checking against glibc easier.
32525 2013-10-29  Jim Meyering  <meyering@fb.com>
32527         maint.mk: prefer gpgv2 over gpgv
32528         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
32529         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
32530         Reported by Gary Vaughan.
32532 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
32534         isnan: port to VAX
32535         Reported by John Klos for NetBSD-5/VAX in
32536         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
32537         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
32538         (FUNC): Use it.
32540 2013-10-28  Jim Meyering  <meyering@fb.com>
32542         gnulib-tool: protect against CDPATH
32543         * gnulib-tool: Many "cd" built-in functions print a directory name
32544         to stdout when CDPATH is set, e.g.,
32545           $ bash -c 'CDPATH=/; cd tmp'
32546           /tmp
32547         Unset it, when possible.  Prompted by a comment from Bruce Korb.
32549         maint.mk: restore functionality removed by recent change...
32550         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
32551         the context of a shallow-cloned gnulib repository: "git describe"
32552         would fail in such a directory.  However, that change made it so
32553         the reported gnulib revision no longer includes the version number
32554         or a commit count, even when run from a full clone.
32555         * top/maint.mk (gnulib-version): Use the full "git describe"
32556         output when possible, e.g., the form above, rather than the
32557         abbreviated, no-tag, no-commit-count string, and fall back to
32558         using a 10-byte hash, rather than the default minimal-length
32559         hash prefix, since while the minimal-length one may be fine today,
32560         it is likely not to be unique for very long.
32562 2013-10-26  Jim Meyering  <meyering@fb.com>
32564         maint.mk: fix "release" target to build _version
32565         This fixes a bug in README-release whereby following the outlined
32566         steps, one would publish a tarball whose programs would report
32567         --version output not consistent with the package version number.
32568         This bug caused grep-2.15 to produce a grep program whose
32569         --version option made it print 2.14.56-1e3d rather than 2.15.
32570         * top/maint.mk (release): Making this target build "_version"
32571         ensures that the new version number is reflected in configure.
32573 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
32575         install-reloc: Support multi-binary installation.
32576         * build-aux/install-reloc: Support installing multiple programs in
32577         one invocation, as done by Automake starting with commit
32578         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
32579         Haible <bruno@clisp.org>, archived at
32580         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
32581         Reported by Sylvain <beuc@gnu.org>.
32583 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
32585         selinux-h: Really build without selinux when library is missing.
32586         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
32587         continue without selinux, as already told in the warning message.
32589 2013-10-21  Jim Meyering  <meyering@fb.com>
32591         regex: also remove dependency on HAVE_WCSCOLL
32592         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
32594 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
32596         xfreopen: Fix typo. s/frepoen/freopen/
32597         * lib/xfreopen.c: Fix description.
32598         * modules/xfreopen: Likewise.
32600 2013-10-21  Jim Meyering  <meyering@fb.com>
32602         regex: don't depend on wcscoll
32603         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
32604         It is no longer used.
32606 2013-10-20  Jim Meyering  <meyering@fb.com>
32608         error: add the printf attribute to a static function
32609         * lib/error.c (error_tail): Add the printf attribute, to placate
32610         gcc's -Werror=suggest-attribute=format option.
32612 2013-09-30  Jim Meyering  <meyering@fb.com>
32614         fpending, obstack, strerror-override: use pure+const function attrs
32615         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
32616         * lib/obstack.c (_obstack_allocated_p): Likewise.
32617         * lib/obstack.h (_obstack_memory_used): Likewise.
32618         (_obstack_memory_used): Likewise.
32619         * lib/strerror-override.h (strerror_override): Declare with
32620         the "const" attribute.
32622 2013-10-18  Eric Blake  <eblake@redhat.com>
32624         extern-inline: make safe for -Wundef usage
32625         Reported by Vladimir 'phcoder' Serbinenko in
32626         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
32627         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
32629 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
32631         mkfifo-tests, etc.: allow HP-UX 11.11 bug
32632         Problem reported by Daniel Richard G. in
32633         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
32634         * doc/posix-functions/mkfifo.texi (mkfifo):
32635         * doc/posix-functions/mkfifoat.texi (mkfifoat):
32636         * doc/posix-functions/mknod.texi (mknod):
32637         * doc/posix-functions/mknodat.texi (mknodat):
32638         Document the HP-UX 11.11 bug.
32639         * tests/test-mkfifo.h (test_mkfifo):
32640         Allow the HP-UX 11.11 bug.
32642 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
32644         acl: allow cross-compilation to Gentoo
32645         Problem reported by Gabriel Marcano in
32646         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
32647         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
32648         test only whether it links.
32650 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
32652         mgetgroups: remove dependency on realloc-gnu
32653         The dependency violates the comment in realloc-gnu, which
32654         says that tests can't depend on realloc-gnu; some tests depend
32655         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
32656         Problem reported by Daniel Richard G. in
32657         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
32658         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
32659         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
32660         not realloc-gnu.
32662 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
32664         regex-tests: port to HP-UX 11.11
32665         Problem reported by Daniel Richard G. in
32666         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
32667         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
32669 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32671         verify: document some 'assume' pitfalls
32672         * doc/verify.texi (Compile-time Assertions):
32673         Mention that 'assume (E)' can sometimes slow things down.
32674         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
32676 2013-10-10  Eric Blake  <eblake@redhat.com>
32678         strtoumax: fix typo in previous commit.
32679         * modules/strtoumax (Depends-on): Fix typo.
32680         * modules/strtoimax (Depends-on): Likewise.
32682 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
32684         strtoumax: port to Solaris 8
32685         This problem was introduced in the recent HP-UX patch.
32686         Reported by Tom G. Christensen in
32687         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
32688         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
32689         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
32691 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
32693         strtoimax, strtoumax: port to HP-UX 11.11
32694         Problem reported by Daniel Richard G. in
32695         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
32696         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
32697         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
32698         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
32699         REPLACE_STRTOUMAX.
32700         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
32701         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
32702         Replace the function if defined as a macro but not as a function.
32703         * modules/inttypes-incomplete (inttypes.h): Substitute
32704         REPLACE_STRTOUMAX.
32705         * modules/strtoumax (configure.ac): Replace strtoumax if
32706         REPLACE_STRTOUMAX.
32708 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
32710         strtoimax: port to HP-UX 11.11
32711         Problem reported by Daniel Richard G.
32712         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
32713         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
32714         they might clash with inttypes.h.
32716 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
32718         New module 'count-trailing-zeros'.
32719         * MODULES.html.sh: Mention it.
32720         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
32721         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
32722         * modules/count-trailing-zeros-tests:
32723         * tests/test-count-trailing-zeros.c:
32724         New files.
32726         count-leading-zeros: port to MSC; support types wider than 64 bits
32727         The ideas behind the MSC port are stolen from Emacs.
32728         * lib/count-leading-zeros.h:
32729         Don't include verify.h: it's no longer needed, as types wider than
32730         64 bits are now supported.
32731         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
32732         performance with MSC.  All uses changed.  Do not assume that TYPE
32733         has at most 64 bits.
32734         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
32735         All uses changed.  Fold the subtraction from 31 into the table.
32737         count-one-bits: port to MSC; support types wider than 64 bits
32738         The ideas behind the MSC port are stolen from Emacs.
32739         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
32740         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
32741         Don't include verify.h: it's no longer needed, as types wider than
32742         64 bits are now supported.
32743         (COUNT_ONE_BITS_GENERIC): New macro.
32744         (popcount_supported) [_MSC_VER]: New inline function.
32745         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
32746         performance with MSC.  All uses changed.  Do not assume that TYPE
32747         has at most 64 bits.
32748         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
32750 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
32752         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
32753         * lib/mountlist.c (read_file_system_list): fix leak of directory
32754         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
32756 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
32758         tests: improve diagnostic when an assertion fails
32759         * tests/macros.h (ASSERT): Report the assertion that failed.
32761 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
32763         verify: new macro 'assume'
32764         This is taken from Emacs, and should be generally useful.
32765         * doc/verify.texi (assume): Document it.
32766         * lib/verify.h (assume): New macro.
32767         (__has_builtin): Expand to 0 if not defined.
32769 2013-09-26  Eric Blake  <eblake@redhat.com>
32771         dup2, dup3: work around another cygwin crasher
32772         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
32773         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
32774         * tests/test-dup2.c (main): Likewise.
32775         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
32776         * lib/dup3.c (dup3): Likewise.
32777         * doc/posix-functions/dup2.texi (dup2): Document it.
32778         * doc/glibc-functions/dup3.texi (dup3): Likewise.
32780         getdtablesize: work around cygwin issue
32781         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
32782         * modules/getdtablesize (configure.ac): Build replacement.
32783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
32784         * modules/unistd (Makefile.am): Expose the witness.
32785         * lib/unistd.in.h (getdtablesize): Declare replacement.
32786         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
32787         * tests/test-getdtablesize.c (main): Test it.
32788         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
32790 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
32792         pmccabe2html: escaping of special characters
32793         Escape all '<', '>', and '&' in HTML output.
32794         * build-aux/pmccabe2html (html_fnc): Call gsub()
32795         instead of sub() to capture all '<', '>', and '&'.
32796         Neither of '<' and '>' is special in a regexp,
32797         so first arguments to gsub() are corrected. Also,
32798         in replacement strings, ampersand must be escaped.
32799         Finally, '&' must be handled first, then '<' and '>'.
32801 2013-09-24  Eric Blake  <eblake@redhat.com>
32803         manywarnings: enable nicer gcc warning messages
32804         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
32805         some -f options for optimal warnings.
32807 2013-09-21  Jim Meyering  <meyering@fb.com>
32809         timespec: use the new TIMESPEC_RESOLUTION in a few more places
32810         * lib/timespec-add.c (timespec_add): Also replace 999999999
32811         with TIMESPEC_RESOLUTION - 1.
32812         * lib/timespec-sub.c (timespec_sub): Likewise.
32814 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
32816         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
32817         Problem reported by Dagobert Michelsen via Eric Blake in
32818         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
32819         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
32820         not AC_COMPILE_IFELSE.
32822 2013-09-23  Eric Blake  <eblake@redhat.com>
32824         configmake: support new --runstatedir option
32825         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
32826         even if autoconf was too old to provide the command line option.
32827         * modules/configmake (Makefile.am): Propagate it to .h file.
32829 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
32831         ctype, string: depend on extern-inline
32832         This is needed to complete the recent OS X fixes.
32833         Also, fix related documentation as suggested by Eric Blake.
32834         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
32835         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
32836         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
32837         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
32838         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
32839         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
32840         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
32841         * doc/posix-functions/toupper.texi:
32842         List the 'ctype' gnulib module.
32843         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
32844         * doc/posix-functions/strncpy.texi:
32845         List the 'string' gnulib module.
32846         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
32847         Add string.
32848         * modules/ctype, modules/string (Depends-on): Add extern-inline.
32850 2013-09-19  Pádraig Brady  <P@draigBrady.com>
32852         userspec: support optional parameters to parse_user_spec()
32853         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
32854         then avoid group processing and treat the full spec as a user.
32855         (parse_with_separator): Allow the USERNAME and GROUPNAME to
32856         be optional params (NULL), in which case they're ignored.
32858 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
32860         timespec: new function make_timespec, and new constants
32861         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
32862         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
32863         (make_timespec): New function.
32864         * lib/dtotimespec.c (dtotimespec):
32865         * lib/timespec-add.c (timespec_add):
32866         * lib/timespec-sub.c (timespec_sub):
32867         * lib/utimens.c (validate_timespec):
32868         * lib/utimensat.c (rpl_utimensat):
32869         Use these new constants and functions.
32871         stdio: OS X port of putc_unlocked + extern inline
32872         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
32873         * doc/posix-functions/putc_unlocked.texi:
32874         * doc/posix-functions/putchar_unlocked.texi:
32875         Document this portability problem.
32877         signal: OS X port of sigaddset etc. + extern inline
32878         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
32879         (sigismember): #undef on problematic Apple platforms.
32880         * doc/posix-functions/sigaddset.texi:
32881         * doc/posix-functions/sigdelset.texi:
32882         * doc/posix-functions/sigemptyset.texi:
32883         * doc/posix-functions/sigfillset.texi:
32884         * doc/posix-functions/sigismember.texi:
32885         Document this portability problem.
32887         extern-inline: do not always suppress extern inline on OS X
32888         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
32889         extern inline on Apple only if the particular compile-time
32890         configuration is known to have the problem.
32891         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
32892         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
32893         other Gnulib modules.
32895         extern-inline: document fixes for ctype and wctype macros
32896         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
32897         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
32898         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
32899         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
32900         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
32901         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
32902         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
32903         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
32904         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
32905         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
32906         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
32907         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
32908         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
32909         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
32910         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
32911         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
32912         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
32913         * doc/posix-functions/strncpy.texi:
32914         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
32915         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
32916         Document that Gnulib fixes portability problems with these
32917         functions on OS X 10.8 and earlier when called from plain inline
32918         or extern inline functions.
32920 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
32922         fflush, freadahead, fseeko: Fix for Android
32923         Suggested by Bruno Haible in:
32924         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
32925         * lib/stdio-impl.h: Use local __sfileext definition.
32927 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
32929         pmccabe2html: Portability to other awk versions.
32930         The functions systime() and strftime() are available
32931         in Gawk only.  Properly close two HTML-tags 'style'
32932         and 'span'.
32933         * build-aux/pmccabe2html (BEGIN): Store timing
32934         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
32935         systime() in HTML_COMMENT.
32936         (html_header): Correctly close tag 'style'.
32937         (END): Replace strftime() by CHRONOS_TIME.  Close
32938         tag 'span' correctly, not as 'div'.
32940 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
32942         getgroups: statement without effect
32943         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
32944         Change equality conditional to expected assignment.
32946 2013-09-09  Eric Blake  <eblake@redhat.com>
32948         glob: fix compilation
32949         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
32951 2013-09-07  Eric Blake  <eblake@redhat.com>
32953         glob: fix build for platforms without __THROW
32954         * lib/glob.in.h (__THROW): Add definition again.
32956 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
32958         regex-quote: fix buffer access out of bounds
32959         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
32960         * lib/regex-quote.c (regex_quote_spec_pcre):
32961         Fix typo that resulted in an out-of-bounds read.
32963 2013-09-04  Eric Blake  <eblake@redhat.com>
32965         glob: avoid -Wattribute warnings on glibc
32966         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
32967         __THROWNL, not __THROW, on static functions.
32968         * lib/glob.in.h (__THROW): Adjust...
32969         (__THROWNL): ...accordingly.
32971 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
32973         headers: check that _GL_INLINE_HEADER_BEGIN is defined
32974         Suggested by Bruce Korb in:
32975         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
32976         * doc/extern-inline.texi (extern inline):
32977         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
32978         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
32979         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
32980         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
32981         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
32982         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
32983         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
32984         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
32985         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
32986         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
32987         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
32988         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
32989         * lib/xtime.h:
32990         Check that _GL_INLINE_HEADER_BEGIN is defined.
32992 2013-08-29  Pádraig Brady  <P@draigBrady.com>
32994         bootstrap: remove the --version requirement from ancillary tools
32995         * build-aux/bootstrap (check_exists): A new refactored function to
32996         determine if a command exists.
32997         (find_tool): Use the new function which does not require the
32998         --version option to be supported.
32999         (check_versions): Use the new function.
33001 2013-08-26  Simon Josefsson  <simon@josefsson.org>
33003         gc: support HMAC-SHA256 and HMAC-SHA512.
33004         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
33005         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
33006         functions.
33007         (gc_hmac_md5): Use symbolic constant.
33008         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
33009         (gc_hmac_sha256, gc_hmac_sha512): New functions.
33010         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
33011         * m4/sha256.m4: Protect against empty expansion.
33012         * m4/sha512.m4: Likewise.
33013         * lib/hmac-sha256.c: New file.
33014         * lib/hmac-sha512.c: Likewise.
33015         * m4/gc-hmac-sha256.m4: Likewise.
33016         * m4/gc-hmac-sha512.m4: Likewise.
33017         * m4/gc-sha256.m4: Likewise.
33018         * m4/gc-sha512.m4: Likewise.
33019         * modules/crypto/gc-hmac-sha256: Likewise.
33020         * modules/crypto/gc-hmac-sha256-tests: Likewise.
33021         * modules/crypto/gc-hmac-sha512: Likewise.
33022         * modules/crypto/gc-hmac-sha512-tests: Likewise.
33023         * modules/crypto/hmac-sha256: Likewise.
33024         * modules/crypto/hmac-sha256-tests: Likewise.
33025         * modules/crypto/hmac-sha512: Likewise.
33026         * modules/crypto/hmac-sha512-tests: Likewise.
33027         * tests/test-gc-hmac-sha256.c: Likewise.
33028         * tests/test-gc-hmac-sha512.c: Likewise
33029         * tests/test-hmac-sha256.c: Likewise.
33030         * tests/test-hmac-sha512.c: Likewise
33032 2013-08-24  Daiki Ueno  <ueno@gnu.org>
33034         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
33035         of AC_CHECK_DECLS.
33037 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
33039         selinux-at: omit unnecessary include
33040         * lib/selinux-at.c: Don't include dosname.h; not needed, since
33041         this source file doesn't use its macros, and subsidiary files that
33042         use the macros already include it.
33044 2013-08-21  Eric Blake  <eblake@redhat.com>
33046         d-ino: avoid false negative on symlink
33047         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
33048         Reported by Stephane Chazelas.
33050 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
33052         bootstrap: port to OpenBSD sed
33053         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
33054         does not interpret `-' as a file argument to mean stdin.
33056 2013-08-15  Eric Blake  <eblake@redhat.com>
33058         warnings: minor optimization
33059         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
33061         warnings: check -Wfoo rather than -Wno-foo
33062         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
33063         -Wno-, test if the compiler recognizes the positive form instead.
33065 2013-08-15  Karl Berry  <karl@gnu.org>
33067         * config/srclist-update: add option "doclicense" to placate
33068         pulling *.texi files from Emacs.  Write terse usage
33069         documentation at the top.
33071 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
33073         xvasprintf-tests: port to GCC with hardening flags
33074         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
33075         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
33076         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
33078 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33080         fpending: port to recent Cygwin change to stdio_ext.h
33081         Reported by LRN in
33082         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
33083         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
33084         just declare __fpending unless it's a macro.
33085         A duplicate decl shouldn't hurt.
33086         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
33087         call compiles and links, instead of separately checking for
33088         decl and lib function.
33089         * modules/fpending (configure-ac):
33090         Adjust to fpending.m4's renaming of shell variable.
33092 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33094         sys_time: port to OpenBSD
33095         * lib/sys_time.in.h: Simply delegate to the system's header
33096         in the BSDish cases as well.  Problem reported by Mike Miller in
33097         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
33098         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
33099         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
33100         wider than time_t.
33102 2013-08-09  Pádraig Brady  <P@draigBrady.com>
33104         bootstrap: support checksum utils having -c but not --status
33105         * build-aux/bootstrap: Only look for sha1sum if updating po files.
33106         Add sha1 to the list of supported checksum utils since it's now
33107         supported through adjustments below.
33108         (update_po_files): Remove the use of --status
33109         in a way that will suppress all error messages, but since this is
33110         only used to minimize updates, it shouldn't cause an issue.
33111         Exit early if there is a problem updating the po file checksums.
33112         (find_tool): Remove the check for --version support as this
33113         is optional as per commit 86186b17.  Don't even check for the
33114         presence of the command as if that is needed, it's supported
33115         through configuring prerequisites in bootstrap.conf.
33116         Prompt that when a tool isn't found, one can define an environment
33117         variable to add to the hardcoded search list.
33119 2013-08-05  Jim Meyering  <meyering@fb.com>
33121         regex: port to non-glibc/lock-using systems
33122         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
33123         system with GNULIB_LOCK would fail due to absence of the
33124         included "glthread/lock.h".  This would affect any package
33125         for which the "lock" module is used only by the regex module,
33126         and not explicitly used.
33127         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
33128         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
33129         Add a dependency on the "lock" module.
33131 2013-07-20  Daiki Ueno  <ueno@gnu.org>
33133         localecharset: make locale_charset thread-safe on Mac OS X
33134         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
33135         instead of MB_CUR_MAX.
33137 2013-07-20  Daiki Ueno  <ueno@gnu.org>
33139         gettext: update to version 0.18.3
33140         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
33141         require AC_PROG_SED to allow user to specify custom sed command when
33142         generating en@quot PO file.
33144 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
33146         bootstrap: use correct source when copying build-aux files
33147         * build-aux/bootstrap (gnulib_extra_files): This variable is
33148         relative to upstream gnulib layout, not downstream.
33150 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
33152         tmpdir: fix bug in VMS port
33153         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
33154         See Steven M. Schweda in
33155         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
33157 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33159         tmpdir: port to VMS, to // != /, and to long dirs
33160         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
33161         __secure_getenv, so that we're more like the glibc version.
33162         All uses changed.
33163         (path_search): Don't put slash after directory if __VMS.
33164         Problem reported by Steven M. Schweda in
33165         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
33166         Simplify code to add slash; no need for a loop.
33167         Do not remove trailing slash from "//".
33168         Do not assume dlen <= INT_MAX.
33170 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33172         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
33173         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
33174         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
33175         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
33177         accept4, dup3, pipe2: port to Cygwin
33178         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
33179         * lib/accept4.c (accept4) [O_BINARY]:
33180         * lib/dup3.c (dup3) [O_BINARY]:
33181         * lib/pipe2.c (pipe2) [O_BINARY]:
33182         Use set_binary_mode, not setmode.
33183         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
33184         * modules/binary-io (Depends-on): Remove module indicator.
33185         These last two bits undo the previous change to pipe2 and binary-io.
33187 2013-07-09  Pádraig Brady  <P@draigBrady.com>
33189         mountlist: add support for deallocating returned list entries
33190         * lib/mountlist.c (free_mount_entry): A new exported function
33191         to deallocate a mount list entry.
33192         (read_file_system_list): Refactor to use the new deallocation function.
33193         Suggested by Anton Ovchinnikov.
33195 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
33197         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
33198         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
33199         * lib/stdalign.in.h (_Alignas, _Alignof):
33200         Port to FreeBSD 9.1, and to C11 and C++11.
33201         (_Alignas): Also support ICC.
33202         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
33203         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
33205 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33207         fnmatch: don't goto over declaration
33208         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
33209         undefined behavior for goto over a declaration.
33210         Problem reported by Charlie Brown in
33211         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
33213         pipe2: decouple from binary-io a bit
33214         This is for Emacs, which needs pipe2 but not binary-io.
33215         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
33216         * modules/binary-io (Depends-on): Add module indicator.
33218 2013-07-03  Eric Blake  <eblake@redhat.com>
33220         mgetgroups: relax license to LGPLv2+
33221         * modules/getugroups (License): Change from GPLv3+.
33222         * modules/mgetgroups (License): Likewise.
33223         * modules/getgroups (License): Change from LGPLv3+.
33225         xalloc-oversized: relax license to LGPLv2+
33226         * modules/xalloc-oversized (License): Change from GPLv3+.
33228         nproc: relax license to LGPLv2+
33229         * modules/nproc (License): Change from LGPLv3+.
33231         bootstrap: honor --no-git
33232         * build-aux/bootstrap: Don't even try to use git when user is
33233         pointing to a static checkout.
33235 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
33237         ignore-value: port to gcc -pedantic
33238         * lib/ignore-value.h (ignore_value):
33239         Port to gcc -pedantic, by using __extension__.
33240         Reindent as per usual gnulib style nowadays.
33241         Simplify GCC version check.
33243 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
33245         extern-inline: port to gcc -std=c89
33246         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
33247         Do not use __gnu_inline__ if pedantic and pre-C99.
33249 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
33251         doc: document extern-inline
33252         * doc/extern-inline.texi: New file.
33253         * doc/gnulib.texi (alloca-opt): Include it.
33254         * m4/extern-inline.m4: Move some comments to documentation,
33255         and others closer to what they describe.
33257         doc: chatter less
33258         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
33259         (updated-stamp): Use it.  This causes 'make' to output just
33260         one file name rather than zillions.
33262         fflush, fseeko: port to musl cross-compiles
33263         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
33264         on some implementation that (1) is not known to be buggy,
33265         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
33266         cross-compiled to so we can't easily check for lack of
33267         conformance.  This is for cross-compiling to musl.
33268         Reported by Rich Felker in
33269         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
33270         * m4/fclose.m4 (gl_FUNC_FCLOSE):
33271         * m4/fflush.m4 (gl_FUNC_FFLUSH):
33272         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
33273         Adjust to above change.
33274         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
33275         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
33276         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
33277         known not to work, or unknown.
33279 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
33281         msvc-inval: port to mingw-w64
33282         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
33283         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
33284         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
33286 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
33288         getcwd-lgpl: port to Tru64
33289         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
33290         Problem reported by Steven M. Schweda in
33291         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
33293         tests: port large-fd POSIX spawn tests to OS X
33294         Problem reported by Daiki Ueno in
33295         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
33296         * tests/test-posix_spawn_file_actions_addclose.c:
33297         * tests/test-posix_spawn_file_actions_adddup2.c:
33298         * tests/test-posix_spawn_file_actions_addopen.c:
33299         Include <limits.h>, for OPEN_MAX, if available.
33300         (big_fd): New static function.
33301         (main): Use it.
33303 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
33305         tests/nap.h: use an adaptive delay to avoid ctime update issues
33306         The recent change in nap.h (5191133e) decreased the probability of lost
33307         races to about a third, however such problems could still be observed
33308         in virtual machines and openSUSE's OBS.
33309         Before, nap() detected the needed time once empirically and then used
33310         that delay (together with a small correction multiplier) in further
33311         calls.  This problem has been reported and discussed several times,
33312         including guesses about possible kernel issues:
33313         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
33314         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
33315         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
33316         http://bugs.gnu.org/12820
33317         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
33318         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
33319         Now, nap() avoids the race alltogether by verifying on a reference
33320         file whether a timestamp difference has happened.
33321         * tests/nap.h (nap_fd): Define file descriptor variable for the
33322         witness file.
33323         (nap_works): Change return value to bool.  Change passing
33324         the old file's status by value instead of by reference as this function
33325         does no longer update that timestamp; rename the function argument from
33326         st to old_st.  Remove the local variables cdiff and mdiff because that
33327         function now returns true/false instead of the precise delay.
33328         (guess_delay): Remove function.
33329         (clear_tmp_file): Add new function to close and unlink the witness file.
33330         (nap): Instead of re-using the delay which has been calculated during
33331         the first call, avoid the race by actually verifying that a timestamp
33332         difference can be observed on the current file system.  Use an adaptive
33333         approach for the delay to minimize execution time.  Assert that the
33334         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
33335         = 2^31 - 1 = 2.1s.
33336         Use atexit to call clear_tmp_file when the process terminates.
33338 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
33340         sig2str: port to C++
33341         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
33342         Reported by Daniel J Sebald in
33343         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
33345 2013-05-30  Eric Blake  <eblake@redhat.com>
33347         docs: mention cygwin shortcoming in <sys/un.h>
33348         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
33350         vasnprintf: silence mingw compiler warning
33351         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
33353 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
33355         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
33356         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
33357         This fixes a porting bug I recently reintroduced in regex, and
33358         some other instances that I discovered while testing the fix.
33359         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
33360         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
33361         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
33362         with an empty argument if this is a pedantic pre-C99 GCC.
33363         * lib/verify.h: Do not use _Static_assert if this is a pedantic
33364         pre-C11 GCC.
33366         regex: adapt to locking regime instead of depending on pthread
33367         Instead of depending on pthread, adapt to whatever thread
33368         modules are in use.  Problem reported by Ludovic Courtès in
33369         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
33370         and by Mats Erik Andersson in
33371         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
33372         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
33373         Support either the 'lock' module, or the 'pthread' module, or
33374         no module.
33375         (lock_lock, lock_unlock): New macros.
33376         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
33377         * modules/lock, modules/pthread (configure.ac): Add module indicator.
33378         * modules/regex (Depends-on): Remove pthread.
33380 2013-05-22  Eric Blake  <eblake@redhat.com>
33382         getgroups: document portability issues
33383         * doc/glibc-functions/initgroups.texi (initgroups): Mention
33384         multithread safety.
33385         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
33386         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
33387         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
33388         getugroups.
33389         * doc/posix-functions/getgroups.texi (getgroups): Mention
33390         multithread safety and mgetgroups.
33392 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
33394         test-lchown, test-chown: also skip test if chown fails with EPERM
33395         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
33396         skip this test, to handle FAT file systems.
33397         * tests/test-chown.h (test_chown): Likewise.
33399 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
33401         regex: fix dfa race in multithreaded uses
33402         Problem reported by Ludovic Courtès in
33403         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
33404         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
33405         New macros.  All uses of __libc_lock_define, __libc_lock_init
33406         changed to use the first two of these.
33407         (__libc_lock_lock, __libc_lock_unlock): New macros, for
33408         non-glibc platforms.
33409         (struct re_dfa_t): Define the lock unconditionally.
33410         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
33411         '#ifdef _LIBC"s.
33412         * modules/regex (Depends-on): Add pthread, if we use the
33413         included regex.
33415         * lib/regcomp.c: Do actions that are not needed for glibc,
33416         but may be needed elsewhere.
33417         (regfree, re_compile_internal): Destroy the lock.
33418         (re_compile_internal): Check for lock-initialization failure.
33420         malloca: port to compilers that reject size-zero arrays
33421         This fixes a bug introduced in my previous patch.
33422         * lib/malloca.c (struct preliminary_header): Use an int
33423         rather than a character array of size int; that's simpler.
33424         (struct header): Remove, replacing with ...
33425         (union header): New type.  This avoids the need for declaring a
33426         character array of size zero, which is not allowed on some platforms.
33427         All uses changed.
33429 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
33431         parse-datetime, tests: don't use "string" + int
33432         Recent versions of 'clang' complain about C source code that
33433         uses expressions of the form '"string literal" + integer',
33434         I guess on the theory that it's confusing for readers who are
33435         used to C++.  On those grounds I suppose it's OK to make this
33436         minor style change.
33437         * lib/parse-datetime.y (parse_datetime):
33438         * tests/test-fchdir.c (main):
33439         * tests/test-snprintf-posix.h (test_function):
33440         * tests/test-snprintf.c (main):
33441         * tests/test-vasnprintf-posix.c (test_function):
33442         * tests/test-vasnprintf.c (test_function):
33443         * tests/test-vsnprintf.c (main):
33444         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
33445         Rewrite '"str" + E' to '&"str"[E]'.
33447 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
33449         argmatch: port to C++
33450         * lib/argmatch.h [__cplusplus]: Add extern "C".
33452         argp: typo fix
33453         * lib/argp-help.c: Typo in comment.
33455 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
33457         manywarnings: update for GCC 4.8.0
33458         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
33459         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
33460         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
33461         -Wmissing-noreturn, as they are duplicates of other warnings.
33462         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
33463         was documented to be flaky in earlier versions of GCC.
33465         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
33466         * tests/test-spawn.c (main):
33467         * tests/test-sys_socket.c (main):
33468         * tests/test-sys_wait.c (main):
33469         Don't have a switch value that isn't covered by a case.
33471         getaddrinfo-tests: port --enable-gcc-warnings to clang
33472         * tests/test-getaddrinfo.c (simple):
33473         Avoid casts from looser to stricter-aligned pointers.
33475         thread: port --enable-gcc-warnings to clang
33476         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
33477         Include <signal.h>, to pacify a warning about pthread_sigmask.
33479         stdio: use __REDIRECT for fwrite, fwrite_unlocked
33480         * lib/stdio.in.h (fwrite):
33481         When working around bug 11959, use __REDIRECT rather than '#define
33482         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
33483         fix the -Wunused-value issue with clang, and it works with GCC too.
33484         Problem with targeting reported by Eric Blake in
33485         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
33486         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
33487         debugging the fwrite issue.
33489         stdio: port --enable-gcc-warnings to clang
33490         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
33491         since the GCC workaround for fwrite does not pacify clang.
33493         sig2str: port --enable-gcc-warnings to clang
33494         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
33496         obstack: port --enable-gcc-warnings to clang
33497         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
33498         Avoid casts from looser to stricter-aligned pointers.
33500         memchr2: port --enable-gcc-warnings to clang
33501         * lib/memchr2.c (memchr2):
33502         Avoid casts from looser to stricter-aligned pointers.
33504         mbsstr: port --enable-gcc-warnings to clang
33505         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
33506         Avoid casts from looser to stricter-aligned pointers.
33508         malloca: port --enable-gcc-warnings to clang
33509         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
33510         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
33512         inttostr: port --enable-gcc-warnings to clang
33513         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
33515         warnings: port to clang
33516         Problem reported by Daniel P. Berrange via Eric Blake in
33517         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
33518         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
33519         (gl_WARN_ADD): Use it.
33521 2013-05-11  Jim Meyering  <meyering@fb.com>
33523         quotearg: do not read beyond end of buffer
33524         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
33525         end of an ARG for which no length was specified.  With an N-byte
33526         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
33527         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
33528         via coreutils' misc/sort-debug-keys.sh test and detected by running
33529         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
33530         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
33531         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
33532         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
33533         characters correctly."
33535 2013-05-11  Daiki Ueno  <ueno@gnu.org>
33537         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
33538         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
33539         compilation target is Mac OS X 10.6.
33540         Problem reported by parafin and Andoni Morales in
33541         <http://savannah.gnu.org/bugs/?37844> and
33542         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
33544 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
33546         mkdir-p: remove assumptions about umask and mode
33547         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
33548         umask is 0, or that MODE is a subset of MODE_BITS.
33550 2013-05-10  Eric Blake  <eblake@redhat.com>
33552         maint.mk: catch more abuse of HAVE_DECL in syntax-check
33553         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
33555 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
33557         deps: require Automake >= 1.9.6 in generated Makefile fragments
33559         That is the same minimal version required in the DEPENDENCIES file.
33560         Moreover, the old code generated a requirement of Automake >= 1.5,
33561         and that is an insanely outdated version.
33563         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
33564         * tests/havelib/rpathlx/Makefile.am: Likewise.
33565         * tests/havelib/rpathly/Makefile.am: Likewise.
33566         * tests/havelib/rpathlyx/Makefile.am: Likewise.
33567         * tests/havelib/rpathlz/Makefile.am: Likewise.
33568         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
33569         * tests/havelib/rpathx/Makefile.am: Likewise.
33570         * tests/havelib/rpathy/Makefile.am: Likewise.
33571         * tests/havelib/rpathz/Makefile.am: Likewise.
33573 2013-05-08  Eric Blake  <eblake@redhat.com>
33575         bootstrap: AC_INIT may have more than four parameters
33576         * build-aux/bootstrap (extract_package_name): Correctly extract
33577         non-empty tarname field.  Avoid range in regex.
33578         Based on a report by Sami Kerola <kerolasa@iki.fi>.
33580 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
33582         qacl: port to MS-Windows port of GNU Emacs
33583         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
33584         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
33585         port of GNU Emacs.  Problem reported by Eli Zaretskii in
33586         <http://bugs.gnu.org/14295#14>.
33588 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
33590         acl: include quote.h
33591         * lib/copy-acl.c: Include quote.h.
33592         * lib/set-acl.c: Likewise.
33594 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
33596         fchownat, renameat, unlinkat: update statat dependencies
33597         These modules use statat and lstatat, not fstatat; so depend on
33598         the statat module, which was split out recently from fstatat.
33599         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
33600         * modules/renameat: Likewise.  Also delete fstat.
33601         URL: http://bugs.gentoo.org/468790
33603 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
33605         Assume gnulib is checked out from Git, not CVS
33607         In fact, access to the gnulib repository through CVS has been
33608         disabled, or more precisely, got broken and was never restored; see:
33609         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
33611         Note that support for CVS is not removed completely and unthinkingly
33612         by this change: only support for CVS checkouts of gnulib itself is
33613         removed.  For example, the 'bootstrap' script still cater to .cvsingore
33614         files and CVS directories, for the benefit of those poor gnulib clients
33615         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
33617         * gnulib-tool: Simplify accordingly.
33618         * posix-modules: Likewise.
33619         * MODULES.html.sh: Likewise.
33620         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
33621         repository.
33622         * doc/gnulib-intro.texi: Likewise.
33623         * doc/gnulib-readme.texi: Likewise.
33624         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
33625         sample '.gitignore' file rather than a sample '.cvsignore'.
33626         * NEWS: Update.
33627         * m4/extensions.m4: While at it, remove a comment mistakenly referring
33628         to "CVS Autoconf" rather than "git Autoconf".
33630 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
33632         utimensat-tests, etc.: try to fix some races
33633         Problem reported by Bernhard Voelker in
33634         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
33635         I don't know whether this patch fixes that race condition, but it
33636         fixes *some* race conditions, so it should be a win.
33637         * modules/chown-tests (Depends-on):
33638         * modules/fchownat-tests (Depends-on):
33639         * modules/fdutimensat-tests (Depends-on):
33640         * modules/futimens-tests (Depends-on):
33641         * modules/lchown-tests (Depends-on):
33642         * modules/stat-time-tests (Depends-on):
33643         * modules/utimens-tests (Depends-on):
33644         * modules/utimensat-tests (Depends-on):
33645         Depend on nanosleep, not usleep.
33646         * modules/chown-tests (test_chown_LDADD):
33647         * modules/lchown-tests (test_lchown_LDADD):
33648         * modules/stat-time-tests (test_stat_time_LDADD):
33649         New macro.
33650         * modules/fchownat-tests (test_fchownat_LDADD):
33651         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
33652         * modules/futimens-tests (test_futimens_LDADD):
33653         * modules/utimens-tests (test_utimens_LDADD):
33654         * modules/utimensat-tests (test_utimensat_LDADD):
33655         Add $(LIB_NANOSLEEP).
33656         * modules/stat-time-tests (Files): Add tests/nap.h.
33657         * tests/nap.h: Include <limits.h>, for INT_MAX.
33658         (lt_mtime): Remove.
33659         (diff_timespec): New function.
33660         (get_stat): Rename from get_mtime.  All callers changed.
33661         (nap_works): Determine the needed delay by inspecting the
33662         file system's timestamp jumps; this should be more reliable.
33663         Look at both mtime and ctime, and take the maximum of the two jumps.
33664         (nap_works, guess_delay):
33665         Return a nanosecond count, not a microsecond count.
33666         All callers changed.
33667         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
33668         failure.
33669         (nap): Multiply the guess by 1.125, to accommodate the case where
33670         the file system's clock is a bit slower than nanosleep's clock.
33671         * tests/test-stat-time.c (BASE): New macro.
33672         Include nap.h.
33673         (nap): Remove; nap.h now defines this.  This removes a duplicate
33674         implementation of 'nap'.
33676         utimens, utimensat: work around Solaris UTIME_OMIT bug
33677         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
33678         Linux kernel 2.6.32 does.  Work around it in the same way.
33679         * doc/posix-functions/futimens.texi (futimens):
33680         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
33681         * lib/utimens.c (fdutimens, lutimens):
33682         * lib/utimensat.c (rpl_utimensat): Work around the bug.
33684         gettext: now it's your responsibility to add -I$(top_builddir)/intl
33685         Formerly, it was your responsibility to do this for all Makefile.ams
33686         other than Gnulib's.  Now it's your responsibility to do it for
33687         Gnulib's Makefile.am, too.
33688         * NEWS: Document this.
33689         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
33691         acl: include errno.h to get errno
33692         Reported by Daiki Ueno in
33693         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
33694         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
33696 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
33698         tests: don't assume getdtablesize () <= 10000000
33699         * modules/cloexec-tests:
33700         * modules/dup2-tests:
33701         * modules/dup3-tests:
33702         * modules/nonblocking-tests:
33703         * modules/posix_spawn_file_actions_addclose-tests:
33704         * modules/posix_spawn_file_actions_adddup2-tests:
33705         * modules/posix_spawn_file_actions_addopen-tests:
33706         * modules/unistd-safer-tests:
33707         Depend on the getdtablesize module.
33708         * tests/test-cloexec.c:
33709         * tests/test-dup-safer.c:
33710         * tests/test-dup2.c:
33711         * tests/test-dup3.c:
33712         * tests/test-fcntl.c:
33713         * tests/test-nonblocking.c:
33714         * tests/test-posix_spawn_file_actions_addclose.c:
33715         * tests/test-posix_spawn_file_actions_adddup2.c:
33716         * tests/test-posix_spawn_file_actions_addopen.c:
33717         Don't assume getdtablesize () <= 10000000.
33719 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
33721         extern-inline: work around bug in Sun c99
33722         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
33723         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
33725 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
33727         qacl: new module, broken out from the acl module
33728         This is for GNU Emacs, which wants the acl functions but does
33729         not want 'error' invoked when they fail.
33730         * lib/acl-internal.h: Do not include error.h, quote.h.
33731         (ENOSYS, ENOTSUP): Remove; no longer needed.
33732         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
33733         * lib/acl.h: Include <stdbool.h>.
33734         (acl_errno_valid): New function.
33735         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
33736         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
33737         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
33738         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
33739         (ACL_INTERNAL_INLINE): Remove; no longer needed.
33740         * lib/file-has-acl.c (file_has_acl):
33741         * lib/qcopy-acl.c (qcopy_acl):
33742         * lib/qset-acl.c (qset_acl):
33743         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
33744         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
33745         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
33746         lib/file-has-acl.c, m4/acl.m4 to qacl module.
33747         Add lib/set-acl.c.
33748         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
33749         Add qacl.
33750         (configure.ac): Move gl_FUNC_ACL to qacl module.
33751         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
33752         Rename set-mode-acl.c to set-acl.c.
33753         * lib/acl-errno-valid.c: New file.
33754         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
33755         copy_acl function remains in copy-acl.c.
33756         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
33757         (_): Remove; not needed.
33758         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
33759         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
33760         * modules/qacl: New file, moved from the old modules/acl.
33761         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
33762         Remove set-mode-acl.c, copy-acl.c.
33763         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
33765         alignof, intprops, malloca: port better to IBM's C compiler
33766         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
33767         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
33768         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
33770 2013-04-25  Daiki Ueno  <ueno@gnu.org>
33772         wctype-h: fix gettext link error on mingw
33773         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
33774         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
33775         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
33776         rpl_towupper and rpl_towupper.
33778 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
33780         regex-tests, regex: allow glibc re_search behavior
33781         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
33782         re_search input data to make the multi-character collating element
33783         in it clearly visible, and treat re_search return code 0 as valid.
33784         * m4/regex.m4 (gl_REGEX): Likewise.
33786 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33788         stdalign: doc fix
33789         * doc/posix-headers/stdalign.texi (stdalign.h):
33790         Gnulib doesn't support '_Alignof expr'.
33792 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33794         stdalign: port to stricter ISO C11
33795         ISO C11 says that _Alignof's operand must be a parenthesized type.
33796         Problem reported by Eli Zaretskii in
33797         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
33798         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
33799         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
33801 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
33803         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
33804         Problem reported by Marco Atzeri in
33805         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
33806         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
33807         Simply delegate to the system <sys/select.h> in this case too.
33808         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
33809         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
33810         be needed on Solaris either.
33811         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
33812         Simply delegate to the system <sys/time.h> in this case.
33814 2013-03-19  Karl Berry  <karl@gnu.org>
33816         * build-aux/gnupload: check for erroneous (with gnupload) use of
33817         ftp-upload.gnu.org, tweak help.
33819 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33821         copy-file, rpmatch: fix problems found by cppcheck
33822         Reported by Arno Onken in
33823         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
33824         * lib/rpmatch.c (try): Fix memory leak.
33825         * lib/copy-file.c: Include "ignore-value.h".
33826         (qcopy_file_preserving): Ignore chown value.
33827         * modules/copy-file (Depends-on): Add ignore-value.
33829 2013-01-27  Jim Meyering  <jim@meyering.net>
33831         prefix-gnulib-mk: give better diagnostics
33832         * build-aux/prefix-gnulib-mk: Don't just "die".
33833         Give better diagnostics upon failure.
33835 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
33837         putenv: port to Solaris 10
33838         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
33839         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
33840         is not what is wanted here.
33841         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
33842         declaration, not for its existence.
33844 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
33846         mktime: fix configure typo
33847         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
33849 2013-03-12  Eric Blake  <eblake@redhat.com>
33851         regex-tests: skip UTF-8 test on mingw
33852         * modules/regex-tests (Depends-on): Add localcharset.
33853         * tests/test-regex.c (main): Use it to skip test on mingw.
33855 2013-03-11  Eric Blake  <eblake@redhat.com>
33857         tests: make it easier to bypass alarm time in debugger
33858         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
33859         * tests/test-memmem.c (main): Likewise.
33860         * tests/test-passfd.c (main): Likewise.
33861         * tests/test-ptsname.c (main): Likewise.
33862         * tests/test-ptsname_r.c (main): Likewise.
33863         * tests/test-strcasestr.c (main): Likewise.
33864         * tests/test-strstr.c (main): Likewise.
33866         regex: port to mingw's recent addition of undeclared alarm
33867         * doc/posix-functions/alarm.texi (alarm): Document that alarm
33868         exists but still doesn't work in newer mingw.
33869         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
33870         not existence.  Ensure SIGALRM is not trapped.
33871         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
33872         * m4/regex.m4 (gl_REGEX): Likewise.
33873         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
33874         * tests/test-regex.c (main): Use correct probe for alarm.
33876         putenv: avoid compilation warning on mingw
33877         * lib/putenv.c (_unsetenv): Protect variable declaration.
33878         (putenv): Fix indentation.
33880 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
33882         unistd: don't prevent Tru64 Unix from using gnulib strtod.
33883         * lib/unistd.in.h: be careful not to include un-needed system
33884         stdlib.h from here, because that prevents gnulib stdlib.h from
33885         defining rpl_strtod correctly.
33887 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
33889         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
33890         changesets, but for the 'precision 0' test.
33891         * tests/test-vasprintf-posix.c (test_function): Don't insist on
33892         round-to-even, since POSIX says rounding is implementation-defined
33893         and OS X 10.8.2 rounds 1.51 to 1 here.
33895         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
33896         changeset.
33897         * tests/test-vasprintf-posix.c (test_function): Don't insist on
33898         round-to-even, since POSIX says rounding is implementation-defined
33899         and OS X 10.8.2 rounds 1.5 to 1 here.
33901 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
33903         vasnprintf-posix-tests: allow rounding 1.5 to 1
33904         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
33905         round-to-even, since POSIX says rounding is implementation-defined
33906         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
33907         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
33909         bootstrap: port to FreeBSD
33910         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
33911         that treat '--' differently.  Reported by Mats Erik Andersson in
33912         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
33914 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
33916         regex: rename remaining __attribute calls to __attribute__.
33917         2012-02-25 changed definition of __attribute, but left some uses
33918         unchanged, preventing compilation of regex module on most non-gcc
33919         environments.
33920         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
33921         (lookup_collation_sequence_value, build_range_exp)
33922         (build_collating_symbol): Set attributes with newly renamed
33923         __attribute__ decorator.
33924         * lib/regex_internal.c (re_string_peek_byte_case)
33925         (re_node_set_compare, re_node_set_contains): Likewise.
33926         * lib/regexec.c (acquire_init_state_context): Likewise.
33928 2013-03-06  Bruno Haible  <bruno@clisp.org>
33930         execute: Revert last change, but use a different condition.
33931         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
33932         on Windows.
33934 2013-03-05  Eric Blake  <eblake@redhat.com>
33936         execute: drop dead code
33937         * lib/execute.c (nonintr_close, nonintr_open): Delete.
33939 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
33941         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
33942         * m4/non-recursive-gnulib-prefix-hack.m4
33943         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
33944         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
33945         <http://bugs.gnu.org/10305#237>.
33947 2013-03-04  Eric Blake  <eblake@redhat.com>
33949         test-getsockopt: avoid compiler warning
33950         * tests/test-getsockopt.c (includes): Ensure close is declared.
33952 2013-03-02  Bruno Haible  <bruno@clisp.org>
33954         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
33955         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
33957 2013-03-02  Bruno Haible  <bruno@clisp.org>
33959         gettext: Update to version 0.18.2.
33960         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
33961         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
33962                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
33964 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
33966         regex: merge patches from libc
33968         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
33969         * lib/regex_internal.h (__attribute__): Rename from __attribute.
33970         All uses changed.
33971         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
33972         (re_string_wchar_at, re_string_elem_size_at):
33973         Mark function as possibly unused.
33975         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
33976         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
33977         elements compare against the byte sequence of it, not its name.
33979 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
33981         putenv: port better to native Windows
33982         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
33983         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
33984         (_unsetenv): Use _putenv if available.
33985         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
33986         a bit less likely to cause damage.
33987         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
33988         Fix the wrong value with SetEnvironmentVariable.
33989         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
33990         code better.
33992 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
33994         regex: ignore old-style-definition warnings
33995         * lib/regex.c: Add pragma to ignore these warnings.
33996         Problem reported for GNU tar by Pavel Raiskup.
33998 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
34000         getcwd: support coreutils better
34001         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
34002         but this might not be correct in coreutils, which disables
34003         the raw decl checks.  Problem reported by Nagendra in
34004         <http://bugs.gnu.org/10305#192>.
34005         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
34006         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
34007         Test the getcwd function, not any macro, since getcwd.c wants the
34008         function.
34009         * m4/getcwd.m4 (gl_FUNC_GETCWD):
34010         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
34011         compile, as might happen if there's a macro but no function.
34013         strtod: support coreutils better
34014         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
34015         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
34016         disables the raw decl checks.  This assumes there is an underlying
34017         strtod, but that's a safe assumption these days.
34018         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
34020         mountlist: port to HP NonStop
34021         Reported by Joachim Schmitz in
34022         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
34023         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
34024         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
34026 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
34028         extern-inline: avoid compilation error with HP-UX cc
34029         Reported by Richard Lloyd in
34030         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
34031         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
34032         Suppress extern inline with HP-UX cc.  This should be safe,
34033         though it may hurt performance.  Perhaps someone with some HP-UX
34034         experience can come up with a higher-performance fix.
34036 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
34038         putenv: fix heap corruption with mixed putenv/_putenv
34039         Problem reported by Michael Goffioul in
34040         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
34041         * lib/putenv.c (putenv) [HAVE__PUTENV]:
34042         Rely on _putenv to allocate the new environment.
34043         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
34044         * modules/putenv (configure.ac): Use it.
34046 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
34048         unsetenv etc.: port to Solaris 11 + GNU Emacs
34049         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
34050         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
34051         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
34052         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
34053         idea but is too painful to fix right now), and without this gnulib
34054         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
34055         compiling unsetenv.c on Solaris 11.  Fix the problem for
34056         unsetenv.c, and fix other similar occurrences.
34058 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
34060         secure_getenv: fix C++ declaration typo
34061         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
34062         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
34063         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
34065 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
34067         careadlinkat: stop exporting careadlinkatcwd
34068         Only Emacs used it directly, and Emacs no longer needs it.
34069         * NEWS: Document this simplification.
34070         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
34071         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
34072         for readlink.
34073         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
34074         Don't include stdlib.h; no longer needed.
34075         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
34076         * lib/relocwrapper.c: Adjust comment to match new dependencies.
34077         * modules/areadlink (Depends-on): Add readlink.
34078         (Maintainer): Add self.
34079         * modules/careadlinkat (Depends-on): Remove readlink.
34081         extensions: port better to HP-UX
34082         This is merged from git Autoconf.
34083         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
34084         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
34085         so that it's compatible with the value used when compiling.
34087         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
34088         Problem reported by Mats Erik Andersson in
34089         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
34090         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
34091         openpty function exists, not merely when we intend to replace it.
34092         This corrects the 2013-01-31 patch, which mistakenly defined
34093         HAVE_OPENPTY even on hosts that lacked it.
34095 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
34097         secure_getenv: fix include typo
34098         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
34100         secure_getenv: port better to FreeBSD and Solaris
34101         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
34102         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
34103         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
34104         This works better on BSDish platforms.
34105         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
34106         Test for issetugid if __secure_getenv is missing.
34108 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
34110         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
34111         Some of these changes are merged in from git Autoconf.
34112         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
34113         When deciding whether to define _XOPEN_SOURCE, inspect the
34114         preprocessor macro __hpux instead of the more-heavyweight
34115         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
34116         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
34117         as the key for __EXTENSIONS__.
34119         unistd: avoid namespace pollution on non-glibc systems
34120         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
34121         This avoids namespace pollution on non-glibc systems, by causing
34122         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
34123         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
34124         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
34126 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
34128         tmpdir: use secure_getenv
34129         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
34130         Define to secure_getenv, not getenv.
34131         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
34132         as that's now secure_getenv's job.
34133         * modules/tmpdir (Depends-on): Add secure_getenv.
34135         tempname: use secure_getenv
34136         * lib/tempname.c (__secure_getenv) [!_LIBC]:
34137         Define to secure_getenv, not getenv.
34138         * modules/tempname (Depends-on):
34139         Add secure_getenv.
34141         secure_getenv: new module
34142         * MODULES.html.sh (Extra functions based on ANSI C 89):
34143         Add secure_getenv.
34144         * doc/glibc-functions/secure_getenv.texi: New file.
34145         * doc/gnulib.texi: Include it.
34146         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
34147         New files.
34148         * lib/stdlib.in.h (secure_getenv): New decl.
34149         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
34150         * modules/stdlib (stdlib.h):
34151         Add secure_getenv checks.
34153 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
34155         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
34156         Reported for OS X 10.8.2 by Assaf Gordon in
34157         <http://bugs.gnu.org/13516>.
34158         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
34159         !HAVE_OPENAT && !HAVE_FDOPENDIR.
34160         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
34161         so that they can be kept in sync more easily.  Avoid PATH_MAX
34162         test on the Hurd.  Sync from test-getcwd.c for errno tests after
34163         mkdir or chdir failure.
34164         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
34165         lib/getcwd.c.
34166         (test_abort_bug): Do not test for the deep directory bug unless we
34167         have openat support.  Avoid PATH_MAX test on the Hurd.
34169         regex-tests, regex: fix bug: memset undeclared
34170         * tests/test-regex.c: Don't include regex.h twice.  Include
34171         string.h, to declare memset.  Christensen's report also mentioned
34172         this issue.
34173         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
34174         test-regex.c, to avoid future problems like this.  Remove
34175         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
34176         twice.
34178         regex-tests: fix link errors on older Solaris
34179         These need to link with @LIBINTL@ to get libintl_gettext.
34180         Problem reported by Tom G. Christensen in
34181         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
34182         * modules/regex-tests (test_regex_LDADD): New macro.
34184 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
34186         regex-tests: new module
34187         * modules/regex-tests, tests/test-regex.c: New files.
34189         regex: fix off-by-one error in configure test
34190         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
34192 2013-01-31  Eric Blake  <eblake@redhat.com>
34194         regex: avoid infinite configure test
34195         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
34197 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
34199         openpty: fix bug where HAVE_OPENPTY wasn't defined
34200         See the thread starting at:
34201         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
34202         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
34203         openpty function exists, not merely when we intend to replace it.
34205 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
34207         sys_time: port to Solaris 2.6
34208         There is a circularity problem on Solaris 2.6, where <time.h> includes
34209         <sys/time.h> for struct timespec.  The include nesting is gnulib
34210         <time.h>, system <time.h>, gnulib <sys/time.h>, system
34211         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
34212         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
34213         <sys/siginfo.h>; the last, innermost file needs struct
34214         timestruc_t, which is defined in <sys/time.h>, which has not been
34215         fully parsed.  Problem reported by Tom G. Christensen in
34216         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
34217         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
34218         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
34219         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
34220         uses split double-inclusion guards.
34222 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
34224         regex: test for buffer overrun
34225         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
34226         for the just-fixed regex bug.
34228 2013-01-29  Andreas Schwab  <schwab@suse.de>
34230         regex: fix buffer overrun in regexp matcher [BZ #15078]
34231         * lib/regexec.c (extend_buffers): Add parameter min_len.
34232         (check_matching): Pass minimum needed length.
34233         (clean_state_log_if_needed): Likewise.
34234         (get_subexp): Likewise.
34236 2013-01-28  Pádraig Brady  <P@draigBrady.com>
34238         mountlist: don't consider "devtmpfs" as dummy
34239         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
34240         as there is storage associcated with it.
34242 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
34244         futimens-tests, utimens-tests: Depend on gettext.
34245         This works around a problem introduced in my 2013-01-12 patch,
34246         which added @LIBINTL@ to these modules.
34247         * modules/futimens-tests (Depends-on):
34248         * modules/utimens-tests (Depends-on): Add gettext.
34250 2013-01-26  Eric Blake  <eblake@redhat.com>
34252         test-getpeername: fix typo
34253         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
34255 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
34257         bootstrap: remove the need for a sorted .gitignore file
34258         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
34259         rename to insert_if_absent(), so that we don't need or generate
34260         a sorted .gitignore file.  We do require a .gitignore with no
34261         existing duplicate entries and enforce that.
34262         (sort_patterns): Remove this function as we now use the simpler
34263         technigue of inserting blacklist entries at the top of the file,
34264         assuming gnulib won't be inserting !whitelist entries.
34266 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
34268         readlinkat: don't depend on gl_FUNC_OPENAT
34269         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
34270         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
34271         renameat.m4, symlinkat.m4; but one thing at a time.
34273         statat: new module, split out from fstatat
34274         GNU Emacs needs the POSIX-specified fstatat, but not the
34275         gnulib-specified statat and lstat.  Split the latter two into a
34276         new module 'statat'.
34277         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
34278         * lib/openat.h, lib/statat.c (STATAT_INLINE):
34279         Rename from FSTATAT_INLINE. All uses changed.
34280         * modules/fstatat (Files): Remove lib/statat.c.
34281         (gl_MODULE_INDICATOR([fstatat])): Remove.
34282         (lib_SOURCES): Remove.
34283         (Maintainer): Add self.
34284         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
34285         * tests/test-fstatat.c (BASE): Don't define if already defined.
34286         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
34288 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34290         tests: don't assume fd 99 is closed
34291         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
34292         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
34293         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
34294         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
34295         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
34296         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
34297         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
34298         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
34299         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
34300         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
34301         * tests/test-fwrite.c, tests/test-getpeername.c:
34302         * tests/test-getsockname.c, tests/test-getsockopt.c:
34303         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
34304         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
34305         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
34306         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
34307         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
34308         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
34309         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
34310         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
34311         * tests/test-unlinkat.c, tests/test-unlockpt.c:
34312         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
34313         Close file descriptor 99, instead of assuming it's already closed.
34315 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
34317         stpncpy: port to OS X 10.8
34318         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
34319         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
34321 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34323         unistd: port to recent mingw
34324         * lib/unistd.in.h: Remove special invocation convention for mingw,
34325         which breaks for the latest mingw version.  See John W. Eaton in
34326         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
34328         largefile: port better to Mac OS X 10.5
34329         This patch is backported from Autoconf git.
34330         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
34331         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
34332         with ino_t size being different for configuration time versus
34333         build/run time.  Problem reported by PHO in
34334         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
34336 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
34338         doc: clarify -Werror
34339         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
34340         clarify that it's intended for developers, not for ordinary builds,
34341         and mention --enable-gcc-warnings as one possible use.
34343 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
34345         stdint: fix build with Android's Bionic fox x86
34346         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
34347         was already included as _SSIZE_T_DEFINED_ might also be defined
34348         in include/machine/_types.h, which is included by stdio.h
34350 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
34352         net_if-tests: port to Solaris 7 + GCC 3.4.6
34353         Problem reported by Tom G. Christensen in
34354         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
34355         * tests/test-net_if.c (ni): Move to next the code that uses it,
34356         so that it's declared only if needed.
34358 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
34360         net_if-tests: port to older Solaris
34361         Problem reported by Tom G. Christensen in
34362         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
34363         * modules/net_if-tests (NET_IF_LIB): New substitution.
34364         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
34365         (HAVE_IF_NAMEINDEX): New C macro.
34366         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
34368         system-quote-tests: port to older Solaris
34369         Problem reported by Tom G. Christensen in
34370         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
34371         * tests/test-system-quote-child.c (fopen, fread): Undef.
34373         c-xvasprintf etc.: fix link errors on older Solaris
34374         These need to link with @LIBINTL@ to get libintl_gettext.
34375         Problem reported by Tom G. Christensen in
34376         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
34377         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
34378         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
34379         * modules/futimens-tests (test_futimens_LDADD):
34380         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
34382 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
34384         locale: port to Solaris 2.6 and 7 + GNU gettext
34385         * lib/locale.in.h: Just include_next <locale.h> when
34386         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
34387         when combining the localename module with GNU gettext 0.18.2.
34388         Problem reported by Tom G. Christensen in
34389         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
34391 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
34393         stdlib: port to Solaris 2.6
34394         Also, the code worked on Solaris 7 through 9 only by accident.
34395         Problem reported by Tom G. Christensen in
34396         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
34397         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
34398         simply include the system stdlib.h.
34399         * lib/getopt.in.h (__need_system_stdlib_h):
34400         * lib/pthread.in.h (__need_system_stdlib_h):
34401         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
34402         Define when including <stdlib.h>, to avoid problems at least for
34403         the pthread case on Solaris 2.6 and 7.  These .h files can get by
34404         with the system stdlib.h.
34406 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
34408         doc: update main copyright year
34409         * doc/gnulib.texi: Update copyright date.
34411         doc: improve ISO 8601 discussion
34412         * doc/parse-datetime.texi (Combined date and time of day items):
34413         Specify more carefully what formats are supported and what is
34414         done with excess precision.
34416 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
34418         doc: avoid small caps
34419         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
34420         they're more trouble than they're worth.  Suggested by Karl Berry
34421         in <http://bugs.gnu.org/13360>.
34423         regex: conform to strict C
34424         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
34425         From Aharon Robbins.
34427         gnulib-tool: fix incompatibility with autopoint 0.18.2
34428         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
34429         Problem reported by Tom G. Christensen in
34430         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
34432 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
34434         fprintftime: bring back and reword fwrite comment
34435         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
34437         stdio: remove now-unnecessary stdio.c
34438         Since stdio.in.h no longer uses inline functions, we no longer
34439         need to compile the extern versions.
34440         * lib/stdio.c: Remove.
34441         * modules/stdio (Files): Remove lib/stdio.c.
34442         (lib_SOURCES): Remove.
34444         unicodeio: depend on stdio, not ignore-value
34445         * lib/unicodeio.c: Do not include ignore-value.h.
34446         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
34447         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
34449         fprintftime: depend on stdio, not ignore-value
34450         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
34451         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
34452         since the stdio module arranges to silence that warning now.
34453         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
34455 2012-10-04  Simon Josefsson  <simon@josefsson.org>
34457         stdint-tests: Fix expanded-before-required-warning.
34458         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
34460 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34462         fwrite: silence __wur only for older glibc versions
34463         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
34464         This will help us remove this workaround some time in the far future.
34466 2013-01-03  Eric Blake  <eblake@redhat.com>
34468         fwrite: silence __wur without using inline
34469         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
34470         just gcc, and in a way that avoids inline issues.
34471         * modules/stdio (Depends-on): Drop extern-inline.
34473 2013-01-03  Jim Meyering  <jim@meyering.net>
34475         update-copyright: avoid copyright notice date corruption
34476         Given a sequence of copyright year numbers in which the final
34477         one was a two-digit number that happened to be a substring of
34478         a preceding four-digit year number, we would mistakenly update
34479         the substring (from two- to four-digit) rather than the two-digit
34480         number at the end, which, combined with the addition of the current
34481         4-digit year number would yield two 5-digit year numbers, e.g.,
34482         here, it would convert the first "99" to "1999, 2013" rather than
34483         the final one:
34484           1991, 99
34485           11999, 20131, 1999
34486         * build-aux/update-copyright: Tighten a regexp.
34487         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
34488         Reported by Joseph Myers in
34489         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
34491 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34493         regex: omit needless signed-pointer casts
34494         * lib/regcomp.c (build_charclass, build_charclass_op):
34495         Use char *, not unsigned char *, for class name and extra.
34496         The char values are always nonnegative so there's no need to
34497         insist on unsigned char * here, and using char * removes the need
34498         for casts.  Reported by Aharon Robbins in
34499         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34501         regex: support Gawk, which never uses alloca
34502         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
34503         Do not include in this case.  Gawk doesn't supply a substitute
34504         alloca.h and doesn't need one.
34506         regex: port __libc_lock_define usage to C89
34507         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
34508         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
34509         does not conform to C89, as it has an empty macro argument.
34510         Reported by Aharon Robbins in
34511         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34513 2013-01-01  Eric Blake  <eblake@redhat.com>
34515         maint: update all copyright year number ranges
34516         Run "make update-copyright".
34518         version-etc: bump copyright year reported in --version
34519         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
34521 2012-12-31  Eric Blake  <eblake@redhat.com>
34523         sigprocmask-tests: skip test if pid is unexpectedly large
34524         * tests/test-sigprocmask.c (main): Add range check.
34526         git-version-gen: avoid test -z portability glitch
34527         * build-aux/git-version-gen: Prefer portable test spelling, since
34528         git-version-gen is run on more than just developer machines.
34530 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
34532         git-version-gen: add --fallback option to use if git is not present
34533         * build-aux/git-version-gen: Add support for the new option --fallback,
34534         which comes into play when there is no $tarball_version_file and
34535         git is not working.
34536         (scriptversion): Update.
34538         maint.mk: handle missing git with more grace
34539         * top/maint.mk (no-submodule-changes, public-submodule-commit):
34540         Quietly proceed if git is not present.
34542 2012-12-31  Eric Blake  <eblake@redhat.com>
34544         dup2: work around cygwin bug
34545         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
34546         * lib/dup2.c (rpl_dup2): Work around it.
34547         * doc/posix-functions/dup2.texi (dup2): Document it.
34549 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
34551         regex: remove unnecessary dependency on localcharset.h
34552         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
34553         hasn't been needed for years.
34554         * modules/regex (Depends-on): Remove localcharset.
34556         regex: revert single-byte change
34557         * lib/regexec.c (check_node_accept_bytes): Revert previous change
34558         to this function.  This was alredy fixed in a different way, at
34559         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
34560         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
34561         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
34563         regex: simplify based on Gawk version
34564         * lib/regex_internal.c (re_dfa_add_node): Simplify.
34565         Reported by Aharon Robbins in
34566         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34568 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
34570         regex: check that pattern char is single-byte
34571         Reported by Aharon Robbins in
34572         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34573         * lib/regexec.c (check_node_accept_bytes):
34574         Return 0 if the pattern string has a multibyte character here.
34576         regex: implement rational ranges
34577         Reported by Aharon Robbins in
34578         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34579         * lib/regcomp.c (build_range_exp) [!_LIBC]:
34580         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
34581         Implement rational ranges.
34583         regex: avoid redefining __wctype
34584         Reported by Aharon Robbins in
34585         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34586         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
34587         #undef before defining.
34589         regex: port to hosts where malloc (0) == NULL
34590         Reported by Aharon Robbins in
34591         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34592         * lib/regex_internal.c (re_node_set_alloc):
34593         Don't assume that malloc (0) yields nonnull.
34594         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
34595         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
34596         * modules/regex (Files): Add m4/eealloc.m4.
34598         regex: port to C89
34599         Reported by Aharon Robbins in
34600         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
34601         * lib/regcomp.c (init_word_char): Declaration before statement.
34603         regex: merge glibc changes
34604         Also, copy the license wording from glibc.  This simplifies
34605         merging changes.  gnulib-tool will change the wording to GPL as
34606         appropriate, when importing it to other packages.  The only
34607         glibc change made since the last merge, which needs merging, is:
34608         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
34609         * lib/regex_internal.h (gettext): Remove use of INTUSE.
34611         * users.txt: Add Emacs.
34613         doc: omit mention of version when not needed
34614         * doc/gnulib-intro.texi (Portability and Application Code):
34615         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
34616         Don't mention particular dates or versions when not necessary, so
34617         that the documentation won't go out of date so quickly.
34619         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
34621 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
34623         bootstrap: pass --force to autoreconf.
34624         * build-aux/bootstrap (AUTORECONFFLAGS): New.
34625         Add "--force" so that Automake's ylwrap and other such tools
34626         be updated at each bootstrap invocation.
34627         Use it.
34629 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
34631         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
34632         The earlier patch forgot to update one of the #if conditions, causing
34633         a problem on Debian testing i386 reported by Mats Erik Andersson
34634         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
34635         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
34636         (__argp_fmtstream_puts, argp_fmtstream_puts)
34637         (__argp_fmtstream_write, argp_fmtstream_write)
34638         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
34640         * doc/gnulib-readme.texi: Minor fixups.
34641         (Portability guidelines): Modernize URLs.  Remove some repetition.
34642         (Indent with spaces not TABs): Reword to avoid too-long lines.
34643         Remove some '@ifset standalone' stuff that isn't used.
34645         * doc/gnulib-readme.texi (Portability guidelines):
34646         ctype.h, not ctime.h.
34648         Correct name of POSIX.1-2001.
34649         * doc/posix-functions/fgetc.texi (fgetc):
34650         * doc/posix-functions/fgets.texi (fgets):
34651         * doc/posix-functions/fread.texi (fread):
34652         * doc/posix-functions/fscanf.texi (fscanf):
34653         * doc/posix-functions/getc.texi (getc):
34654         * doc/posix-functions/getchar.texi (getchar):
34655         * doc/posix-functions/scanf.texi (scanf):
34656         POSIX.1-2001, not POSIX-2001.
34658         doc: move README into manual
34659         * README: Move contents to new file doc/gnulib-readme.texi.
34660         Replace with a one-line summary.
34661         * doc/gnulib.texi (Brief Overview): New section,
34662         with old intro preface.  Include gnulib-readme.texi for contents.
34663         (Philosophy): Rename from "Introduction", since this
34664         section no longer introduces the rest.  Write a new preface.
34665         * doc/gnulib-readme.texi: New file, with the old contents of
34666         README texinfo-ized.  This way, the README info appears
34667         in the online and printed manual.
34669 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
34671         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
34672         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
34673         c_vasprintf() prototype.
34675 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
34677         c-vasprintf: Fix "empty declaration" warning reported by GCC.
34678         * lib/c-vasprintf.h: Remove stray semicolon.
34680 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
34682         gettext: avoid obsolete macro AM_PROG_MKDIR_P
34683         It is obsolete and is planned to be removed from Automake 1.14; see
34684         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
34685         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
34686         (installdirs-data, installdirs-data-yes):
34687         Use $(MKDIR_P), not $(mkdir_p).
34688         * m4/intl.m4 (AM_INTL_SUBDIR):
34689         * m4/po.m4 (AM_PO_SUBDIRS):
34690         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
34692 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
34694         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
34695         On this platform, we are not optimizing but we are using
34696         the substitute for extern inlines, so compile as if
34697         C99-style extern inline, or a substitute, is available.
34698         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
34699         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
34700         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
34701         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
34702         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
34703         Declare as ARGP_FS_EI, not as extern.
34704         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
34705         (__option_is_short, _option_is_end, __option_is_end)
34706         [!_LIBC && __USE_EXTERN_INLINES]:
34707         Declare as ARGP_EI, not as extern.
34709 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
34711         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
34712         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
34713         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
34714         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
34715         ...), as the latter is fatal with older Autoconfs.
34716         Problem reported and fix suggested by Eric Blake in thread starting at
34717         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
34719 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
34721         AC_PROG_MKDIR_P: don't workaround if not buggy
34722         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
34723         Define only for Autoconf versions before 2.62.
34724         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
34725         undocumented m4_PACKAGE_VERSION, for consistency with the
34726         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
34727         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
34728         was introduced in 2.62.
34730 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
34732         New 'c-*printf' modules for formatted output in C locale.
34734         New module 'c-vasnprintf'.
34735         * modules/c-vasnprintf: New file.
34736         * lib/c-vasnprintf.c: New file.
34737         * lib/c-vasnprintf.h: New file.
34739         New module 'c-snprintf'.
34740         * modules/c-snprintf: New file.
34741         * modules/c-snprintf-tests: New file.
34742         * lib/c-snprintf.c: New file.
34743         * lib/c-snprintf.h: New file.
34744         * tests/test-c-snprintf.c: New file.
34745         * tests/test-c-snprintf.sh: New file.
34747         New module 'c-vsnprintf'.
34748         * modules/c-vsnprintf: New file.
34749         * modules/c-vsnprintf-tests: New file.
34750         * lib/c-vsnprintf.c: New file.
34751         * lib/c-vsnprintf.h: New file.
34752         * tests/test-c-vsnprintf.c: New file.
34753         * tests/test-c-vsnprintf.sh: New file.
34755         New module 'c-vasprintf'.
34756         * modules/c-vasprintf: New file.
34757         * modules/c-vasprintf-tests: New file.
34758         * lib/c-asprintf.c: New file.
34759         * lib/c-vasprintf.c: New file.
34760         * lib/c-vasprintf.h: New file.
34761         * tests/test-c-vasprintf.c  +: New file.
34762         * tests/test-c-vasprintf.sh: New file.
34764         New module 'c-xvasprintf'.
34765         * modules/c-xvasprintf: New file.
34766         * modules/c-xvasprintf-tests: New file.
34767         * lib/c-xasprintf.c: New file.
34768         * lib/c-xvasprintf.c: New file.
34769         * lib/c-xvasprintf.h: New file.
34770         * tests/test-c-xvasprintf.c: New file.
34771         * tests/test-c-xvasprintf.sh: New file.
34773 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
34775         argp: better 'inline'
34776         Use extern-inline module to declare extern inline functions.
34777         This avoids some bogus warning diagnostics.  Problem discovered
34778         when modifying GNU tar to use the manywarnings module.
34779         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
34780         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
34781         Define based on extern-inline.
34782         * modules/argp (Depends-on): Add extern-inline.
34784 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34786         filemode, sys_stat: Handle MPX files a la AIX.
34787         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
34788         * lib/sys_stat.in.h (S_ISMPX): New macro.
34789         * tests/test-sys_stat.c: Add tests for MPX files.
34791 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34793         x-to-1: honor $PERL
34794         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
34795         a chance to use his preferred version of Perl.  This is typically
34796         required by Darwin users whose default /usr/bin/perl does not have all
34797         the libraries required by help2man, and who need to use their MacPorts
34798         installation of Perl instead.
34800 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
34802         gnu-web-doc-update: add all the new files, even in new directories
34803         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
34804         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
34805         Use it.
34806         (main): Don't use cvsutils to get the list of unknown files,
34807         just add all the existing files and directories.
34809 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
34811         gnu-web-doc-update: improve --help
34812         * build-aux/gnu-web-doc-update: Move comments into --help.
34814 2012-12-07  Eric Wong  <normalperson@yhbt.net>
34816         mountlist: recognize more "dummy" file systems
34817         * lib/mountlist.c (ME_DUMMY_0):
34818         Add these dummy FS names to the list:
34819         - "debugfs" virtual filesystem for kernel debugging
34820         - "devpts" PTY slave filesystem
34821         - "devtmpfs" device filesystem on top of tmpfs/ramfs
34822         - "fusectl" control filesystem for FUSE
34823         - "mqueue" enumerates POSIX message queues
34824         - "rpc_pipefs" kernel <-> userspace bridge for NFS
34825         - "sysfs" is for exporting kernel objects
34826         - "devfs" device filesystem for Linux 2.4 and FreeBSD
34828 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
34830         extern-inline: avoid incompatibility with Darwin Libc
34831         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
34832         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
34833         Problem reported by Akim Demaille in
34834         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
34836 2012-12-11  Simon Josefsson  <simon@josefsson.org>
34838         gnupload: Work with GnuPG using gpg-agent (for smartcards).
34839         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
34840         let it handle password prompting.
34842 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
34844         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
34845         * lib/canonicalize.c (canonicalize_filename_mode):
34846         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
34847         fetching the current directory.  Don't overrun the beginning of
34848         rpath if there's no slashes after the MS-Windows drive letter.
34850 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
34852         maint.mk: avoid extra forks
34853         * top/maint.mk (_cfg_mk): The GNU make manual documents that
34854         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
34855         So use that instead of "$(shell test -f FILE && echo FILE)".
34857 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34859         vasnprintf: fix ASCII_ONLY typo
34860         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
34861         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
34862         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
34863         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
34864         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
34866 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34868         list, oset, xlist, xoset: fix extern inline issue with C99
34869         This was introduced by my recent changes for 'inline'.
34870         Problem reported for gettext by Daiki Ueno in
34871         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
34872         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
34873         (gl_list_nx_create, gl_list_size, gl_list_node_value)
34874         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
34875         (gl_list_previous_node, gl_list_get_at)
34876         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
34877         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
34878         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
34879         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
34880         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
34881         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
34882         (gl_list_iterator_free, gl_sortedlist_search)
34883         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
34884         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
34885         (gl_sortedlist_remove):
34886         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
34887         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
34888         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
34889         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
34890         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
34891         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
34892         (gl_list_add_at, gl_sortedlist_add):
34893         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
34894         Wrap these extern decls inside "#if 0", because they are implemented
34895         as inline functions, and extern inline is not what's wanted here.
34896         It would simplify these .h files to remove the extern decls entirely,
34897         although a downside would be less-clear separation between
34898         specification and implementation.
34900 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34902         sys_stat: no 'static inline'
34903         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
34904         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
34906         extern-inline: no 'static inline'
34907         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
34908         Do not require AC_C_INLINE.
34909         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
34910         'static inline', for older compilers.
34912         snippet/warn-on-use: no 'static inline'
34913         * build-aux/snippet/warn-on-use.h:
34914         Remove unnecessary 'inline' in comment.
34916         rbtree-list, rbtreehash-list: no 'static inline'
34917         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
34918         * lib/gl_anytree_list2.h (node_at):
34919         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
34920         (gl_oset_first, add_nodes_to_buckets):
34921         Now static, not static inline.
34923         regex: no 'static inline'
34924         * lib/regex_internal.c (calc_state_hash):
34925         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
34926         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
34927         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
34928         Now static, not static inline.
34929         (inline) [__GNUC__ < 3 && _LIBC]:
34930         Remove macro; no longer needed.
34932         xvasprintf: no 'static inline'
34933         * lib/xvasprintf.c (xstrcat):
34934         Now static, not static inline.
34935         * m4/xvasprintf.m4 (gl_XVASPRINTF):
34936         Do not require AC_C_INLINE.
34938         parse-datetime, parse-duration: no 'static inline'
34939         * lib/parse-datetime.y (to_uchar):
34940         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
34941         (scale_n_add):
34942         Now static, not static inline.
34943         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
34944         * modules/parse-duration (configure.ac):
34945         Do not require AC_C_INLINE.
34947         getaddrinfo: no 'static inline'
34948         * lib/getaddrinfo.c (validate_family):
34949         Now static, not static inline.
34950         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
34951         Do not require AC_C_INLINE.
34953         ftruncate, fts, lstat, openat, raise: no 'static inline'
34954         * lib/ftruncate.c (chsize_nothrow):
34955         * lib/fts.c (opendirat, diropen):
34956         * lib/lstat.c (orig_lstat):
34957         * lib/openat.c (orig_openat):
34958         * lib/raise.c (raise_nothrow):
34959         Now static, not static inline.
34960         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
34961         * m4/fts.m4 (gl_FUNC_FTS_CORE):
34962         * m4/lstat.m4 (gl_PREREQ_LSTAT):
34963         * m4/openat.m4 (gl_PREREQ_OPENAT):
34964         * m4/raise.m4 (gl_PREREQ_RAISE):
34965         Do not require AC_C_INLINE.
34967         fflush, stat: no 'static inline'
34968         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
34969         (clear_ungetc_buffer, disable_seek_optimization)
34970         (restore_seek_optimization, update_fpos_cache):
34971         * lib/stat.c (orig_stat):
34972         Now static, not static inline.
34973         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
34974         (update_fpos_cache):
34975         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
34976         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
34977         * m4/stat.m4 (gl_PREREQ_STAT):
34978         Do not require AC_C_INLINE.
34980         error, filevercmp: no 'static inline'
34981         * lib/error.c (is_open, flush_stdout):
34982         * lib/filevercmp.c (order):
34983         Now static, not static inline.
34984         * m4/error.m4 (gl_PREREQ_ERROR):
34985         * modules/filevercmp (configure.ac):
34986         Do not require AC_C_INLINE.
34988         dup, execute, fatal-signal, etc.: no 'static inline'
34989         * lib/dup.c (dup_nothrow):
34990         * lib/execute.c (nonintr_close, nonintr_open):
34991         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
34992         * lib/fopen.c (orig_fopen):
34993         * lib/freadseek.c (freadptrinc):
34994         * lib/freopen.c (orig_freopen):
34995         * lib/fstat.c (orig_fstat, fstat_nothrow):
34996         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
34997         (get_rusage_as_via_iterator):
34998         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
34999         * lib/getdtablesize.c (_setmaxstdio_nothrow):
35000         * lib/isatty.c (_isatty_nothrow):
35001         * lib/open.c (orig_open):
35002         * lib/read.c (read_nothrow):
35003         * lib/sigprocmask.c (signal_nothrow):
35004         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
35005         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
35006         * lib/wait-process.c (unregister_slave_subprocess):
35007         * lib/write.c (write_nothrow):
35008         Now static, not static inline.
35009         * lib/spawn-pipe.c (nonintr_open): Define only if
35010         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
35011         * m4/dup.m4 (gl_PREREQ_DUP):
35012         * m4/execute.m4 (gl_EXECUTE):
35013         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
35014         * m4/fopen.m4 (gl_PREREQ_FOPEN):
35015         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
35016         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
35017         * m4/fstat.m4 (gl_PREREQ_FSTAT):
35018         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
35019         * m4/isatty.m4 (gl_PREREQ_ISATTY):
35020         * m4/open.m4 (gl_PREREQ_OPEN):
35021         * m4/read.m4 (gl_PREREQ_READ):
35022         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
35023         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
35024         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
35025         * m4/wait-process.m4 (gl_WAIT_PROCESS):
35026         * m4/write.m4 (gl_PREREQ_WRITE):
35027         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
35028         Do not require AC_C_INLINE.
35030         c-strtod, memcoll, readutmp: no 'static inline'
35031         * lib/c-strtod.c (c_locale):
35032         * lib/memcoll.c (strcoll_loop):
35033         * lib/readutmp.c (desirable_utmp_entry):
35034         Now static, not static inline.
35035         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
35036         * m4/memcoll.m4 (gl_MEMCOLL):
35037         * m4/readutmp.m4 (gl_READUTMP):
35038         Do not require AC_C_INLINE.
35040         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
35041         * lib/arctwo.c (to_uchar):
35042         * lib/md4.c (set_uint32):
35043         * lib/md5.c (set_uint32):
35044         * lib/sha1.c (set_uint32):
35045         * lib/sha256.c (set_uint32):
35046         * lib/sha512.c (set_uint64):
35047         Now static, not static inline.  This is a bit simpler, and doesn't
35048         affect performance with GCC and default optimization.
35049         * m4/arctwo.m4 (gl_ARCTWO):
35050         * m4/md4.m4 (gl_MD4):
35051         * m4/md5.m4 (gl_MD5):
35052         * m4/sha1.m4 (gl_SHA1):
35053         * m4/sha256.m4 (gl_SHA256):
35054         * m4/sha512.m4 (gl_SHA512):
35055         Do not require AC_C_INLINE.
35057         cond, lock, thread: better 'inline'
35058         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
35059         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
35060         New macros.  Use them instead of static inline, for header functions.
35061         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
35062         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
35063         * lib/glthread/lock.c (gl_waitqueue_init)
35064         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
35065         * lib/glthread/thread.c (get_current_thread_handle):
35066         Change 'static inline' to 'inline'.
35067         * lib/glthread/cond.h, lib/glthread/thread.h:
35068         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35069         * m4/cond.m4 (gl_COND):
35070         * m4/lock.m4 (gl_PREREQ_LOCK):
35071         * m4/thread.m4 (gl_THREAD):
35072         Do not require AC_C_INLINE.
35073         * modules/cond, modules/thread (Depends-on): Add extern-inline.
35075         chdir-long, cycle-check, savewd: better 'inline'
35076         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
35077         (find_non_slash):
35078         * lib/cycle-check.c (is_zero_or_power_of_two):
35079         * lib/savewd.c (savewd_delegating):
35080         Change 'static inline' to 'inline'.
35081         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
35082         Replace all remaining uses of 'static inline' with it.
35083         * lib/savewd.h:
35084         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35085         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
35086         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
35087         * m4/savewd.m4 (gl_SAVEWD):
35088         Do not require AC_C_INLINE.
35089         * modules/savewd (Depends-on): Add extern-inline.
35091         base32, base64: no need for 'inline'
35092         * lib/base32.c (to_uchar, get_8, decode_8):
35093         * lib/base64.c (to_uchar, get_4, decode_4):
35094         Change 'static inline' to 'inline'.
35095         * m4/base32.m4 (gl_PREREQ_BASE32):
35096         * m4/base64.m4 (gl_PREREQ_BASE64):
35097         Do not require AC_C_INLINE.
35099         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
35100         * lib/gl_array_oset.c (gl_array_nx_add_at):
35101         (gl_array_remove_at):
35102         * lib/gl_linkedhash_list.c (hash_resize_after_add)
35103         (add_to_bucket, remove_from_bucket):
35104         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
35105         Change 'static inline' to 'static', as it's simpler to omit
35106         'inline' unless there's a significant performance advantage.
35108         list, oset, xlist, xoset, xsublist: simplify via extern inline
35109         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
35110         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
35111         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
35112         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
35113         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
35114         New macro.  Replace all uses of 'static inline' with it.
35115         [HAVE_INLINE]: Implement functions as *_INLINE functions,
35116         instead of as macros FOO that are defined to static inline
35117         functions FOO_inline.
35118         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
35119         * lib/gl_xsublist.c:
35120         Reimplement from scratch, by defining the corresponding *_INLINE
35121         macro and including the corresponding .h file.  This is simpler.
35122         * modules/list, modules/oset, modules/xlist, modules/xoset:
35123         (Files): Remove m4/gl_list.m4.
35124         (configure.ac): Remove gl_LIST.
35125         * m4/gl_list.m4: Remove.
35126         * modules/list, modules/oset, modules/xlist, modules/xoset:
35127         * modules/xsublist:
35128         (Depends-on): Depend on extern-inline, not inline.
35130         xalloc: better 'inline'
35131         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
35132         New macro.  Replace all uses of 'static inline' with it.
35133         (static_inline): Remove.
35134         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
35135         Let 'extern inline' do the work automatically, instead of doing
35136         it by hand.
35137         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
35138         Remove.  All uses removed.
35139         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
35141         gethrxtime: better 'inline'
35142         * lib/xtime.c: New file.
35143         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
35144         * lib/xtime.h (XTIME_INCLUDE):
35145         New macros.  Replace all uses of 'static inline' with them.
35146         * lib/gethrxtime.c (gethrxtime): Define only if
35147         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
35148         this source file is now always compiled, because of the extern inline.
35149         * lib/gethrxtime.h, lib/xtime.h:
35150         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35151         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
35152         if gethrtime works, as they're not needed in that case.
35153         (gl_XTIME): Do not require AC_C_INLINE.
35154         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
35155         compiled now.  Move the check into gl_GETHRXTIME.
35156         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
35157         (Depends-on): Add extern-inline.
35158         (configure.ac): gethrxtime is always compiled now.
35159         (lib_SOURCES): Add gethrxtime.c.
35161         wctype-h: better 'inline'
35162         * lib/wctype-h.c: New file.
35163         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
35164         New macro.  Replace all uses of 'static inline' with it.
35165         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35166         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
35167         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
35168         (Depends-on): Add extern-inline.
35170         unistd: better 'inline'
35171         * lib/unistd.c: New file.
35172         * lib/unistd.in.h (_GL_UNISTD_INLINE):
35173         New macro.  Replace all uses of 'static inline' with it.
35174         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35175         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
35176         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
35177         (Depends-on): Add extern-inline.
35179         sys_socket: better 'inline'
35180         * lib/sys_socket.c: New file.
35181         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
35182         New macro.  Replace all uses of 'static inline' with it.
35183         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35184         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
35185         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
35186         (Depends-on): Add extern-inline.
35188         stdio: better 'inline'
35189         * lib/stdio.c: New file.
35190         * lib/stdio.in.h (_GL_STDIO_INLINE):
35191         New macro.  Replace all uses of 'static inline' with it.
35192         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35193         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
35194         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
35195         (Depends-on): Add extern-inline.
35197         sigaction: better 'inline'
35198         * lib/sig-handler.c: New file.
35199         * lib/sig-handler.h (SIG_HANDLER_INLINE):
35200         New macro.  Replace all uses of 'static inline' with it.
35201         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35202         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
35203         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
35204         (Depends-on): Add extern-inline.
35206         selinux-h: better 'inline'
35207         * lib/se-context.c, lib/se-selinux.c: New files.
35208         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
35209         * lib/se-context.in.h (SE_CONTEXT_INLINE):
35210         New macro.  Replace all uses of 'static inline' with it.
35211         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35212         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
35213         New macro.  Replace all uses of 'static inline' with it.
35214         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35215         * modules/selinux-h (Files, lib_SOURCES):
35216         Add lib/se-context.c, lib/se-selinux.c.
35217         (Depends-on): Add extern-inline.
35218         (configure.ac): Do not require AC_C_INLINE.
35220         pthread: better 'inline'
35221         * lib/pthread.c: New file.
35222         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
35223         New macro.  Replace all uses of 'static inline' with it.
35224         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35225         * m4/pthread.m4 (gl_PTHREAD_CHECK):
35226         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
35227         * modules/pthread (Files): Add lib/pthread.c.
35228         (Depends-on): Add extern-inline.
35230         math: better 'inline'
35231         * lib/math.c: New file.
35232         * lib/math.in.h (_GL_MATH_INLINE):
35233         New macro.  Replace all uses of 'static inline' with it.
35234         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35235         * m4/math_h.m4 (gl_MATH_H):
35236         Do not require AC_C_INLINE.
35237         * modules/math (Files, lib_SOURCES):
35238         Add lib/math.c.
35239         (Depends-on): Add extern-inline.
35241         count-one-bits: better 'inline'
35242         * lib/count-one-bits.c: New file.
35243         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
35244         New macro.  Replace all uses of 'static inline' with it.
35245         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35246         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
35247         Do not require AC_C_INLINE.
35248         * modules/count-one-bits (Files, lib_SOURCES):
35249         Add lib/count-one-bits.c.
35250         (Depends-on): Add extern-inline.
35252         count-leading-zeros: better 'inline'
35253         * lib/count-leading-zeros.c: New file.
35254         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
35255         New macro.  Replace all uses of 'static inline' with it.
35256         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35257         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
35258         Do not require AC_C_INLINE.
35259         * modules/count-leading-zeros (Files, lib_SOURCES):
35260         Add lib/count-leading-zeros.c.
35261         (Depends-on): Add extern-inline.
35263         bitrotate: better 'inline'
35264         * lib/bitrotate.c: New file.
35265         * lib/bitrotate.h (BITROTATE_INLINE):
35266         New macros.
35267         Replace all uses of 'static inline' with them.
35268         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35269         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
35270         (Depends-on): Add extern-inline.
35271         (configure.ac): Do not require AC_C_INLINE.
35273 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
35275         maint.mk: avoid gratuitous failure
35276         Reported by Stefano Lattarini in
35277         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
35278         * top/maint.mk (public-submodule-commit): Quote more safely.
35280 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
35282         canonicalize, canonicalize-lgpl: support MS-Windows file names
35283         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
35284         for test cases, which it'd be nice to add at some point.
35285         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
35286         * lib/canonicalize.c (canonicalize_filename_mode):
35287         * lib/canonicalize-lgpl.c (__realpath):
35288         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
35289         slash is at the beginning of the file name.  Use ISSLASH, instead
35290         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
35291         the first character with '/'.  Test for
35292         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
35293         with a drive letter.
35294         * lib/canonicalize.c (SLASHES): New macro.
35295         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
35297 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
35299         fts: introduce FTS_VERBATIM
35300         * lib/fts_.h (FTS_VERBATIM): New bit flag.
35301         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
35302         * lib/fts.c (fts_open): Honor it.
35304 2012-11-09  Pádraig Brady  <P@draigBrady.com>
35306         getlogin-tests: allow errno == ENXIO
35307         * tests/test-getlogin.c (main): Skip tests if getlogin fails
35308         with errno == ENXIO (No controlling tty).
35309         getlogin_r-tests: Likewise. Also allow errno == ENOENT
35310         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
35311         with errno == ENOENT.  This was reported to happen in various
35312         situations on GNU/Linux.
35314 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
35316         getlogin-tests: allow errno == ENOENT
35317         * tests/test-getlogin.c (main): Skip tests if getlogin fails
35318         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
35319         when running a test in an Emacs shell buffer.
35321 2012-11-08  Jim Meyering  <jim@meyering.net>
35323         tests/nap.h: avoid warning about unused variable
35324         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
35326         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
35327         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
35328         white space before each of the special-cased file names, to avoid
35329         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
35330         in http://bugs.gnu.org/12830.
35332 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35334         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
35335         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
35336         fails with errno == EBADF when fd is opened with O_PATH.
35337         Reported by Jim Meyering in
35338         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
35339         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
35340         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
35342 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
35344         test-utimens: speed up by taking shorter naps
35345         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
35346         New functions.
35347         (nap): Use them, to do a better job of guessing the delay.
35348         On Fedora 17 with ext4 atop md atop hard disks, this made
35349         test-utimens run 10x faster, because the test napped for
35350         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
35351         <http://bugs.gnu.org/12820#11>.
35353 2012-11-07  Jim Meyering  <jim@meyering.net>
35355         mountlist.c: fix a compilation failure
35356         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
35357         I introduced while transforming commit v0.0-7683-g613bcb6
35359 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
35361         errno: port to LynxOS 178 2.2.2
35362         Problem reported by Joel Brobecker in
35363         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
35364         * doc/posix-headers/errno.texi (errno.h): Document this.
35365         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
35366         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
35367         Supply a string for EILSEQ.
35368         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
35370 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
35372         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
35373         Linux kernel 2.6.39 introduced O_PATH (see
35374         <http://lwn.net/Articles/433854/>) and this is a better fallback
35375         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
35376         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
35377         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
35378         * lib/fcntl.in.h (O_ACCMODE):
35379         * tests/test-fcntl-h.c (main):
35380         Do not reject O_ACCMODE merely because it has more than the
35381         minimal number of bits, as POSIX allows extensions here.
35383 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
35385         mountlist: do not classify a bind-mounted dir entry as "dummy"
35386         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
35387         the "none"-testing clause.
35388         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
35389         exception for bind-mounted directories.
35391 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
35393         quote: provide a means to escape strings with nul characters
35394         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
35395         (quote, quote_n): Rename formal arguments for consistency with
35396         quotearg.
35398 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
35400         test-raise: don't assume 199 is an invalid signal
35401         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
35403         sh-quote-tests: port to Solaris 9
35404         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
35405         Problem reported by Dagobert Michelsen in
35406         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
35408 2012-10-28  Jim Meyering  <jim@meyering.net>
35410         maint.mk: rename a new configurable variable
35411         * top/maint.mk (_gl_translatable_string_re): Rename from
35412         translation-markers: _gl_ prefix to insulate from user Makefile code,
35413         and the _re suffix to inform that it's a regular expression.
35415 2012-10-26  Eric Blake  <eblake@redhat.com>
35417         maint.mk: let packages tweak sc_po_check pattern
35418         * top/maint.mk (sc_po_check): Add translation-markers, to allow
35419         finding files with other translation markers.
35421 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35423         euidaccess: speed up 'configure' on GNU hosts
35424         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
35425         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
35426         it's needed only in this case.  Use AC_CHECK_DECLS, not
35427         AC_CHECK_DECLS_ONCE.
35428         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
35429         or AC_REQUIRE for AC_FUNC_GETGROUPS.
35431         * lib/regexec.c (re_search_internal): Fix grammar in comment.
35433 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
35435         fchmodat, fchownat, fstatat: port to non-inlining compilers
35436         Problem reported for FreeBSD 9 by Jim Meyering in
35437         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
35438         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
35439         New files, which define FCHMODAT_INLINE etc.
35440         * lib/fchmodat.c (FCHMODAT_INLINE):
35441         * lib/fchownat.c (FCHOWNAT_INLINE):
35442         * lib/fstatat.c (FSTATAT_INLINE):
35443         Remove, as chmodat.c etc. now do this.
35444         * modules/fchmodat (Files): Add lib/chmodat.c.
35445         * modules/fchownat (Files): Add lib/chownat.c.
35446         * modules/fstatat (Files): Add lib/statat.c.
35448 2012-10-15  Jim Meyering  <jim@meyering.net>
35450         fchmodat.c, fchownat.c: compile-impeding typos
35451         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
35452         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
35453         Introduced in commit v0.0-7636-gd202279.
35455 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
35457         fcntl-h: support GNU flags like O_IGNORE_CTTY
35458         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
35459         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
35460         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
35461         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
35462         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
35463         Define to 0 if not already defined.
35464         * tests/test-fcntl-h.c: Test these new flags.
35466 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
35468         faccessat, etc.: support AT_FDCWD-only use
35469         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
35470         this function only if its first argument is AT_FDCWD.
35471         Emacs wants faccessat for AT_EACCESS but not for any first-arg
35472         values other than AT_FDCWD, so it doesn't want all the openat
35473         machinery with fchdir etc.
35474         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
35475         * modules/fstatat, modules/mkdirat, modules/openat (Files):
35476         * modules/unlinkat (Files):
35477         Remove lib/openat-priv.h, as at-internal supplies this file.
35478         Removing this file here allows us to support programs like Emacs
35479         that avoid at-internal.
35481         faccessat: speed up 'configure' on mainstream hosts
35482         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
35483         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
35484         since it's only on unusual platforms that we need to check for
35485         'access', and it's better not to slow 'configure' down on all
35486         platforms.
35488         faccessat: port to Solaris 10
35489         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
35490         Needed on Solaris 10, which doesn't have AT_EACCESS,
35491         so we need the Gnulib fcntl.h, which defines it.
35493 2012-10-14  Pádraig Brady  <P@draigBrady.com>
35494         canonicalize: fix C89 compilation
35495         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
35496         declarations so C89 is supported.  Also remove the comment
35497         referencing memorty allocation as the suggested feature could
35498         not be implemented as suggested.
35499         Reported by Michael Goffioul.
35501 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
35503         group-member: omit unnecessary dependencies
35504         This is for Emacs, which has its own allocator and where we
35505         don't want to use xalloc.
35506         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
35507         since we no longer use xmalloc.  Do not include stdbool.h, since
35508         the changes below happen to remove the only use of bool.
35509         (GROUPBUF_SIZE): New constant.
35510         (struct group_info): Remove n_groups member.  Add groupbuf member.
35511         This lets us get the groups without using malloc, usually.
35512         (free_group_info, get_group_info): Adjust to this.
35513         (get_group_info): Return the number of groups found, or -1 on error.
35514         Use plain malloc not xmalloc, and treat its failure as if there
35515         are no groups, as the user already loses in case of error.
35516         (group_member): Simplify, based on changes to get_group_info.
35517         * modules/group-member (Depends-on): Remove dependencies on
35518         xalloc and stdbool.  Add dependency on xalloc-oversized.
35520 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
35522         gethrxtime: port to C++
35523         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
35525 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
35527         ptsname: fix macro-name typo
35528         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
35530 2012-10-03  Simon Josefsson  <simon@josefsson.org>
35532         inttostr: Relax license.
35533         * modules/inttostr (License): Change from LGPL to LGPLv2+.
35535 2012-10-03  Eric Blake  <eblake@redhat.com>
35537         ptsname_r: support ptys returned by FreeBSD posix_openpt
35538         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
35539         lives in /dev/pts/.
35541 2012-10-02  Eric Blake  <eblake@redhat.com>
35543         pselect: reject invalid file descriptors
35544         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
35545         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
35546         * modules/pselect (Depends-on): Add dup2.
35547         * doc/posix-functions/pselect.texi (pselect): Document this.
35549         select: reject invalid file descriptors
35550         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
35551         * lib/select.c (rpl_select) [!win32]: Work around it.
35552         * modules/select (Depends-on): Add dup2.
35553         * doc/posix-functions/select.texi (select): Document this.
35555         select: enhance test
35556         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
35557         New functions.
35558         (test_function): Enhance test.
35559         (do_select_bad_fd): Avoid any stale errno values.
35561         ptsname: reject invalid file descriptors
35562         http://www.austingroupbugs.net/view.php?id=503
35563         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
35564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
35565         * modules/stdlib (Makefile.am): Replace witness.
35566         * lib/stdlib.in.h (ptsname): Allow for replacement.
35567         * modules/ptsname (configure.ac): Trigger replacement.
35568         * doc/posix-functions/ptsname.texi (ptsname): Document this.
35570 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
35572         hash-pjw-bare: new module
35573         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
35574         * lib/hash-pjw-bare.h: Likewise.
35575         * modules/hash-pjw-bare: New file.
35576         * MODULES.html.sh (Misc): Add it.
35578 2012-10-02  Eric Blake  <eblake@redhat.com>
35580         manywarnings: cater to more gcc infelicities
35581         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
35582         -Wuninitialized without -O.
35584 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
35586         select, poll tests: Make setsockopt invocation effective.
35587         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
35588         the bind() call.
35589         * tests/test-select.h (open_server_socket): Likewise.
35591 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
35593         sockets, sys_stat: restore AC_C_INLINE
35594         This undoes the 2012-09-22 patch.
35595         * m4/sockets.m4 (gl_SOCKETS):
35596         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
35597         Restore AC_C_INLINE, since MSVC requires __inline or _inline
35598         and does not support plain 'inline'.  Reported by Bruno Haible in
35599         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
35601 2012-09-30  Bruno Haible  <bruno@clisp.org>
35603         localeconv tests: Avoid test failure on OpenIndiana.
35604         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
35605         skip the 'grouping' and 'mon_grouping' tests.
35606         Reported by Jim Meyering.
35608 2012-09-30  Bruno Haible  <bruno@clisp.org>
35610         havelib: Follow libtool developments.
35611         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
35612         Suggested by Simon Josefsson.
35614 2012-09-29  Jim Meyering  <meyering@redhat.com>
35616         fstatat.c: fix a compile-impeding typo
35617         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
35618         Introduced in commit v0.0-7636-gd202279.
35619         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
35621 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
35623         extern-inline: provide a -Wundef safe config.h
35624         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
35625         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
35626         to produce a -Wundef warning free config.h.
35628 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
35630         hash-pjw: relax license to LGPLv2+
35631         * modules/hash-pjw (License): Relax, with consent of author.
35633 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
35635         maint.mk: fix strict vs. lazy variable issues with RELEASE
35636         * top/maint.mk (_equal): New function.
35637         (member_check): Strip the result to avoid spurious spaces.
35638         (url_dir_list): Do not use ifeq, which is strict, as it will
35639         require RELEASE_TYPE to be defined.
35640         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
35641         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
35642         (announcement_Cc_alpha,announcement_mail_headers_alpha)
35643         (announcement_Cc_beta,announcement_mail_headers_beta)
35644         (announcement_Cc_stable,announcement_mail_headers_stable): these.
35645         (release): Do not depend on $(release-type), as it forces its
35646         evaluation.  Bounce to it.
35648 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
35650         maint.mk: formatting changes
35651         * top/maint.mk: Indent bodies of if's.
35653 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
35655         maint.mk: factor the validation of RELEASE_TYPE
35656         With help from Jim Meyering.
35657         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
35658         * top/maint.mk (_empty, _sp): Move their definition earlier.
35659         (member-check, release-type): New.
35660         Use the latter instead of $(RELEASE_TYPE).
35661         Remove now useless local checks.
35663 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
35665         maint.mk: provide "make upload" to ease uploading
35666         See
35667         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
35668         Do not depend simply on the current $(VERSION), as there may have been
35669         new commits since the tarball generation.  Rather, rely on $(RELEASE),
35670         as "make release-commit" already does.
35672         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
35673         "make TYPE".
35675         * top/maint.mk (upload_command, upload, release): New.
35676         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
35677         (VERSION): first word of $(RELEASE) is always right.
35678         (emit_upload_commands): Adjust.
35679         * top/README-release: Update.
35681 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
35683         maint.mk: silent rules
35684         With help from Stefano Lattarini.
35685         * top/maint.mk (writable-files): Use $(AM_V_GEN).
35686         (announcement): Use $(AM_V_at).
35688 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
35690         localename: port gl_locale_name_thread_unsafe to FreeBSD
35691         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
35692         and use the simpler FreeBSD implementation on Mac OS X as well.
35693         Original idea suggested by Ed Maste in
35694         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
35696 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35698         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
35699         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
35700         * lib/mbuiter.c, lib/xsize.c: New files.
35701         * lib/binary-io.h (BINARY_IO_INLINE):
35702         * lib/eealloc.h (EEALLOC_INLINE):
35703         * lib/mbfile.h (MBFILE_INLINE):
35704         * lib/mbiter.h (MBITER_INLINE):
35705         * lib/mbuiter.h (MBUITER_INLINE):
35706         * lib/xsize.h (XSIZE_INLINE):
35707         New macros.
35708         Replace all uses of 'static inline' with them.
35709         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35710         * m4/eealloc.m4 (gl_EEALLOC):
35711         * m4/mbfile.m4 (gl_MBFILE):
35712         * m4/mbiter.m4 (gl_MBITER):
35713         * m4/xsize.m4 (gl_XSIZE):
35714         Do not require AC_C_INLINE.
35715         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
35716         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
35717         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
35718         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
35719         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
35720         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
35721         * modules/binary-io, modules/eealloc, modules/mbfile:
35722         * modules/mbiter, modules/mbuiter:
35723         (Depends-on): Add extern-inline.
35725         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
35726         * lib/pipe-filter-aux.c: New file.
35727         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
35728         Replace all uses of 'static inline' with it.
35729         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35730         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
35731         (filter_retcode): No real need for inline here.
35732         * modules/pipe-filter-gi, modules/pipe-filter-ii:
35733         (Files): Add lib/pipe-filter-aux.c.
35734         (Depends-on): Add extern-inline.
35735         (configure.ac): Do not require AC_C_INLINE.
35736         (lib_SOURCES): Add pipe-filter-aux.c.
35738         fdutimensat: omit unnecessary AC_C_INLINE
35739         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
35741         fchmodat, fchownat, fstatat: use extern-inline
35742         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
35743         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
35744         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
35745         New macros.
35746         * lib/openat.h:
35747         Replace all uses of 'static inline' with them.
35748         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35749         * modules/fchmodat, modules/fchownat, modules/fstatat:
35750         * modules/openat-h:
35751         (Depends-on):
35752         Add extern-inline.
35753         (configure.ac): Remove AC_C_INLINE.
35755         acl, mbchar, priv-set: use extern-inline
35756         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
35757         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
35758         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
35759         New macros.
35760         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
35761         Replace all uses of 'static inline' with it.
35762         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35763         * m4/acl.m4 (gl_FUNC_ACL):
35764         * m4/mbchar.m4 (gl_MBCHAR):
35765         * m4/priv-set.m4 (gl_PRIV_SET):
35766         Remove AC_C_INLINE, since 'inline' is no longer used directly.
35767         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
35768         Add extern-inline.
35770         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
35771         * m4/sockets.m4 (gl_SOCKETS):
35772         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
35773         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
35774         environments where it's already guaranteed to work, so we needn't
35775         check for it at 'configure'-time.
35777         tls-tests: omit unnecessary 'inline'
35778         * tests/test-tls.c (perhaps_yield): No longer inline.
35779         Simplicity and portability trump efficiency in test cases.
35781         utimens-tests: avoid unnecessary 'inline'
35782         * modules/fdutimensat-tests (configure.ac):
35783         * modules/futimens-tests (configure.ac):
35784         * modules/utimens-tests (configure.ac):
35785         * modules/utimensat-tests (configure.ac):
35786         Remove AC_C_INLINE.
35787         * tests/test-utimens-common.h (ctime_compare):
35788         No longer inline.  Simplicity and portability trump efficiency here.
35790         misc: don't limit commentary to inline functions
35791         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
35792         * lib/xalloc-oversized.h, lib/xsize.h:
35793         Contrast macros to functions in general, not just to inline functions,
35794         when the commentary does not apply only to inline functions.
35796 2012-09-20  Jim Meyering  <meyering@redhat.com>
35798         non-recursive-gnulib-prefix-hack: new module
35799         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
35800         the file that originated in Bison.
35801         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
35802         largely copied from a snippet that resided in bison's configure.ac.
35803         * modules/non-recursive-gnulib-prefix-hack: New file.
35804         * MODULES.html.sh (Support for maintaining and releasing projects):
35805         Add it.
35807 2012-09-18  Jim Meyering  <meyering@redhat.com>
35809         maint.mk: generalize _gl_tight_scope for non-recursive make
35810         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
35811         that *.h would describe additional .h files in the directory
35812         specified by $(_gl_TS_dir).  I.e., add this...
35813         (_gl_TS_other_headers): New variable.
35815         maint.mk: exempt trailing blanks found in "binary" files
35816         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
35817         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
35818         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
35820 2012-09-17  Jim Meyering  <meyering@redhat.com>
35822         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
35823         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
35824         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
35825         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
35827 2012-09-17  Jim Meyering  <meyering@redhat.com>
35829         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
35830         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
35831         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
35832         It is not in the same category as "exit (0)" or "exit (1)", and
35833         besides, I know of no symbolic name for that 77.  Reported by
35834         Richard W.M. Jones in
35835         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
35837 2012-09-17  Jim Meyering  <meyering@redhat.com>
35839         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
35840         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
35841         all uses of #define, not just those that start in column 1.
35842         Richard W.M. Jones reported a false positive in
35843         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
35845 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
35847         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
35848         * lib/localcharset.c (locale_charset) [DARWIN7]:
35849         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
35850         as these two values are incompatible.  Problem reported by Max Horn.
35851         For more discussion, please see
35852         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
35854         doc: document sticky-EOF issue
35855         * doc/posix-functions/fgetc.texi (fgetc):
35856         * doc/posix-functions/fgets.texi (fgets):
35857         * doc/posix-functions/fread.texi (fread):
35858         * doc/posix-functions/fscanf.texi (fscanf):
35859         * doc/posix-functions/getc.texi (getc):
35860         * doc/posix-functions/getchar.texi (getchar):
35861         * doc/posix-functions/scanf.texi (scanf):
35862         Mention that glibc and default Solaris do not conform to
35863         C99 and POSIX-2001 or later, with respect to how getchar
35864         etc. behave when feof reports nonzero.
35866 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
35868         poll: fix poll(0, NULL, msec)
35869         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
35870         but nfd is 0.  In that case poll should behave like select.
35872 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
35873             Paolo Bonzini  <bonzini@gnu.org>
35875         poll: fix for systems that can't recv() on a non-socket
35876         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
35877         is readable.  In this case POLLHUP will not be supported.
35878         * doc/posix-functions/poll.texi: Document this.
35880 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
35882         poll/select: document portability problems not fixed by Gnulib.
35883         * doc/posix-functions/poll.texi: poll does not work well on
35884         pipes under Windows.  It has the same limitations as select on
35885         BeOS.
35886         * doc/posix-functions/select.texi: select does not work well
35887         on pipes under Windows.
35889 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
35891         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
35892         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
35893         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
35894         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
35896 2012-09-06  Eric Blake  <eblake@redhat.com>
35898         net_if: give more details about the bug being fixed
35899         * doc/posix-headers/net_if.texi: Add clarification.
35901 2012-09-05  Eric Blake  <eblake@redhat.com>
35903         net_if: new module
35904         * modules/net_if: New module, borrowing ideas from netinet_in.
35905         * m4/net_if_h.m4: New file.
35906         * lib/net_if.in.h: Likewise.
35907         * doc/posix-headers/net_if.texi (net/if.h): Document it.
35908         * MODULES.html.sh (lacking POSIX:2008): Likewise.
35909         * tests/test-net_if.c: Make function checks conditional.
35910         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
35912 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
35914         readutmp: fix non-portable UT_PID use
35915         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
35916         Use `UT_PID (u) > 0' as absolute condition.
35918 2012-09-04  Jim Meyering  <meyering@redhat.com>
35920         fts: reduce two or more trailing spaces to just one, usually
35921         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
35922         or more slashes, trim all but the final one.  But if a name consists
35923         solely of two slashes, don't modify it.  If it consists solely of
35924         three or more slashes, strip all but one.
35926         This is part of the solution to a minor problem with rm:
35927         it would print a bogus ELOOP diagnostic when failing to remove
35928         the slash-decorated name of a symlink-to-directory:
35930             $ mkdir d && ln -s d s && env rm -r s/
35931             rm: cannot remove 's': Too many levels of symbolic links
35933         With the change below and a trivial don't-trim-trailing-slashes
35934         adjustment to remove.c, it does this:
35936             $ env rm -r s/
35937             rm: cannot remove 's/': Not a directory
35939         Improved by: Eric Blake
35941         fts: when there is no risk of overlap, use memcpy, not memmove
35942         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
35944 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35946         stdbool: be more compatible with mixed C/C++ compiles
35947         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
35948         Define to bool, true, false, respectively, as GCC's builtin
35949         stdbool.h does.  Problem reported by Michael Goffioul in
35950         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
35952 2012-08-28  Jim Meyering  <meyering@redhat.com>
35954         revert last change: it was not needed
35955         * tests/test-vc-list-files-git.sh: There's already a test for
35956         a working git, just below.
35958 2012-08-28  Jim Meyering  <meyering@redhat.com>
35960         tests: test-vc-list-files-git.sh: skip if git is not available
35961         * tests/test-vc-list-files-git.sh: Skip this test when git is
35962         not available.
35964 2012-08-26  Bruno Haible  <bruno@clisp.org>
35966         gnulib-tool: Remove no-op option --no-changelog.
35967         * gnulib-tool (func_usage): Don't mention --no-changelog.
35968         (do_changelog): Remove variable.
35969         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
35971 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
35973         doc: remove fdl-1.2.texi
35974         It is no longer used or maintained, and its use of @acronym
35975         is problematic.  See the thread containing
35976         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
35977         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
35978         * doc/old-licenses/fdl-1.2.texi: Remove.
35980         execinfo: port to FreeBSD
35981         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
35982         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
35983         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
35984         * modules/execinfo (Link): Add $(LIB_EXECINFO).
35986 2012-08-23  Jim Meyering  <meyering@redhat.com>
35988         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
35989         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
35990         to placate gcc's -Wold-style-declaration.
35992 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
35994         doc: do not use @acronym
35995         * doc/inet_ntoa.texi (inet_ntoa):
35996         * doc/parse-datetime.texi (Seconds since the Epoch)
35997         (Specifying time zone rules):
35998         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
35999         Don't use @acronym.  Problem reported by John Darlington in
36000         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
36002 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36004         stdnoreturn: port to newer GCCs
36005         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
36006         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
36007         Problem reported by Jim Meyering in
36008         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
36009         Also, rename the 'test' function to a void a clash with the
36010         already-supplied 'main' function; this fixes a bug that incorrectly
36011         rejected GCC 4.7.1's <stdnoreturn.h>.
36012         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
36013         Document GCC problem.
36015 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
36017         pipe-filter: fix comment typo
36018         * lib/pipe-filter.h: Mention correct function.
36020 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36022         execinfo: new module
36023         This is for Emacs.  Currently, it provides a no-effect stub
36024         on all platforms where it does not already work.
36025         It already works on glibc-based systems, and on Solaris 11.
36026         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
36027         New files.
36028         * doc/glibc-headers/execinfo.texi (execinfo.h):
36029         * MODULES.html.sh (Misc): Document it.
36031 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36033         extern-inline: support old GCC 'inline'
36034         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
36035         if available.  This applies to GCC versions 2.7 through 4.2, or
36036         when newer GCC is using -fgnu89-inline.  The goal is to address
36037         some of the performance issues mentioned by Bruno Haible in
36038         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
36040 2012-08-20  Eric Blake  <eblake@redhat.com>
36042         maint.mk: avoid redundant file name in message
36043         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
36044         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
36045         (sc_makefile_path_separator_check): Remove bogus $(ME).
36047 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
36049         timer-time: fix link order when static linking on glibc
36050         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
36051         _after_ -lrt so that it's significant.
36053 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36055         timespec: omit unnecessary AC_C_INLINE
36056         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
36058         stat-time: omit unnecessary AC_C_INLINE
36059         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
36060         Do not require AC_C_INLINE.
36062         ignore-value: omit unnecessary AC_C_INLINE
36063         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
36065         sys_select: avoid 'static inline'
36066         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
36068         mktime: avoid 'static inline'
36069         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
36070         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
36072 2012-08-19  Bruno Haible  <bruno@clisp.org>
36074         gnulib-tool: Improve coding style.
36075         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
36076         func_emit_lib_Makefile_am.
36077         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
36079 2012-08-19  Bruno Haible  <bruno@clisp.org>
36081         gnulib-tool: Fix indentation.
36082         * gnulib-tool (func_import): Fix indentation.
36084 2012-08-19  Bruno Haible  <bruno@clisp.org>
36086         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
36087         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
36088         on the list of removed files.
36090 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36092         test-parse-datetime: avoid glibc leap-second glitch
36093         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
36094         with the 2012 rules.  Problem reported by Bruce Dubbs in
36095         <http://bugs.gnu.org/12206>.
36097 2012-08-14  Bruno Haible  <bruno@clisp.org>
36099         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
36100         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
36101         from argument.
36102         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
36104 2012-08-14  Eric Blake  <eblake@redhat.com>
36106         ldexp: relax license
36107         * modules/ldexp (License): Trivial relax, since the module only
36108         provides a permissively licensed m4 file.
36110 2012-08-13  Bruno Haible  <bruno@clisp.org>
36112         gnulib-tool: Fix persistence of --witness-c-macro option.
36113         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
36114         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
36116 2012-08-11  Eric Blake  <eblake@redhat.com>
36118         count-leading-zeros: use a lookup table on non-gcc compilers
36119         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
36120         alternate implementation, suggested by Jim Meyering.
36122 2012-08-10  Eric Blake  <eblake@redhat.com>
36124         count-leading-zeros: new module
36125         * modules/count-leading-zeros: New module.
36126         * m4/count-leading-zeros.m4: New file.
36127         * lib/count-leading-zeros.h: Likewise.
36128         * modules/count-leading-zeros-tests: New test.
36129         * tests/test-count-leading-zeros.c: New file.
36130         * MODULES.html.sh (Integer arithmetic functions): Document it.
36132 2012-08-07  Simon Josefsson  <simon@josefsson.org>
36133             Jim Meyering  <meyering@redhat.com>
36135         maintainer-makefile: Fix syntax error with dash.
36136         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
36137         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
36139 2012-08-05  Jim Meyering  <meyering@redhat.com>
36141         extern-inline: also ignore -Wmissing-declarations
36142         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
36143         required with gcc-4.8.0-to-be.
36145         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
36146         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
36147         for /error ?([^,]*)/.  This avoids false-positives for strings like
36148         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
36150 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
36152         gnumakefile: better interaction with Automake-NG
36153         * modules/gnumakefile [Makefile.am]: The makefiles generated by
36154         Automake-NG always contain a definition of VPATH, even in non-VPATH
36155         builds (its value being simply '.' in that case).  So, in the
36156         'clean-GNUmakefile' rule, to determine whether running under a
36157         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
36158         '$(VPATH)' expands to the empty string.
36160 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
36162         base64: Use extern C scope in header file, for C++.
36163         * lib/base64.h: Add C++ namespace protection.
36165 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
36167         stat-time, timespec, u64: support naive out-of-dir builds
36168         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
36169         Use '#include "foo.h"', not '#include <foo.h>', when including
36170         one's own interface.  This works better when configuring with
36171         out-of-directory builds, since packages need not add an
36172         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
36174 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
36176         utimens: use extern-inline
36177         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
36178         * lib/utimens.h: Add copyright notice, since this is now large enough
36179         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36180         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
36181         * modules/utimens (Depends-on): Add extern-inline.
36183         u64: use extern-inline
36184         * lib/u64.c: New file.
36185         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36186         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
36187         * modules/u64 (Files): Add lib/u64.c.
36188         (Depends-on): Add extern-inline.
36189         (configure.ac): No need to require AC_C_INLINE, since extern-inline
36190         does that now.
36191         (lib_SOURCES): Add u64.c.
36193         timespec: use extern-inline
36194         * lib/timespec.c: New file.
36195         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36196         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
36197         * modules/timespec (Files): Add lib/timespec.c.
36198         (Depends-on): Add extern-inline.
36199         (lib_SOURCES): Add timespec.c.
36201         stat-time: use extern-inline
36202         * lib/stat-time.c: New file.
36203         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36204         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
36205         * modules/stat-time (Files): Add lib/stat-time.c.
36206         (Depends-on): Add extern-inline.
36207         (lib_SOURCES): Add stat-time.c.
36209         extern-inline: new module
36210         * modules/extern-inline, m4/extern-inline.m4: New files.
36211         This is for better support of 'extern inline' a la ISO C99,
36212         with a portable alternative on compilers that do not support
36213         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
36214         of the Emacs executable, when compiled with debugging disabled,
36215         which is a typical way that Emacs is built while developing.
36217 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
36219         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
36220         * build-aux/do-release-commit-and-tag: Move variable definitions
36221         together.
36222         ($branch): Instead of defaulting to "master", default to the current
36223         branch (as gnu-web-doc-update does).
36224         (help): Display the current values of the option arguments.
36225         * top/maint.mk (release-commit): New.
36226         * top/README-release: Simplify the corresponding step.
36228 2012-07-30  Eric Blake  <eblake@redhat.com>
36230         passfd: fix comment on recvfd
36231         * lib/passfd.c (recvfd): Fix comment.
36232         Reported by Jann Horn <jannhorn@googlemail.com>.
36234 2012-07-30  Jim Meyering  <meyering@redhat.com>
36236         maint.mk: avoid a sub-shell
36237         * top/maint.mk (release-prep): Remove unneeded sub-shell.
36239 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
36241         maint.mk: use silent-rules support from Automake
36242         * top/maint.mk (news-check, vc-diff-check, announcement)
36243         (no-submodule-changes, alpha beta stable, release-prep)
36244         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
36246 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
36248         maint.mk: provide a web-manual-update target
36249         * top/maint.mk: here.
36250         * top/README-release: Use it to simplify the web manual update step.
36252 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
36254         README-release: shorten the circuit to post a news
36255         * top/README-release: Point directly to the news submission form.
36257 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
36259         gnu-web-doc-update: fix --help
36260         * build-aux/gnu-web-doc-update: The information "top level" was written
36261         twice.
36263 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
36265         maint.mk: absolute VPATH issue
36266         * top/maint.mk (release-prep): Help Git find .git/.
36267         From Jim Meyering.
36269 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
36271         gitlog-to-changelog: fix previous change
36272         * build-aux/gitlog-to-changelog: Fix condition.
36273         Add missing ";".
36275 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
36277         gitlog-to-changelog: don't expect .git to be in $srcdir
36278         Reported by Bruno Haible.
36279         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
36280         * build-aux/gitlog-to-changelog (&git_dir_option): New.
36281         Use it.
36283 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
36285         maint.mk: absolute VPATH build fix
36286         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
36287         $(srcdir) is not a parent of $(builddir).
36289 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
36291         clean-temp: Fix memory leak.
36292         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
36293         'files' members of tmpdir.
36295 2012-07-27  Jim Meyering  <meyering@redhat.com>
36297         maint.mk: new rule: refresh-gnulib-patches
36298         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
36299         Use this rule to refresh them.
36300         * top/maint.mk (refresh-gnulib-patches): New rule.
36302 2012-07-24  Bruno Haible  <bruno@clisp.org>
36304         gnulib-tool: Fix handling of inctests variable.
36305         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
36306         Reported by Nick Bowler <nbowler@elliptictech.com>.
36308 2012-07-22  Bruno Haible  <bruno@clisp.org>
36310         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
36311         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
36312         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
36313         Remove exemption for getpass.h.
36314         Suggested by Eric Blake.
36316 2012-07-20  Eric Blake  <eblake@redhat.com>
36318         verify: document conflict with -Wnested-externs
36319         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
36321         maint.mk: forbid exit(-1)
36322         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
36324 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
36326         fsusage: port back to Solaris
36327         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
36328         error (fsd not declared) on Solaris 10.  Reported privately by
36329         Andrew Borodin.
36331 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
36333         gnu-web-doc-update: fix error messages
36334         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
36336         gnu-web-doc-update: check the requirements.
36337         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
36338         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
36339         * build-aux/bootstrap (find_tool): Comment change.
36341 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
36343         maint.mk: minor simplication.
36344         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
36345         for default values.
36347 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
36349         gitlog-to-changelog: VPATH build issues
36350         If builddir is not a subdirectory of srcdir, running git from it will
36351         fail.
36352         * build-aux/gitlog-to-changelog (--srcdir): New option.
36354 2012-07-15  Bruno Haible  <bruno@clisp.org>
36356         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
36357         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
36358         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
36359         Remove exemption for fpending.h.
36360         Suggested by Eric Blake.
36362 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
36364         pthread_sigmask: fix bug on FreeBSD 9
36365         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
36366         Include string.h.
36367         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
36368         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
36369         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
36370         but pthread_sigmask (1729, NULL, NULL) returns zero.
36371         See <http://bugs.gnu.org/11884>.
36372         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
36373         by inspecting whether the main call changed the old mask.
36375 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
36377         README-release: make it more legible
36378         * top/README-release: Improve typography slightly.
36380 2012-07-15  Jim Meyering  <meyering@redhat.com>
36382         maint: require that each sc_... command start with "@"
36383         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
36384         "make sc_maint" helps us avoid this nit.
36386 2012-07-15  Jim Meyering  <meyering@redhat.com>
36388         maint.mk: add leading "@" to quiet new "make syntax-check" rule
36389         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
36391 2012-07-13  Eric Blake  <eblake@redhat.com>
36393         maint.mk: new syntax check for HAVE_DECL checks
36394         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
36395         * cfg.mk
36396         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
36397         Exempt some false positives.
36398         Based on a report by Karel Zak.
36400         argp: make HAVE_DECL usage consistent
36401         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
36402         macros, not whether they are defined.
36403         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
36404         convention with other declaration checks.
36405         Reported by Karel Zak, with suggestions from Paul Eggert.
36407         stat-time: relax license to LGPLv2+
36408         * modules/stat-time (License): Relax, with consent of all authors.
36410         strndup: fix m4 usage error
36411         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
36412         defined, to either 0 or 1.
36413         Reported by Karel Zak.
36415 2012-07-11  Jim Meyering  <meyering@redhat.com>
36417         maint: enable the sc_avoid_if_before_free syntax-check rule
36418         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
36419         (if_before_free_offenders_): Define.
36420         (if_before_free_basename_re_): Define.
36421         Exempt current files with useless if-before-free.
36423 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
36425         gettext: do not assume '#define ... defined ...' behavior
36426         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
36427         Do not use '#define FOO ... defined BAR ...', as the C standard says
36428         it's not portable to expect that this works after macro expansion.
36429         Problem reported for gzip by Steven M. Schweda in
36430         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
36432 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
36434         getloadavg: clean out old Emacs and Autoconf cruft
36435         See Glenn Morris in <http://bugs.gnu.org/11905>.
36436         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
36437         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
36438         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
36439         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
36441 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
36443         bootstrap: let warn be like tests/init.sh's warn_
36444         Reported by Jim Meyering.
36445         * build-aux/bootstrap (warn): Remove, replaced by...
36446         (warnf_, warn_): these.
36447         Adjust callers.
36448         Shorten messages that no longer fit in 80 columns.
36450 2012-07-09  Bruno Haible  <bruno@clisp.org>
36452         getopt: Simplify after Emacs changed.
36453         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
36454         (gl_GETOPT_IFELSE): Remove macro.
36456 2012-07-09  Jim Meyering  <meyering@redhat.com>
36458         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
36459         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
36461         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
36462         Bugs in both of those conspired to make the
36463         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
36464         _sc_search_regexp's handling of non-empty $in_files would filter
36465         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
36466         choice of in_files value meant there would be no match in most
36467         projects, due to the presence of two or more Makefile.in files.
36468         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
36469         Fix a bug in how a non-empty $$in_files was processed:
36470         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
36471         in spite of the name, it's a regexp, not a list of file names.
36473 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
36475         getloadavg, getopt: fix commentary re configure.in
36476         Autoconf is deprecating the name 'configure.in', so change it to
36477         to the new name 'configure.ac' in a couple of places.
36478         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
36479         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
36480         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
36481         Emacs has renamed it to configure.ac, and it no longer refers
36482         to these macros anyway.
36484         timespec: mark functions with const attributes
36485         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
36486         Mark with _GL_ATTRIBUTE_CONST.
36488 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
36490         canonicalize[-lgpl]: handle "guessing" values when cross-building
36491         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
36492         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
36493         matches "*yes" instead of just "yes".  Regression introduced in commit
36494         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
36496 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
36497             Bruno Haible  <bruno@clisp.org>
36499         canonicalize: make the right guess when cross-compiling to GNU
36500         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
36501         determine whether cross-compiling to glibc systems, so as to
36502         include GNU/Hurd.
36504 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
36506         timespec-sub: avoid duplicate include
36507         * lib/timespec-sub.c: Do not include <config.h> twice.
36508         Reported by Juanma Barranquero.
36510 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
36512         bootstrap: use a more consistent error reporting scheme
36513         * build-aux/bootstrap (warn, die): New.
36514         Use them.
36516 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
36518         sys_time: allow too-wide tv_sec
36519         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
36520         timeval even if tv_sec is wider than time_t.  This allows
36521         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
36522         as without this patch gnulib replaces struct timeval
36523         and OpenBSD futimes therefore has a type mismatch.
36524         * doc/posix-headers/sys_time.texi: Mention this.
36526         pthread: check for both pthread_create and pthread_join
36527         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
36528         alter the check so that it tests for both pthread_create and
36529         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
36530         Suggested by Bruno Haible and Richard Yao in
36531         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
36533         parse-datetime: doc tuneup
36534         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
36535         spacing issues.
36537 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
36539         do-release-commit-and-tag: fix the previous commit
36540         * build-aux/do-release-commit-and-tag: Actually the test was right,
36541         but the comment and the error message were misleading.
36542         Fix comment, and improve error message.
36543         Perform check first, so that NEWS is not modified uselessly.
36545         do-release-commit-and-tag: fix typo
36546         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
36547         _not_ start with a stub.
36549 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
36551         pthread: check for pthread_create, not pthread_join
36552         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
36553         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
36554         pthread_join in libc.  I hope this removes the need for all the
36555         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
36556         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
36558 2012-07-04  Jim Meyering  <meyering@redhat.com>
36560         parse-datetime: fix failure to diagnose invalid input
36561         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
36562         rather than diagnosing the invalid input.  Now it reports this:
36563         date: invalid date '\260'
36564         * lib/parse-datetime.y (to_uchar): Define.
36565         (yylex): Don't sign-extend "other" bytes.
36566         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
36567         Thanks to Bruno Haible for the patch to this file.
36568         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
36569         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
36571 2012-07-03  Jim Meyering  <meyering@redhat.com>
36573         bootstrap: do not require now-removed build-aux/missing
36574         Now that build-aux/missing is, er, missing, bootstrap would
36575         silently fail.
36576         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
36577         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
36578         no longer part of gnulib.
36579         Diagnose the failure.
36581 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
36583         alloca: add support for HP NonStop TNS/E native
36584         * lib/alloca.in.h (alloca): Support the new host.
36585         From a suggestion by Joachim Schmitz in
36586         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
36588 2012-07-02  Pádraig Brady  <P@draigBrady.com>
36590         fsusage: remove code not needed on non GNU/Linux systems.
36592         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
36593         Don't include headers no longer needed in this case.
36594         * lib/fsusage.c [STAT_STATVFS &&
36595         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
36596         STAT_STATFS2_FRSIZE to exclude code not used in this case.
36598 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36600         fsusage: include files needed for glibc 2.6 fallback
36601         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
36602         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
36603         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
36604         Problem reported by Ludovic Courtès in
36605         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
36607         fsusage: avoid needless check on GNU/Linux
36608         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
36609         on GNU/Linux systems, since it can't possibly work.
36611 2012-07-01  Bruno Haible  <bruno@clisp.org>
36613         log: Fix an autoconf >= 2.64 warning.
36614         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
36615         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
36617 2012-06-28  Bruno Haible  <bruno@clisp.org>
36619         log10f: Fix possible configuration problem.
36620         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
36621         $LOGF_LIBM.
36622         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
36624 2012-06-28  Bruno Haible  <bruno@clisp.org>
36626         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
36627         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
36628         not gl_cv_func_unlink_works.
36629         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
36631 2012-06-27  Eric Blake  <eblake@redhat.com>
36633         config: drop scripts that automake says are not independent
36634         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
36635         * build-aux/elisp-comp: Delete.
36636         * build-aux/missing: Likewise.
36637         * build-aux/ylwrap: Likewise.
36638         * modules/elisp-comp: Likewise.
36639         * MODULES.html.sh: Drop mention of elisp-comp.
36640         * NEWS: Mention this.
36642 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
36644         root-uid: new module
36645         This is for portability to Tandem's NonStop Kernel.
36646         * lib/root-uid.h, modules/root-uid: New files.
36647         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
36648         * lib/write-any-file.c, tests/test-sethostname2.c:
36649         Include "root-uid.h".
36650         * lib/euidaccess.c (euidaccess):
36651         * lib/pt_chown.c (main):
36652         * lib/unlinkdir.c (cannot_unlink_dir):
36653         * lib/write-any-file.c (can_write_any_file):
36654         * m4/mknod.m4 (gl_FUNC_MKNOD):
36655         * tests/test-sethostname2.c (geteuid, main):
36656         Don't assume ROOT_UID == 0.
36657         * modules/euidaccess (Depends-on):
36658         * modules/pt_chown (Depends-on):
36659         * modules/sethostname-tests (Depends-on):
36660         * modules/unlinkdir (Depends-on):
36661         * modules/write-any-file (Depends-on):
36662         Add root-uid.
36664         regex: use locale-independent comparison for codeset name
36665         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
36666         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
36667         for codeset name.
36668         * lib/regex_internal.h: Do not include <strings.h>, since we
36669         no longer use strcasecmp.
36670         * modules/regex (Depends-on): Remove strcase.
36672 2012-06-23  Bruno Haible  <bruno@clisp.org>
36674         getopt-posix: No longer guarantee that option processing is resettable.
36675         * doc/posix-functions/getopt.texi: Drop description of problem with
36676         internal state. Fix info about mingw and msvc9.
36677         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
36678         option processing by getopt(). Run three test programs instead of one.
36679         Simplify cross-compilation guess.
36680         * NEWS: Mention the change.
36681         Reported by Rich Felker <dalias@aerifal.cx>.
36683 2012-06-26  Bruno Haible  <bruno@clisp.org>
36685         argp, regex: Ensure strcasecmp gets declared.
36686         * lib/argp-help.c: Include <strings.h>.
36687         * lib/regex_internal.h: Likewise.
36688         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
36690 2012-06-24  Bruno Haible  <bruno@clisp.org>
36692         ptsname_r: Make it consistent with ptsname on AIX.
36693         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
36694         implementation as for OSF/1.
36695         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
36696         a pty master.
36698         ptsname_r: Make it consistent with ptsname on OSF/1.
36699         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
36700         OSF/1.
36702 2012-06-24  Bruno Haible  <bruno@clisp.org>
36704         ttyname_r: Fix result on OSF/1, Solaris.
36705         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
36707 2012-06-24  Bruno Haible  <bruno@clisp.org>
36709         ptsname_r: Add support for Solaris.
36710         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
36711         Solaris.
36713         ptsname_r: Fix test failure on native Windows.
36714         * modules/ptsname_r (Depends-on): Add isatty.
36716         ptsname_r: Fix test failures on IRIX, Solaris.
36717         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
36718         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
36719         accordingly.
36720         * lib/ptsname_r.c: Include <fcntl.h>.
36721         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
36722         set errno if fd is invalid.
36723         * tests/test-isatty.c (main): Update comments.
36725 2012-06-24  Bruno Haible  <bruno@clisp.org>
36727         ptsname test: Extend test.
36728         * tests/test-ptsname.c: Include <errno.h>.
36729         (main): Test behaviour with invalid file descriptor.
36731 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36733         time: fix obsolete comment
36734         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
36735         reference to HAVE_STRUCT_TIMESPEC in comment.
36737 2012-06-23  Bruno Haible  <bruno@clisp.org>
36739         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
36740         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
36741         does not handle abbreviated long options with equivalent
36742         disambiguations, set gl_replace_getopt to yes.
36743         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
36745 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
36747         time_r: fix typo that always overrode localtime_r decl
36748         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
36749         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
36750         not in a standard include.
36752 2012-06-22  Bruno Haible  <bruno@clisp.org>
36754         Write "Mac OS X" instead of "MacOS X".
36755         * README: Write "Mac OS X" instead of "MacOS X".
36756         * build-aux/bootstrap: Likewise.
36757         * build-aux/install-reloc: Likewise.
36758         * lib/acl-internal.h: Likewise.
36759         * lib/acl_entries.c: Likewise.
36760         * lib/argp-ba.c: Likewise.
36761         * lib/argp-pv.c: Likewise.
36762         * lib/config.charset: Likewise.
36763         * lib/copy-acl.c: Likewise.
36764         * lib/csharpexec.c: Likewise.
36765         * lib/euidaccess.c: Likewise.
36766         * lib/fbufmode.c: Likewise.
36767         * lib/fflush.c: Likewise.
36768         * lib/file-has-acl.c: Likewise.
36769         * lib/filemode.h: Likewise.
36770         * lib/fpurge.c: Likewise.
36771         * lib/freadable.c: Likewise.
36772         * lib/freadahead.c: Likewise.
36773         * lib/freading.c: Likewise.
36774         * lib/freadptr.c: Likewise.
36775         * lib/freadseek.c: Likewise.
36776         * lib/fseeko.c: Likewise.
36777         * lib/fseterr.c: Likewise.
36778         * lib/fsusage.c: Likewise.
36779         * lib/fwritable.c: Likewise.
36780         * lib/fwriting.c: Likewise.
36781         * lib/get-rusage-as.c: Likewise.
36782         * lib/get-rusage-data.c: Likewise.
36783         * lib/getdomainname.c: Likewise.
36784         * lib/idpriv-drop.c: Likewise.
36785         * lib/idpriv-droptemp.c: Likewise.
36786         * lib/localcharset.c: Likewise.
36787         * lib/locale.in.h: Likewise.
36788         * lib/localename.c: Likewise.
36789         * lib/mbsrtowcs-state.c: Likewise.
36790         * lib/nproc.c: Likewise.
36791         * lib/passfd.c: Likewise.
36792         * lib/posix_openpt.c: Likewise.
36793         * lib/printf-parse.c: Likewise.
36794         * lib/progreloc.c: Likewise.
36795         * lib/safe-read.h: Likewise.
36796         * lib/safe-write.h: Likewise.
36797         * lib/sched.in.h: Likewise.
36798         * lib/set-mode-acl.c: Likewise.
36799         * lib/signal.in.h: Likewise.
36800         * lib/stdint.in.h: Likewise.
36801         * lib/stdio-impl.h: Likewise.
36802         * lib/stdlib.in.h: Likewise.
36803         * lib/strtod.c: Likewise.
36804         * lib/sys_select.in.h: Likewise.
36805         * lib/tcgetsid.c: Likewise.
36806         * lib/unistd.in.h: Likewise.
36807         * lib/unlockpt.c: Likewise.
36808         * lib/vasnprintf.c: Likewise.
36809         * lib/vma-iter.c: Likewise.
36810         * lib/wcsrtombs-state.c: Likewise.
36811         * m4/acl.m4: Likewise.
36812         * m4/acosl.m4: Likewise.
36813         * m4/asinl.m4: Likewise.
36814         * m4/atanl.m4: Likewise.
36815         * m4/c-stack.m4: Likewise.
36816         * m4/cosl.m4: Likewise.
36817         * m4/expl.m4: Likewise.
36818         * m4/extensions.m4: Likewise.
36819         * m4/fdatasync.m4: Likewise.
36820         * m4/fmal.m4: Likewise.
36821         * m4/frexp.m4: Likewise.
36822         * m4/frexpf.m4: Likewise.
36823         * m4/frexpl.m4: Likewise.
36824         * m4/fsusage.m4: Likewise.
36825         * m4/getdomainname.m4: Likewise.
36826         * m4/getloadavg.m4: Likewise.
36827         * m4/getopt.m4: Likewise.
36828         * m4/gettext.m4: Likewise.
36829         * m4/gnulib-common.m4: Likewise.
36830         * m4/intdiv0.m4: Likewise.
36831         * m4/intlmacosx.m4: Likewise.
36832         * m4/largefile.m4: Likewise.
36833         * m4/ldexpl.m4: Likewise.
36834         * m4/link-follow.m4: Likewise.
36835         * m4/locale-ar.m4: Likewise.
36836         * m4/locale-fr.m4: Likewise.
36837         * m4/locale-ja.m4: Likewise.
36838         * m4/locale-tr.m4: Likewise.
36839         * m4/locale-zh.m4: Likewise.
36840         * m4/locale_h.m4: Likewise.
36841         * m4/lock.m4: Likewise.
36842         * m4/logl.m4: Likewise.
36843         * m4/mathfunc.m4: Likewise.
36844         * m4/minus-zero.m4: Likewise.
36845         * m4/mktime.m4: Likewise.
36846         * m4/mmap-anon.m4: Likewise.
36847         * m4/multiarch.m4: Likewise.
36848         * m4/nanosleep.m4: Likewise.
36849         * m4/nocrash.m4: Likewise.
36850         * m4/poll.m4: Likewise.
36851         * m4/printf-frexpl.m4: Likewise.
36852         * m4/printf.m4: Likewise.
36853         * m4/signbit.m4: Likewise.
36854         * m4/sinl.m4: Likewise.
36855         * m4/sqrtl.m4: Likewise.
36856         * m4/strerror_r.m4: Likewise.
36857         * m4/tanl.m4: Likewise.
36858         * m4/threadlib.m4: Likewise.
36859         * m4/ttyname_r.m4: Likewise.
36860         * m4/unlink.m4: Likewise.
36861         * m4/visibility.m4: Likewise.
36862         * m4/wcwidth.m4: Likewise.
36863         * tests/minus-zero.h: Likewise.
36864         * tests/test-alloca-opt.c: Likewise.
36865         * tests/test-copy-acl.sh: Likewise.
36866         * tests/test-copy-file.sh: Likewise.
36867         * tests/test-fdatasync.c: Likewise.
36868         * tests/test-file-has-acl.sh: Likewise.
36869         * tests/test-flock.c: Likewise.
36870         * tests/test-fsync.c: Likewise.
36871         * tests/test-localename.c: Likewise.
36872         * tests/test-malloca.c: Likewise.
36873         * tests/test-nonblocking-pipe.h: Likewise.
36874         * tests/test-nonblocking-socket.h: Likewise.
36875         * tests/test-openpty.c: Likewise.
36876         * tests/test-posix_openpt.c: Likewise.
36877         * tests/test-ptsname.c: Likewise.
36878         * tests/test-ptsname_r.c: Likewise.
36879         * tests/test-sameacls.c: Likewise.
36880         * tests/test-select.h: Likewise.
36881         * tests/test-set-mode-acl.sh: Likewise.
36882         * tests/test-snprintf-posix.h: Likewise.
36883         * tests/test-sprintf-posix.h: Likewise.
36884         * tests/test-strtod.c: Likewise.
36885         * tests/test-time.c: Likewise.
36886         * tests/test-vasnprintf-posix.c: Likewise.
36887         * tests/test-vasprintf-posix.c: Likewise.
36888         * doc/acl-resources.txt: Likewise.
36889         * doc/**/*.texi: Likewise.
36890         Reported by Max Horn <max@quendi.de>.
36892 2012-06-22  Bruno Haible  <bruno@clisp.org>
36894         grantpt: Relax requirement regarding invalid file descriptors.
36895         * lib/grantpt.c: Don't include <fcntl.h>.
36896         (grantpt): Don't verify the validity of the file descriptor.
36897         * modules/grantpt (Depends-on): Remove fcntl-h.
36898         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
36899         file descriptors.
36900         * doc/posix-functions/grantpt.texi: Document more platforms on which
36901         grantpt succeeds for invalid file descriptors.
36902         Reported by Rich Felker <dalias@aerifal.cx>.
36904 2012-06-22  Bruno Haible  <bruno@clisp.org>
36906         fbufmode test: Don't test unportable behaviour.
36907         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
36908         (main): Invoke it three times.
36909         Reported by Szabolcs Nagy <nsz@port70.net>
36910         and Rich Felker <dalias@aerifal.cx>.
36912 2012-06-21  Bruno Haible  <bruno@clisp.org>
36914         gnulib-tool: Refactor inctests variable.
36915         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
36916         (func_modules_transitive_closure,
36917         func_modules_transitive_closure_separately,
36918         func_import, func_create_testdir): Update.
36920         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
36921         * gnulib-tool: Accept option --without-tests.
36922         (func_usage): Document --without-tests option. Rearrange.
36923         (inctests): Normalize according to the mode.
36924         * NEWS: Mention the change.
36925         Suggested by Simon Josefsson.
36927 2012-06-21  Bruce Korb  <bkorb@gnu.org>
36929         parse-duration test: Avoid spurious output.
36930         * tests/test-parse-duration.sh: Reindent with leading tabs.
36932 2012-06-21  Jim Meyering  <meyering@redhat.com>
36934         maint: disable the strncpy prohibition
36935         * cfg.mk: Do not prohibit strncpy here.
36937 2012-06-21  Bruno Haible  <bruno@clisp.org>
36939         nonblocking: Avoid compilation error on mingw64.
36940         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
36941         fscanf.
36942         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
36943         * modules/vfscanf (configure.ac): Likewise.
36944         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
36945         definition only if stdio.h has prepared it.
36946         Reported by Daniel P. Berrange <berrange@redhat.com>.
36948 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
36950         gnulib-tool: Use readlink if it is available.
36951         * gnulib-tool (func_readlink): Choose function more appropriately.
36953 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
36955         posixtm-tests: port to buggy compiler
36956         Problem reported by Simon Josefsson in
36957         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
36958         * modules/posixtm-tests (Depends-on): Add stdint.
36959         * tests/test-posixtm.c (struct posixtm_test.t_expected):
36960         Now of type int_least64_t, not int64_t, both because that's
36961         what INT64_C returns and because int_least64_t works even
36962         on 72-bit hosts.
36963         (T): Use INT64_C on constants outside the traditional int range,
36964         to work around compiler bug noted by Simon.
36966         mktime: fix integer overflow in 'configure'-time test
36967         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
36968         after integer overflow.  Problem reported by Rich Felker in
36969         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
36970         Also, don't look for further instances of a bug if we've already
36971         found one instance; this helps 'configure' run faster.
36973 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
36975         tmpfile, clean-temp: Fix invocation of GetVersionEx.
36976         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
36977         GetVersionEx correctly.
36978         * lib/clean-temp.c (supports_delete_on_close): Likewise.
36980 2012-06-20  Bruno Haible  <bruno@clisp.org>
36982         fdopen: Allow implementations that don't reject invalid fd arguments.
36983         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
36984         succeeds.
36985         Reported by Rich Felker <dalias@aerifal.cx>.
36987 2012-06-20  Simon Josefsson  <simon@josefsson.org>
36989         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
36990         bring in LIBINTL.
36992 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
36994         init.sh: do not rely on autoupated PWD
36995         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
36996         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
36997         Although Nelson's bug was not necessarily fixed by this patch,
36998         it seems wise to make the change for safety.
36999         * tests/init.sh (path_prepend_): Do not rely on PWD updating
37000         automagically after 'cd'; this is not reliable on older shells.
37001         (setup_): Fail if we cannot cd to temporary directory.
37003 2012-06-19  Bruno Haible  <bruno@clisp.org>
37005         stat, fstat: Avoid warnings on mingw64.
37006         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
37007         redefining.
37008         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
37009         Reported by Daniel P. Berrange <berrange@redhat.com>.
37011 2012-06-19  Bruno Haible  <bruno@clisp.org>
37013         stdioext: Add support for musl libc.
37015         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
37016         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
37018         * m4/fseterr.m4: New file.
37019         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
37020         function exists.
37021         * modules/fseterr (Files): Add m4/fseterr.m4.
37022         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
37023         __fseterr does not exist.
37024         (Makefile.am): Remove fseterr.c from lib_SOURCES.
37026         * lib/freadable.h: Update comment.
37028         * lib/fwritable.h: Update comment.
37030         * lib/freading.h: Update comment.
37032         * lib/fwriting.h: Update comment.
37034         * m4/freadahead.m4: New file.
37035         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
37036         that function exists.
37037         * modules/freadahead (Files): Add m4/freadahead.m4.
37038         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
37039         __freadahead does not exist.
37040         (Makefile.am): Remove freadahead.c from lib_SOURCES.
37042         * m4/freadptr.m4: New file.
37043         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
37044         function exists.
37045         * modules/freadptr (Files): Add m4/freadptr.m4.
37046         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
37047         __freadptr does not exist.
37048         (Makefile.am): Remove freadptr.c from lib_SOURCES.
37050         * m4/freadseek.m4: New file.
37051         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
37052         exists.
37053         * modules/freadseek (Files): Add m4/freadseek.m4.
37054         (configure.ac): Invoke gl_FUNC_FREADSEEK.
37056         * lib/fpurge.c (fpurge): Update comment.
37058         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
37060 2012-06-19  Bruno Haible  <bruno@clisp.org>
37062         *printf-posix: Put more info into config.log.
37063         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
37064         exit code into config.log.
37066 2012-06-19  Bruno Haible  <bruno@clisp.org>
37068         getopt-gnu: Fix exit code overflow in autoconf test.
37069         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
37070         to keep them below < 128.
37072 2012-06-17  Jim Meyering  <meyering@redhat.com>
37074         maint.mk: fix typo in code to derive GPG key at release time
37075         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
37077 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
37079         regex: avoid warning when pointers are not long
37080         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
37081         and uintptr_t, not long, for portability to hosts where pointers and
37082         long have different sizes.  Issue noted by Daniel P. Berrange in
37083         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
37084         and fix suggested by Bruno Haible in
37085         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
37087 2012-06-17  Bruno Haible  <bruno@clisp.org>
37089         dummy: Relicense into the public domain.
37090         * modules/dummy (License): Set to "public domain".
37091         Suggested by Reuben Thomas.
37093 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
37095         announce-gen: VPATH issues
37096         * build-aux/announce-gen (--srcdir): New option, used to trim the
37097         $srcdir part of the path from $builddir to NEWS.
37098         * top/maint.mk (announcement): Adjust.
37100 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
37102         gnu-web-doc-update: VPATH builds
37103         * build-aux/gnu-web-doc-update (--builddir): New option.
37104         Revamp the handling of options.
37105         Prefer $(...) to `...`.
37106         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
37107         the template, and it is GNU mktemp specific.
37108         Prefer set -e to long series of &&.
37109         Restore the initial git branch, not "master".
37110         Properly initialize submodules (don't rely only on bootstrap).
37111         Do not reconfigure blindly, use config.status.
37112         * top/README-release: Update instructions for gnu-web-doc-update.
37114 2012-06-11  Jim Meyering  <meyering@redhat.com>
37116         maint.mk: revert most of the previous change re "all these"
37117         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
37118         For rationale, see the discussion at
37119         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
37121 2012-06-10  Karl Berry  <karl@gnu.org>
37123         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
37125         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
37127 2012-06-10  Bruce Korb  <bkorb@gnu.org>
37129         parse-duration: Relicense under LGPLv2+.
37130         * modules/parse-duration (License): Change to LGPLv2+.
37132 2012-06-10  Jim Meyering  <meyering@redhat.com>
37134         maint.mk: prohibit common grammar error: "all these"
37135         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
37136         the list of prohibited word sequences.  It should be "all of these".
37137         * lib/tempname.c (__gen_tempname): Fix one of them.
37139 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
37141         do-release-commit-and-tag: support VPATH builds
37142         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
37143         (noteworthy): Defined earlier to factor its value.
37144         (noteworthy_stub): New.
37145         Use it to factor.
37146         (help_version): Split into...
37147         (help, version): these.
37148         Adjust the option processing part.
37149         Support "--option=value" in addition to "--option value".
37150         (builddir): New.
37151         (--builddir): New option.
37152         * top/README-release: Document this.
37153         Reword slightly so that the reader cannot understand that he
37154         has to do these steps before calling do-release-commit-and-tag.
37156 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
37158         readme-release: also require announce-gen and maintainer-makefile
37159         * modules/readme-release (Depends-on): here.
37160         * modules/announce-gen, modules/do-release-commit-and-tag,
37161         modules/gnu-web-doc-update, modules/maintainer-makefile
37162         (Description): Point to readme-release.
37164 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
37166         maint.mk: fix VPATH issues.
37167         * top/maint.mk (news-check): GNU Make understand $< very well.
37168         (release-prep): NEWS is in $(srcdir).
37170 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
37172         readme-release: require the promoted modules.
37173         * modules/readme-release (Depends-on): Add
37174         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
37175         in this text.
37177 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
37178             Bruno Haible  <bruno@clisp.org>
37180         error, strerror-override: Support mingw64 from Fedora 17.
37181         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
37182         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
37183         EINPROGRESS.
37184         * lib/strerror-override.h (strerror_override): Test it.
37185         * lib/strerror-override.c (strerror_override): Likewise.
37186         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
37188 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
37189             Bruno Haible  <bruno@clisp.org>
37191         error, strerror-override: Support mingw64 from Fedora 17.
37192         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
37193         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
37194         * lib/strerror-override.h (strerror_override): Test it.
37195         * lib/strerror-override.c (strerror_override): Likewise.
37197 2012-06-03  Bruno Haible  <bruno@clisp.org>
37199         error, strerror-override: Support new errno values from POSIX:2008.
37200         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
37201         ENOTRECOVERABLE.
37202         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
37203         platforms.
37204         * lib/strerror-override.c (strerror_override): Conditionalize the
37205         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
37206         * lib/strerror-override.h (strerror_override): Declare also if
37207         GNULIB_defined_EOWNERDEAD is defined.
37208         * tests/test-errno.c (e130, e131): New variables.
37209         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
37210         ENOTRECOVERABLE.
37211         Reported by Paolo Bonzini.
37213 2012-05-31  Jim Meyering  <meyering@redhat.com>
37215         savewd: add missing dependency on sys_wait module
37216         * modules/savewd (Depends-on): Add sys_wait, needed at least
37217         for MSVC.  Report and suggested change by Michael Goffioul.
37219 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
37221         system-quote-tests: port to CentOS 5
37222         Problem reported by Tom G. Christensen in
37223         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
37224         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
37226 2012-05-29  Jim Meyering  <meyering@redhat.com>
37228         maint: fix typos in comments and ChangeLog
37229         Culprits identified and fixed mostly automatically using these commands:
37230         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
37231         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
37232         using http://github.com/lyda/misspell-check
37233         * ChangeLog: Fix typos.
37234         * doc/solaris-versions: Likewise.
37235         * lib/regexec.c (re_search_stub): Likewise.
37236         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
37238 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
37240         manywarnings: remove duplicate -Wmultichar entry
37241         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
37242         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
37243         so keep the entry marked as documented.
37245 2012-05-27  Karl Berry  <karl@gnu.org>
37247         * config/srclist.txt (mktime.c): remove last libc sync,
37248         perhaps just temporarily.
37250 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
37252         regex: don't assume uint64_t or uint32_t
37253         * lib/regcomp.c (init_word_char): Don't assume that the types
37254         uint64_t and uint32_t exist.  The C standard doesn't guarantee
37255         them, and on some 32-bit compilers there is no uint64_t.
37256         Problem reported by Gianluigi Tiesi in
37257         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
37259 2012-05-25  Jim Meyering  <meyering@redhat.com>
37261         maint.mk: add strncpy-prohibiting syntax-check rule
37262         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
37264 2012-05-24  Jim Meyering  <meyering@redhat.com>
37266         maint.mk: compute $(gpg_key_ID) more portably
37267         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
37268         That use of sed is not portable to some fringe systems.
37269         Reported by Paul Eggert in
37270         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
37272 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
37274         mktime: sync from glibc
37275         * config/srclist.txt: Uncomment mktime.c.
37276         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
37277         First, indent with tabs, since glibc uses tabs and doesn't want to
37278         change and we'd rather be identical to glibc.  Also, two small
37279         coding changes:
37280         (isdst_differ): Use &&, not &, as && is the usual style.
37281         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
37282         for clarity.
37284 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
37286         announce-gen: du -h is more portable than du --human
37287         * build-aux/announce-gen (sizes): Invoke du with -h instead
37288         of --human.  Accept leading white space in its output.
37290 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
37292         announce-gen: Improve diagnostics.
37293         * build-aux/announce-gen: When parsing command line options,
37294         prefer "announce-gen: option --release-type requires an argument"
37295         to "Option release-type requires an argument".
37297 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
37299         maint.mk: gpg_key_ID: use sed more portably
37300         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
37301         the closing brace.
37302         (refresh-po): Fuse two sed invocations into one.
37304 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
37306         gitlog-to-changelog: support the log message format used in Bison.
37307         * build-aux/gitlog-to-changelog: Support --strip-tab and
37308         --strip-cherry-picked.
37310 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
37312         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
37313         the rest of the current time slice to another thread in the current
37314         process. So if the thread that feeds the file decscriptor we're
37315         polling is not in the current process, we get busy-waiting.
37316         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
37317         Patch from Theodore Leblond.
37318         * lib/select.c: Split polling out of the loop that sets the output
37319         fd_sets.  Check for zero result and loop if the wait timeout is
37320         infinite.
37322 2012-05-21  Simon Josefsson  <simon@josefsson.org>
37324         select: Fix build error on IRIX 6.5.
37325         * lib/select.c: Include stddef.h for NULL.
37327 2012-05-21  Simon Josefsson  <simon@josefsson.org>
37329         gc: fix libgcrypt detection on older machines.
37330         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
37331         copyright years because the file has been distributed every year
37332         since it was created.
37334 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
37336         crypto: fix bug in large buffer handling
37337         Problem reported by Serge Belyshev for glibc in
37338         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
37339         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
37340         * lib/md4.c (md4_process_block):
37341         * lib/md5.c (md5_process_block):
37342         * lib/sha1.c (sha1_process_block):
37343         * lib/sha256.c (sha256_process_block):
37344         Don't assume the buffer length is less than 2**32.
37345         * lib/sha512.c (sha512_process_block): Likewise.
37346         Here, the bug is present only in the rare case where the host does
37347         not support uint64_t or where size_t is wider than 64 bits.
37348         Use u64size to work around the problems.
37349         * lib/u64.h (u64size): New macro.
37351 2012-05-15  Pádraig Brady  <P@draigBrady.com>
37353         fsusage: fix block size returned on older Linux 2.6
37355         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
37356         which is available since Linux 2.6.
37357         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
37358         when the member is available so it can be used as a fallback.
37359         * doc/posix-functions/statvfs.texi: Mention the hang issue
37360         on Linux < 2.6.36.
37362 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
37364         bootstrap: suppress stderr chatter
37365         * build-aux/bootstrap (insert_sorted_if_absent, main program):
37366         Omit unnecessary chatter to stderr.  The main program chatter
37367         was there only inadvertantly.
37369         bootstrap: .gitignore files created by autopoint, libtool
37370         I ran into this problem when bootstrapping the latest diffutils.
37371         After './bootstrap', 'git status' reported lots of untracked files
37372         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
37373         autopoint and do not need to be version-controlled.
37374         * build-aux/bootstrap: Put into .gitignore the files that
37375         autopoint and libtool create, by keeping track of files that exist
37376         after but not before these programs are run.
37377         (version_controlled_file): Move up.  2nd arg is now full file
37378         name, not base name; this is more convenient.  Put CVS at the end,
37379         as it's now somewhat deprecated.
37381 2012-05-14  Jim Meyering  <meyering@redhat.com>
37383         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
37384         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
37385         definition.  Reported by Bruno Haible.
37387 2012-05-13  Bruno Haible  <bruno@clisp.org>
37388             Paul Eggert  <eggert@cs.ucla.edu>
37390         binary-io: Define set_binary_mode function.
37391         * lib/binary-io.h (set_binary_mode): New function.
37392         (SET_BINARY): Define in terms of set_binary_mode.
37393         * modules/binary-io (configure.ac): Require AC_C_INLINE.
37394         * tests/test-binary-io.c (main): Accept an argument, and test either
37395         set_binary_mode or SET_BINARY depending on the argument.
37396         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
37397         argument. Clean up also t-bin-out0.tmp.
37399 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
37401         bootstrap: take advantage of POSIX shell features
37403         The 'bootstrap' script offered by Gnulib script already uses POSIX
37404         shell features (like $((...)) arithmetic expansions) that are not
37405         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
37406         means that bootstrap must already be run using a proper POSIX shell,
37407         which will thus provide more features, like ${var#pattern} parameter
37408         expansion or inversion of a command exit status with '!'.  We can
37409         thus use these features to improve the clarity and the performances
37410         of the bootstrap script.
37412         Suggested by Eric Blake.
37414         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
37415         of sed/expr plus command substitutions, to save some forks.  While
37416         we are at it, prefer the POSIX $(...) form of command substitution,
37417         rather than the legacy form `...` (since the former is visually
37418         clearer and interacts better with quoting), and prefer the idiom:
37419           "if ! CMD; then ACTION ..."
37420         over the idiom:
37421           "if CMD; then :; else ACTION ..."
37422         which was required by legacy Bourne shells not supporting '!'.
37424 2012-05-12  Bruno Haible  <bruno@clisp.org>
37426         system-quote: Add more comments.
37427         * lib/system-quote.h: Add more comments about wilcards and limitations.
37428         Suggested by Eli Zaretskii <eliz@gnu.org>.
37430         sh-quote, system-quote: Add comments about wildcards.
37431         * lib/sh-quote.h: Clarify what happens with wildcard characters.
37432         * lib/system-quote.h: Likewise.
37433         Reported by Eli Zaretskii <eliz@gnu.org>.
37435 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
37437         fsusage: check for GNU/Linux statvfs problem dynamically
37438         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
37439         Define STAT_STATFS2_BSIZE too, since in this case the code now
37440         checks dynamically whether statvfs is reliable, falling back on
37441         Linux-style statfs otherwise.
37442         (statvfs_works): New function, for dynamically testing statvfs.
37443         (get_fs_usage) [STAT_STATVFS]: Use it.
37444         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
37445         statvfs on GNU/Linux hosts, since it's now done dynamically.
37447 2012-05-10  Bruno Haible  <bruno@clisp.org>
37449         system-quote, execute, spawn-pipe: Escape '?' on Windows.
37450         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
37451         '?' character.
37452         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
37453         * tests/test-system-quote-main.c (check_all): Check also strings like
37454         "??????????".
37455         Reported by Eli Zaretskii <eliz@gnu.org>.
37457 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
37459         _Noreturn: port config.h to gcc -Wundef
37460         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
37461         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
37462         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
37464 2012-05-10  Bruno Haible  <bruno@clisp.org>
37466         system-quote: Refactor.
37467         * lib/system-quote.h (system_quote_copy): Fix comment.
37468         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
37469         New functions, extracted from system_quote_copy.
37470         (system_quote_length, system_quote_copy): Use these functions.
37471         Reported by Paul Eggert.
37473 2012-05-08  Bruno Haible  <bruno@clisp.org>
37475         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
37476         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
37478 2012-05-08  Bruno Haible  <bruno@clisp.org>
37480         Tests for module 'system-quote'.
37481         * modules/system-quote-tests: New file.
37482         * tests/test-system-quote.sh: New file.
37483         * tests/test-system-quote-main.c: New file.
37484         * tests/test-system-quote-child.c: New file.
37486         New module 'system-quote'.
37487         * lib/system-quote.h: New file.
37488         * lib/system-quote.c: New file.
37489         * modules/system-quote: New file.
37491 2012-05-08  Bruno Haible  <bruno@clisp.org>
37493         sh-quote: Make C++ safe and allow multiple inclusion.
37494         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
37495         declarations in extern "C".
37497 2012-05-08  Bruno Haible  <bruno@clisp.org>
37499         sh-quote tests: Make tests stricter.
37500         * tests/test-sh-quote.c (check_one): Check the return value of
37501         shell_quote_copy.
37502         (main): Check a string with a CR character. Check a string that
37503         contains UCHAR_MAX.
37505 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
37507         warnings.m4: provide a means to specify the program to compile.
37508         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
37509         (gl_WARN_ADD): here.
37510         Use gl_AS_VAR_APPEND.
37511         Support an argument to specify the program to compile.
37512         (gl_WARN_ADD): Accept an argument to specify the program to compile.
37513         AC_SUBST the WARN_CFLAGS when they are used.
37514         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
37515         leave this to gl_WARN_ADD.
37517 2012-05-08  Eric Blake  <eblake@redhat.com>
37519         doc: recommendations on gettext version
37520         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
37521         choice between versions.
37522         * DEPENDENCIES (gettext): Cover both approaches.
37524 2012-05-08  Jim Meyering  <meyering@redhat.com>
37526         init.sh: explain why EXEEXT support uses aliases rather than functions
37527         * tests/init.sh: Add a comment.
37529         init.sh: don't let bash aliases interfere with tests
37530         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
37531         is bash.  This avoids problems for those who alias standard commands to
37532         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
37533         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
37535 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
37537         stdint: be more consistent with glibc, SunOS libc
37538         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
37539         (gl_int_fast16_t, gl_uint_fast16_t)
37540         (gl_int_fast32_t, gl_uint_fast32_t)
37541         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
37542         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
37543         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
37544         Be consistent with glibc by default, and with SunOS 5.10 and later
37545         if __sun is defined.  This lessens the likelihood of clashes if
37546         code compiled for older hosts is combined with code compiled for
37547         newer ones.  Problem reported by Niels Möller in
37548         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
37550 2012-05-07  Eric Blake  <eblake@redhat.com>
37552         isatty: relax license to LGPLv2+
37553         * modules/isatty (License): Relax license.
37555 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
37557         stat-size: comment fix
37558         * lib/stat-size.h: Remove obsolete comment about indenting.
37560 2012-05-06  Bruno Haible  <bruno@clisp.org>
37562         Tests for module 'sh-quote'.
37563         * modules/sh-quote-tests: New file.
37564         * tests/test-sh-quote.c: New file.
37566 2012-05-06  Bruno Haible  <bruno@clisp.org>
37568         sh-quote: Improve shell_quote_argv's signature.
37569         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
37570         * lib/sh-quote.c (shell_quote_argv): Likewise.
37572 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
37574         stdint: document issues with int_fast8_t etc.
37575         * doc/posix-headers/stdint.texi (stdint.h): Say that other
37576         stdint.h substitutes may define these types differently.  See
37577         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
37579 2012-05-05  Bruno Haible  <bruno@clisp.org>
37581         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
37582         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
37583         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
37584         or 'guessing no (mishandles large arguments)'.
37586 2012-05-05  Bruno Haible  <bruno@clisp.org>
37588         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
37589         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
37590         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
37591         set gl_cv_func_link_follows_symlink to "guessing no".
37593 2012-05-05  Bruno Haible  <bruno@clisp.org>
37595         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
37596         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
37597         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
37598         "guessing no".
37599         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
37601 2012-05-05  Bruno Haible  <bruno@clisp.org>
37603         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
37604         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
37605         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
37606         set gl_cv_struct_dirent_d_ino to "guessing yes".
37608 2012-05-05  Bruno Haible  <bruno@clisp.org>
37610         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
37611         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
37612         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
37613         "guessing yes".
37615 2012-05-05  Bruno Haible  <bruno@clisp.org>
37617         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
37618         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
37619         compiling to a glibc system, set gl_cv_func_signbit and
37620         gl_cv_func_signbit_gcc to "guessing yes".
37622 2012-05-05  Bruno Haible  <bruno@clisp.org>
37624         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
37625         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
37626         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
37627         to "guessing yes".
37628         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
37629         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
37631 2012-05-05  Bruno Haible  <bruno@clisp.org>
37633         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
37634         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
37635         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
37636         gl_cv_func_realpath_works to "guessing yes".
37638 2012-05-05  Bruno Haible  <bruno@clisp.org>
37640         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
37641         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
37642         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
37644 2012-05-04  Bruno Haible  <bruno@clisp.org>
37646         Tweak last commit.
37647         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
37648         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37650 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
37652         unistd_h: make it easier to avoid sys_types_h
37653         This is useful for Emacs, which has its own method of porting to
37654         Windows, and which therefore does not need the sys_types_h module.
37655         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
37656         code moved here from gl_SYS_TYPES_H.
37657         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
37658         using the code directly.
37659         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
37660         gl_SYS_TYPES_H.
37661         * modules/sys_types (Files):
37662         * modules/unistd (Files): Add m4/off_t.m4.
37664 2012-05-03  Bruno Haible  <bruno@clisp.org>
37666         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
37667         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
37668         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
37669         "guessing yes" or "guessing no".
37670         (gl_FUNC_LSTAT): Update.
37671         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
37672         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
37673         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
37675 2012-05-03  Bruno Haible  <bruno@clisp.org>
37677         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
37678         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
37679         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
37680         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
37681         cross-compiling, choose the first alternative on glibc systems.
37682         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
37684 2012-05-03  Bruno Haible  <bruno@clisp.org>
37686         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
37687         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
37688         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
37690 2012-05-03  Bruno Haible  <bruno@clisp.org>
37692         chown: Avoid "guessing no" when cross-compiling to glibc systems.
37693         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
37695 2012-05-03  Bruno Haible  <bruno@clisp.org>
37697         Avoid "guessing no" guesses when cross-compiling to glibc systems.
37698         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
37699         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
37700         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
37701         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
37702         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
37703         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
37704         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
37705         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
37706         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
37707         compiling to glibc systems, set gl_cv_func_chown_slash_works,
37708         gl_cv_func_chown_ctime_works to "guessing yes".
37709         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
37710         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
37711         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
37712         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
37713         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
37714         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
37715         compiling to glibc systems, set gl_cv_func_open_directory_works to
37716         "guessing yes".
37717         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
37718         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
37719         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
37720         "guessing yes".
37721         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
37722         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
37723         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
37724         compiling to glibc systems, set gl_cv_func_floorf_ieee to
37725         "guessing yes".
37726         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
37727         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
37728         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
37729         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
37730         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
37731         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
37732         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
37733         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
37734         "guessing yes".
37735         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
37736         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
37737         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
37738         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
37739         "guessing yes".
37740         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
37741         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
37742         "guessing yes".
37743         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
37744         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
37745         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
37746         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
37747         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
37748         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
37749         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
37750         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
37751         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
37752         compiling to glibc systems, set gl_cv_func_log10f_ieee to
37753         "guessing yes".
37754         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
37755         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
37756         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
37757         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
37758         "guessing yes".
37759         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
37760         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
37761         "guessing yes".
37762         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
37763         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
37764         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
37765         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
37766         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
37767         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
37768         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
37769         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
37770         compiling to glibc systems, set gl_cv_func_mkfifo_works to
37771         "guessing yes".
37772         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
37773         compiling to glibc systems, set gl_cv_func_mknod_works to
37774         "guessing yes".
37775         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
37776         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
37777         "guessing yes".
37778         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
37779         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
37780         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
37781         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
37782         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
37783         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
37784         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
37785         compiling to glibc systems, set gl_cv_func_svid_putenv to
37786         "guessing yes".
37787         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
37788         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
37789         "guessing yes".
37790         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
37791         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
37792         "guessing yes".
37793         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
37794         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
37795         to "guessing yes".
37796         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
37797         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
37798         to "guessing yes".
37799         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
37800         compiling to glibc systems, set gl_cv_func_rmdir_works to
37801         "guessing yes".
37802         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
37803         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
37804         gl_cv_func_unlink_parent_fails to "guessing yes".
37805         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
37806         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
37807         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
37808         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
37809         gl_cv_func_rename_dest_works to "guessing yes".
37810         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
37811         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
37812         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
37813         compiling to glibc systems, set gl_cv_func_roundf_ieee to
37814         "guessing yes".
37815         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
37816         compiling to glibc systems, set gl_cv_func_roundl_ieee to
37817         "guessing yes".
37818         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
37819         compiling to glibc systems, set gl_cv_func_setenv_works to
37820         "guessing yes".
37821         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
37822         compiling to glibc systems, set gl_cv_func_unsetenv_works to
37823         "guessing yes".
37824         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
37825         compiling to glibc systems, set gl_cv_func_sleep_works to
37826         "guessing yes".
37827         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
37828         compiling to glibc systems, set gl_cv_func_stat_file_slash to
37829         "guessing yes".
37830         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
37831         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
37832         "guessing yes".
37833         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
37834         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
37835         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
37836         compiling to glibc systems, set gl_cv_func_truncf_ieee to
37837         "guessing yes".
37838         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
37839         compiling to glibc systems, set gl_cv_func_truncl_ieee to
37840         "guessing yes".
37841         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
37842         compiling to glibc systems, set gl_cv_func_usleep_works to
37843         "guessing yes".
37844         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
37845         compiling to glibc systems, set gl_cv_func_futimesat_works to
37846         "guessing yes".
37848 2012-05-03  Bruno Haible  <bruno@clisp.org>
37850         Say "guessing yes" or "guessing no" when cross-compiling.
37851         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
37852         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
37853         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
37854         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
37855         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
37856         am_cv_func_working_getline to "guessing yes" or "guessing no".
37857         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
37858         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
37859         (gl_FUNC_MEMMEM): When cross-compiling, set
37860         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
37861         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
37862         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
37863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
37864         set gl_cv_func_strcasestr_works_always to "guessing yes" or
37865         "guessing no".
37866         (gl_FUNC_STRCASESTR): When cross-compiling, set
37867         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
37868         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
37869         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
37870         (gl_FUNC_STRSTR): When cross-compiling, set
37871         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
37872         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
37873         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
37874         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
37875         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
37877 2012-05-01  Bruno Haible  <bruno@clisp.org>
37879         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
37880         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
37881         * build-aux/reloc-ldflags: Likewise.
37882         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
37884 2012-05-01  Bruno Haible  <bruno@clisp.org>
37886         gnulib-tool: Remove transitional code.
37887         * gnulib-tool: Don't warn about --import with 0 arguments any more.
37888         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37890 2012-05-01  Bruno Haible  <bruno@clisp.org>
37892         getcwd: Fix misindentation.
37893         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
37895 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
37897         exclude: process exclude and include directives in order
37898         This restores the pre-2009 behavior, and is part of a fix of a
37899         grep bug reported by Quentin Arce in
37900         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
37901         * lib/exclude.c (struct exclude): Remove 'tail' member.
37902         (new_exclude_segment): Prepend the new segment instead of appending.
37903         Return void, since that's now more convenient.
37904         (file_pattern_matches): Renamed from excluded_file_pattern_p.
37905         (file_name_matches): Renamed from excluded_file_name_p.
37906         (file_pattern_matches, file_name_matches):
37907         Return true if the pattern matches, not if it excludes.
37908         All callers changed.
37909         (excluded_file_name): Process the list in reverse order;
37910         since the list is now reversed this restores the pre-2009 behavior.
37911         (add_exclude): Adjust to new reversed-order list.  Use local var
37912         rather than macro, for clarity.
37913         * tests/test-exclude7.sh: Adjust to corrected behavior.
37915         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
37916         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
37917         it's not possible here.  Handle the case of \ at end of pattern
37918         without dumping core.
37919         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
37921         _Noreturn: future-proof non-GNU and non-MSVC compilers
37922         * build-aux/snippet/_Noreturn.h (_Noreturn):
37923         * m4/gnulib-common.m4 (gl_COMMON_BODY):
37924         Do not define _Noreturn if __STDC_VERSION__ indicates this is
37925         C11 or later.  This is more likely to work with random future C
37926         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
37927         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
37929         exclude: handle wildcards with FNM_EXTMATCH
37930         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
37931         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
37932         comment that "has wildcards" really means "has or may have
37933         wildcards".  Simplify by avoiding the need to call strcspn.
37935 2012-04-29  Bruno Haible  <bruno@clisp.org>
37937         gnulib-tool: Fix list of authors.
37938         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
37940 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
37942         bootstrap: support Automake-NG in $buildreq
37943         * bootstrap (check_versions): Handle automake and aclocal from
37944         Automake-NG specially.  They can be specified as respectively
37945         the "automake-ng" and "aclocal-ng" requirements.
37947 2012-04-25  Eric Blake  <eblake@redhat.com>
37949         bootstrap: only force latest Makefile.in.in for gettext module
37950         * build-aux/bootstrap (with_gettext): Only install latest
37951         Makefile.in.in for projects requesting bleeding edge gettext.
37953 2012-04-22  Bruno Haible  <bruno@clisp.org>
37955         doc: Mention reason for replacement on glibc/Linux systems.
37956         * doc/posix-functions/dprintf.texi: Mention the problem with special
37957         'long double' values.
37958         * doc/posix-functions/fprintf.texi: Likewise.
37959         * doc/posix-functions/printf.texi: Likewise.
37960         * doc/posix-functions/snprintf.texi: Likewise.
37961         * doc/posix-functions/sprintf.texi: Likewise.
37962         * doc/posix-functions/vdprintf.texi: Likewise.
37963         * doc/posix-functions/vfprintf.texi: Likewise.
37964         * doc/posix-functions/vprintf.texi: Likewise.
37965         * doc/posix-functions/vsnprintf.texi: Likewise.
37966         * doc/posix-functions/vsprintf.texi: Likewise.
37967         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
37968         platforms with F_DUPFD_CLOEXEC problems.
37969         * doc/posix-functions/glob.texi: Mention which platforms are affected
37970         by the problem with symbolic links.
37971         * doc/posix-functions/linkat.texi: Mention the problem with
37972         AT_SYMLINK_FOLLOW on Linux.
37974 2012-04-22  Bruno Haible  <bruno@clisp.org>
37976         pwrite: Don't replace on all platforms.
37977         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
37979 2012-04-22  Bruno Haible  <bruno@clisp.org>
37981         rint* tests: Avoid gcc warnings.
37982         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
37983         * tests/test-rintf.c (INFINITY, NAN): Likewise.
37984         * tests/test-rintl.c (INFINITY, NAN): Likewise.
37986 2012-04-21  Bruno Haible  <bruno@clisp.org>
37988         users.txt: Update.
37989         * users.txt: Add freedink, wdiff. Update URLs for projects that have
37990         switched from CVS to git, bzr, or svn.
37992 2012-04-21  Bruno Haible  <bruno@clisp.org>
37994         Large File Support for native Windows platforms.
37996         * m4/largefile.m4 (gl_LARGEFILE): New macro.
37997         * modules/largefile (configure.ac): Require gl_LARGEFILE.
37999         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
38000         type.
38001         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
38002         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
38003         * doc/posix-headers/sys_types.texi: Mention the effect of the
38004         'largefile' module.
38006         * lib/fcntl.in.h: Add comments about off_t.
38007         * modules/fcntl-h (Depends-on): Add sys_types.
38009         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
38010         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
38011         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
38012         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
38013         * modules/unistd (Depends-on): Add sys_types.
38014         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
38016         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
38017         instead of lseek.
38018         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
38019         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
38020         * modules/lseek (Depends-on): Add sys_types.
38022         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
38023         msvc-nothrow.h.
38024         (SetFileSize): New function.
38025         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
38026         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
38027         if Large File Support is requested.
38028         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
38029         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
38031         * lib/stdio.in.h: Add comments about off_t.
38032         * modules/stdio (Depends-on): Add sys_types.
38034         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
38035         instead of ftello.
38036         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
38037         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
38038         (gl_PREREQ_FTELLO): New macro.
38039         * modules/ftello (Depends-on): Add sys_types.
38040         (configure.ac): Incoke gl_PREREQ_FTELLO.
38042         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
38043         instead of fseeko.
38044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
38045         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
38046         (gl_PREREQ_FSEEKO): New macro.
38047         * modules/fseeko (Depends-on): Add sys_types.
38048         (configure.ac): Invoke gl_PREREQ_FSEEKO.
38050         * lib/sys_stat.in.h: Add comments about off_t.
38051         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
38052         64-bit integer for st_size in 'struct stat'.
38053         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
38054         Define _GL_WINDOWS_64_BIT_ST_SIZE.
38055         * modules/sys_stat (Depends-on): Add sys_types.
38056         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
38058         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
38059         instead of stat or _stat.
38061         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
38062         'struct _stati64' instead of fstat and 'struct stat'.
38063         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
38064         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
38066         Reported by Ray Satiro <raysatiro@yahoo.com>.
38068 2012-04-19  Eric Blake  <eblake@redhat.com>
38070         bootstrap: accommodate older libtool
38071         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
38072         Reported by Daniel P. Berrange.
38074 2012-04-19  Jim Meyering  <meyering@redhat.com>
38076         announce-gen: avoid failure due to lack of Digest::SHA1
38077         Even with the preferred Digest::SHA available, this script
38078         would fail when the backup module, Digest::SHA1, was not installed.
38079         * build-aux/announce-gen: Quote the conditional use of "use".
38080         Reported by Reuben Thomas in:
38081         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
38083         bootstrap: don't let a user's CDPATH setting affect this script
38084         When CDPATH is set, cd will sometimes generate output.
38085         When "cd" is run in a subshell whose output matters, that
38086         surprising-to-some output can cause malfunction.
38087         Unsetting CDPATH turns off this shell "feature."
38088         * build-aux/bootstrap (CDPATH): Unset.
38089         Reported by Reuben Thomas in:
38090         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
38091         and inspired by his patch here:
38092         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
38094 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
38095         and Jim Meyering  <meyering@redhat.com>
38097         maint.mk: catch "see @xref{}" and similar
38098         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
38099         prohibit "See also @xref{", "Also see @pxref{", and similar.
38101 2012-04-16  Jim Meyering  <meyering@redhat.com>
38103         bootstrap: really use gnulib's po/Makefile.in.in
38104         * build-aux/bootstrap: Correct the source file name in previous change.
38105         Reported by Akim Demaille.
38107         configmake: correct minor inconsistency in Makefile rule
38108         * modules/configmake (Makefile.am): All other rules like this one
38109         run the final "mv -f ..." in the same backslash-continued command
38110         as the one that does everything else.  This one put the mv -f ...
38111         command on a separate, non-backslash-continued line.
38112         Make it like the others.
38114         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
38115         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
38116         the one from gettext.  Reported by Akim Demaille.
38118 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
38120         Fix recursion of install-* into po directories.
38121         Bison's install-pdf bug reported by Hans Aberg at
38122         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
38123         * build-aux/po/Makefile.in.in (install-dvi, install-html)
38124         (install-info, install-pdf, install-ps): New targets.
38126 2012-04-16  Jim Meyering  <meyering@redhat.com>
38128         maint: avoid spurious "make sc_maint" failure
38129         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
38130         exempt all *.class file names, for lib/javaversion.class.
38132 2012-04-15  Bruno Haible  <bruno@clisp.org>
38134         lseek: Make configure test independent of environment.
38135         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
38136         Windows, we know that lseek() on pipes is broken; skip the runtime
38137         test.
38139 2012-04-14  Bruno Haible  <bruno@clisp.org>
38141         stat: Bypass buggy override in mingw64.
38142         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
38143         * lib/stat.c (stat) [mingw64]: Define to _stat.
38144         * doc/posix-functions/stat.texi: Mention mingw64 bug.
38146 2012-04-14  Bruno Haible  <bruno@clisp.org>
38148         pathmax: Fix compilation error on MSVC 9.
38149         * modules/pathmax (Depends-on): Add unistd.
38151 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
38153         README: document pointer comparison assumption
38154         * README (Portability guidelines): Document assumption about
38155         pointer comparisons, in response to a recent bug-gnulib comment by
38156         Jeffrey Kegler.
38158 2012-04-12  Bruno Haible  <bruno@clisp.org>
38160         Tests for module 'getrusage'.
38161         * modules/getrusage-tests: New file.
38162         * tests/test-getrusage.c: New file.
38164         New module 'getrusage'.
38165         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
38166         warn-on-use.h.
38167         (getrusage): New declaration.
38168         * lib/getrusage.c: New file.
38169         * m4/getrusage.m4: New file.
38170         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
38171         is declared.
38172         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
38173         HAVE_GETRUSAGE.
38174         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
38175         snippet/c++defs, snippet/warn-on-use.
38176         (Makefile.am): Update generation of sys/resource.h. Substitute
38177         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
38178         * modules/getrusage: New file.
38179         * doc/posix-functions/getrusage.texi: Mention the new module.
38181 2012-04-12  Bruno Haible  <bruno@clisp.org>
38183         Tests for module 'sys_resource'.
38184         * modules/sys_resource-tests: New file.
38185         * tests/test-sys_resource.c: New file.
38187         New module 'sys_resource'.
38188         * lib/sys_resource.in.h: New file.
38189         * m4/sys_resource_h.m4: New file.
38190         * modules/sys_resource: New file.
38191         * doc/posix-headers/sys_resource.texi: Mention the new module.
38193 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
38195         ioctl: Fix compilation error on mingw.
38196         * lib/ioctl.c: Include <windows.h>.
38197         Also reported by Ray Satiro <raysatiro@yahoo.com>.
38199 2012-04-04  Jim Meyering  <meyering@redhat.com>
38201         regex: correct #pragma guard expression
38202         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
38203         not 4.3.  Correct its cpp guard expression.
38205 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
38207         regex: remove unnecessary type punning
38208         Problem reported by Vladimir Serbinenko in
38209         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
38210         * lib/regex.h (struct re_pattern_buffer): Change the type of
38211         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
38212         Fix comment to match code.
38213         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
38214         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
38215         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
38216         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
38217         (set_regs):
38218         Omit no-longer-necessary casts.
38220 2012-04-03  Bruno Haible  <bruno@clisp.org>
38222         Tests for module 'ilogbl'.
38223         * modules/ilogbl-tests: New file.
38224         * tests/test-ilogbl.c: New file.
38226         New module 'ilogbl'.
38227         * lib/math.in.h (ilogbl): New declaration.
38228         * lib/ilogbl.c: New file.
38229         * m4/ilogbl.m4: New file.
38230         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
38231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
38232         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
38233         Split sed invocation, to avoid the limit of 100 substitutions of
38234         HP-UX 'sed'.
38235         * modules/ilogbl: New file.
38236         * tests/test-math-c++.cc: Check the declaration of ilogbl.
38237         * doc/posix-functions/ilogbl.texi: Mention the new module.
38239 2012-04-03  Bruno Haible  <bruno@clisp.org>
38241         Tests for module 'ilogbf'.
38242         * modules/ilogbf-tests: New file.
38243         * tests/test-ilogbf.c: New file.
38245         New module 'ilogbf'.
38246         * lib/math.in.h (ilogbf): New declaration.
38247         * lib/ilogbf.c: New file.
38248         * m4/ilogbf.m4: New file.
38249         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
38250         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
38251         REPLACE_ILOGBF.
38252         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
38253         REPLACE_ILOGBF.
38254         * modules/ilogbf: New file.
38255         * tests/test-math-c++.cc: Check the declaration of ilogbf.
38256         * doc/posix-functions/ilogbf.texi: Mention the new module.
38258 2012-04-03  Bruno Haible  <bruno@clisp.org>
38260         Tests for module 'ilogb'.
38261         * modules/ilogb-tests: New file.
38262         * tests/test-ilogb.c: New file.
38263         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
38264         tests/test-logb-ieee.h.
38266         New module 'ilogb'.
38267         * lib/math.in.h (ilogb): New declaration.
38268         * lib/ilogb.c: New file.
38269         * m4/ilogb.m4: New file.
38270         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
38271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
38272         REPLACE_ILOGB.
38273         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
38274         REPLACE_ILOGB.
38275         * modules/ilogb: New file.
38276         * tests/test-math-c++.cc: Check the declaration of ilogb.
38277         * doc/posix-functions/ilogb.texi: Mention the new module.
38279 2012-04-03  Bruno Haible  <bruno@clisp.org>
38281         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
38282         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
38283         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
38284         (main): Check their values.
38285         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
38286         problem.
38288 2012-04-03  Bruno Haible  <bruno@clisp.org>
38290         Tests for module 'logbl-ieee'.
38291         * modules/logbl-ieee-tests: New file.
38292         * tests/test-logbl-ieee.c: New file.
38294         New module 'logbl-ieee'.
38295         * modules/logbl-ieee: New file.
38297         Tests for module 'logb-ieee'.
38298         * modules/logb-ieee-tests: New file.
38299         * tests/test-logb-ieee.c: New file.
38301         New module 'logb-ieee'.
38302         * modules/logb-ieee: New file.
38304         Tests for module 'logbf-ieee'.
38305         * modules/logbf-ieee-tests: New file.
38306         * tests/test-logbf-ieee.c: New file.
38307         * tests/test-logb-ieee.h: New file.
38309         New module 'logbf-ieee'.
38310         * modules/logbf-ieee: New file.
38312 2012-04-03  Bruno Haible  <bruno@clisp.org>
38314         Tests for module 'logbl'.
38315         * modules/logbl-tests: New file.
38316         * tests/test-logbl.c: New file.
38318         New module 'logbl'.
38319         * lib/math.in.h (logbl): New declaration.
38320         * lib/logbl.c: New file.
38321         * m4/logbl.m4: New file.
38322         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
38323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
38324         REPLACE_LOGBL.
38325         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
38326         REPLACE_LOGBL.
38327         * modules/logbl: New file.
38328         * tests/test-math-c++.cc: Check the declaration of logbl.
38329         * doc/posix-functions/logbl.texi: Mention the new module.
38331 2012-04-02  Bruno Haible  <bruno@clisp.org>
38333         Tests for module 'logbf'.
38334         * modules/logbf-tests: New file.
38335         * tests/test-logbf.c: New file.
38337         New module 'logbf'.
38338         * lib/math.in.h (logbf): New declaration.
38339         * lib/logbf.c: New file.
38340         * m4/logbf.m4: New file.
38341         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
38342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
38343         REPLACE_LOGBF.
38344         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
38345         REPLACE_LOGBF.
38346         * modules/logbf: New file.
38347         * tests/test-math-c++.cc: Check the declaration of logbf.
38348         * doc/posix-functions/logbf.texi: Mention the new module.
38350 2012-04-02  Bruno Haible  <bruno@clisp.org>
38352         logb tests: More tests.
38353         * tests/test-logb.h: New file, based on tests/test-logb.c and
38354         tests/test-frexp.h.
38355         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
38356         (main): Just invoke test_function.
38357         * modules/logb-tests (Files): Add tests/test-logb.h,
38358         tests/minus-zero.h, tests/randomd.c.
38359         (Makefile.am): Add randomd.c to test_logb_SOURCES.
38361         logb: Provide replacement and workarounds.
38362         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
38363         is 1.
38364         * lib/logb.c: New file.
38365         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
38366         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
38367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
38368         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
38369         * modules/logb (Files): Add lib/logb.c.
38370         (Depends-on): Add isfinite, frexp, isnand.
38371         (configure.ac): Compile the replacement code logb.c if needed.
38372         * tests/test-math-c++.cc: Check the declaration of logb.
38373         * doc/posix-functions/logb.texi: Mention the replacement and the bug
38374         with subnormal numbers.
38376 2012-04-02  Bruno Haible  <bruno@clisp.org>
38378         log10* tests: Speed up.
38379         * tests/test-log10.h (test_function): Reduce amount of random numbers
38380         to test.
38382 2012-04-01  Bruno Haible  <bruno@clisp.org>
38384         logf-ieee: Fix test whether logf works.
38385         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
38387 2012-04-01  Bruno Haible  <bruno@clisp.org>
38389         log10l: Work around log10l-ieee test failure on IRIX 6.5.
38390         * lib/log10l.c: Include <float.h>
38391         (log10l): On IRIX, normalize the +Infinity value.
38392         * modules/log10l (Depends-on): Add 'float'.
38393         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
38394         +Infinity.
38396         log10f-ieee: Work around test failure on NetBSD 5.1.
38397         * m4/log10f-ieee.m4: New file.
38398         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
38399         test whether log10f works with a negative argument. Replace it if not.
38400         * lib/log10f.c (log10f): For negative arguments, return NaN.
38401         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
38402         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
38403         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
38405         log10f-ieee: Work around test failure on Solaris 9.
38406         * modules/log10f-ieee (Depends-on): Add log10-ieee.
38407         (configure.ac): Require gl_FUNC_LOG10F.
38409         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
38410         * m4/log10-ieee.m4: New file.
38411         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
38412         whether log10 works with a negative argument. Replace it if not.
38413         * lib/log10.c (log10): For negative arguments, return NaN.
38414         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
38415         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
38416         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
38418         Tests for module 'log10l-ieee'.
38419         * modules/log10l-ieee-tests: New file.
38420         * tests/test-log10l-ieee.c: New file.
38422         New module 'log10l-ieee'.
38423         * modules/log10l-ieee: New file.
38425         Tests for module 'log10-ieee'.
38426         * modules/log10-ieee-tests: New file.
38427         * tests/test-log10-ieee.c: New file.
38429         New module 'log10-ieee'.
38430         * modules/log10-ieee: New file.
38432         Tests for module 'log10f-ieee'.
38433         * modules/log10f-ieee-tests: New file.
38434         * tests/test-log10f-ieee.c: New file.
38435         * tests/test-log10-ieee.h: New file.
38437         New module 'log10f-ieee'.
38438         * modules/log10f-ieee: New file.
38440 2012-04-01  Bruno Haible  <bruno@clisp.org>
38442         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
38443         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
38444         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
38445         workaround.
38446         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
38447         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
38448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
38449         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
38450         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
38451         (Depends-on): Update conditions.
38452         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
38453         IRIX 6.5, OSF/1 5.1 problems.
38455 2012-04-01  Bruno Haible  <bruno@clisp.org>
38457         log10f: Work around OSF/1 5.1 bug.
38458         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
38459         * lib/log10f.c (log10f): If logf exists, use it and provide just the
38460         workaround.
38461         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
38462         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
38463         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
38464         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
38465         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
38466         (Depends-on): Update conditions.
38467         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
38469 2012-04-01  Bruno Haible  <bruno@clisp.org>
38471         log10: Work around OSF/1 5.1 bug.
38472         * lib/math.in.h (log10): New declaration.
38473         * lib/log10.c: New file.
38474         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
38475         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
38476         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
38477         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
38478         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
38479         * modules/log10 (Files): Add lib/log10.c.
38480         (Depends-on): Add math.
38481         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
38482         * tests/test-math-c++.cc: Check the declaration of log10.
38483         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
38485 2012-03-31  Bruno Haible  <bruno@clisp.org>
38487         log10l tests: More tests.
38488         * modules/log10l-tests (Files): Add tests/test-log10l.h,
38489         tests/minus-zero.h, tests/randoml.c.
38490         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
38491         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
38492         (main): Invoke test_function.
38494         log10f tests: More tests.
38495         * modules/log10f-tests (Files): Add tests/test-log10.h,
38496         tests/minus-zero.h, tests/randomf.c.
38497         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
38498         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
38499         (main): Invoke test_function.
38501         log10 tests: More tests.
38502         * tests/test-log10.h: New file.
38503         * modules/log10-tests (Files): Add tests/test-log10.h,
38504         tests/minus-zero.h, tests/randomd.c.
38505         (Makefile.am): Add randomd.c to test_log10_SOURCES.
38506         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
38507         (main): Invoke test_function.
38509 2012-03-31  Simon Josefsson  <simon@josefsson.org>
38511         fflush: Fix syntax error.
38512         * lib/fflush.c: Include unused-parameter.h, needed for
38513         _GL_UNUSED_PARAMETER.
38514         * modules/fflush (Depends-on): Add snippet/unused-parameter.
38516 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38518         regex: pacify GCC when compiling GRUB
38519         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
38520         a diagnostic.  Reported by Vladimir Serbinenko in
38521         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
38523 2012-03-29  Eric Blake  <eblake@redhat.com>
38525         stdio: don't assume gets any more
38526         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
38527         support.
38528         * modules/stdio (Makefile.am): Likewise.
38529         * lib/stdio-read.c (gets): Likewise.
38530         * tests/test-stdio-c++.cc: Likewise.
38531         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
38532         * lib/stdio.in.h (gets): Make warning occur in more places.
38533         * doc/posix-functions/gets.texi (gets): Update documentation.
38534         Reported by Christer Solskogen.
38536         maint.mk: fix syntax checks without exclusions
38537         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
38538         Reported by Daniel P. Berrange.
38540         strerror_r: avoid compiler warning
38541         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
38542         level.
38544         fflush: avoid compiler warning
38545         * lib/fflush.c (update_fpos_cache): Mark variables that are
38546         potentially unused.
38548 2012-03-25  Bruno Haible  <bruno@clisp.org>
38550         Tests for module 'localeconv'.
38551         * modules/localeconv-tests: New file.
38552         * tests/test-localeconv.c: New file.
38554         New module 'localeconv'.
38555         * lib/locale.in.h (localeconv): New declaration.
38556         * lib/localeconv.c: New file.
38557         * m4/localeconv.m4: New file.
38558         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
38559         REPLACE_LOCALECONV.
38560         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
38561         REPLACE_LOCALECONV.
38562         * modules/localeconv: New file.
38563         * modules/nl_langinfo (Depends-on): Add localeconv.
38564         * modules/human (Depends-on): Likewise.
38565         * doc/posix-functions/localeconv.texi: Mention the new module.
38567 2012-03-25  Bruno Haible  <bruno@clisp.org>
38569         locale: Provide a complete 'struct lconv'.
38570         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
38571         'struct lconv' does not contain int_p_cs_precedes.
38572         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
38573         * doc/posix-headers/locale.texi: Update.
38575         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
38576         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
38577         * doc/posix-headers/locale.texi: Update.
38579         locale: Provide a working 'struct lconv'.
38580         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
38581         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
38582         'struct lconv' does not even contain decimal_point.
38583         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
38584         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
38585         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
38586         * doc/posix-headers/locale.texi: Mention the problems with
38587         'struct lconv'.
38588         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
38590 2012-03-24  Bruno Haible  <bruno@clisp.org>
38592         Enable common subexpression optimization in GCC.
38593         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
38594         macros.
38595         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
38596         GCC attribute 'const'.
38597         (uc_locale_language): Declare with GCC attribute 'pure'.
38598         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
38599         with GCC attribute 'const'.
38600         * lib/unictype.in.h (uc_is_general_category_withtable,
38601         uc_combining_class, uc_combining_class_name,
38602         uc_combining_class_long_name, uc_bidi_class_name,
38603         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
38604         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
38605         uc_decimal_value, uc_digit_value, uc_numeric_value,
38606         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
38607         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
38608         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
38609         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
38610         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
38611         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
38612         Declare with GCC attribute 'const'.
38613         (uc_general_category_name, uc_general_category_long_name,
38614         uc_general_category_byname, uc_general_category,
38615         uc_is_general_category, uc_combining_class_byname,
38616         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
38617         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
38618         Declare with GCC attribute 'pure'.
38619         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
38620         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
38621         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
38622         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
38623         with GCC attribute 'pure'.
38624         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
38625         'const'.
38626         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
38627         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
38628         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
38629         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
38630         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
38631         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
38632         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
38633         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
38634         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
38635         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
38636         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
38637         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
38638         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
38639         GCC attribute 'pure'.
38640         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
38641         'const'.
38642         * lib/uniwidth.in.h (uc_width): Simplify declaration.
38643         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
38644         u32_strwidth): Declare with GCC attribute 'pure'.
38646         Enable common subexpression optimization in GCC.
38647         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
38648         (alphasort): Declare with GCC attribute 'pure'.
38649         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
38650         (atoll): Declare with GCC attribute 'pure'.
38651         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
38652         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
38653         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
38654         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
38655         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
38656         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
38657         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
38659 2012-03-24  Bruno Haible  <bruno@clisp.org>
38661         gnulib-tool: Avoid unintended error output from 'cmp'.
38662         * gnulib-tool (func_add_file, func_update_file, func_import): Use
38663         "cmp -s", not "cmp > /dev/null".
38665 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
38667         gnulib-tool: fix imprecise comments w.r.t. an automake bug
38669         It's not just Automake versions < 1.9b that creates an empty
38670         pkgdatadir at installation time if pkgdata_DATA is specified
38671         to empty; modern automake versions do this as well, at least
38672         until automake 1.11.4 (not yet released at the moment of writing,
38673         but soon to appear).  That behaviour was generally considered a
38674         feature rather than a bug, at least until this discussion:
38675         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
38677         See also automake bugs #10997 and #11030.
38679         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
38680         reference to relevant automake bug numbers.
38681         (func_emit_tests_Makefile_am): Likewise.
38683 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
38685         announce-gen: use Digest::SHA when possible
38686         * build-aux/announce-gen: Use Digest::SHA when possible, falling
38687         back to Digest::SHA1 if necessary.
38689 2012-03-20  Jim Meyering  <meyering@redhat.com>
38691         tests: avoid gcc warnings about argv vs. const initializers
38692         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
38693         warnings about discarding 'const' qualifier from pointer target type.
38694         * tests/test-posix_spawn2.c (main): Likewise.
38696 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
38698         README-release: simplify slightly
38699         * top/README-release: Run "git checkout master" only once.
38701 2012-03-15  Mark Wielaard  <mark@klomp.org>
38703         git-merge-changelog: add specific example on how to use with hg.
38704         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
38706 2012-03-18  Mark Wielaard  <mark@klomp.org>
38708         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
38710 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
38712         git-version-gen: don't let "prefix" envvar cause trouble
38713         * build-aux/git-version-gen (prefix): Initialize properly,
38714         so as not to use a value specified via the environment.
38715         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
38717 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
38719         regex: diagnose too-large repeat counts in EREs
38720         Previously, the code did not diagnose the too-large repeat count
38721         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
38722         as if it were 'b\{1000000000}', which is unexpected.
38723         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
38724         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
38725         is a reasonable one for this problem.  Another option would be to
38726         create a new REG_OVERFLOW error for repeat counts that are too large.
38727         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
38728         count is too large, so that the caller can distinguish the two cases.
38729         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
38730         "Too large" return code, and that repeat counts are one example of this.
38732 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
38734         doc: some glibc x32 integer width issues
38735         * doc/posix-headers/sys_types.texi (sys/types.h):
38736         * doc/posix-headers/time.texi (time.h):
38737         Mention that glibc x32 does not conform to POSIX in a couple of
38738         areas related to integer widths.
38740 2012-03-15  Bruno Haible  <bruno@clisp.org>
38742         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
38743         * lib/fma.c (VOLATILE): New macro.
38744         (FUNC): Use it to work around a GCC compiler bug.
38746 2012-03-13  Bruno Haible  <bruno@clisp.org>
38748         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
38749         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
38750         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
38751         REPLACE_HYPOTL to 1.
38752         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
38754 2012-03-13  Bruno Haible  <bruno@clisp.org>
38756         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
38757         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
38758         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
38759         REPLACE_REMAINDERL to 1.
38760         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
38761         bug.
38763 2012-03-13  Bruno Haible  <bruno@clisp.org>
38765         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
38766         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
38767         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
38768         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
38769         too big rounding errors.
38770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
38771         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
38772         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
38773         (Depends-on): Update conditions.
38774         * tests/test-sqrtl.c (my_ldexpl): New function.
38775         (main): Add test of a particular value.
38776         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
38778 2012-03-13  Pádraig Brady  <P@draigBrady.com>
38780         doc: Update timer_* platform portability notes.
38781         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
38782         that always return ENOSYS.
38783         * doc/posix-functions/timer_delete.texi: Likewise.
38784         * doc/posix-functions/timer_gettime.texi: Likewise.
38785         * doc/posix-functions/timer_settime.texi: Likewise.
38787 2012-03-13  Bruno Haible  <bruno@clisp.org>
38789         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
38790         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
38791         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
38792         REPLACE_CBRTL to 1.
38793         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
38795 2012-03-13  Bruno Haible  <bruno@clisp.org>
38797         remainderl: Avoid compilation error on AIX >= 5.2.
38798         * lib/math.in.h (remainderl): Undefine macro from the system header.
38800 2012-03-13  Bruno Haible  <bruno@clisp.org>
38802         Avoid compilation errors with MSVC option -fp:strict.
38803         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
38804         * lib/cbrtf.c: Likewise.
38805         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
38807 2012-03-12  Bruno Haible  <bruno@clisp.org>
38809         uninorm: Don't crash in out-of-memory conditions.
38810         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
38811         gracefully.
38812         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
38813         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
38815 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
38817         quote: fix syntax-check
38818         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
38819         also exports quote_quoting_options.
38821 2012-03-12  Simon Josefsson  <simon@josefsson.org>
38823         Collapse list of copyright years to ranges.  See
38824         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
38825         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
38826         build-aux/csharpexec.sh.in, build-aux/gnupload,
38827         build-aux/install-reloc, build-aux/javacomp.sh.in,
38828         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
38829         build-aux/move-if-change, build-aux/reloc-ldflags,
38830         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
38832 2012-03-11  Bruno Haible  <bruno@clisp.org>
38834         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
38835         * m4/log2f-ieee.m4: New file.
38836         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
38837         whether log2f works with a minus zero argument. Replace it if not.
38838         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
38839         (Depends-on): Add log2-ieee.
38840         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
38841         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
38843         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
38844         * m4/log2-ieee.m4: New file.
38845         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
38846         whether log2 works with a minus zero argument. Replace it if not.
38847         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
38848         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
38849         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
38851         Tests for module 'log2l-ieee'.
38852         * modules/log2l-ieee-tests: New file.
38853         * tests/test-log2l-ieee.c: New file.
38855         New module 'log2l-ieee'.
38856         * modules/log2l-ieee: New file.
38858         Tests for module 'log2-ieee'.
38859         * modules/log2-ieee-tests: New file.
38860         * tests/test-log2-ieee.c: New file.
38862         New module 'log2-ieee'.
38863         * modules/log2-ieee: New file.
38865         Tests for module 'log2f-ieee'.
38866         * modules/log2f-ieee-tests: New file.
38867         * tests/test-log2f-ieee.c: New file.
38868         * tests/test-log2-ieee.h: New file.
38870         New module 'log2f-ieee'.
38871         * modules/log2f-ieee: New file.
38873 2012-03-11  Bruno Haible  <bruno@clisp.org>
38875         Tests for module 'log2l'.
38876         * modules/log2l-tests: New file.
38877         * tests/test-log2l.c: New file.
38879         New module 'log2l'.
38880         * lib/math.in.h (log2l): New declaration.
38881         * lib/log2l.c: New file.
38882         * m4/log2l.m4: New file.
38883         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
38884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
38885         REPLACE_LOG2L.
38886         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
38887         REPLACE_LOG2L.
38888         * modules/log2l: New file.
38889         * tests/test-math-c++.cc: Check the declaration of log2l.
38890         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
38891         and OSF/1 problems.
38893 2012-03-11  Bruno Haible  <bruno@clisp.org>
38895         Tests for module 'log2f'.
38896         * modules/log2f-tests: New file.
38897         * tests/test-log2f.c: New file.
38899         New module 'log2f'.
38900         * lib/math.in.h (log2f): New declaration.
38901         * lib/log2f.c: New file.
38902         * m4/log2f.m4: New file.
38903         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
38904         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
38905         REPLACE_LOG2F.
38906         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
38907         REPLACE_LOG2F.
38908         * modules/log2f: New file.
38909         * tests/test-math-c++.cc: Check the declaration of log2f.
38910         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
38911         and OSF/1 and Cygwin problems.
38913 2012-03-11  Bruno Haible  <bruno@clisp.org>
38915         Tests for module 'log2'.
38916         * modules/log2-tests: New file.
38917         * tests/test-log2.c: New file.
38918         * tests/test-log2.h: New file.
38920         New module 'log2'.
38921         * lib/math.in.h (log2): New declaration.
38922         * lib/log2.c: New file.
38923         * m4/log2.m4: New file.
38924         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
38925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
38926         REPLACE_LOG2.
38927         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
38928         REPLACE_LOG2.
38929         * modules/log2: New file.
38930         * tests/test-math-c++.cc: Check the declaration of log2.
38931         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
38932         and OSF/1 and Cygwin problems.
38934 2012-03-11  Bruno Haible  <bruno@clisp.org>
38936         exp2* tests: More tests.
38937         * tests/test-exp2.h (test_function): Test all integral arguments that
38938         don't need to overflow or denormalized numbers.
38939         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
38940         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
38941         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
38943 2012-03-10  Bruno Haible  <bruno@clisp.org>
38945         log1pl-ieee: Work around test failure on AIX 7.1.
38946         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
38948         log1pl-ieee: Work around test failure on IRIX 6.5.
38949         * m4/log1pl-ieee.m4: New file.
38950         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
38951         test whether log1pl works with a minus zero argument. Replace it if
38952         not.
38953         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
38954         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
38955         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
38956         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
38957         (Depends-on): Update conditions.
38958         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
38959         m4/signbit.m4.
38960         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
38961         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
38963         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
38964         * m4/log1pf-ieee.m4: New file.
38965         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
38966         test whether log1pf works with a minus zero argument. Replace it if
38967         not.
38968         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
38969         m4/signbit.m4.
38970         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
38971         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
38973         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
38974         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
38975         (configure.ac): Require gl_FUNC_LOG1PF.
38977         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
38978         * m4/log1p-ieee.m4: New file.
38979         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
38980         whether log1p works with a minus zero argument. Replace it if not.
38981         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
38982         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
38983         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
38984         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
38985         (Depends-on): Update conditions.
38986         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
38987         m4/signbit.m4.
38988         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
38989         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
38991         Tests for module 'log1pl-ieee'.
38992         * modules/log1pl-ieee-tests: New file.
38993         * tests/test-log1pl-ieee.c: New file.
38995         New module 'log1pl-ieee'.
38996         * modules/log1pl-ieee: New file.
38998         Tests for module 'log1p-ieee'.
38999         * modules/log1p-ieee-tests: New file.
39000         * tests/test-log1p-ieee.c: New file.
39002         New module 'log1p-ieee'.
39003         * modules/log1p-ieee: New file.
39005         Tests for module 'log1pf-ieee'.
39006         * modules/log1pf-ieee-tests: New file.
39007         * tests/test-log1pf-ieee.c: New file.
39008         * tests/test-log1p-ieee.h: New file.
39010         New module 'log1pf-ieee'.
39011         * modules/log1pf-ieee: New file.
39013 2012-03-10  Bruno Haible  <bruno@clisp.org>
39015         Tests for module 'log1pl'.
39016         * modules/log1pl-tests: New file.
39017         * tests/test-log1pl.c: New file.
39019         New module 'log1pl'.
39020         * lib/math.in.h (log1pl): New declaration.
39021         * lib/log1pl.c: New file.
39022         * m4/log1pl.m4: New file.
39023         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
39024         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
39025         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
39026         * modules/log1pl: New file.
39027         * tests/test-math-c++.cc: Check the declaration of log1pl.
39028         * doc/posix-functions/log1pl.texi: Mention the new module.
39030 2012-03-10  Bruno Haible  <bruno@clisp.org>
39032         Tests for module 'log1pf'.
39033         * modules/log1pf-tests: New file.
39034         * tests/test-log1pf.c: New file.
39036         New module 'log1pf'.
39037         * lib/math.in.h (log1pf): New declaration.
39038         * lib/log1pf.c: New file.
39039         * m4/log1pf.m4: New file.
39040         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
39041         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
39042         REPLACE_LOG1PF.
39043         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
39044         REPLACE_LOG1PF.
39045         * modules/log1pf: New file.
39046         * tests/test-math-c++.cc: Check the declaration of log1pf.
39047         * doc/posix-functions/log1pf.texi: Mention the new module.
39049 2012-03-10  Bruno Haible  <bruno@clisp.org>
39051         log1p tests: More tests.
39052         * tests/test-log1p.h: New file.
39053         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
39054         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
39055         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
39056         (main): Invoke test_function.
39058         log1p: Provide replacement for Minix and MSVC.
39059         * lib/math.in.h (log1p): New declaration.
39060         * lib/log1p.c: New file.
39061         * m4/log1p.m4: New file.
39062         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
39063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
39064         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
39065         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
39066         (Depends-on): Add math, isnand, log, round.
39067         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
39068         HAVE_LOG1P is 0.
39069         * tests/test-math-c++.cc: Check the declaration of log1p.
39070         * doc/posix-functions/log1p.texi: Mention the replacement.
39072 2012-03-10  Bruno Haible  <bruno@clisp.org>
39074         math tests: Small simplification.
39075         * tests/test-exp.h (test_function): Use the same err_bound for
39076         'double' on platforms with sizeof (long double) == sizeof (double)
39077         than on platforms with sizeof (long double) > sizeof (double).
39078         * tests/test-exp2.h (test_function): Likewise.
39079         * tests/test-expm1.h (test_function): Likewise.
39080         * tests/test-log.h (test_function): Likewise.
39082 2012-03-10  Bruno Haible  <bruno@clisp.org>
39084         Fix some comments.
39085         * lib/expl.c: Fix an ambiguous comment.
39086         * lib/expm1.c: Likewise.
39087         * lib/expm1l.c: Likewise.
39088         * lib/exp2.c: Likewise.
39089         * lib/exp2l.c: Likewise.
39091 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
39093         regex: allow inclusion of <regex.h> before <limits.h>
39094         Without this patch, portable programs had to include <limits.h> before
39095         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
39096         I ran into this problem with a test version of GNU grep on Solaris 8.
39097         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
39098         This is done conditionally so that this change can be merged
39099         back to glibc.
39100         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
39101         using the included regex.
39103         fts: depend on fdopendir
39104         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
39105         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
39106         problem was introduced when fdopendir was split out.
39108 2012-03-10  Bruno Haible  <bruno@clisp.org>
39110         Remove unused variables.
39111         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
39112         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
39114 2012-03-10  Bruno Haible  <bruno@clisp.org>
39116         isnanf-nolibm: Fix last commit.
39117         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
39119         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
39120         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
39122 2012-03-10  Bruno Haible  <bruno@clisp.org>
39124         logf-ieee: Work around test failure on NetBSD 5.1.
39125         * m4/logf-ieee.m4: New file.
39126         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
39127         whether logf works with a negative argument. Replace it if not.
39128         * lib/logf.c (logf): For negative arguments, return NaN.
39129         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
39130         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
39131         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
39133         logf-ieee: Work around test failure on Solaris 9.
39134         * modules/logf-ieee (Depends-on): Add log-ieee.
39135         (configure.ac): Require gl_FUNC_LOGF.
39137         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
39138         * m4/log-ieee.m4: New file.
39139         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
39140         log works with a negative argument. Replace it if not.
39141         * lib/log.c (log): For negative arguments, return NaN.
39142         * modules/log-ieee (Files): Add m4/log-ieee.m4.
39143         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
39144         * doc/posix-functions/log.texi: Mention the log-ieee module.
39146         Tests for module 'logl-ieee'.
39147         * modules/logl-ieee-tests: New file.
39148         * tests/test-logl-ieee.c: New file.
39150         New module 'logl-ieee'.
39151         * modules/logl-ieee: New file.
39153         Tests for module 'log-ieee'.
39154         * modules/log-ieee-tests: New file.
39155         * tests/test-log-ieee.c: New file.
39157         New module 'log-ieee'.
39158         * modules/log-ieee: New file.
39160         Tests for module 'logf-ieee'.
39161         * modules/logf-ieee-tests: New file.
39162         * tests/test-logf-ieee.c: New file.
39163         * tests/test-log-ieee.h: New file.
39165         New module 'logf-ieee'.
39166         * modules/logf-ieee: New file.
39168 2012-03-10  Bruno Haible  <bruno@clisp.org>
39170         log: Fix bug introduced on 2012-03-09.
39171         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
39173 2012-03-10  Pádraig Brady  <P@draigBrady.com>
39175         timer-time: link explicitly with pthreads on glibc
39176         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
39177         to support static linking, when newer glibc is
39178         detected, as that contains pthread emulation of
39179         POSIX timer functions where required.
39180         * modules/timer-time: Depend on threadlib to
39181         pull in the appropriate library to link.
39183 2012-03-10  Bruno Haible  <bruno@clisp.org>
39185         log* tests: More tests.
39186         * tests/test-log.h: New file.
39187         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
39188         (main): Invoke test_function.
39189         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
39190         (main): Invoke test_function.
39191         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
39192         (main): Invoke test_function.
39193         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
39194         tests/randomd.c.
39195         (Makefile.am): Add randomd.c to test_log_SOURCES.
39196         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
39197         tests/randomf.c.
39198         (Makefile.am): Add randomf.c to test_logf_SOURCES.
39199         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
39200         tests/randoml.c.
39201         (Depends-on): Add 'float'.
39202         (Makefile.am): Add randoml.c to test_logl_SOURCES.
39204 2012-03-09  Bruno Haible  <bruno@clisp.org>
39206         logl: Work around OSF/1 5.1 bug.
39207         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
39208         * lib/logl.c (logl): If logl exists, use it and provide just the
39209         workaround.
39210         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
39211         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
39212         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
39213         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
39214         * modules/logl (configure.ac): Consider REPLACE_LOGL.
39215         (Depends-on): Update conditions.
39216         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
39218 2012-03-09  Bruno Haible  <bruno@clisp.org>
39220         logf: Work around OSF/1 5.1 bug.
39221         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
39222         * lib/logf.c (logf): If logf exists, use it and provide just the
39223         workaround.
39224         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
39225         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
39226         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
39227         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
39228         * modules/logf (configure.ac): Consider REPLACE_LOGF.
39229         (Depends-on): Update conditions.
39230         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
39232 2012-03-09  Bruno Haible  <bruno@clisp.org>
39234         log: Work around OSF/1 5.1 bug.
39235         * lib/math.in.h (log): New declaration.
39236         * lib/log.c: New file.
39237         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
39238         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
39239         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
39240         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
39241         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
39242         * modules/log (Files): Add lib/log.c.
39243         (Depends-on): Add math.
39244         (configure.ac): If REPLACE_LOG is 1, compile an override.
39245         * tests/test-math-c++.cc: Check the declaration of log.
39246         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
39248 2012-03-09  Jim Meyering  <meyering@redhat.com>
39250         readtokens.c: adjust wording in a comment
39251         * lib/readtokens.c: Insert omitted "that" in a comment.
39253 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
39255         modechange: add notations +40, 00440, etc.
39256         * lib/modechange.c (mode_compile): Support new notations
39257         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
39259 2012-03-08  Bruno Haible  <bruno@clisp.org>
39261         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
39262         * m4/exp2l-ieee.m4: New file.
39263         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
39264         test whether exp2l works with a NaN argument and with a negative
39265         infinity argument. Replace it if not.
39266         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
39267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
39268         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
39269         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
39270         (Depends-on): Update conditions.
39271         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
39272         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
39273         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
39275         Tests for module 'exp2l-ieee'.
39276         * modules/exp2l-ieee-tests: New file.
39277         * tests/test-exp2l-ieee.c: New file.
39279         New module 'exp2l-ieee'.
39280         * modules/exp2l-ieee: New file.
39282         Tests for module 'exp2-ieee'.
39283         * modules/exp2-ieee-tests: New file.
39284         * tests/test-exp2-ieee.c: New file.
39286         New module 'exp2-ieee'.
39287         * modules/exp2-ieee: New file.
39289         Tests for module 'exp2f-ieee'.
39290         * modules/exp2f-ieee-tests: New file.
39291         * tests/test-exp2f-ieee.c: New file.
39292         * tests/test-exp2-ieee.h: New file.
39294         New module 'exp2f-ieee'.
39295         * modules/exp2f-ieee: New file.
39297 2012-03-08  Bruno Haible  <bruno@clisp.org>
39299         Tests for module 'exp2l'.
39300         * modules/exp2l-tests: New file.
39301         * tests/test-exp2l.c: New file.
39303         New module 'exp2l'.
39304         * lib/math.in.h (exp2l): New declaration.
39305         * lib/exp2l.c: New file.
39306         * lib/expl-table.c: New file, extracted from lib/expl.c.
39307         * lib/expl.c (gl_expl_table): New declaration.
39308         (expl): Remove expl_table. Update reference.
39309         * m4/exp2l.m4: New file.
39310         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
39311         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
39312         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
39313         * modules/exp2l: New file.
39314         * modules/expl (Files): Add lib/expl-table.c.
39315         (configure.ac): Compile also expl-table.c.
39316         * tests/test-math-c++.cc: Check the declaration of exp2l.
39317         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
39318         problem.
39320 2012-03-08  Bruno Haible  <bruno@clisp.org>
39322         Tests for module 'exp2f'.
39323         * modules/exp2f-tests: New file.
39324         * tests/test-exp2f.c: New file.
39326         New module 'exp2f'.
39327         * lib/math.in.h (exp2f): New declaration.
39328         * lib/exp2f.c: New file.
39329         * m4/exp2f.m4: New file.
39330         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
39331         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
39332         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
39333         * modules/exp2f: New file.
39334         * tests/test-math-c++.cc: Check the declaration of exp2f.
39335         * doc/posix-functions/exp2f.texi: Mention the new module and the
39336         IRIX problem.
39338 2012-03-08  Bruno Haible  <bruno@clisp.org>
39340         Tests for module 'exp2'.
39341         * modules/exp2-tests: New file.
39342         * tests/test-exp2.c: New file.
39343         * tests/test-exp2.h: New file.
39345         New module 'exp2'.
39346         * lib/math.in.h (exp2): New declaration.
39347         * lib/exp2.c: New file.
39348         * m4/exp2.m4: New file.
39349         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
39350         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
39351         REPLACE_EXP2.
39352         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
39353         REPLACE_EXP2.
39354         * modules/exp2: New file.
39355         * tests/test-math-c++.cc: Check the declaration of exp2.
39356         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
39357         and OpenBSD problems.
39359 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
39361         savedir: fix comment typo
39362         * lib/savedir.c (savedirstream): Fix typo in comment.
39364 2012-03-08  Bruno Haible  <bruno@clisp.org>
39366         test-readtokens.c: use const; remove unwarranted cast
39367         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
39369 2012-03-08  Bruno Haible  <bruno@clisp.org>
39371         fmal: Avoid compilation error on AIX.
39372         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
39373         AIX 5.2..7.1.
39375 2012-03-08  Bruno Haible  <bruno@clisp.org>
39377         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
39378         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
39379         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
39380         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
39381         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
39382         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
39383         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
39385 2012-03-08  Bruno Haible  <bruno@clisp.org>
39387         remainderf: Override buggy system function on IRIX 6.5.
39388         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
39389         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
39390         when it exists.
39391         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
39393 2012-03-08  Jim Meyering  <meyering@redhat.com>
39395         test-readtokens.c: avoid const-related compilation warnings
39396         * tests/test-readtokens.c: Avoid const-related compilation warnings.
39398 2012-03-07  Jim Meyering  <meyering@redhat.com>
39399             Bruno Haible  <bruno@clisp.org>
39401         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
39402         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
39403         tests/randomd.c.
39404         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
39405         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
39406         tests/randoml.c.
39407         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
39409 2012-03-07  Bruno Haible  <bruno@clisp.org>
39411         expm1l: Avoid compilation error on AIX.
39412         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
39413         AIX 5.2..7.1.
39415 2012-03-07  Bruno Haible  <bruno@clisp.org>
39417         expm1l: Don't override undeclared system function on IRIX 6.5.
39418         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
39419         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
39420         it exists. Set HAVE_DECL_EXPM1L.
39421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
39422         HAVE_EXPM1L.
39423         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
39424         HAVE_EXPM1L.
39425         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
39427 2012-03-07  Bruno Haible  <bruno@clisp.org>
39429         remainderl: Don't override undeclared system function on IRIX 6.5.
39430         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
39431         HAVE_REMAINDERL.
39432         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
39433         declared when it exists. Set HAVE_DECL_REMAINDERL.
39434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
39435         not HAVE_REMAINDERL.
39436         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
39437         HAVE_REMAINDERL.
39438         * doc/posix-functions/remainderl.texi: Mention missing declaration
39439         problem.
39441 2012-03-07  Bruno Haible  <bruno@clisp.org>
39443         rintf: Don't override undeclared system function on IRIX 6.5.
39444         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
39445         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
39446         exists. Set HAVE_DECL_RINTF.
39447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
39448         HAVE_RINTF.
39449         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
39450         HAVE_RINTF.
39451         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
39453 2012-03-07  Bruno Haible  <bruno@clisp.org>
39455         roundl: Avoid compilation error on AIX.
39456         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
39457         AIX 5.2..7.1.
39459 2012-03-07  Bruno Haible  <bruno@clisp.org>
39461         roundl: Don't override undeclared system function on IRIX 6.5.
39462         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
39463         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
39464         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
39465         * modules/roundl (configure.ac): For replacement code, test
39466         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
39467         (Depends-on): Update conditions.
39468         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
39470 2012-03-07  Bruno Haible  <bruno@clisp.org>
39472         roundf: Don't override undeclared system function on IRIX 6.5.
39473         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
39474         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
39475         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
39476         * modules/roundf (configure.ac): For replacement code, test
39477         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
39478         (Depends-on): Update conditions.
39479         * modules/roundf-ieee (Depends-on): Update conditions.
39480         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
39482 2012-03-07  Bruno Haible  <bruno@clisp.org>
39484         round: Don't override undeclared system function on IRIX 6.5.
39485         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
39486         argument.
39487         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
39488         also when it is not declared. Set HAVE_ROUND. For replacement code,
39489         test HAVE_ROUND, not HAVE_DECL_ROUND.
39490         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
39491         not HAVE_DECL_ROUND.
39492         (Depends-on): Update conditions.
39493         * modules/round-ieee (Depends-on): Update conditions.
39494         * doc/posix-functions/round.texi: Mention the IRIX problem.
39496 2012-03-07  Bruno Haible  <bruno@clisp.org>
39498         copysignf: Don't override undeclared system function on IRIX 6.5.
39499         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
39500         HAVE_COPYSIGNF.
39501         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
39502         declared when it exists. Set HAVE_DECL_COPYSIGNF.
39503         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
39504         not HAVE_COPYSIGNF.
39505         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
39506         HAVE_COPYSIGNF.
39507         * doc/posix-functions/copysignf.texi: Mention missing declaration
39508         problem.
39510 2012-03-07  Jim Meyering  <meyering@redhat.com>
39512         readtokens: add tests
39513         * modules/readtokens-tests: New file.
39514         * tests/test-readtokens.c: New file.
39516 2012-03-07  Jim Meyering  <meyering@redhat.com>
39518         quotearg: the module must now include quote.h
39519         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
39520         So must the module.
39521         * modules/quotearg (Files): Add quote.h.
39523 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
39525         readtokens: avoid core dumps with unusual calling patterns
39526         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
39527         * lib/readtokens.c: Include limits.h.
39528         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
39529         (readtoken): Don't cache the delimiters; the cache code was buggy
39530         if !delim && saved_delim, or if the new n_delim differs from the old.
39531         Also, it wasn't thread-safe.
39533 2012-03-07  Bruno Haible  <bruno@clisp.org>
39535         quote: Adhere to common module description layout.
39536         * modules/quote (Makefile.am): Add back empty section.
39538 2012-03-06  Akim Demaille  <demaille@gostai.com>
39540         quote: fuse into quotearg
39541         This patch is made for the benefit of Bison.
39542         quote does not leave the choice of the quoting style to the user.
39543         quoting_style provides poor customizability, yet quoting_options,
39544         which is very rich, is hidden inside quotearg.c.  So in order to
39545         allow quote customization, move its implementation to quotearg.c.
39546         * lib/quote.c: Remove.
39547         * modules/quote: Adjust.
39548         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
39549         warning: provide all the members of literal structs.
39550         (quote_quoting_options): New.
39551         (quote, quote_n): Import implementation from quote.c.
39552         * lib/quote.h: Import the comments from quote.c.
39553         (quote_quoting_options): New.
39555 2012-03-06  Bruno Haible  <bruno@clisp.org>
39557         Tests for module 'expm1l-ieee'.
39558         * modules/expm1l-ieee-tests: New file.
39559         * tests/test-expm1l-ieee.c: New file.
39561         New module 'expm1l-ieee'.
39562         * modules/expm1l-ieee: New file.
39564         Tests for module 'expm1f-ieee'.
39565         * modules/expm1f-ieee-tests: New file.
39566         * tests/test-expm1f-ieee.c: New file.
39568         New module 'expm1f-ieee'.
39569         * modules/expm1f-ieee: New file.
39571         Tests for module 'expm1-ieee'.
39572         * modules/expm1-ieee-tests: New file.
39573         * tests/test-expm1-ieee.c: New file.
39574         * tests/test-expm1-ieee.h: New file.
39576         New module 'expm1-ieee'.
39577         * modules/expm1-ieee: New file.
39578         * m4/expm1-ieee.m4: New file.
39579         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
39580         whether expm1 works with a minus zero argument. Replace it if not.
39581         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
39582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
39583         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
39584         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
39585         (Depends-on): Update conditions.
39586         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
39587         AIX problem.
39589 2012-03-06  Bruno Haible  <bruno@clisp.org>
39591         Work around expm1f bug on IRIX 6.5.
39592         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
39593         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
39594         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
39595         not work.
39596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
39597         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
39598         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
39599         (Depends-on): Update conditions.
39600         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
39602 2012-03-06  Bruno Haible  <bruno@clisp.org>
39604         Tests for module 'expm1l'.
39605         * modules/expm1l-tests: New file.
39606         * tests/test-expm1l.c: New file.
39608         New module 'expm1l'.
39609         * lib/math.in.h (expm1l): New declaration.
39610         * lib/expm1l.c: New file.
39611         * m4/expm1l.m4: New file.
39612         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
39613         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
39614         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
39615         * modules/expm1l: New file.
39616         * tests/test-math-c++.cc: Check the declaration of expm1l.
39617         * doc/posix-functions/expm1l.texi: Mention the new module.
39619 2012-03-06  Bruno Haible  <bruno@clisp.org>
39621         Tests for module 'expm1f'.
39622         * modules/expm1f-tests: New file.
39623         * tests/test-expm1f.c: New file.
39625         New module 'expm1f'.
39626         * lib/math.in.h (expm1f): New declaration.
39627         * lib/expm1f.c: New file.
39628         * m4/expm1f.m4: New file.
39629         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
39630         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
39631         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
39632         * modules/expm1f: New file.
39633         * tests/test-math-c++.cc: Check the declaration of expm1f.
39634         * doc/posix-functions/expm1f.texi: Mention the new module.
39636 2012-03-06  Bruno Haible  <bruno@clisp.org>
39638         Tests for module 'expm1'.
39639         * modules/expm1-tests: New file.
39640         * tests/test-expm1.c: New file.
39641         * tests/test-expm1.h: New file.
39643         New module 'expm1'.
39644         * lib/math.in.h (expm1): New declaration.
39645         * lib/expm1.c: New file.
39646         * m4/expm1.m4: New file.
39647         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
39648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
39649         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
39650         * modules/expm1: New file.
39651         * tests/test-math-c++.cc: Check the declaration of expm1.
39652         * doc/posix-functions/expm1.texi: Mention the new module.
39654 2012-03-06  Bruno Haible  <bruno@clisp.org>
39656         math: Ensure declarations of math functions.
39657         * modules/acosf (Depends-on): Add 'extensions'.
39658         * modules/asinf (Depends-on): Likewise.
39659         * modules/atan2f (Depends-on): Likewise.
39660         * modules/atanf (Depends-on): Likewise.
39661         * modules/cbrt (Depends-on): Likewise.
39662         * modules/cbrtf (Depends-on): Likewise.
39663         * modules/cbrtl (Depends-on): Likewise.
39664         * modules/copysignf (Depends-on): Likewise.
39665         * modules/copysignl (Depends-on): Likewise.
39666         * modules/cosf (Depends-on): Likewise.
39667         * modules/coshf (Depends-on): Likewise.
39668         * modules/expf (Depends-on): Likewise.
39669         * modules/fabsf (Depends-on): Likewise.
39670         * modules/fabsl (Depends-on): Likewise.
39671         * modules/fmaf (Depends-on): Likewise.
39672         * modules/fmal (Depends-on): Likewise.
39673         * modules/fmodf (Depends-on): Likewise.
39674         * modules/fmodl (Depends-on): Likewise.
39675         * modules/frexpf (Depends-on): Likewise.
39676         * modules/frexpl (Depends-on): Likewise.
39677         * modules/hypot (Depends-on): Likewise.
39678         * modules/hypotf (Depends-on): Likewise.
39679         * modules/hypotl (Depends-on): Likewise.
39680         * modules/ldexpf (Depends-on): Likewise.
39681         * modules/ldexpl (Depends-on): Likewise.
39682         * modules/log10f (Depends-on): Likewise.
39683         * modules/log10l (Depends-on): Likewise.
39684         * modules/log1p (Depends-on): Likewise.
39685         * modules/logb (Depends-on): Likewise.
39686         * modules/logf (Depends-on): Likewise.
39687         * modules/modff (Depends-on): Likewise.
39688         * modules/modfl (Depends-on): Likewise.
39689         * modules/powf (Depends-on): Likewise.
39690         * modules/remainderf (Depends-on): Likewise.
39691         * modules/remainderl (Depends-on): Likewise.
39692         * modules/rintf (Depends-on): Likewise.
39693         * modules/rintl (Depends-on): Likewise.
39694         * modules/sinf (Depends-on): Likewise.
39695         * modules/sinhf (Depends-on): Likewise.
39696         * modules/sqrtf (Depends-on): Likewise.
39697         * modules/tanf (Depends-on): Likewise.
39698         * modules/tanhf (Depends-on): Likewise.
39699         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
39700         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
39701         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
39702         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
39703         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
39704         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
39705         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
39706         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
39707         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
39708         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
39709         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
39710         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
39711         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
39712         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
39713         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
39714         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
39715         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
39716         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
39717         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
39718         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
39719         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
39720         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
39721         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
39722         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
39723         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
39724         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
39725         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
39726         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
39727         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
39728         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
39729         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
39730         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
39731         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
39732         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
39733         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
39734         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
39735         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
39736         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
39737         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
39738         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
39739         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
39741 2012-03-06  Bruno Haible  <bruno@clisp.org>
39743         math: Update module names in warnings.
39744         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
39745         tanl): Use specific module name in warn-on-use warning.
39747 2012-03-06  Bruno Haible  <bruno@clisp.org>
39749         expl: Simplify computation.
39750         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
39752 2012-03-05  Bruno Haible  <bruno@clisp.org>
39754         exp* tests: More tests.
39755         * tests/test-exp.h: New file.
39756         * tests/test-exp.c: Include <float.h> and test-exp.h.
39757         (main): Invoke test_function.
39758         * tests/test-expf.c: Include <float.h> and test-exp.h.
39759         (main): Invoke test_function.
39760         * tests/test-expl.c: Include <float.h> and test-exp.h.
39761         (main): Invoke test_function.
39762         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
39763         (Makefile.am): Add randomd.c to test_exp_SOURCES.
39764         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
39765         (Makefile.am): Add randomf.c to test_expf_SOURCES.
39766         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
39767         (Depends-on): Add 'float'.
39768         (Makefile.am): Add randoml.c to test_expl_SOURCES.
39770         expl: Fix precision of computed result.
39771         * lib/expl.c: Completely rewritten.
39772         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
39773         (Maintainer): Add me.
39774         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
39776 2012-03-05  Bruno Haible  <bruno@clisp.org>
39778         cbrt* tests: More tests.
39779         * tests/test-cbrt.h: New file.
39780         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
39781         (main): Invoke test_function.
39782         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
39783         (main): Invoke test_function.
39784         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
39785         (main): Invoke test_function.
39786         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
39787         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
39788         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
39789         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
39790         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
39791         (Depends-on): Add 'float'.
39792         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
39794 2012-03-05  Bruno Haible  <bruno@clisp.org>
39796         hypot* tests: More tests.
39797         * tests/test-hypot.h: New file, partially extracted from
39798         tests/test-hypotl.c.
39799         * tests/test-hypot.c: Include test-hypot.h.
39800         (main): Invoke test_function.
39801         * tests/test-hypotf.c: Include test-hypot.h.
39802         (main): Invoke test_function.
39803         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
39804         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
39805         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
39806         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
39807         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
39808         tests/randomf.c.
39809         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
39810         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
39811         tests/randoml.c.
39812         (Depends-on): Add 'fpucw', 'float'.
39813         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
39815 2012-03-05  Bruno Haible  <bruno@clisp.org>
39817         fpucw: Doc about FreeBSD.
39818         * lib/fpucw.h: Mention FreeBSD in comments.
39820 2012-03-04  Bruno Haible  <bruno@clisp.org>
39822         sqrt* tests: More tests.
39823         * tests/test-sqrt.h: New file.
39824         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
39825         (main): Invoke test_function.
39826         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
39827         (main): Invoke test_function.
39828         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
39829         (main): Invoke test_function.
39830         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
39831         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
39832         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
39833         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
39834         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
39835         (Depends-on): Add 'float'.
39836         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
39838 2012-03-04  Bruno Haible  <bruno@clisp.org>
39840         remainder* tests: More tests.
39841         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
39842         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
39843         (main): Invoke test_function.
39844         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
39845         (main): Invoke test_function.
39846         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
39847         (main): Invoke test_function.
39848         * modules/remainder-tests (Files): Add tests/test-remainder.h,
39849         tests/randomd.c.
39850         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
39851         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
39852         tests/randomf.c.
39853         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
39854         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
39855         tests/randoml.c.
39856         (Depends-on): Add 'float'.
39857         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
39859 2012-03-04  Bruno Haible  <bruno@clisp.org>
39861         remainder, remainderf, remainderl: Fix computation for large quotients.
39862         * lib/remainder.c: Completely rewritten.
39863         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
39864         USE_FLOAT.
39865         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
39866         USE_LONG_DOUBLE.
39867         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
39868         isnand, isinf. Remove round, fma.
39869         * modules/remainderf (Files): Add lib/remainder.c.
39870         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
39871         Remove roundf, fmaf.
39872         * modules/remainderl (Files): Add lib/remainder.c.
39873         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
39874         isinf. Remove roundl, fmal.
39875         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
39876         REMAINDER_LIBM.
39877         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
39878         REMAINDERF_LIBM.
39879         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
39880         REMAINDERL_LIBM.
39882 2012-03-04  Bruno Haible  <bruno@clisp.org>
39884         fmod* tests: More tests.
39885         * tests/test-fmod.h (my_ldexp): New function.
39886         (test_function): Reduce amount of random numbers to test. Add tests
39887         of very large quotients x / y.
39888         * tests/test-fmod.c (MAX_EXP): New macro.
39889         * tests/test-fmodf.c (MAX_EXP): Likewise.
39890         * tests/test-fmodl.c (MAX_EXP): Likewise.
39892 2012-03-04  Bruno Haible  <bruno@clisp.org>
39894         fmod, fmodl: Fix computation for large quotients x / y.
39895         * lib/fmod.c: Completely rewritten.
39896         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
39897         USE_LONG_DOUBLE.
39898         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
39899         isnand. Remove fma.
39900         * modules/fmodl (Files): Add lib/fmod.c.
39901         (Depends-on): Add float, isfinite, signbit, fabsl,
39902         frexpl, ldexpl, isnanl. Remove fma.
39903         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
39904         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
39906 2012-03-03  Bruno Haible  <bruno@clisp.org>
39908         fmod* tests: More tests.
39909         * tests/test-fmod.h: New file.
39910         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
39911         (main): Invoke test_function.
39912         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
39913         (main): Invoke test_function.
39914         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
39915         (main): Invoke test_function.
39916         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
39917         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
39918         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
39919         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
39920         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
39921         (Depends-on): Add 'float'.
39922         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
39924 2012-03-03  Bruno Haible  <bruno@clisp.org>
39926         rint* tests: More tests.
39927         * tests/test-rint.h: New file, partially extracted from
39928         tests/test-rintl.c.
39929         * tests/test-rint.c: Include test-rint.h.
39930         (main): Invoke test_function.
39931         * tests/test-rintf.c: Include test-rint.h.
39932         (main): Invoke test_function.
39933         * tests/test-rintl.c: Include test-rint.h.
39934         (main): Invoke test_function.
39935         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
39936         (Makefile.am): Add randomd.c to test_rint_SOURCES.
39937         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
39938         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
39939         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
39940         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
39942 2012-03-03  Bruno Haible  <bruno@clisp.org>
39944         modf* tests: More tests.
39945         * tests/test-modf.h: New file.
39946         * tests/test-modf.c: Include <float.h> and test-modf.h.
39947         (main): Invoke test_function.
39948         * tests/test-modff.c: Include <float.h> and test-modf.h.
39949         (main): Invoke test_function.
39950         * tests/test-modfl.c: Include <float.h> and test-modf.h.
39951         (main): Invoke test_function.
39952         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
39953         (Makefile.am): Add randomd.c to test_modf_SOURCES.
39954         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
39955         (Makefile.am): Add randomf.c to test_modff_SOURCES.
39956         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
39957         (Depends-on): Add 'float'.
39958         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
39960 2012-03-03  Bruno Haible  <bruno@clisp.org>
39962         fabs* tests: More tests.
39963         * tests/test-fabs.h: New file, partially extracted from
39964         tests/test-fabsl.c.
39965         * tests/test-fabs.c (RANDOM): New macro.
39966         * tests/test-fabsf.c (RANDOM): New macro.
39967         * tests/test-fabsl.c (RANDOM): New macro.
39968         * modules/fabs-tests (Files): Add tests/randomd.c.
39969         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
39970         * modules/fabsf-tests (Files): Add tests/randomf.c.
39971         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
39972         * modules/fabsl-tests (Files): Add tests/randoml.c.
39973         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
39975 2012-03-03  Bruno Haible  <bruno@clisp.org>
39977         ldexp* tests: More tests.
39978         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
39979         * tests/test-ldexp.c (RANDOM): New macro.
39980         * tests/test-ldexpf.c (RANDOM): New macro.
39981         * tests/test-ldexpl.c (RANDOM): New macro.
39982         * modules/ldexp-tests (Files): Add tests/randomd.c.
39983         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
39984         * modules/ldexpf-tests (Files): Add tests/randomf.c.
39985         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
39986         * modules/ldexpl-tests (Files): Add tests/randoml.c.
39987         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
39989 2012-03-03  Bruno Haible  <bruno@clisp.org>
39991         frexp* tests: More tests.
39992         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
39993         * tests/test-frexp.c (RANDOM): New macro.
39994         * tests/test-frexpf.c (RANDOM): New macro.
39995         * tests/test-frexpl.c (RANDOM): New macro.
39996         * modules/frexp-tests (Files): Add tests/randomd.c.
39997         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
39998         * modules/frexpf-tests (Files): Add tests/randomf.c.
39999         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
40000         * modules/frexpl-tests (Files): Add tests/randoml.c.
40001         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
40003 2012-03-03  Bruno Haible  <bruno@clisp.org>
40005         Support for pseudo-random numbers in tests.
40006         * tests/randomf.c: New file.
40007         * tests/randomd.c: New file.
40008         * tests/randoml.c: New file.
40009         * tests/macros.h (randomf, randomd, randoml): New declarations.
40011 2012-03-03  Bruno Haible  <bruno@clisp.org>
40013         frexp* tests: Refactor.
40014         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
40015         * tests/test-frexp.c: Include and use it.
40016         * tests/test-frexpf.c: Likewise.
40017         * tests/test-frexpl.c: Likewise.
40018         * modules/frexp-tests (Files): Add tests/test-frexp.h.
40019         * modules/frexpf-tests (Files): Likewise.
40020         * modules/frexpl-tests (Files): Likewise.
40022 2012-03-02  Jim Meyering  <meyering@redhat.com>
40024         maint: don't specify XZ_OPT=-9ev in dist-related rule
40025         Using xz's -9 option is warranted only if you have a very large
40026         tarball (see xz's documentation for the sizes vs. presets), and
40027         requires 64MiB of memory at decompression time.
40028         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
40029         Automake's default of just "-e" is fine.  Override on a
40030         per-package basis by setting XZ_OPT e.g., in cfg.mk.
40032 2012-03-01  Eric Blake  <eblake@redhat.com>
40034         maint.mk: allow announcement for non-gnulib project
40035         * maint.mk (announcement): Skip gnulib version if not used.
40037 2012-03-01  Jim Meyering  <meyering@redhat.com>
40039         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
40040         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
40041         envvar settings cannot interfere.  Otherwise, setting envvars like
40042         prohibit=foo require=bar, etc. would cause spurious test failures.
40044 2012-03-01  Eric Blake  <eblake@redhat.com>
40046         maint.mk: add per-line exclusions to prohibitions
40047         * maint.mk (_sc_search_regexp): Add $exclude parameter.
40048         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
40049         (sc_const_long_option): Use it.
40051 2012-03-01  Bruno Haible  <bruno@clisp.org>
40053         Tests for module 'expl-ieee'.
40054         * modules/expl-ieee-tests: New file.
40055         * tests/test-expl-ieee.c: New file.
40057         New module 'expl-ieee'.
40058         * modules/expl-ieee: New file.
40060         Tests for module 'exp-ieee'.
40061         * modules/exp-ieee-tests: New file.
40062         * tests/test-exp-ieee.c: New file.
40064         New module 'exp-ieee'.
40065         * modules/exp-ieee: New file.
40067         Tests for module 'expf-ieee'.
40068         * modules/expf-ieee-tests: New file.
40069         * tests/test-expf-ieee.c: New file.
40070         * tests/test-exp-ieee.h: New file.
40072         New module 'expf-ieee'.
40073         * modules/expf-ieee: New file.
40075 2012-02-29  Bruno Haible  <bruno@clisp.org>
40077         cbrtl-ieee: Work around test failure on IRIX 6.5.
40078         * m4/cbrtl-ieee.m4: New file.
40079         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
40080         test whether cbrtl works with a minus zero argument. Replace it if not.
40081         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
40082         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
40083         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
40084         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
40085         (Depends-on): Update conditions.
40086         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
40087         m4/signbit.m4.
40088         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
40089         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
40090         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
40092         Tests for module 'cbrtl-ieee'.
40093         * modules/cbrtl-ieee-tests: New file.
40094         * tests/test-cbrtl-ieee.c: New file.
40096         New module 'cbrtl-ieee'.
40097         * modules/cbrtl-ieee: New file.
40099         Tests for module 'cbrt-ieee'.
40100         * modules/cbrt-ieee-tests: New file.
40101         * tests/test-cbrt-ieee.c: New file.
40103         New module 'cbrt-ieee'.
40104         * modules/cbrt-ieee: New file.
40106         Tests for module 'cbrtf-ieee'.
40107         * modules/cbrtf-ieee-tests: New file.
40108         * tests/test-cbrtf-ieee.c: New file.
40109         * tests/test-cbrt-ieee.h: New file.
40111         New module 'cbrtf-ieee'.
40112         * modules/cbrtf-ieee: New file.
40114 2012-02-29  Bruno Haible  <bruno@clisp.org>
40116         cbrtf: Work around bug in IRIX 6.5 system function.
40117         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
40118         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
40119         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
40120         work.
40121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
40122         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
40123         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
40124         (Depends-on): Update conditions.
40125         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
40127 2012-02-29  Bruno Haible  <bruno@clisp.org>
40129         Tests for module 'cbrtl'.
40130         * modules/cbrtl-tests: New file.
40131         * tests/test-cbrtl.c: New file.
40133         New module 'cbrtl'.
40134         * lib/math.in.h (cbrtl): New declaration.
40135         * lib/cbrtl.c: New file.
40136         * m4/cbrtl.m4: New file.
40137         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
40138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
40139         HAVE_DECL_CBRTL.
40140         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
40141         HAVE_DECL_CBRTL.
40142         * modules/cbrtl: New file.
40143         * tests/test-math-c++.cc: Check the declaration of cbrtl.
40144         * doc/posix-functions/cbrtl.texi: Mention the new module.
40146 2012-02-29  Bruno Haible  <bruno@clisp.org>
40148         Tests for module 'cbrtf'.
40149         * modules/cbrtf-tests: New file.
40150         * tests/test-cbrtf.c: New file.
40152         New module 'cbrtf'.
40153         * lib/math.in.h (cbrtf): New declaration.
40154         * lib/cbrtf.c: New file.
40155         * m4/cbrtf.m4: New file.
40156         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
40157         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
40158         HAVE_DECL_CBRTF.
40159         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
40160         HAVE_DECL_CBRTF.
40161         * modules/cbrtf: New file.
40162         * tests/test-math-c++.cc: Check the declaration of cbrtf.
40163         * doc/posix-functions/cbrtf.texi: Mention the new module.
40165 2012-02-29  Bruno Haible  <bruno@clisp.org>
40167         cbrt: Provide replacement on MSVC and Minix.
40168         * lib/math.in.h (cbrt): New declaration.
40169         * lib/cbrt.c: New file.
40170         * m4/cbrt.m4: New file.
40171         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
40172         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
40173         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
40174         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
40175         (Depends-on): Add dependencies.
40176         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
40177         * tests/test-math-c++.cc: Check the declaration of cbrt.
40178         * doc/posix-functions/cbrt.texi: Mention that the module provides a
40179         replacement.
40181 2012-02-29  Bruno Haible  <bruno@clisp.org>
40183         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
40184         * m4/hypotl-ieee.m4: New file.
40185         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
40186         test whether hypotl works with mixed NaN and Infinity arguments.
40187         Replace it if not.
40188         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
40189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
40190         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
40191         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
40192         (Depends-on): Update conditions.
40193         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
40194         (Depends-on): Add hypot-ieee.
40195         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
40196         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
40198         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
40199         * m4/hypotf-ieee.m4: New file.
40200         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
40201         test whether hypotf works with mixed NaN and Infinity arguments.
40202         Replace it if not.
40203         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
40204         (Depends-on): Add hypot-ieee.
40205         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
40206         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
40208         hypot-ieee: Work around test failure on OSF/1 and native Windows.
40209         * lib/math.in.h (hypot): New declaration.
40210         * lib/hypot.c: New file.
40211         * m4/hypot-ieee.m4: New file.
40212         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
40213         whether hypot works with mixed NaN and Infinity arguments. Replace it
40214         if not.
40215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
40216         REPLACE_HYPOT.
40217         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
40218         * modules/hypot (Files): Add lib/hypot.c.
40219         (Depends-on): Add dependencies.
40220         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
40221         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
40222         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
40223         * tests/test-math-c++.cc: Check the declaration of hypot.
40224         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
40226         Tests for module 'hypotl-ieee'.
40227         * modules/hypotl-ieee-tests: New file.
40228         * tests/test-hypotl-ieee.c: New file.
40230         New module 'hypotl-ieee'.
40231         * modules/hypotl-ieee: New file.
40233         Tests for module 'hypot-ieee'.
40234         * modules/hypot-ieee-tests: New file.
40235         * tests/test-hypot-ieee.c: New file.
40237         New module 'hypot-ieee'.
40238         * modules/hypot-ieee: New file.
40240         Tests for module 'hypotf-ieee'.
40241         * modules/hypotf-ieee-tests: New file.
40242         * tests/test-hypotf-ieee.c: New file.
40243         * tests/test-hypot-ieee.h: New file.
40245         New module 'hypotf-ieee'.
40246         * modules/hypotf-ieee: New file.
40248 2012-02-29  Bruno Haible  <bruno@clisp.org>
40250         Remove unused variables.
40251         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
40252         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
40253         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
40254         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
40256 2012-02-29  Eric Blake  <eblake@redhat.com>
40258         termios: fix pid_t always, not just for tcgetsid
40259         * doc/posix-headers/termios.texi (termios.h): Mention problem.
40260         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
40261         just when building tcgetsid.
40263 2012-02-29  Bruno Haible  <bruno@clisp.org>
40265         Tests for module 'hypotl'.
40266         * modules/hypotl-tests: New file.
40267         * tests/test-hypotl.c: New file.
40269         New module 'hypotl'.
40270         * lib/math.in.h (hypotl): New declaration.
40271         * lib/hypotl.c: New file.
40272         * m4/hypotl.m4: New file.
40273         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
40274         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
40275         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
40276         * modules/hypotl: New file.
40277         * tests/test-math-c++.cc: Check the hypotl declaration.
40278         * doc/posix-functions/hypotl.texi: Mention the new module.
40280 2012-02-29  Eric Blake  <eblake@redhat.com>
40282         tcgetsid: fix cygwin header bug
40283         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
40285         docs: update cygwin progress
40286         * doc/posix-functions/llround.texi (llround): Added in cygwin
40287         1.7.8.
40288         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
40289         * doc/glibc-functions/program_invocation_name.texi
40290         (program_invocation_name): Likewise.
40291         * doc/glibc-functions/program_invocation_short_name.texi
40292         (program_invocation_short_name): Likewise.
40293         * doc/glibc-functions/madvise.texi (madvise): Likewise.
40294         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
40295         Likewise.
40296         * doc/posix-functions/pthread_spin_destroy.texi
40297         (pthread_spin_destroy): Added in cygwin 1.7.10.
40298         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
40299         Likewise.
40300         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
40301         Likewise.
40302         * doc/posix-functions/pthread_spin_trylock.texi
40303         (pthread_spin_trylock): Likewise.
40304         * doc/posix-functions/pthread_spin_unlock.texi
40305         (pthread_spin_unlock): Likewise.
40306         * doc/posix-functions/pthread_setschedprio.texi
40307         (pthread_setschedprio): Likewise.
40308         * doc/posix-functions/pthread_attr_getstack.texi
40309         (pthread_attr_getstack): Likewise.
40310         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
40311         (pthread_attr_getstackaddr): Likewise.
40312         * doc/glibc-functions/pthread_getattr_np.texi
40313         (pthread_getattr_np): Likewise.
40314         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
40315         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
40316         * doc/posix-functions/clock_settime.texi (clock_settime):
40317         Likewise.
40318         * doc/posix-functions/pthread_attr_getguardsize.texi
40319         (pthread_attr_getguardsize): Likewise.
40320         * doc/posix-functions/pthread_attr_setguardsize.texi
40321         (pthread_attr_setguardsize): Likewise.
40322         * doc/posix-functions/pthread_attr_setstack.texi
40323         (pthread_attr_setstack): Likewise.
40324         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
40325         (pthread_attr_setstackaddr): Likewise.
40326         * doc/posix-functions/clock_getcpuclockid.texi
40327         (clock_getcpuclockid): Likewise.
40328         * doc/posix-functions/pthread_getcpuclockid.texi
40329         (pthread_getcpuclockid): Likewise.
40330         * doc/glibc-functions/error.texi (error): Likewise.
40331         * doc/glibc-functions/error_at_line.texi (error_at_line):
40332         Likewise.
40333         * doc/glibc-functions/error_message_count.texi
40334         (error_message_count): Likewise.
40335         * doc/glibc-functions/error_one_per_line.texi
40336         (error_one_per_line): Likewise.
40337         * doc/glibc-functions/error_print_progname.texi
40338         (error_print_progname): Likewise.
40339         * doc/posix-functions/pthread_condattr_getclock.texi
40340         (pthread_condattr_getclock): Likewise.
40341         * doc/posix-functions/pthread_condattr_setclock.texi
40342         (pthread_condattr_setclock): Likewise.
40343         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
40344         Likewise.
40345         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
40346         * doc/glibc-functions/getpt.texi (getpt): Likewise.
40347         * doc/glibc-functions/get_current_dir_name.texi
40348         (get_current_dir_name): Likewise.
40349         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
40350         Likewise.
40351         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
40352         wrong return type.
40353         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
40354         1.7.11.
40356 2012-02-29  Bruno Haible  <bruno@clisp.org>
40358         Tests for module 'hypotf'.
40359         * modules/hypotf-tests: New file.
40360         * tests/test-hypotf.c: New file.
40362         New module 'hypotf'.
40363         * lib/math.in.h (hypotf): New declaration.
40364         * lib/hypotf.c: New file.
40365         * m4/hypotf.m4: New file.
40366         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
40367         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
40368         REPLACE_HYPOTF.
40369         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
40370         REPLACE_HYPOTF.
40371         * modules/hypotf: New file.
40372         * tests/test-math-c++.cc: Check the hypotf declaration.
40373         * doc/posix-functions/hypotf.texi: Mention the new module.
40375         hypot: Prepare for hypotf module.
40376         * m4/hypot.m4: New file.
40377         * modules/hypot (Files): Add m4/hypot.m4.
40378         (configure.ac): Invoke gl_FUNC_HYPOT.
40380 2012-02-29  Bruno Haible  <bruno@clisp.org>
40382         hypot tests: More tests.
40383         * tests/test-hypot.c: Include <float.h>.
40384         (main): Add tests about overflow and underflow.
40386 2012-02-29  Bruno Haible  <bruno@clisp.org>
40388         math code: Add comments.
40389         * lib/acosl.c: Add comment about related glibc source files.
40390         * lib/asinl.c: Likewise.
40391         * lib/atanl.c: Likewise.
40392         * lib/expl.c: Likewise.
40393         * lib/logl.c: Likewise.
40394         * lib/sincosl.c: Likewise.
40395         * lib/sinl.c: Likewise.
40396         * lib/tanl.c: Likewise.
40397         * lib/trigl.c: Likewise.
40398         * lib/cosl.c: Likewise. Fix comments.
40400 2012-02-28  Bruno Haible  <bruno@clisp.org>
40402         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
40403         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
40404         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
40405         HUGE_VALL are defined.
40406         (numeric_equald): Renamed from numeric_equal.
40407         (numeric_equalf, numeric_equall): New functions.
40408         (main): Check also HUGE_VALF, HUGE_VALL.
40409         * modules/math-tests (Files): Add tests/macros.h.
40410         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
40411         HUGE_VALL.
40413 2012-02-28  Bruno Haible  <bruno@clisp.org>
40415         doc: Move ISO C11 feature notes into POSIX chapters.
40416         * doc/posix-functions/aligned_alloc.texi: Renamed from
40417         doc/glibc-functions/aligned_alloc.texi.
40418         * doc/posix-functions/quick_exit.texi: Renamed from
40419         doc/glibc-functions/quick_exit.texi.
40420         * doc/posix-headers/uchar.texi: Renamed from
40421         doc/glibc-headers/uchar.texi.
40422         * doc/posix-functions/c16rtomb.texi: Renamed from
40423         doc/glibc-functions/c16rtomb.texi.
40424         * doc/posix-functions/c32rtomb.texi: Renamed from
40425         doc/glibc-functions/c32rtomb.texi.
40426         * doc/posix-functions/mbrtoc16.texi: Renamed from
40427         doc/glibc-functions/mbrtoc16.texi.
40428         * doc/posix-functions/mbrtoc32.texi: Renamed from
40429         doc/glibc-functions/mbrtoc32.texi.
40430         * doc/gnulib.texi: Update.
40431         (Glibc uchar.h): Remove section.
40432         Suggested by Eric Blake.
40434 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
40436         stdnoreturn: port to MSVC better
40437         MSVC standard headers use __declspec(noreturn), so #define noreturn
40438         to empty on that platform.  Reported by Bruno Haible in
40439         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
40440         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
40441         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
40443 2012-02-28  Bruno Haible  <bruno@clisp.org>
40445         doc: Mention new glibc headers and functions.
40446         * doc/glibc-headers/uchar.texi: New file.
40447         * doc/glibc-functions/aligned_alloc.texi: New file.
40448         * doc/glibc-functions/c16rtomb.texi: New file.
40449         * doc/glibc-functions/c32rtomb.texi: New file.
40450         * doc/glibc-functions/clock_adjtime.texi: New file.
40451         * doc/glibc-functions/fanotify_init.texi: New file.
40452         * doc/glibc-functions/fanotify_mark.texi: New file.
40453         * doc/glibc-functions/inet6_opt_append.texi: New file.
40454         * doc/glibc-functions/inet6_opt_find.texi: New file.
40455         * doc/glibc-functions/inet6_opt_finish.texi: New file.
40456         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
40457         * doc/glibc-functions/inet6_opt_init.texi: New file.
40458         * doc/glibc-functions/inet6_opt_next.texi: New file.
40459         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
40460         * doc/glibc-functions/inet6_rth_add.texi: New file.
40461         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
40462         * doc/glibc-functions/inet6_rth_init.texi: New file.
40463         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
40464         * doc/glibc-functions/inet6_rth_segments.texi: New file.
40465         * doc/glibc-functions/inet6_rth_space.texi: New file.
40466         * doc/glibc-functions/login.texi: New file.
40467         * doc/glibc-functions/mbrtoc16.texi: New file.
40468         * doc/glibc-functions/mbrtoc32.texi: New file.
40469         * doc/glibc-functions/name_to_handle_at.texi: New file.
40470         * doc/glibc-functions/ntp_gettimex.texi: New file.
40471         * doc/glibc-functions/open_by_handle_at.texi: New file.
40472         * doc/glibc-functions/prlimit.texi: New file.
40473         * doc/glibc-functions/process_vm_readv.texi: New file.
40474         * doc/glibc-functions/process_vm_writev.texi: New file.
40475         * doc/glibc-functions/recvmmsg.texi: New file.
40476         * doc/glibc-functions/scandirat.texi: New file.
40477         * doc/glibc-functions/sendmmsg.texi: New file.
40478         * doc/glibc-functions/setns.texi: New file.
40479         * doc/glibc-functions/timespec_get.texi: New file.
40480         * doc/gnulib.texi: Include them.
40481         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
40482         sections.
40483         Reported by Eric Blake.
40485 2012-02-28  Bruno Haible  <bruno@clisp.org>
40487         Avoid compilation errors with MSVC option -fp:strict.
40488         * lib/floor.c: Use MSVC specific pragma fenv_access.
40489         * lib/ceil.c: Likewise.
40490         * lib/trunc.c: Likewise.
40491         * lib/round.c: Likewise.
40492         * lib/rint.c: Likewise.
40493         * lib/fma.c: Likewise.
40494         * lib/integer_length.c: Likewise.
40495         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
40496         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
40497         * tests/test-floor2.c: Likewise.
40498         * tests/test-floorf2.c: Likewise.
40499         * tests/test-ceil2.c: Likewise.
40500         * tests/test-ceilf2.c: Likewise.
40501         * tests/test-trunc2.c: Likewise.
40502         * tests/test-truncf2.c: Likewise.
40503         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40505 2012-02-27  Bruno Haible  <bruno@clisp.org>
40507         Tests for module 'sqrtl-ieee'.
40508         * modules/sqrtl-ieee-tests: New file.
40509         * tests/test-sqrtl-ieee.c: New file.
40511         New module 'sqrtl-ieee'.
40512         * modules/sqrtl-ieee: New file.
40514         Tests for module 'sqrt-ieee'.
40515         * modules/sqrt-ieee-tests: New file.
40516         * tests/test-sqrt-ieee.c: New file.
40518         New module 'sqrt-ieee'.
40519         * modules/sqrt-ieee: New file.
40521         Tests for module 'sqrtf-ieee'.
40522         * modules/sqrtf-ieee-tests: New file.
40523         * tests/test-sqrtf-ieee.c: New file.
40524         * tests/test-sqrt-ieee.h: New file.
40526         New module 'sqrtf-ieee'.
40527         * modules/sqrtf-ieee: New file.
40529 2012-02-27  Bruno Haible  <bruno@clisp.org>
40531         remainderl-ieee: Work around test failure on OSF/1.
40532         * m4/remainderl-ieee.m4: New file.
40533         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
40534         present, test whether remainderl works with a zero second argument.
40535         Replace it if not.
40536         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
40537         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
40538         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
40539         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
40540         (Depends-on): Update conditions.
40541         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
40542         (Depends-on): Add remainder-ieee.
40543         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
40544         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
40545         module.
40547         remainderf-ieee: Work around test failure on OSF/1.
40548         * m4/remainderf-ieee.m4: New file.
40549         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
40550         present, test whether remainderf works with a zero second argument.
40551         Replace it if not.
40552         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
40553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
40554         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
40555         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
40556         (Depends-on): Update conditions.
40557         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
40558         (Depends-on): Add remainder-ieee.
40559         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
40560         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
40561         module.
40563         remainder-ieee: Work around test failure on OSF/1.
40564         * m4/remainder-ieee.m4: New file.
40565         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
40566         present, test whether remainder works with a zero second argument.
40567         Replace it if not.
40568         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
40569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
40570         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
40571         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
40572         (Depends-on): Update dependencies.
40573         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
40574         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
40575         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
40577         Tests for module 'remainderl-ieee'.
40578         * modules/remainderl-ieee-tests: New file.
40579         * tests/test-remainderl-ieee.c: New file.
40581         New module 'remainderl-ieee'.
40582         * modules/remainderl-ieee: New file.
40584         Tests for module 'remainder-ieee'.
40585         * modules/remainder-ieee-tests: New file.
40586         * tests/test-remainder-ieee.c: New file.
40588         New module 'remainder-ieee'.
40589         * modules/remainder-ieee: New file.
40591         Tests for module 'remainderf-ieee'.
40592         * modules/remainderf-ieee-tests: New file.
40593         * tests/test-remainderf-ieee.c: New file.
40594         * tests/test-remainder-ieee.h: New file.
40596         New module 'remainderf-ieee'.
40597         * modules/remainderf-ieee: New file.
40599 2012-02-27  Bruno Haible  <bruno@clisp.org>
40601         modff, modfl: Fix configure syntax error.
40602         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
40603         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
40605 2012-02-27  Bruno Haible  <bruno@clisp.org>
40607         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
40608         * m4/fmodl-ieee.m4: New file.
40609         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
40610         whether fmodl works with zero arguments. Replace it if not.
40611         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
40612         (Depends-on): Add fmod-ieee.
40613         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
40614         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
40616         fmodf-ieee: Work around test failure on OSF/1.
40617         * m4/fmodf-ieee.m4: New file.
40618         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
40619         whether fmodf works with zero arguments. Replace it if not.
40620         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
40621         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
40622         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
40623         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
40624         (Depends-on): Update dependencies.
40625         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
40626         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
40627         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
40629         fmodf-ieee: Work around test failure on MSVC 9.
40630         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
40631         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
40633         fmod-ieee: Work around test failures on OSF/1, mingw.
40634         * m4/fmod-ieee.m4: New file.
40635         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
40636         whether fmod works with zero arguments. Replace it if not.
40637         * lib/math.in.h (fmod): New declaration.
40638         * lib/fmod.c: New file.
40639         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
40640         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
40641         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
40642         * modules/fmod (Files): Add lib/fmod.c.
40643         (Depends-on): Add math, isinf, trunc, fma.
40644         (configure.ac): Arrange to compile lib/fmod.c if needed.
40645         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
40646         m4/signbit.m4.
40647         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
40648         * tests/test-math-c++.cc: Check the declaration of fmod.
40649         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
40651         fmodl-ieee: Fix test failures.
40652         * lib/fmodl.c (fmodl): Treat Inf specially.
40653         * modules/fmodl (Depends-on): Add isinf.
40655         Tests for module 'fmodl-ieee'.
40656         * modules/fmodl-ieee-tests: New file.
40657         * tests/test-fmodl-ieee.c: New file.
40659         New module 'fmodl-ieee'.
40660         * modules/fmodl-ieee: New file.
40662         Tests for module 'fmod-ieee'.
40663         * modules/fmod-ieee-tests: New file.
40664         * tests/test-fmod-ieee.c: New file.
40666         New module 'fmod-ieee'.
40667         * modules/fmod-ieee: New file.
40669         Tests for module 'fmodf-ieee'.
40670         * modules/fmodf-ieee-tests: New file.
40671         * tests/test-fmodf-ieee.c: New file.
40672         * tests/test-fmod-ieee.h: New file.
40674         New module 'fmodf-ieee'.
40675         * modules/fmodf-ieee: New file.
40677 2012-02-27  Bruno Haible  <bruno@clisp.org>
40679         Tests for module 'rintl-ieee'.
40680         * modules/rintl-ieee-tests: New file.
40681         * tests/test-rintl-ieee.c: New file.
40683         New module 'rintl-ieee'.
40684         * modules/rintl-ieee: New file.
40686         Tests for module 'rint-ieee'.
40687         * modules/rint-ieee-tests: New file.
40688         * tests/test-rint-ieee.c: New file.
40690         New module 'rint-ieee'.
40691         * modules/rint-ieee: New file.
40693         Tests for module 'rintf-ieee'.
40694         * modules/rintf-ieee-tests: New file.
40695         * tests/test-rintf-ieee.c: New file.
40696         * tests/test-rint-ieee.h: New file.
40698         New module 'rintf-ieee'.
40699         * modules/rintf-ieee: New file.
40701 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
40703         regex: re_search etc. should return -2 when memory exhausted
40704         This bug was uncovered when testing 'grep'.  Without the fix,
40705         re_search and friends return -1 when memory is exhausted, but -1
40706         means no match, and this causes grep to falsely report no-match
40707         instead of memory-exhaustion.  See
40708         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
40709         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
40710         trouble; this can occur if re_search_internal ran out of memory.
40712 2012-02-26  Bruno Haible  <bruno@clisp.org>
40714         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
40715         * m4/modfl-ieee.m4: New file.
40716         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
40717         whether modfl works with Inf. Replace it if not.
40718         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
40719         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
40720         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
40721         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
40722         (Depends-on): Update dependencies.
40723         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
40724         m4/signbit.m4.
40725         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
40726         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
40728         modfl-ieee: Fix dependencies.
40729         * modules/modfl-ieee (Depends-on): Add modf-ieee.
40731         modfl-ieee: Fix test failures.
40732         * lib/modfl.c (modfl): Treat NaN and Inf specially.
40733         * modules/modfl (Depends-on): Add isfinite, isinf.
40735         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
40736         * m4/modff-ieee.m4: New file.
40737         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
40738         whether modff works with NaN and Inf. Replace it if not.
40739         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
40740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
40741         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
40742         * modules/modff (configure.ac): Consider REPLACE_MODFF.
40743         (Depends-on): Update dependencies.
40744         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
40745         m4/signbit.m4.
40746         (Depends-on): Add modf-ieee.
40747         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
40748         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
40750         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
40751         * m4/modf-ieee.m4: New file.
40752         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
40753         whether modf works with NaN and Inf. Replace it if not.
40754         * lib/math.in.h (modf): New declaration.
40755         * lib/modf.c: New file.
40756         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
40757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
40758         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
40759         * modules/modf (Files): Add lib/modf.c.
40760         (Depends-on): Add math, isfinite, trunc, isinf.
40761         (configure.ac): Addrange to compile lib/modf.c if needed.
40762         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
40763         m4/signbit.m4.
40764         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
40765         * tests/test-math-c++.cc: Check the declaration of modf.
40766         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
40768         Tests for module 'modfl-ieee'.
40769         * modules/modfl-ieee-tests: New file.
40770         * tests/test-modfl-ieee.c: New file.
40772         New module 'modfl-ieee'.
40773         * modules/modfl-ieee: New file.
40775         Tests for module 'modf-ieee'.
40776         * modules/modf-ieee-tests: New file.
40777         * tests/test-modf-ieee.c: New file.
40779         New module 'modf-ieee'.
40780         * modules/modf-ieee: New file.
40782         Tests for module 'modff-ieee'.
40783         * modules/modff-ieee-tests: New file.
40784         * tests/test-modff-ieee.c: New file.
40785         * tests/test-modf-ieee.h: New file.
40787         New module 'modff-ieee'.
40788         * modules/modff-ieee: New file.
40790 2012-02-26  Bruno Haible  <bruno@clisp.org>
40792         Tests for module 'fabsl-ieee'.
40793         * modules/fabsl-ieee-tests: New file.
40794         * tests/test-fabsl-ieee.c: New file.
40796         New module 'fabsl-ieee'.
40797         * modules/fabsl-ieee: New file.
40799         Tests for module 'fabs-ieee'.
40800         * modules/fabs-ieee-tests: New file.
40801         * tests/test-fabs-ieee.c: New file.
40803         New module 'fabs-ieee'.
40804         * modules/fabs-ieee: New file.
40806         Tests for module 'fabsf-ieee'.
40807         * modules/fabsf-ieee-tests: New file.
40808         * tests/test-fabsf-ieee.c: New file.
40809         * tests/test-fabs-ieee.h: New file.
40811         New module 'fabsf-ieee'.
40812         * modules/fabsf-ieee: New file.
40814 2012-02-26  Bruno Haible  <bruno@clisp.org>
40816         Tests for module 'fmal-ieee'.
40817         * modules/fmal-ieee-tests: New file.
40818         * tests/test-fmal-ieee.c: New file.
40820         New module 'fmal-ieee'.
40821         * modules/fmal-ieee: New file.
40823         Tests for module 'fma-ieee'.
40824         * modules/fma-ieee-tests: New file.
40825         * tests/test-fma-ieee.c: New file.
40827         New module 'fma-ieee'.
40828         * modules/fma-ieee: New file.
40830         Tests for module 'fmaf-ieee'.
40831         * modules/fmaf-ieee-tests: New file.
40832         * tests/test-fmaf-ieee.c: New file.
40833         * tests/test-fma-ieee.h: New file.
40835         New module 'fmaf-ieee'.
40836         * modules/fmaf-ieee: New file.
40838 2012-02-26  Bruno Haible  <bruno@clisp.org>
40840         Tests for module 'ldexpl-ieee'.
40841         * modules/ldexpl-ieee-tests: New file.
40842         * tests/test-ldexpl-ieee.c: New file.
40844         New module 'ldexpl-ieee'.
40845         * modules/ldexpl-ieee: New file.
40847         Tests for module 'ldexp-ieee'.
40848         * modules/ldexp-ieee-tests: New file.
40849         * tests/test-ldexp-ieee.c: New file.
40851         New module 'ldexp-ieee'.
40852         * modules/ldexp-ieee: New file.
40854         Tests for module 'ldexpf-ieee'.
40855         * modules/ldexpf-ieee-tests: New file.
40856         * tests/test-ldexpf-ieee.c: New file.
40857         * tests/test-ldexp-ieee.h: New file.
40859         New module 'ldexpf-ieee'.
40860         * modules/ldexpf-ieee: New file.
40862 2012-02-26  Bruno Haible  <bruno@clisp.org>
40864         Refactor frexp*-ieee tests.
40865         * tests/test-frexp-ieee.h: New file.
40866         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
40867         (main): Just call test_function.
40868         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
40869         (main): Just call test_function.
40870         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
40871         (main): Just call test_function.
40872         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
40873         * modules/frexp-ieee-tests (Files): Likewise.
40874         * modules/frexpl-ieee-tests (Files): Likewise.
40876         Tests for module 'frexpl-ieee'.
40877         * modules/frexpl-ieee-tests: New file.
40878         * tests/test-frexpl-ieee.c: New file.
40880         New module 'frexpl-ieee'.
40881         * modules/frexpl-ieee: New file.
40883         Tests for module 'frexp-ieee'.
40884         * modules/frexp-ieee-tests: New file.
40885         * tests/test-frexp-ieee.c: New file.
40887         New module 'frexp-ieee'.
40888         * modules/frexp-ieee: New file.
40890         Tests for module 'frexpf-ieee'.
40891         * modules/frexpf-ieee-tests: New file.
40892         * tests/test-frexpf-ieee.c: New file.
40894         New module 'frexpf-ieee'.
40895         * modules/frexpf-ieee: New file.
40897 2012-02-26  Bruno Haible  <bruno@clisp.org>
40899         roundl-ieee tests: More tests.
40900         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
40901         (main): Add tests for [MX] shaded specification in POSIX.
40902         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40903         (Depends-on): Add isnanl-nolibm.
40905         round-ieee tests: More tests.
40906         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
40907         (main): Add tests for [MX] shaded specification in POSIX.
40908         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40909         (Depends-on): Add isnand-nolibm.
40911         roundf-ieee tests: More tests.
40912         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
40913         (main): Add tests for [MX] shaded specification in POSIX.
40914         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40915         (Depends-on): Add isnanf-nolibm.
40917         truncl-ieee tests: More tests.
40918         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
40919         (main): Add tests for [MX] shaded specification in POSIX.
40920         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40921         (Depends-on): Add isnanl-nolibm.
40923         trunc-ieee tests: More tests.
40924         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
40925         (main): Add tests for [MX] shaded specification in POSIX.
40926         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40927         (Depends-on): Add isnand-nolibm.
40929         truncf-ieee tests: More tests.
40930         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
40931         (main): Add tests for [MX] shaded specification in POSIX.
40932         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40933         (Depends-on): Add isnanf-nolibm.
40935         ceill-ieee tests: More tests.
40936         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
40937         (main): Add tests for [MX] shaded specification in POSIX.
40938         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40939         (Depends-on): Add isnanl-nolibm.
40941         ceil-ieee tests: More tests.
40942         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
40943         (main): Add tests for [MX] shaded specification in POSIX.
40944         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40945         (Depends-on): Add isnand-nolibm.
40947         ceilf-ieee tests: More tests.
40948         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
40949         (main): Add tests for [MX] shaded specification in POSIX.
40950         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40951         (Depends-on): Add isnanf-nolibm.
40953         floorl-ieee tests: More tests.
40954         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
40955         (main): Add tests for [MX] shaded specification in POSIX.
40956         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40957         (Depends-on): Add isnanl-nolibm.
40959         floor-ieee tests: More tests.
40960         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
40961         (main): Add tests for [MX] shaded specification in POSIX.
40962         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40963         (Depends-on): Add isnand-nolibm.
40965         floorf-ieee tests: More tests.
40966         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
40967         (main): Add tests for [MX] shaded specification in POSIX.
40968         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
40969         (Depends-on): Add isnanf-nolibm.
40971 2012-02-26  Bruno Haible  <bruno@clisp.org>
40973         fpieee: More comments.
40974         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
40976 2012-02-25  Bruno Haible  <bruno@clisp.org>
40978         Tests for module 'log10l'.
40979         * modules/log10l-tests: New file.
40980         * tests/test-log10l.c: New file.
40981         * tests/test-math-c++.cc: Check the declaration of log10l.
40983         New module 'log10l'.
40984         * lib/math.in.h (log10l): New declaration.
40985         * lib/log10l.c: New file.
40986         * m4/log10l.m4: New file.
40987         * modules/log10l: New file.
40988         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
40989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
40990         HAVE_DECL_LOG10L.
40991         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
40992         HAVE_DECL_LOG10L.
40993         * doc/posix-functions/log10l.texi: Mention the new module.
40995 2012-02-25  Bruno Haible  <bruno@clisp.org>
40997         fmodl, remainder*: Avoid wrong results due to rounding errors.
40998         * lib/fmodl.c (fmodl): Correct the result if it is not within the
40999         expected bounds.
41000         * lib/remainderf.c (remainderf): Likewise.
41001         * lib/remainder.c (remainder): Likewise.
41002         * lib/remainderl.c (remainderl): Likewise.
41004 2012-02-25  Bruno Haible  <bruno@clisp.org>
41006         Tests for module 'remainderl'.
41007         * modules/remainderl-tests: New file.
41008         * tests/test-remainderl.c: New file.
41009         * tests/test-math-c++.cc: Check the declaration of remainderl.
41011         New module 'remainderl'.
41012         * lib/math.in.h (remainderl): New declaration.
41013         * lib/remainderl.c: New file.
41014         * m4/remainderl.m4: New file.
41015         * modules/remainderl: New file.
41016         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
41017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
41018         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
41019         HAVE_REMAINDERL.
41020         * doc/posix-functions/remainderl.texi: Mention the new module.
41022 2012-02-25  Bruno Haible  <bruno@clisp.org>
41024         Tests for module 'remainderf'.
41025         * modules/remainderf-tests: New file.
41026         * tests/test-remainderf.c: New file.
41027         * tests/test-math-c++.cc: Check the declaration of remainderf.
41029         New module 'remainderf'.
41030         * lib/math.in.h (remainderf): New declaration.
41031         * lib/remainderf.c: New file.
41032         * m4/remainderf.m4: New file.
41033         * modules/remainderf: New file.
41034         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
41035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
41036         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
41037         HAVE_REMAINDERF.
41038         * doc/posix-functions/remainderf.texi: Mention the new module.
41040 2012-02-25  Bruno Haible  <bruno@clisp.org>
41042         remainder: Support for MSVC.
41043         * lib/math.in.h (remainder): New declaration.
41044         * lib/remainder.c: New file.
41045         * m4/remainder.m4: New file.
41046         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
41047         (Depends-on): Add math, round, fma.
41048         (configure.ac): Use results of gl_FUNC_REMAINDER.
41049         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
41050         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
41051         HAVE_DECL_REMAINDER.
41052         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
41053         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
41054         * tests/test-math-c++.cc: Check the declaration of remainder.
41055         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
41056         problems are fixed.
41058 2012-02-25  Bruno Haible  <bruno@clisp.org>
41060         Tests for module 'fmodl'.
41061         * modules/fmodl-tests: New file.
41062         * tests/test-fmodl.c: New file.
41063         * tests/test-math-c++.cc: Check the declaration of fmodl.
41065         New module 'fmodl'.
41066         * lib/math.in.h (fmodl): New declaration.
41067         * lib/fmodl.c: New file.
41068         * m4/fmodl.m4: New file.
41069         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
41070         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
41071         REPLACE_FMODL.
41072         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
41073         REPLACE_FMODL.
41074         * modules/fmodl: New file.
41075         * doc/posix-functions/fmodl.texi: Mention the new module.
41077 2012-02-25  Bruno Haible  <bruno@clisp.org>
41079         Tests for module 'modfl'.
41080         * modules/modfl-tests: New file.
41081         * tests/test-modfl.c: New file.
41082         * tests/test-math-c++.cc: Check the declaration of modfl.
41084         New module 'modfl'.
41085         * lib/math.in.h (modfl): New declaration.
41086         * lib/modfl.c: New file.
41087         * m4/modfl.m4: New file.
41088         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
41089         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
41090         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
41091         * modules/modfl: New file.
41092         * doc/posix-functions/modfl.texi: Mention the new module.
41094 2012-02-25  Bruno Haible  <bruno@clisp.org>
41096         Tests for module 'fabsl'.
41097         * modules/fabsl-tests: New file.
41098         * tests/test-fabsl.c: New file.
41099         * tests/test-math-c++.cc: Check the declaration of fabsl.
41101         New module 'fabsl'.
41102         * lib/math.in.h (fabsl): New declaration.
41103         * lib/fabsl.c: New file.
41104         * m4/fabsl.m4: New file.
41105         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
41106         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
41107         REPLACE_FABSL.
41108         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
41109         REPLACE_FABSL.
41110         * modules/fabsl: New file.
41111         * doc/posix-functions/fabsl.texi: Mention the new module.
41113 2012-02-25  Bruno Haible  <bruno@clisp.org>
41115         fabs tests: More tests.
41116         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
41117         (zero): New variable.
41118         (main): Add tests for signed zero.
41119         * modules/fabs-tests (Files): Add tests/minus-zero.h.
41121         fabsf tests: More tests.
41122         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
41123         (zero): New variable.
41124         (main): Add tests for signed zero.
41125         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
41127 2012-02-24  Bruno Haible  <bruno@clisp.org>
41129         atanl: Provide function definition on MSVC.
41130         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
41131         function pointer.
41132         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
41134 2012-02-24  Bruno Haible  <bruno@clisp.org>
41136         acosl: Provide function definition on MSVC.
41137         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
41138         function pointer.
41139         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
41141 2012-02-24  Bruno Haible  <bruno@clisp.org>
41143         asinl: Provide function definition on MSVC.
41144         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
41145         function pointer.
41146         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
41148 2012-02-24  Bruno Haible  <bruno@clisp.org>
41150         tanl: Provide function definition on MSVC.
41151         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
41152         function pointer.
41153         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
41155 2012-02-24  Bruno Haible  <bruno@clisp.org>
41157         cosl: Provide function definition on MSVC.
41158         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
41159         function pointer.
41160         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
41162 2012-02-24  Bruno Haible  <bruno@clisp.org>
41164         sinl: Provide function definition on MSVC.
41165         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
41166         function pointer.
41167         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
41169 2012-02-24  Bruno Haible  <bruno@clisp.org>
41171         logl: Provide function definition on MSVC.
41172         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
41173         function pointer.
41174         * lib/math.in.h (logl): Undefine if it does not exist as a function.
41176 2012-02-24  Bruno Haible  <bruno@clisp.org>
41178         expl: Provide function definition on MSVC.
41179         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
41180         function pointer.
41181         * lib/math.in.h (expl): Undefine if it does not exist as a function.
41183 2012-02-24  Bruno Haible  <bruno@clisp.org>
41185         sqrtl: Provide function definition on MSVC.
41186         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
41187         a function pointer.
41188         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
41190 2012-02-24  Bruno Haible  <bruno@clisp.org>
41192         ceill: Provide function definition on MSVC.
41193         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
41194         used as a function pointer.
41195         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
41197 2012-02-24  Bruno Haible  <bruno@clisp.org>
41199         floorl: Provide function definition on MSVC.
41200         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
41201         used as a function pointer.
41202         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
41204 2012-02-24  Bruno Haible  <bruno@clisp.org>
41206         ceilf: Provide function definition on MSVC.
41207         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
41208         used as a function pointer.
41209         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
41211 2012-02-24  Bruno Haible  <bruno@clisp.org>
41213         floorf: Provide function definition on MSVC.
41214         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
41215         used as a function pointer.
41216         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
41218 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41220         stdnoreturn: new module
41221         This implements a replacement for C11's <stdnoreturn.h>.
41222         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
41223         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
41224         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
41225         * tests/test-stdnoreturn.c: New files.
41227 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
41229         regex: fix false multibyte matches in some regular expressions
41230         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
41231         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
41232         * lib/regex_internal.c (re_string_skip_chars):
41233         Fix miscomputation of remain_len that may cause incomplete
41234         multi-byte character and false match.
41236 2012-02-24  Jim Meyering  <meyering@redhat.com>
41238         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
41239         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
41240         uses with "==" *before* the call, e.g., 0 == strcmp (...)
41241         Remove now-unnecessary str''cmp obfuscation.
41242         Suggested by Akim Demaille.
41244 2012-02-24  Bruno Haible  <bruno@clisp.org>
41246         streq: Rename macro.
41247         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
41248         * NEWS: Mention the change.
41249         * lib/mbrtowc.c (mbrtowc): Update.
41250         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
41251         * lib/wcwidth.c (wcwidth): Update.
41252         Suggested by Akim Demaille and Jim Meyering.
41254 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
41256         regex: fix typo in definition of MIN
41257         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
41258         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
41260 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
41261             Bruno Haible  <bruno@clisp.org>
41263         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
41264         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
41265         entries into a stack-allocated buffer directly.
41266         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
41268 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
41269             Bruno Haible  <bruno@clisp.org>
41271         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
41273          - There were several instances of this pattern:
41275              for (;;) {
41276                n = acl (f, GETACLCNT, 0, NULL);
41277                [ allocate an array A of size N ]
41278                if (acl (f, GETACL, n, a) == n)
41279                  break;
41280              }
41282            This loop might never terminate if some other process is constantly
41283            manipulating the file's ACL.  The loop should be rewritten to
41284            terminate.
41286          - The acl (... GETACLNT ...) call is merely an optimization; its value
41287            is merely a hint as to how big to make the array.  A better
41288            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
41289            and just guess a reasonably-big size, growing the size and trying
41290            again if it's not large enough.  This guarantees termination, and
41291            saves a system call.
41293         * lib/acl-internal.h: Include <limits.h>.
41294         (MIN, SIZE_MAX): New macros.
41295         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
41296         a stack-allocated buffer, and use malloc if it does not fit. Don't
41297         use GETACLCNT.
41298         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
41300 2012-02-19  Bruno Haible  <bruno@clisp.org>
41302         acl: Fix endless loop on Solaris with vxfs.
41303         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
41304         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
41305         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
41306         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
41307         * tests/test-sameacls.c (main)[Solaris]: Likewise.
41308         Reported by Bill Jones in
41309         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
41311 2012-02-19  Bruno Haible  <bruno@clisp.org>
41313         acl: Fix copy-acl test failure on Solaris 11.0.
41314         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
41315         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
41316         that this function returns 0 in some more cases.
41318 2012-02-19  Bruno Haible  <bruno@clisp.org>
41320         acl: Update doc references.
41321         * doc/acl-resources.txt: Update links to Solaris documentation.
41323 2012-02-19  Bruno Haible  <bruno@clisp.org>
41325         Fix test failure in many locales on Solaris 11.
41326         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
41327         'tr' arguments.
41328         * tests/test-pipe-filter-ii1.c (main): Likewise.
41329         * build-aux/bootstrap (check_versions): Run 'tr' command with range
41330         expressions in the C locale.
41331         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
41332         * m4/host-os.m4 (gl_HOST_OS): Likewise.
41334 2012-02-19  Bruno Haible  <bruno@clisp.org>
41336         gnulib-tool: Improve usage message.
41337         * gnulib-tool (func_usage): Move doc of --help and --version to the
41338         section "Operation modes".
41340 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
41342         README-release: make it easier to execute commands
41343         * top/README-release: break commands out on to separate lines.
41345 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
41347         GNUmakefile: simplify detection of unconfigured trees
41348         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
41349         whether the tree make is being run from is already configured or
41350         not.  Related simplifications.
41352 2012-02-13  Simon Josefsson  <simon@josefsson.org>
41354         * gnulib-tool (func_usage): Document --help and --version.
41356 2012-02-11  Jim Meyering  <meyering@redhat.com>
41358         bootstrap: don't exit 0 upon gnulib-tool failure
41359         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
41360         its exit status, not 0.
41362 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
41364         README-release: various improvements
41365         * top/README-release: Give a command to push changes for the
41366         release.  Add "distcheck" to list of other pre-release checks.
41367         Fix instance of "make stable" which should be "make TYPE".
41369 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
41371         maint: replace FSF snail-mail addresses with URLs
41372         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
41373         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
41374         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
41375         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
41376         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
41377         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
41378         * lib/check-version.c, lib/check-version.h, lib/config.charset:
41379         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
41380         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
41381         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
41382         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
41383         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
41384         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
41385         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
41386         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
41387         * lib/glthread/thread.c, lib/glthread/thread.h:
41388         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
41389         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
41390         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
41391         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
41392         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
41393         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
41394         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
41395         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
41396         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
41397         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
41398         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
41399         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
41400         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
41401         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
41402         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
41403         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
41404         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
41405         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
41406         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
41407         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
41408         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
41409         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
41410         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
41411         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
41412         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
41413         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
41414         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
41415         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
41416         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
41417         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
41418         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
41419         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
41420         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
41421         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
41422         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
41423         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
41424         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
41425         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
41426         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
41427         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
41428         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
41429         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
41430         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
41431         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
41432         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
41433         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
41434         * tests/test-poll.c, tests/test-quotearg-simple.c:
41435         * tests/test-quotearg.c, tests/test-quotearg.h:
41436         * tests/test-round-ieee.c, tests/test-round1.c:
41437         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
41438         * tests/test-roundl-ieee.c, tests/test-roundl.c:
41439         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
41440         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
41441         * tests/test-strerror.c, tests/test-strerror_r.c:
41442         * tests/test-strsignal.c, tests/test-strverscmp.c:
41443         * tests/test-xmemdup0.c:
41444         Replace FSF snail mail addresses with URLs, as per GNU coding
41445         standards.  See glibc bug
41446         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
41448 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
41450         README-release: capitalize a word and split a line
41451         * top/README-release: Fix punctuation and spacing.
41453 2012-02-08  Akim Demaille  <demaille@gostai.com>
41455         fatal-signal: use C prototypes (with explicit void).
41456         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
41457         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
41459 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
41461         regex: spelling fix
41462         * lib/regexec.c: spelling fix
41464         regex: rely on stdint.h for SIZE_MAX
41465         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
41467 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
41469         regex: merge glibc changes
41471         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
41472         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
41473         (init_word_char): Work even if bitset words are not exactly 32 or
41474         64 bits wide.  Don't assume there are no padding bits.
41475         * lib/regex.c [_LIBC]: Do not include <config.h>.
41476         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
41477         and -Wtype-limits.
41478         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
41479         needless disagreement with glibc.  All uses changed.  Define it to
41480         1 only if _GNU_SOURCE, to match glibc.
41481         (_REG_RM_NAME): Remove; no longer needed, since the names in
41482         question are now all protected by __USE_GNU.
41483         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
41484         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
41485         * lib/regex_internal.h (MIN): New macro.
41487         2012-01-03 Ulrich Drepper <drepper@gmail.com>
41488         * lib/regcomp.c (init_word_char): Optimize regex a bit.
41490         2011-12-30 Jakub Jelinek <jakub@redhat.com>
41491         * lib/regex_internal.c (re_string_fetch_byte_case):
41492         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
41493         is miscompiled, and it turns out it is because of an incorrect
41494         attribute on re_string_fetch_byte_case.  Unlike
41495         re_string_peek_byte_case, this one is really not pure, it modifies
41496         memory (increments pstr->cur_idx), and with the pure attribute GCC
41497         assumed it doesn't and it cached the presumed value of
41498         regexp->cur_idx in a variable across the
41499          for (;; ++i)
41500            {
41501              if (i >= BRACKET_NAME_BUF_SIZE)
41502                return REG_EBRACK;
41503              if (token->type == OP_OPEN_CHAR_CLASS)
41504                ch = re_string_fetch_byte_case (regexp);
41505              else
41506                ch = re_string_fetch_byte (regexp);
41507              if (re_string_eoi(regexp))
41508                return REG_EBRACK;
41509              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
41510                break;
41511              elem->opr.name[i] = ch;
41512            }
41514         2011-11-29 Andreas Schwab <schwab@redhat.com>
41515         * lib/regcomp.c (build_equiv_class):
41516         Fix access after end of search string in regex matcher.
41518         2011-11-12 Ulrich Drepper <drepper@redhat.com>
41519         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
41521         2011-10-12 Ulrich Drepper <drepper@redhat.com>
41522         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
41524         2011-10-11 Ulrich Drepper <drepper@redhat.com>
41525         * lib/regcomp.c (parse_branch, parse_sub_exp):
41526         More regex memory leak fixes and tests.
41527         (parse_sub_exp, parse_bracket_exp):
41528         Fix memory leak for some invalid regular expressions.
41530         2011-05-28 Ulrich Drepper <drepper@gmail.com>
41531         * lib/regex_internal.c, lib/regexec.c:
41532         Fix unnecessary overallocation due to incomplete character.  When
41533         incomplete characters are found at the end of a string the code
41534         ran amok and allocated lots of memory.  Stricter limits are now in
41535         place.
41537         2011-05-20 Reuben Thomas <rrt@sc3d.org>
41538         * lib/regex.h: Update documentation.
41540         2011-05-16 Aharon Robbins <arnold@skeeve.com>
41541         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
41543         2010-05-05 Andreas Schwab <schwab@redhat.com>
41544         * lib/regexec.c (find_collation_sequence_value):
41545         Fix lookup of collation sequence value during regexp matching.
41547         2010-01-22 Ulrich Drepper <drepper@redhat.com>
41548         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
41550         2008-01-16 Ulrich Drepper <drepper@redhat.com>
41551         * lib/regex.h: Cleanup namespace.
41553         2007-11-26 Ulrich Drepper <drepper@redhat.com>
41554         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
41556         2007-08-26 Ulrich Drepper <drepper@redhat.com>
41557         * lib/regex_internal.h: Prevent some declarations and definitions
41558         to be seen when used in tests.
41560         2005-05-06 Ulrich Drepper <drepper@redhat.com>
41561         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
41562         __libc_lock_* macros if not _LIBC.
41563         (struct re_dfa_t): Add lock.
41565 2012-02-07  Eric Blake  <eblake@redhat.com>
41567         maint.mk: also prohibit lower-case @var@
41568         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
41569         lower case, like @top_srcdir@.
41571 2012-02-04  Eric Blake  <eblake@redhat.com>
41573         canonicalize: avoid uninitialized memory use
41574         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
41575         random '/' left in dest.
41576         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
41578 2012-02-04  Bruno Haible  <bruno@clisp.org>
41580         isatty: Fix test failure of ptsname_r on native Windows.
41581         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
41582         and don't set errno.
41583         (isatty): Test first whether fd is valid. Set errno when returning 0.
41585 2012-02-04  Bruno Haible  <bruno@clisp.org>
41587         spawn-pipe tests: Fix a NULL program name in a diagnostic.
41588         * tests/test-spawn-pipe-main.c: Include progname.h.
41589         (main): Invoke set_program_name.
41590         * modules/spawn-pipe-tests (Depends-on): Add progname.
41592         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
41593         * tests/test-nonblocking-socket-main.c: Include progname.h.
41594         (main): Invoke set_program_name.
41595         * modules/nonblocking-socket-tests (Depends-on): Add progname.
41597         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
41598         * tests/test-nonblocking-pipe-main.c: Include progname.h.
41599         (main): Invoke set_program_name.
41600         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
41602 2012-02-04  Eric Blake  <eblake@redhat.com>
41604         canonicalize-lgpl: fix // handling
41605         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
41607         canonicalize: fix // handling
41608         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
41609         /// to //, since only // is special.
41611 2012-02-04  Bruno Haible  <bruno@clisp.org>
41613         ioctl: Fix test failure on native Windows.
41614         * lib/ioctl.c: Include msvc-nothrow.h.
41615         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
41617 2012-02-04  Bruno Haible  <bruno@clisp.org>
41619         fsync: Avoid test failure on native Windows.
41620         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
41621         read-only.
41623 2012-02-04  Bruno Haible  <bruno@clisp.org>
41625         sys_select: Avoid syntax error on OpenBSD 5.0.
41626         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
41627         currently being included, just include the system's <sys/select.h>.
41629 2012-02-04  Bruno Haible  <bruno@clisp.org>
41631         sys_select: Avoid syntax error on OpenBSD 5.0.
41632         * lib/sys_select.in.h: Include <signal.h> only after the include_next
41633         <sys/select.h>, not before.
41634         Reported by Jiri B <jirib@devio.us>.
41636 2012-02-04  Bruno Haible  <bruno@clisp.org>
41638         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
41639         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
41640         global variables.
41641         * tests/test-get-rusage-data.c (main): Likewise.
41642         Reported by Jim Meyering.
41644 2012-02-04  Bruno Haible  <bruno@clisp.org>
41646         stdioext: Fix last commit.
41647         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
41649 2012-02-03  Bruno Haible  <bruno@clisp.org>
41651         stdioext: Add tentative support for Plan9.
41652         * lib/stdio-impl.h: Include <errno.h>.
41653         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
41654         * lib/freadable.c (freadable): Likewise.
41655         * lib/fwritable.c (fwritable): Likewise.
41656         * lib/fbufmode.c (fbufmode): Likewise.
41657         * lib/freading.c (freading): Likewise.
41658         * lib/fwriting.c (fwriting): Likewise.
41659         * lib/freadptr.c (freadptr): Likewise.
41660         * lib/freadseek.c (freadptrinc): Likewise.
41661         * lib/freadahead.c (freadahead): Likewise.
41662         * lib/fpurge.c (fpurge): Likewise.
41663         * lib/fseeko.c (rpl_fseeko): Likewise.
41664         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
41665         Reported by Jens Staal <staal1978@gmail.com>.
41667 2012-02-02  Jim Meyering  <meyering@redhat.com>
41669         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
41670         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
41671         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
41672         not even to try to add the attribute.  Instead, add a pragma to suppress
41673         the suggestion/warning.
41675 2012-01-31  Karl Berry  <karl@gnu.org>
41677         setstate doc: typo.
41678         * doc/posix-functions/setstate.texi (setstate): { not (.
41680 2012-01-31  Bruno Haible  <bruno@clisp.org>
41682         popen: Make more robust on Windows.
41683         * lib/popen.c: On native Windows, use the _popen based code even if
41684         HAVE_POPEN is set.
41685         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
41686         environment variable on native Windows.
41688 2012-01-30  Bruno Haible  <bruno@clisp.org>
41690         pclose: Fix typo.
41691         * lib/stdio.in.h (pclose): Fix typo in warning message.
41693 2012-01-30  Bruno Haible  <bruno@clisp.org>
41695         doc about getlogin_r, setstate.
41696         * doc/posix-functions/getlogin_r.texi: List the incompatible
41697         declaration problem under "not fixed by gnulib".
41698         * doc/posix-functions/setstate.texi: Mention incompatible declaration
41699         problem on Solaris 11 and other platforms.
41701 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
41702             Bruno Haible  <bruno@clisp.org>
41704         poll tests: Make test more robust.
41705         * tests/test-poll.c: Include macros.h.
41706         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
41707         return value of various I/O operations.
41708         * modules/poll-tests (Files): Add tests/macros.h.
41710 2012-01-30  Bruno Haible  <bruno@clisp.org>
41712         sys_stat: Fix support for mingw64 and MSVC.
41713         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
41714         header files already do it.
41715         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
41716         stat itself.
41717         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
41719 2012-01-30  Bruno Haible  <bruno@clisp.org>
41721         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
41722         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
41723         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
41725 2012-01-29  Bruno Haible  <bruno@clisp.org>
41727         quotearg: Fix test failure on MacOS X 10.5.
41728         * tests/test-quotearg-simple.c: Include localcharset.h.
41729         (main): If the locale encoding is not ASCII, bypass the tests of
41730         locale_quoting_style and clocale_quoting_style.
41731         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
41733 2012-01-29  Jim Meyering  <meyering@redhat.com>
41735         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
41736         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
41737         detect uses of canonicalize_file_name.
41739 2012-01-28  Bruno Haible  <bruno@clisp.org>
41741         test-framework-sh: Fix test failure with AIX 7.1 diff.
41742         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
41743         in column 1, like 'diff -c' does.
41744         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
41745         whether 'diff -u' is used. Instead, test whether the output contains
41746         some '@' character.
41748 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
41750         strtoimax: eliminate need for stdint.h, inttypes.h checks
41751         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
41752         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
41753         the prerequisites for a recently-introduced strtoimax test.
41754         I guess this might cause strtoimax to be replaced when not
41755         strictly necessary on older hosts, but this shouldn't introduce
41756         any bugs and it should make Emacs 'configure' faster on typical
41757         modern hosts.  Problem discovered when importing the latest gnulib
41758         to an Emacs test version.
41759         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
41761 2012-01-28  Bruno Haible  <bruno@clisp.org>
41763         sys_time: Override 'struct timeval' on some native Windows platforms.
41764         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
41765         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
41766         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
41767         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
41768         needs to be overridden.
41769         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
41770         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
41771         * tests/test-sys_select.c: Check that the tv_sec member has the same
41772         size as a 'time_t'.
41773         * tests/test-sys_time.c: Likewise.
41774         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
41775         is set, set also REPLACE_GETTIMEOFDAY.
41776         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
41777         convert the resulting 'struct timeval' before returning.
41778         * lib/select.c: Include <sys/time.h>.
41779         (select, timeval): Undefine at the right place.
41780         * modules/select (Depends-on): Add sys_time.
41781         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
41782         some Windows platforms.
41783         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
41785 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
41787         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
41788         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
41789         an integer.
41790         * lib/fcntl.c (dupfd): Likewise.
41791         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
41793 2012-01-28  Bruno Haible  <bruno@clisp.org>
41795         fcntl: Avoid compilation error on native Windows.
41796         * modules/fcntl (Depends-on): Add 'close'.
41798 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
41800         select, poll, isatty: Avoid warnings on x86_64 mingw64.
41801         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
41802         pointer to an integer.
41803         * lib/poll.c (IsConsoleHandle): Likewise.
41804         * lib/isatty.c (IsConsoleHandle): Likewise.
41806 2012-01-28  Jim Meyering  <meyering@redhat.com>
41808         doc: clarify README-release
41809         * top/README-release: Clarify: you should make a point to have
41810         the latest stable versions of build tools in your PATH, and the
41811         reference to buildreq is solely for its list of tool names, not
41812         for its minimal-functional version numbers.
41813         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
41815         maint.mk: use more readable (yet functionally equivalent) quoting
41816         It is common to quote a single quote in a single quoted string like
41817         this:  '...'\''...'.  Unless you know the idiom, that looks like
41818         gibberish, so prefer to double-quote the string when possible.
41819         Then you can use a more readable, lone single quote: "...'..."
41820         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
41821         "don't" is more readable than the equivalent 'don'\''t'.
41822         (sc_cast_of_x_alloc_return_value): Likewise.
41823         (sc_cast_of_alloca_return_value): Likewise.
41824         (sc_makefile_path_separator_check): Similar: use ":" in '...',
41825         rather than '\'':'\''.
41827 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
41829         stdalign: relax _Alignof and tighten _Alignas test
41830         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
41831         as it was too strict: alignof must divide offsetof, but it need
41832         not equal offsetof.  Inspired by Joseph S. Myers's comment
41833         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
41834         Conversely, tighten the _Alignas test a bit, as the resulting
41835         alignment must be exactly 8.
41837 2012-01-27  Bruno Haible  <bruno@clisp.org>
41839         stdalign: Document the last change.
41840         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
41842 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
41844         stdalign: check that alignof and offsetof are consistent
41845         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
41846         Problem reported for gnulib by Richard W.M. Jones in
41847         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
41849 2012-01-27  Jim Meyering  <meyering@redhat.com>
41851         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
41852         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
41853         convert a sequence with gaps to the minimal containing range.
41854         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
41855         * tests/test-update-copyright.sh: Test for this.
41856         The FSF confirmed it is ok to do this, assuming there is at
41857         least one significant change per year in the affected range:
41858         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
41860 2012-01-26  Bruno Haible  <bruno@clisp.org>
41862         pipe2: refine doc about thread-safety
41863         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
41864         multithread-safety problem.
41865         * doc/glibc-functions/accept4.texi: Likewise.
41867 2012-01-26  Bruno Haible  <bruno@clisp.org>
41869         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
41870         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
41871         In the test program, include <fcntl.h>, for O_RDONLY.
41873 2012-01-26  Eric Blake  <eblake@redhat.com>
41875         pipe2: document lack of thread-safety in replacement
41876         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
41877         issue in replacement.
41878         * doc/glibc-functions/accept4.texi (accept4): Likewise.
41879         Based on a report by Eric Wong.
41881 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
41882             Bruno Haible  <bruno@clisp.org>
41884         malloca: Avoid warnings on x86_64 mingw64.
41885         * lib/malloca.c: Include <stdint.h>.
41886         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
41887         * modules/malloca (Depends-on): Add stdint.
41888         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
41890 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
41892         obstack: remove __STDC__ conditionals
41893         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
41894         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
41895         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
41896         m4/include_next.m4 as the only gnulib-maintained places that still
41897         refer to __STDC__.
41899 2012-01-24  Bruno Haible  <bruno@clisp.org>
41901         havelib: Modern quoting.
41902         * build-aux/config.rpath: Quote 'like this', not `like this', as per
41903         the recent change to the GNU coding standards.
41905 2012-01-24  Bruno Haible  <bruno@clisp.org>
41907         stdint: Improve support for Android.
41908         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
41909         Reported by Simon Josefsson <simon@josefsson.org>.
41911 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
41913         doc: omit trailing empty lines from INSTALL etc.
41914         * doc/Makefile (INSTALL): Omit trailing empty lines.
41915         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
41916         omit trailing empty lines.  This simplifies the build procedure.
41918 2012-01-23  Jim Meyering  <meyering@redhat.com>
41920         tests: avoid spurious warnings about gl_sockets_startup
41921         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
41922         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
41923         reporting a "statement with no effect".
41924         * tests/test-accept.c (main): Mark as "(void)".
41925         * tests/test-accept4.c (main): Likewise.
41926         * tests/test-bind.c (main): Likewise.
41927         * tests/test-connect.c (main): Likewise.
41928         * tests/test-getpeername.c (main): Likewise.
41929         * tests/test-getsockname.c (main): Likewise.
41930         * tests/test-getsockopt.c (main): Likewise.
41931         * tests/test-listen.c (main): Likewise.
41932         * tests/test-recv.c (main): Likewise.
41933         * tests/test-recvfrom.c (main): Likewise.
41934         * tests/test-send.c (main): Likewise.
41935         * tests/test-sendto.c (main): Likewise.
41936         * tests/test-setsockopt.c (main): Likewise.
41937         * tests/test-shutdown.c (main): Likewise.
41939 2012-01-21  Bruno Haible  <bruno@clisp.org>
41941         locale-fr.m4: Fix for Android.
41942         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
41943         failure of the test program on Bionic libc.
41945 2012-01-21  Jim Meyering  <meyering@redhat.com>
41947         bootstrap: fail when bootstrap_post_import_hook fails
41948         Otherwise, it's far too easy to miss diagnostics emitted
41949         between gnulib-tool's output and that of running configure.
41950         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
41952 2012-01-17  Jim Meyering  <meyering@redhat.com>
41954         maint: enable sc_trailing_blank
41955         * build-aux/pmccabe.css: Remove trailing blanks.
41956         * doc/acl-cygwin.txt: Likewise.
41957         * doc/gnu-oids.texi: Likewise
41958         * cfg.mk: Enable sc_trailing_blank.
41959         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
41961 2012-01-17  Jim Meyering  <meyering@redhat.com>
41963         maint: enable sc_prohibit_openat_without_use
41964         * cfg.mk: Enable sc_prohibit_openat_without_use.
41965         Exempt lib/selinux-at.c.
41967 2012-01-17  Jim Meyering  <meyering@redhat.com>
41969         maint: enable sc_prohibit_cloexec_without_use
41970         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
41971         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
41973 2012-01-17  Jim Meyering  <meyering@redhat.com>
41975         maint: enable sc_prohibit_intprops_without_use
41976         * cfg.mk: Enable sc_prohibit_intprops_without_use
41977         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
41979 2012-01-17  Jim Meyering  <meyering@redhat.com>
41981         maint: enable sc_prohibit_hash_pjw_without_use
41982         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
41983         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
41984         to match any use of \<hash_pjw\>, i.e., not necessarily with a
41985         following " (".
41987 2012-01-17  Jim Meyering  <meyering@redhat.com>
41989         maint: enable double-word-prohibiting rule
41990         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
41991         Exempt three files.
41993 2012-01-17  Jim Meyering  <meyering@redhat.com>
41995         maint: remove empty lines at EOF, but excluding modules/*
41996         Apply syntax rules at home as well as abroad.  Most changes
41997         were induced by running this:
41998           make srcdir=. _build-aux=build-aux -f top/maint.mk \
41999             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
42000             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
42001         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
42002         Exempt modules/* and two binary files.
42003         Also exempt doc/INSTALL*, per request from Bruno Haible.
42004         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
42005         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
42006         * doc/Copyright/request-assign.future: Likewise.
42007         * doc/Copyright/request-disclaim.changes: Likewise.
42008         * doc/INSTALL: Likewise.
42009         * doc/INSTALL.ISO: Likewise.
42010         * doc/INSTALL.UTF-8: Likewise.
42011         * doc/acl-cygwin.txt: Likewise.
42012         * doc/acl-resources.txt: Likewise.
42013         * doc/fdl-1.2.texi: Likewise.
42014         * doc/fdl-1.3.texi: Likewise.
42015         * doc/fdl.texi: Likewise.
42016         * lib/argp-pin.c: Likewise.
42017         * lib/round.c: Likewise.
42018         * lib/unicase/u16-totitle.c: Likewise.
42019         * lib/unictype/block_test.c: Likewise.
42020         * lib/uninorm/canonical-decomposition.c: Likewise.
42021         * m4/README: Likewise.
42022         * m4/relocatable-lib.m4: Likewise.
42023         * tests/test-isnand-nolibm.c: Likewise.
42024         * tests/test-isnand.c: Likewise.
42025         * tests/uninorm/NormalizationTest.txt: Likewise.
42027 2012-01-17  Jim Meyering  <meyering@redhat.com>
42029         maint: add framework to run syntax-check rules against gnulib sources
42030         * cfg.mk: New file, to disable all currently-failing tests.
42031         We'll enable them one by one, as they are made to pass.
42032         * Makefile (sc_maint): New rule.
42034 2012-01-21  Bruno Haible  <bruno@clisp.org>
42036         stdint: Add support for Android.
42037         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
42038         include the system's <stdint.h>.
42039         Reported by Simon Josefsson <simon@josefsson.org>.
42041 2012-01-19  Jim Meyering  <meyering@redhat.com>
42043         bootstrap: add bootstrap_post_import_hook
42044         Bison does still need something like the gnulib_mk_hook whose
42045         invocation I had to remove along with slurp in commit 767ccd40.
42046         Technically, we could get along without it, but doing so would
42047         have required living with a warning and a mandatory post-bootstrap
42048         automake rerun.
42049         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
42050         (bootstrap_post_import_hook): New function.
42051         Invoke it after gnulib-tool --import and before autoreconf.
42053 2012-01-18  Jim Meyering  <meyering@redhat.com>
42055         gitlog-to-changelog: don't use "no_"-prefixed variable name
42056         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
42057         to enable both --cluster and --no-cluster.  Change variable name,
42058         s/\$no_cluster/$cluster/, and reverse usage to match.
42060         gitlog-to-changelog: use "||", not "or" in expressions
42061         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
42062         expressions.
42064 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
42066         gitlog-to-changelog: new option --no-cluster
42067         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
42068         clustering of adjacent commit messages.
42070 2012-01-17  Jim Meyering  <meyering@redhat.com>
42072         maint: spell file systems with two words, not one
42073         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
42074         two words, not one.
42076 2012-01-16  Jim Meyering  <meyering@redhat.com>
42078         bootstrap: add a FIXME comment to ensure we eventually remove the hack
42079         * build-aux/bootstrap (gnulib_tool_options): Add comment.
42081 2012-01-16  Eric Blake  <eblake@redhat.com>
42083         bootstrap: cater to autoconf 2.59
42084         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
42085         is not available.
42087         bootstrap: properly check for libtool
42088         * build-aux/bootstrap (libtoolize): Also run libtool when older
42089         usage is detected.
42091 2012-01-15  Bruno Haible  <bruno@clisp.org>
42093         Improve support for MSVC 9.
42094         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
42095         clashes on MSVC.
42096         * lib/fcntl.in.h: Likewise.
42097         * lib/stdlib.in.h: Likewise.
42098         * lib/sys_stat.in.h: Likewise.
42100 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
42102         gnupload: we hold the master copy of this script now
42103         For motivation and more information, see:
42104         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
42105         * build-aux/gnupload: Make it clear in the heading comments that the
42106         master copy of this file is maintained by gnulib.  Since we are at
42107         it, bump its copyright year and ...
42108         ($scriptversion): ... the date in its version.
42109         ($usage): Patches and bug reports should be sent to the gnulib list,
42110         not the automake one.
42111         * config/srclist.txt: Don't try to sync 'gnupload' from automake
42112         anymore.
42114 2012-01-15  Bruno Haible  <bruno@clisp.org>
42116         Fix module 'random'.
42117         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
42118         initstate, setstate are declared.
42120 2012-01-14  Bruno Haible  <bruno@clisp.org>
42122         Tests for module 'random'.
42123         * modules/random-tests: New file.
42124         * tests/test-random.c: New file, based on tests/test-random_r.c.
42126         New module 'random'.
42127         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
42128         declarations.
42129         * lib/random.c: New file, based on glibc/stdlib/random.c.
42130         * m4/random.m4: New file.
42131         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
42132         HAVE_RANDOM.
42133         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
42134         * modules/random: New file.
42135         * config/srclist.txt: Add an entry for random.c.
42136         * doc/posix-functions/random.texi: Mention the 'random' module.
42137         * doc/posix-functions/initstate.texi: Likewise.
42138         * doc/posix-functions/setstate.texi: Likewise.
42139         * doc/posix-functions/srandom.texi: Likewise.
42141 2012-01-12  Bruno Haible  <bruno@clisp.org>
42143         random_r: Use common idioms.
42144         * lib/random_r.c: Include <stdlib.h> first.
42146         random_r: Override incompatible API on AIX, OSF/1.
42147         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
42148         Override the system function if REPLACE_RANDOM_R is 1.
42149         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
42150         and OSF/1, set REPLACE_RANDOM_R.
42151         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
42152         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
42153         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
42154         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
42155         * doc/glibc-functions/random_r.texi: Likewise.
42156         * doc/glibc-functions/setstate_r.texi: Likewise.
42158         random_r: Support for MSVC 9.
42159         * lib/random_r.c: Include stdint.h, not inttypes.h.
42161 2012-01-12  Eric Blake  <eblake@redhat.com>
42163         inet_ntop: guard extra work by IF_LINT
42164         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
42165         better code generation when not checking for warnings.
42166         Suggested by Paul Eggert and Jim Meyering.
42168         strptime: fix regression on mingw
42169         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
42170         Fix regression.  Reported by Bruno Haible.
42172 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
42173             Bruno Haible  <bruno@clisp.org>
42175         copy-file: add error-code-returning variant.
42176         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
42177         (qcopy_file_preserving): New declaration.
42178         * lib/copy-file.c (qcopy_file_preserving): Renamed from
42179         copy_file_preserving. Change return type to 'int'. Don't emit an error
42180         message here.
42181         (copy_file_preserving): New function.
42182         * tests/test-copy-file.c: Include <stdlib.h>.
42183         (main): Test qcopy_file_preserving if the environment variable
42184         NO_STDERR_OUTPUT is set.
42185         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
42186         with NO_STDERR_OUTPUT
42187         * tests/test-copy-file-2.sh: Likewise.
42189 2012-01-10  Bruno Haible  <bruno@clisp.org>
42191         copy-file: Use 'quote' module consistently.
42192         * lib/copy-file.c (copy_file_preserving): Use quote().
42194         copy-file: Refactor.
42195         * lib/copy-file.c: Include quote.h.
42196         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
42197         message here.
42198         * modules/copy-file (Depends-on): Add quote.
42200         acl: Export qcopy_acl.
42201         * lib/acl.h (qcopy_acl): New declaration.
42202         * lib/copy-acl.c (qcopy_acl): Make non-static.
42204         acl: Rename a local variable.
42205         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
42207         acl: Align return values of copy_acl and qcopy_acl.
42208         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
42209         maybe < -1.
42211 2012-01-11  Eric Blake  <eblake@redhat.com>
42213         strptime: silence gcc warnings
42214         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
42215         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
42216         Reported by Daniel P. Berrange.
42218         inet_ntop: silence gcc warning
42219         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
42220         Reported by Daniel P. Berrange.
42222 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
42224         getloadavg test: skip the test on GNU/Linux without /proc mounted
42225         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
42226         file.  When /proc is not mounted, it always fails with ENOENT.
42227         * tests/test-getloadavg.c (main): Treat ENOENT return code from
42228         getloadavg(3) the same way as ENOSYS and ENOTSUP.
42230 2012-01-10  Bruno Haible  <bruno@clisp.org>
42232         regex: Avoid link error on MSVC 9.
42233         * modules/regex (Depends-on): Add wctype.
42235 2012-01-10  Bruno Haible  <bruno@clisp.org>
42237         doc: Mention --with-tests option.
42238         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
42239         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
42240         --with-tests.
42241         Reported by Reuben Thomas.
42243 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
42245         users.txt: order package names lexicographically.
42246         * users.txt: Order package names lexicographically.
42248 2012-01-10  Jim Meyering  <meyering@redhat.com>
42250         maint.mk: fix description in comment
42251         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
42253         ignore-value: remove deprecated ignore_ptr function
42254         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
42255         * NEWS: Note this.
42257 2012-01-09  Jim Meyering  <meyering@redhat.com>
42259         test-init.sh: avoid a subshell
42260         * tests/test-init.sh: Remove protective subshell.
42261         Suggested by Bernhard Voelker.  While a subshell is normally
42262         required to protect against older shells (Solaris, FreeBSD) that
42263         warn about a missing program before performing redirection, the
42264         shell-selection tests performed by init.sh probably exclude any
42265         offending shell.
42267 2012-01-08  Bruno Haible  <bruno@clisp.org>
42269         setlocale tests: Avoid test failure on Solaris 11.0.
42270         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
42271         variable.
42273 2012-01-08  Bruno Haible  <bruno@clisp.org>
42275         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
42276         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
42277         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
42278         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
42279         macro.
42280         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
42281         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
42282         * lib/spawn_faction_addopen.c: Add workaround implementation if
42283         HAVE_WORKING_POSIX_SPAWN.
42284         * modules/spawn (Makefile): Substitute
42285         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
42286         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
42287         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
42288         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
42289         (Depends-on): Update conditions.
42290         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
42291         the Solaris 11 bug.
42293 2012-01-08  Bruno Haible  <bruno@clisp.org>
42295         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
42296         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
42297         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
42298         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
42299         macro.
42300         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
42301         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
42302         * lib/spawn_faction_adddup2.c: Add workaround implementation if
42303         HAVE_WORKING_POSIX_SPAWN.
42304         * modules/spawn (Makefile): Substitute
42305         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
42306         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
42307         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
42308         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
42309         (Depends-on): Update conditions.
42310         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
42311         the Solaris 11 bug.
42313 2012-01-08  Bruno Haible  <bruno@clisp.org>
42315         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
42316         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
42317         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
42318         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
42319         HAVE_WORKING_POSIX_SPAWN.
42320         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
42321         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
42322         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
42323         * lib/spawn_faction_addclose.c: Add workaround implementation if
42324         HAVE_WORKING_POSIX_SPAWN.
42325         * modules/spawn (Makefile): Substitute
42326         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
42327         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
42328         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
42329         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
42330         (Depends-on): Update conditions.
42331         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
42332         the Solaris 11 bug.
42334 2012-01-08  Bruno Haible  <bruno@clisp.org>
42336         doc: Update for Solaris 11.0.
42337         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
42338         * m4/printf.m4: Update comments.
42340 2012-01-08  Bruno Haible  <bruno@clisp.org>
42342         mktime: Avoid compilation error on Solaris 11.
42343         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
42345 2012-01-08  Bruno Haible  <bruno@clisp.org>
42347         doc: Small fix.
42348         * doc/posix-headers/nl_types.texi: Correct platforms list.
42350 2012-01-08  Simon Josefsson  <simon@josefsson.org>
42352         Add lgpl-3.0 module.
42353         * MODULES.html.sh (Support for building documentation): Add
42354         lgpl-3.0.
42355         * modules/lgpl-3.0: New file.
42357 2012-01-08  Jim Meyering  <meyering@redhat.com>
42359         select.c: indent with spaces, not TABs
42360         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
42362 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
42364         quotearg: do not use grave accent for left quote
42365         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
42366         locale_quoting_style.
42367         (quotearg_buffer_restyled): Fix example.
42368         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
42370 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
42372         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
42373         Most programs do not have translation catalogs for English and much
42374         less separate catalogs for British and American English.  Drop the
42375         suggestion to translators about these two, and provide it
42376         automatically for Unicode locales.  Like most programs, even those
42377         using American English, we use single quotation marks.  This conflicts
42378         with the American typographic convention, but works better when you
42379         cite the entire error message within double quotes.  It also tries not
42380         to clash with established practice and with what non-gnulib programs
42381         will usually do.
42382         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
42383         using an UTF-8 or GB-18030 locale.  The list of other locales with
42384         quotes was provided by Bruno Haible.
42385         (quotearg_buffer_restyled): Adjust instructions to translators.
42386         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
42387         text, since this would be wrong when using Unicode.
42388         * modules/quotearg: Depend on c-strcaseeq.
42390 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
42392         quotearg: fix Wikipedia link
42393         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
42395 2012-01-07  Simon Josefsson  <simon@josefsson.org>
42397         Fix for mingw with MSVC9.
42398         * m4/ld-version-script.m4: Check that compiler rejects version
42399         scripts with syntax errors.  Reported by Bruno Haible
42400         <bruno@clisp.org>.
42402 2012-01-06  Bruno Haible  <bruno@clisp.org>
42404         Talk about "native Windows API", not "Woe32".
42405         * lib/accept4.c: Update comments to mention native Windows.
42406         * lib/execute.c: Likewise.
42407         * lib/fatal-signal.c: Likewise.
42408         * lib/localcharset.c: Likewise.
42409         * lib/nanosleep.c: Likewise.
42410         * lib/nl_langinfo.c: Likewise.
42411         * lib/pclose.c: Likewise.
42412         * lib/pipe-filter-gi.c: Likewise.
42413         * lib/pipe-filter-ii.c: Likewise.
42414         * lib/pipe.c: Likewise.
42415         * lib/pipe2.c: Likewise.
42416         * lib/popen.c: Likewise.
42417         * lib/progreloc.c: Likewise.
42418         * lib/relocatable.c: Likewise.
42419         * lib/sigaction.c: Likewise.
42420         * lib/sigprocmask.c: Likewise.
42421         * lib/spawn-pipe.h: Likewise.
42422         * lib/spawn-pipe.c: Likewise.
42423         * lib/spawni.c: Likewise.
42424         * lib/stat-time.h: Likewise.
42425         * lib/w32spawn.h: Likewise.
42426         * tests/test-isatty.c: Likewise.
42427         * lib/config.charset: More comments.
42428         * doc/gnulib-intro.texi: Mention native Windows.
42429         * doc/posix-functions/_Exit_C99.texi: Likewise.
42430         * doc/posix-headers/fcntl.texi: Likewise.
42432 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
42434         argp: Avoid crash if translator uses % characters in a translation.
42435         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
42436         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
42438 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
42440         doc: C11 and C++11 are now official
42441         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
42442         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
42443         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
42444         * modules/stdalign:
42445         Replace references to draft C1X to C11, and to draft C++0X to C++11.
42447 2012-01-06  Bruno Haible  <bruno@clisp.org>
42449         uc-is-grapheme-break tests: Tweak.
42450         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
42451         message.
42453 2012-01-06  Bruno Haible  <bruno@clisp.org>
42455         test-init.sh: correct the test for diff -u
42456         * tests/test-init.sh: Also redirect stdout to /dev/null.
42458 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
42460         Use ', not `, for quoting output.
42461         * build-aux/announce-gen (usage, sizes, print_news_deltas)
42462         (print_changelog_deltas, get_tool_versions, main program):
42463         * build-aux/git-version-gen:
42464         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
42465         * build-aux/move-if-change (help):
42466         * build-aux/useless-if-before-free (usage, main program):
42467         * check-module (parse_module_file, usage)
42468         (find_included_lib_files, check_module):
42469         * lib/argmatch.c (main) [TEST]:
42470         * lib/argp-help.c (_help):
42471         * lib/getopt1.c (main) [TEST]:
42472         * lib/git-merge-changelog.c (usage):
42473         * lib/xstrtol-error.c (xstrtol_error):
42474         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
42475         * m4/argz.m4 (gl_FUNC_ARGZ):
42476         * m4/bison.m4 (gl_BISON):
42477         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
42478         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
42479         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42480         * m4/fpending.m4 (gl_PREREQ_FPENDING):
42481         * m4/gc-random.m4 (gl_GC_RANDOM):
42482         * m4/intl.m4 (gt_CHECK_DECL):
42483         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
42484         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
42485         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
42486         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
42487         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
42488         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
42489         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
42490         * tests/test-dirname.c (main):
42491         * tests/test-getpass.c (main):
42492         * tests/test-iconvme.c (main):
42493         * tests/test-parse-datetime.c (LOG):
42494         * tests/test-xstrtoimax.sh:
42495         * tests/test-xstrtol.sh:
42496         * tests/test-xstrtoll.sh:
42497         * tests/test-xstrtoumax.sh:
42498         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
42499         * top/GNUmakefile (abort-due-to-no-makefile):
42500         Quote 'like this', not `like this', as per the recent change to
42501         the GNU coding standards.
42503 2012-01-05  Bruno Haible  <bruno@clisp.org>
42505         strtoimax: Don't force a replacement on systems where intmax_t is int.
42506         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
42507         'intmax_t' is not larger than 'int'.
42508         Reported by Pádraig Brady <P@draigBrady.com>.
42510 2012-01-05  Bruno Haible  <bruno@clisp.org>
42512         doc: Mention NetBSD bugs.
42513         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
42514         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
42516 2012-01-05  Bruno Haible  <bruno@clisp.org>
42518         strtoumax tests: Enhance tests.
42519         * tests/test-strtoumax.c (main): Add tests for large values.
42521 2012-01-05  Bruno Haible  <bruno@clisp.org>
42523         strtoimax: Work around AIX 5.1 bug.
42524         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
42525         definition.
42526         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
42527         Set HAVE_STRTOIMAX.
42528         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
42529         REPLACE_STRTOIMAX.
42530         * modules/inttypes-incomplete (Makefile.am): Substitute
42531         REPLACE_STRTOIMAX.
42532         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
42533         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
42534         (Depends-on): Update conditions.
42535         * tests/test-strtoimax.c (main): Add tests for large values.
42536         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
42538 2012-01-05  Bruno Haible  <bruno@clisp.org>
42540         inttypes: Modernize.
42541         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
42542         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
42543         (Makefile.am): Update inttypes.h rule.
42545 2012-01-05  Jim Meyering  <meyering@redhat.com>
42547         init.sh: don't waste a subshell just to redirect stderr
42548         * tests/init.sh: In testing for diff -u and diff -c, use a
42549         stderr-redirecting exec inside `...` rather than a subshell.
42551         test-init.sh: avoid failure on HP-UX 11.00
42552         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
42553         resolves to diff -c or cmp.  Reported by Bruno Haible.
42555 2012-01-05  Bruno Haible  <bruno@clisp.org>
42557         Tests for module 'strtoull'.
42558         * modules/strtoull-tests: New file.
42559         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
42561 2012-01-05  Bruno Haible  <bruno@clisp.org>
42563         Tests for module 'strtoll'.
42564         * modules/strtoll-tests: New file.
42565         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
42567 2012-01-05  Bruno Haible  <bruno@clisp.org>
42569         Tests for module 'strtoul'.
42570         * modules/strtoul-tests: New file.
42571         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
42573 2012-01-05  Bruno Haible  <bruno@clisp.org>
42575         Tests for module 'strtol'.
42576         * modules/strtol-tests: New file.
42577         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
42579 2012-01-04  Jim Meyering  <meyering@redhat.com>
42581         test-init.sh: accommodate Solaris 5.10's different diff -u output
42582         * tests/test-init.sh: Also exempt @@ lines from the comparison
42583         of diff output, since Solaris 5.10 and GNU diff formats differ.
42584         Reported by Stefano Lattarini.
42586 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
42588         test-posixtm: don't assume signed integer wraparound
42589         * tests/test-posixtm.c (main): Don't assume wraparound semantics
42590         after signed integer overflow.  Inspired by (though it may not
42591         fix) Bruno Haible's bug report in
42592         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
42594         Spell out "Windows 9x" and "Windows XP".
42595         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
42596         "Windows 9x" and "WinXP" with "Windows XP".
42598 2012-01-04  Jim Meyering  <meyering@redhat.com>
42600         test-vc-list-files-cvs.sh: remove obsolete comment
42601         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
42602         double exit.  Now that's all encapsulated via skip_ and Exit.
42604 2012-01-04  Bruno Haible  <bruno@clisp.org>
42606         Talk about "native Windows API", not "Win32".
42607         * lib/classpath.c: Update comments to mention native Windows.
42608         * lib/csharpexec.c: Likewise.
42609         * lib/dup2.c: Likewise.
42610         * lib/error.c: Likewise.
42611         * lib/fcntl.c: Likewise.
42612         * lib/filename.h: Likewise.
42613         * lib/findprog.c: Likewise.
42614         * lib/get-rusage-as.c: Likewise.
42615         * lib/get-rusage-data.c: Likewise.
42616         * lib/getpagesize.c: Likewise.
42617         * lib/javaexec.c: Likewise.
42618         * lib/msvc-inval.c: Likewise.
42619         * lib/msvc-nothrow.c: Likewise.
42620         * lib/nanosleep.c: Likewise.
42621         * lib/nonblocking.c: Likewise.
42622         * lib/printf-parse.c: Likewise.
42623         * lib/setlocale.c: Likewise.
42624         * lib/sigaction.c: Likewise.
42625         * lib/strerror_r.c: Likewise.
42626         * lib/tmpdir.c: Likewise.
42627         * lib/vasnprintf.c: Likewise.
42628         * lib/w32spawn.h: Likewise.
42629         * lib/waitpid.c: Likewise.
42630         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
42631         * m4/locale-ar.m4: Likewise.
42632         * m4/locale-fr.m4: Likewise.
42633         * m4/locale-ja.m4: Likewise.
42634         * m4/locale-tr.m4: Likewise.
42635         * m4/locale-zh.m4: Likewise.
42636         * m4/printf.m4: Likewise.
42637         * tests/test-cloexec.c: Likewise.
42638         * tests/test-copy-acl.sh: Likewise.
42639         * tests/test-copy-file.sh: Likewise.
42640         * tests/test-file-has-acl.sh: Likewise.
42641         * tests/test-set-mode-acl.sh: Likewise.
42642         * tests/test-dup-safer.c: Likewise.
42643         * tests/test-dup2.c: Likewise.
42644         * tests/test-dup3.c: Likewise.
42645         * tests/test-fcntl.c: Likewise.
42646         * tests/test-nonblocking-pipe.h: Likewise.
42647         * tests/test-nonblocking-socket.h: Likewise.
42648         * tests/test-pipe.c: Likewise.
42649         * tests/test-pipe2.c: Likewise.
42650         * tests/test-spawn-pipe-child.c: Likewise.
42651         * doc/acl-resources.txt: Likewise.
42652         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
42653         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
42654         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
42655         * lib/localcharset.c: Update comments to mention native Windows.
42656         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
42657         * lib/localename.c: Likewise.
42658         * lib/progreloc.c: Likewise.
42659         * lib/relocatable.c: Likewise.
42660         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
42661         (windows_compute_revents): Renamed from win32_compute_revents.
42662         (windows_compute_revents_socket): Renamed from
42663         win32_compute_revents_socket.
42664         * lib/select.c: Update comments to mention native Windows.
42665         (windows_poll_handle): Renamed from win32_poll_handle.
42666         * m4/threadlib.m4: Update comments to mention native Windows.
42667         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
42668         --enable-threads=windows instead of --enable-threads=win32. Set
42669         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
42670         * lib/glthread/lock.h: Update comments to mention native Windows.
42671         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
42672         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
42673         USE_WIN32_THREADS.
42674         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
42675         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
42676         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
42677         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
42678         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
42679         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
42680         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
42681         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
42682         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
42683         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
42684         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
42685         * tests/test-tls.c: Likewise.
42686         Rationale:
42687         Microsoft renamed the "Win32 API" to "Windows API", as it is available
42688         on both 32-bit and 64-bit Windows systems.
42689         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
42690         line of distinction is between "native Windows" on one side and Unix/
42691         POSIX systems on the other side. More details in
42692         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
42693         Suggested by Paul Eggert.
42695 2012-01-03  Bruno Haible  <bruno@clisp.org>
42697         isatty: Support for MSVC 9.
42698         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
42699         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
42700         (_isatty_nothrow): New function.
42701         (isatty): Use it instead of _isatty.
42702         (IsConsoleHandle): Add comment, from Paolo Bonzini.
42703         * lib/poll.c (IsConsoleHandle): Likewise.
42704         * lib/select.c (IsConsoleHandle): Likewise.
42705         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
42706         (gl_PREREQ_ISATTY): New macro.
42707         * modules/isatty (Depends-on): Add msvc-inval.
42708         (configure.ac): Invoke gl_PREREQ_ISATTY.
42710 2012-01-03  Jim Meyering  <meyering@redhat.com>
42712         maint.mk: remove temporary transition aid from over 1.5 years ago
42713         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
42714         purpose was to aid in the transition (avoiding silent malfunction)
42715         from that old name to the new _sc_search_regexp.  This shim was
42716         added by commit 219c504b.
42718         init.sh: do not try to accommodate compare arguments starting with "-"
42719         * tests/init.sh (compare_dev_null_): Do not try to accommodate
42720         compare arguments that start with "-".  Besides, we do not worry
42721         about this when invoking diff or cmp; why start now with sed?
42722         Using "--" to separate options from argument would trigger sed
42723         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
42724         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
42726 2012-01-02  Bruno Haible  <bruno@clisp.org>
42728         Enhance tests for module 'isatty'.
42729         * modules/isatty-tests (Depends-on): Add pipe-posix.
42730         * tests/test-isatty.c: Include <fcntl.h>.
42731         (DEV_NULL): New macro.
42732         (main): Test the resut of isatty() also on regular files, pipes, and
42733         /dev/null.
42735         New module 'isatty'.
42736         * lib/unistd.in.h (isatty): New declaration.
42737         * lib/isatty.c: New file, based on an idea of
42738         Bastien Roucariès <roucaries.bastien@gmail.com>.
42739         * m4/isatty.m4: New file.
42740         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
42741         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
42742         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
42743         REPLACE_ISATTY.
42744         * modules/isatty: New file.
42745         * doc/posix-functions/isatty.texi: Mention the new module.
42746         Suggested by Paolo Bonzini.
42748 2012-01-02  Bruno Haible  <bruno@clisp.org>
42750         canonicalize: Tweak 2011-12-29 commit.
42751         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
42752         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
42754 2012-01-02  Jim Meyering  <meyering@redhat.com>
42756         gitlog-to-changelog: describe input syntax in --help output
42757         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
42759         gitlog-to-changelog: fix typo in --help: show backslash before email @
42760         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
42761         in sources, but not in actual output.
42763 2011-12-30  Jim Meyering  <meyering@redhat.com>
42765         gitlog-to-changelog: don't malfunction when name contains %-directive
42766         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
42767         in a name string cause trouble.  E.g., with a user name of "%s",
42768         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
42770 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
42772         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
42773         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
42774         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
42775         the "  (tiny change)" notation that is appended to the standard
42776         ChangeLog "date  name  email" header line.
42778 2012-01-01  Jim Meyering  <meyering@redhat.com>
42780         test-framework-sh: init.sh: fix "make dist" failure
42781         When using gnulib-tool's --with-tests option and any module that
42782         depends on test-framework-sh, "make dist" would fail due to the
42783         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
42784         in the gltests directory, and not in the gllib/ directory.
42785         One way to work around that is to move the EXTRA_DIST += init.sh
42786         from the primary module to the -tests one:
42787         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
42788         * modules/test-framework-sh (Makefile.am): ...not here.
42789         Reported by Tom G. Christensen in
42790         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
42792         version-etc: update copyright year reported by --version
42793         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
42795 2011-12-31  Pádraig Brady  <P@draigBrady.com>
42797         canonicalize: only stat() if required
42798         * lib/canonicalize.c (canonicalize_filename_mode):
42799         Avoid calling l?stat() when both CAN_MISSING,
42800         and CAN_NOLINKS are set, as we neither need
42801         to resolve symlinks or test component existence.
42803 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
42805         doc: cover st_ino issues once; add OpenVMS etc.
42806         * doc/posix-functions/stat.texi (stat):
42807         * doc/posix-functions/lstat.texi (lstat):
42808         * doc/posix-functions/fstatat.texi (fstatat):
42809         * doc/posix-functions/fstat.texi (fstat):
42810         Move general 'struct stat' stuff to sys_stat.texi,
42811         leaving behind a pointer.
42812         * doc/posix-headers/sys_stat.texi (sys/stat.h):
42813         Merge duplicate info about 'struct stat' problems into here.
42814         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
42815         and suggest partial workarounds.
42817         same-inode: port to OpenVMS
42818         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
42819         three st_ino values.
42821 2011-12-30  Pádraig Brady  <P@draigBrady.com>
42823         canonicalize: fix references to stat() and lstat()
42824         * lib/canonicalize.c (canonicalize_filename_mode):
42825         Ensure references always resolve to a replacement
42826         function if required (even via a macro).
42828 2011-12-30  Jim Meyering  <meyering@redhat.com>
42830         gitlog-to-changelog: remove a little duplication
42831         * build-aux/gitlog-to-changelog (main): Grep @lines once,
42832         rather than twice.
42834 2011-12-29  Pádraig Brady  <P@draigBrady.com>
42836         canonicalize: add support for not resolving symlinks
42837         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
42838         indicate we don't want to follow symlinks.  Also
42839         provide CAN_MODE_MASK to aid setting these existing
42840         mutually exclusive values.
42841         * lib/canonicalize.c (canonicalize_filename_mode):
42842         Extract the flags from can_mode parameter, which
42843         are currently just used to select between stat()
42844         and lstat().  Also ensure that mutually exclusive
42845         values are flagged immediately as invalid.
42846         * tests/test-canonicalize.c: Verify symlinks are
42847         not followed, and that invalid flag combinations
42848         are diagnosed.
42850 2011-12-25  Jim Meyering  <meyering@redhat.com>
42852         gitlog-to-changelog: do not clump multi-paragraph entries
42853         Identical header lines (date,name,email+coauthors) are suppressed,
42854         thus putting all entries with those same characteristics under
42855         a single header.  However, when a log entry consists of two or
42856         more paragraphs, it may not be clear where it starts and ends.
42857         This change makes it so that such an entry is always separated
42858         from others by a header line, even when that header would
42859         otherwise be suppressed.
42860         * build-aux/gitlog-to-changelog: Implement the above.
42861         Inspired by a related request from Stefano Lattarini in
42862         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
42864 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42866         announce-gen: fix `cmd' typo in diagnostic
42867         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
42868         diagnostic: a missing '$' meant that the command was not output.
42870 2011-12-23  Jim Meyering  <meyering@redhat.com>
42872         test-framework-sh: distribute init.sh
42873         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
42874         Otherwise, "make -C gnulib-tests check" (at least in grep) would
42875         fail due to the lack of init.sh.
42877         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
42878         * modules/atexit-tests: Rather than listing tests/init.sh,
42879         now that there's a module for it, simply depend on that new module.
42880         * modules/closein-tests: Likewise.
42881         * modules/exclude-tests: Likewise.
42882         * modules/getcwd-tests: Likewise.
42883         * modules/perror-tests: Likewise.
42884         * modules/pread-tests: Likewise.
42885         * modules/pwrite-tests: Likewise.
42886         * modules/vc-list-files-tests: Likewise.
42887         * modules/verify-tests: Likewise.
42888         * modules/xalloc-die-tests: Likewise.
42889         * modules/xstrtoimax-tests: Likewise.
42890         * modules/xstrtol-tests: Likewise.
42891         * modules/xstrtoll-tests: Likewise.
42892         * modules/xstrtoumax-tests: Likewise.
42893         * modules/yesno-tests: Likewise.
42895 2011-12-22  Jim Meyering  <meyering@redhat.com>
42897         test-framework-sh: add minimal tests of init.sh's compare function
42898         * modules/test-framework-sh-tests: New file.
42899         * tests/test-init.sh: New file.
42901         test-framework-sh: new module
42902         * modules/test-framework-sh: New file.
42903         * MODULES.html.sh (Support for maintaining and releasing projects):
42904         List it.
42906         init.sh: do not emit simulated diff output to stderr
42907         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
42909 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
42911         .gitignore: ignore gnulib.dvi and regex.info
42912         * doc/.gitignore:add gnulib.dvi and regex.info
42914 2011-12-22  Jim Meyering  <meyering@redhat.com>
42916         init.sh: correct previous change
42917         * tests/init.sh (compare): My previous change was wrong.
42918         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
42920         init.sh: avoid unwarranted test failure when using "set -e"
42921         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
42922         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
42923         a use like "compare exp out" would get evoke an unconditional failure.
42925 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
42927         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
42928         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
42929         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
42930         autoreconf that did not.
42931         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
42932         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
42934 2011-12-17  Jim Meyering  <meyering@redhat.com>
42936         bootstrap: remove some now-unneeded code
42937         This script arose back when gnulib-tool was young.
42938         Since then, it has seen improvements that render much of this
42939         script unnecessary.  In particular, it can now make symlinks
42940         to the files it uses.  Also, I no longer see as much value in
42941         marking files as read-only via comments.
42942         If you relied on the symlink-creation feature of the preceding
42943         version of this script, you can get most of that functionality
42944         by adding the --symlink option to the definition of
42945         gnulib_tool_option_extras in your bootstrap.conf file.
42946         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
42947         Run autopoint and libtoolize *before* gnulib-tool.
42948         After it, run an abbreviated autoreconf, rather than a loop around
42949         all tools.
42950         (slirp, bt_mark_as_generated): Remove functions.
42952 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42954         ftoastr: fix typo
42955         * lib/ftoastr.h: Fix misspelling in comment.
42957 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
42959         * top/README-release: fix punctuation.
42961 2011-12-17  Jim Meyering  <meyering@redhat.com>
42963         bootstrap: correct the recent buildreq change
42964         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
42965         had no effect.
42966         * build-aux/bootstrap (buildreq): Bracket each search term with
42967         "*...*", so that the shell "case" statement works as intended.
42968         Add comments.
42970 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
42972         build: let bootstrap resort to wget when downloading .po files
42973         * build-aux/bootstrap (download_po_files): Fallback to wget when
42974         downloading the .po files via rsync fails.  This is necessary to
42975         bootstrap from behind a strict firewall.
42977 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
42979         stdint: don't assume C++11 when compiling with g++
42980         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
42981         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
42982         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
42983         work also in C++ before C++11, as that improperly inhibits
42984         generating a substitute stdint.h for that case.
42986 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
42988         alloca: protect comment from gnulib-tool
42989         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
42990         that gnulib-tool doesn't think it's a license, and munge it to
42991         say "GCC version 3".
42993 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
42995         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
42996         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
42997         $(abs_top_builddir) instead of $(top_builddir).
42999 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
43001         strftime-tests: also test nanoseconds
43002         * tests/test-strftime.c (T): Add a test of %N.
43004 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
43006         inttypes, stdint: add C++11 support
43007         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
43008         when including inttypes.h and stdint.h.  Support this change to
43009         the standard.
43010         * doc/posix-headers/inttypes.texi (inttypes.h):
43011         * doc/posix-headers/stdint.texi (stdint.h): Document this.
43012         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
43013         Define if not defined already, for the benefit of pre-C++11 hosts.
43014         Define the standard format macros (e.g., PRId8) always.
43015         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
43016         Likewise, if __cpluspus.  Define the standard constant and limit
43017         macros (e.g., INT8_C, INT8_MAX) always.
43018         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
43019         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
43020         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
43021         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
43022         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
43023         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
43024         Likewise.
43026 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
43028         nonblocking tests: Fix test failure on Linux/PPC.
43029         Suggested by Prerna Saxena in
43030         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
43031         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
43032         Set to 1100000.
43034 2011-12-12  Jim Meyering  <meyering@redhat.com>
43036         argmatch: don't hard-code `' when listing valid option arguments
43037         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
43038         use the quote function to add quotes.  Use fputs rather than
43039         fprintf for the format string with no format directive.
43041 2011-12-07  Eric Blake  <eblake@redhat.com>
43043         bootstrap: detect tools required by gnulib-tool
43044         * build-aux/bootstrap (buildreq): Provide minimum implicit
43045         dependencies.
43046         * DEPENDENCIES: Mention patch as a prereq.
43048 2011-12-04  Bruno Haible  <bruno@clisp.org>
43050         sethostname: Port to Windows platforms.
43051         * lib/sethostname.c: Provide an alternate implementation for Windows
43052         platforms.
43053         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
43054         (main): Skip the test if sethostname() fails with EPERM. On Windows
43055         platforms, don't check the result of gethostname().
43057 2011-12-04  Bruno Haible  <bruno@clisp.org>
43058             Jim Meyering  <meyering@redhat.com>
43060         tests: Avoid spurious error message on platforms without mktemp program.
43061         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
43063 2011-12-04  Bruno Haible  <bruno@clisp.org>
43065         sethostname: Fix documentation.
43066         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
43067         "not fixed" section.
43069 2011-12-03  Bruno Haible  <bruno@clisp.org>
43071         gnulib-tool: Verify that the License field is present and non-empty.
43072         * gnulib-tool (func_get_license_raw): New function, extracted from
43073         func_get_license.
43074         (func_get_license): Use it. Warn if the module is not a test module and
43075         has no license.
43076         Suggested by Jim Meyering.
43078 2011-12-03  Bruno Haible  <bruno@clisp.org>
43080         sethostname tests: Fix link error on mingw.
43081         * tests/test-sethostname1.c: New file, extracted from
43082         tests/test-sethostname.c.
43083         * tests/test-sethostname2.c: New file, extracted from
43084         tests/test-sethostname.c.
43085         * tests/test-sethostname.c: Remove file.
43086         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
43087         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
43088         (Depends-on): Add gethostname.
43089         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
43090         Link the latter with $(GETHOSTNAME_LIB).
43092         sethostname tests: Fix compilation error on mingw.
43093         * tests/test-sethostname.c: Don't include <sys/types.h>.
43094         (geteuid): Use a dummy value without uid_t.
43095         * modules/sethostname-tests (Depends-on): Remove sys_types.
43097         sethostname tests: Avoid a gcc warning.
43098         * tests/test-sethostname.c (main): Remove an unused variable.
43100         Tweak last commit.
43101         * modules/sethostname-tests (Files): Sort by decreasing importance.
43102         (configure.ac): Check for geteuid.
43103         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
43104         the test when there's nothing to test. Drop an unnecessary cast.
43105         Improve an error message. Verify that the final sethostname() call
43106         succeeds.
43108 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
43110         Add a test suite for the sethostname module.
43111         * modules/sethostname-tests: New file.  A test program
43112         for the sethostname module.
43113         * tests/test-sethostname.c: Likewise.
43115 2011-12-03  Bruno Haible  <bruno@clisp.org>
43117         Tweak last commit.
43118         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
43119         Fix preprocessor directives indentation. Fix typos.
43120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
43121         * modules/unistd (Makefile): Likewise.
43123 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
43125         Integrate the sethostname module into unistd.
43126         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
43127         into the unistd.h header.
43128         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
43129         preprocessor directives.
43130         * modules/unistd: Setup the Makefile substitutions of the
43131         SETHOSTNAME preprocessor directives.
43133 2011-12-03  Bruno Haible  <bruno@clisp.org>
43135         Tweak last commit.
43136         * lib/sethostname.c: Don't include <string.h>.
43137         (sethostname): No need to copy the argument string to the stack. Don't
43138         call clearerr. Preserve errno when fprintf failed.
43139         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
43140         Don't invoke AC_REPLACE_FUNCS.
43141         * modules/sethostname (Link): Remove empty section.
43142         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
43143         failure problem.
43145 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
43147         New module 'sethostname'.
43148         * lib/sethostname.c (sethostname): New file.  Provide sethostname
43149         for systems that lack it.
43150         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
43151         sethostname declaration and function.
43152         * modules/sethostname: New file.  Define the sethostname module.
43154 2011-12-03  Bruno Haible  <bruno@clisp.org>
43156         Tweak last commit.
43157         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
43159 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
43161         Split the HOST_NAME_MAX detection into a separate m4 macro.
43162         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
43163         macro so it can be used by the pending sethostname module.
43165 2011-12-03  Bruno Haible  <bruno@clisp.org>
43167         Fix module descriptions syntax.
43168         * modules/argv-iter (License): Fix syntax.
43169         * modules/di-set (License): Likewise.
43170         * modules/ino-map (License): Likewise.
43171         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
43173 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
43175         stdalign: port to Clang 3.0
43176         Problem reported by Simon Josefsson in
43177         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
43178         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
43179         which has <stdalign.h> but which does not define alignof.
43180         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
43182 2011-12-01  Eric Blake  <eblake@redhat.com>
43184         mktempd: silence dd usage
43185         * build-aux/mktempd (rand_bytes): Silence dd.
43187 2011-11-30  Simon Josefsson  <simon@josefsson.org>
43189         manywarnings: Don't mention gcc version in docstring.
43190         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
43191         Jim Meyering <meyering@redhat.com>.
43193 2011-11-30  Jim Meyering  <meyering@redhat.com>
43195         hash: mark a few floating point constants with "f" suffix
43196         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
43197         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
43198         floating point constants with "f", since they're destined to be
43199         saved/used as "float"s.
43201 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
43203         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
43204         * tests/test-float.c (test_long_double): Correct and re-enable the
43205         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
43207 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
43209         Avoid subtracting two pointers that don't point into the same block.
43210         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
43211         only pointers into the same memory block are subtracted. We cannot
43212         assume that sizeof (ptrdiff_t) == sizeof (void *).
43214 2011-11-29  Eric Blake  <eblake@redhat.com>
43216         maint.mk: add syntax check for use of compare from init.sh
43217         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
43218         moved here from coreutils.
43220         manywarnings: drop -Wunsuffixed-float-constants
43221         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
43222         '1.0D', which is the only way to silence this warning for 'double'.
43224 2011-11-29  Jim Meyering  <meyering@redhat.com>
43226         hash: mark compute_bucket_size with the pure attribute
43227         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
43229         quotearg, propername: correct pragma guard expression
43230         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
43231         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
43233 2011-11-28  Jim Meyering  <meyering@redhat.com>
43235         propername: do not mark proper_name with the const attribute
43236         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
43237         since it examines data pointed to by its parameter.
43238         * lib/propername.c (proper_name): Instead, add a pragma to suppress
43239         the suggestion from -Wsuggest-attribute=const.
43241         propername: mark one more function as const
43242         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
43244 2011-11-27  Jim Meyering  <meyering@redhat.com>
43246         mark functions with const and pure attributes
43248         Mark functions per suggestions from gcc-4.6 when using these options:
43249         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
43250         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
43251         Follow these guidelines: when possible, apply the attribute to
43252         an extern declaration, not to its definition.  Apply it to the
43253         definition only when the definition is static.
43254         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
43255         * lib/argv-iter.h (argv_iter_n_args): Likewise.
43256         * lib/base64.h (isbase64): Likewise.
43257         * lib/basename-lgpl.c (last_component, base_len): Likewise.
43258         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
43259         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
43260         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
43261         (c_tolower, c_toupper): Likewise.
43262         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
43263         * lib/chdir-long.c (find_non_slash): Likewise.
43264         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
43265         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
43266         * lib/file-type.h (file_type): Likewise.
43267         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
43268         * lib/filevercmp.c (verrevcmp): Likewise.
43269         * lib/freadahead.h (freadahead): Likewise.
43270         * lib/fts.c (fts_maxarglen): Likewise.
43271         * lib/hash-pjw.h (hash_pjw): Likewise.
43272         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
43273         * lib/hash.c (is_prime, next_prime): Likewise.
43274         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
43275         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
43276         (hash_table_ok, hash_get_first, hash_string): Likewise.
43277         (compute_bucket_size): Likewise.
43278         * lib/i-ring.h (i_ring_empty): Likewise.
43279         * lib/isnan.c (isnanl): Likewise.
43280         * lib/math.h (isnanl, rpl_isnanl): Likewise.
43281         * lib/memcasecmp.h (memcasecmp): Likewise.
43282         * lib/memchr2.h (memchr2): Likewise.
43283         * lib/memcmp2.h (memcmp2): Likewise.
43284         * lib/parse-datetime.y (lookup_zone): Likewise.
43285         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
43286         [!WINDOWS_SOCKETS]: Likewise.
43287         * lib/strnlen1.h (strnlen1): Likewise.
43288         * lib/uniwidth.in.h (uc_width): Likewise.
43289         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
43290         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
43291         (quoting_options_from_style): Add a comment.
43292         * lib/propername.h (proper_name): Add a comment.
43294 2011-11-27  Bruno Haible  <bruno@clisp.org>
43296         Remove unused macros from !_LIBC code in glibc-borrowed files.
43297         * lib/fnmatch.c (STRCOLL): Remove macro.
43298         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
43299         * lib/glob.c (__stat, __readdir64): Remove macros.
43300         * lib/tempname.c (__open64, __xstat64): Remove macros.
43301         Suggested by Paul Eggert.
43303 2011-11-27  Bruno Haible  <bruno@clisp.org>
43305         getcwd: Fix link error on MSVC 9.
43306         * modules/getcwd (Depends-on): Add readdir, rewinddir.
43308 2011-11-27  Bruno Haible  <bruno@clisp.org>
43310         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
43311         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
43312         HAVE_OPENDIR is 0.
43313         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
43314         HAVE_CLOSEDIR is 0.
43315         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
43316         is 0.
43317         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
43319 2011-11-27  Bruno Haible  <bruno@clisp.org>
43321         getcwd: Fix bug from 2011-08-17.
43322         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
43323         platforms that need it.
43324         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
43325         code of 4 to be a failure, not a success. This ensures that
43326         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
43328 2011-11-27  Bruno Haible  <bruno@clisp.org>
43330         binary-io tests: Avoid test failure on mingw when libtool is used.
43331         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
43332         Don't verify the size of t-bin-out1.tmp here.
43333         * tests/test-binary-io.sh: Verify it here.
43334         Reported by Simon Josefsson.
43336 2011-11-26  Bruno Haible  <bruno@clisp.org>
43338         Fix conflict between two instantiations of module 'unistd'.
43339         * gnulib-tool (func_emit_autoconf_snippet): Substitute
43340         ${include_guard_prefix} also in the autoconf snippet.
43341         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
43342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
43343         GNULIB_UNISTD_H_GETOPT.
43344         * modules/getopt-posix (configure.ac): Set the
43345         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
43346         * modules/getopt-gnu (configure.ac): Likewise.
43347         * modules/unistd (Makefile.am): Change the substitution value of
43348         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
43349         Reported by Simon Josefsson.
43351 2011-11-25  Bruno Haible  <bruno@clisp.org>
43353         pagealign_alloc: Doc and comments.
43354         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
43355         module.
43356         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
43358 2011-11-25  Jim Meyering  <meyering@redhat.com>
43360         test-update-copyright.sh: avoid false-positive failure
43361         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
43362         around false positive failure on Cygwin/Windows.  The latter was
43363         matching erroneously-created files with names like
43364         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
43366 2011-11-25  Simon Josefsson  <simon@josefsson.org>
43368         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
43369         * m4/valgrind-tests.m4: Check that the parameters that will be
43370         used works, not just a subset of them.  Reported by Bruno Haible
43371         <bruno@clisp.org>.
43373 2011-11-24  Jim Meyering  <meyering@redhat.com>
43375         test-stdalign.c: comment out long double tests
43376         * tests/test-stdalign.c: Don't try to reduce alignment of long double
43377         variables.  That provokes errors like this from gcc-4.7.0 20111124:
43378         error: '_Alignas' specifiers cannot reduce alignment of \
43379         'static_longdouble_alignas'.
43381 2011-11-22  Jim Meyering  <meyering@redhat.com>
43383         init.sh: make "compare /dev/null FILE" output more readable
43384         * tests/init.sh (compare_): Document the preferred order of arguments.
43385         (emit_diff_u_header_): New function.
43386         (compare_dev_null_): Emit a simulated diff, rather than just the
43387         contents of the unexpected file.  Suggestion from Bruno Haible.
43389 2011-11-21  Jim Meyering  <meyering@redhat.com>
43390             Eric Blake  <eblake@redhat.com>
43392         init.sh: work around OSF/1 5.1's mishandling of /dev/null
43393         * tests/init.sh: Make our compare function slightly more portable.
43394         Reported by Bruno Haible in
43395         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
43397 2011-11-21  Simon Josefsson  <simon@josefsson.org>
43399         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
43400         before using it, in code that ends up in config.h.
43402 2011-11-20  Bruno Haible  <bruno@clisp.org>
43404         getcwd: Work around getcwd bug on AIX 5..7.
43405         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
43406         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
43407         Use a different value for gl_cv_func_getcwd_path_max. Move the
43408         definition of HAVE_PARTLY_WORKING_GETCWD from here...
43409         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
43410         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
43411         Define HAVE_MINIMALLY_WORKING_GETCWD.
43412         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
43413         where it is not even minimally working, that is, on AIX.
43414         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
43415         m4/getcwd-path-max.m4.
43416         (main): Update exit code computation.
43417         * doc/posix-functions/getcwd.texi: Mention list of platforms where
43418         getcwd does not handle long file names.
43420 2011-11-20  Bruno Haible  <bruno@clisp.org>
43422         getcwd: Fix bug from 2009-09-10.
43423         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
43424         like "no".
43426 2011-11-20  Simon Josefsson  <simon@josefsson.org>
43428         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
43430 2011-11-20  Bruno Haible  <bruno@clisp.org>
43432         fma tests: Avoid shadowing local variables.
43433         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
43434         expected.
43436 2011-11-20  Bruno Haible  <bruno@clisp.org>
43438         copysignf tests: Fix.
43439         * tests/test-copysignf.c: Fix signature check.
43441 2011-11-20  Bruno Haible  <bruno@clisp.org>
43443         fma: Remove unused code.
43444         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
43445         unused macros.
43447 2011-11-20  Bruno Haible  <bruno@clisp.org>
43449         sethostname: Fix doc about AIX.
43450         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
43451         sethostname; it has it.
43453         sethostname: Mention more portability problems.
43454         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
43455         problem.
43456         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
43458 2011-11-19  Bruno Haible  <bruno@clisp.org>
43460         Depend on module fcntl-h when AT_FDCWD is used.
43461         * modules/utimens (Depends-on): Add fcntl-h.
43462         * modules/areadlinkat (Depends-on): Likewise.
43463         * modules/areadlinkat-with-size (Depends-on): Likewise.
43464         * modules/faccessat (Depends-on): Likewise.
43465         * modules/fchmodat (Depends-on): Likewise.
43466         * modules/fchownat (Depends-on): Likewise.
43467         * modules/getcwd (Depends-on): Likewise.
43468         * modules/mkdirat (Depends-on): Likewise.
43469         * modules/mkfifoat (Depends-on): Likewise.
43470         * modules/readlinkat (Depends-on): Likewise.
43471         * modules/symlinkat (Depends-on): Likewise.
43472         * modules/dup2-tests (Depends-on): Likewise.
43473         * modules/fdutimensat-tests (Depends-on): Likewise.
43474         * modules/futimens-tests (Depends-on): Likewise.
43476 2011-11-19  Bruno Haible  <bruno@clisp.org>
43478         euidaccess: Update a comment.
43479         * lib/euidaccess.c: Update comment about platforms with faccessat.
43481 2011-11-19  Bruno Haible  <bruno@clisp.org>
43483         openat: Fix file list.
43484         * modules/openat (Files): Remove lib/at-func.c.
43486 2011-11-19  Bruno Haible  <bruno@clisp.org>
43488         fstatat: Simplify.
43489         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
43490         gnulib should define rpl_fstatat, there is a
43491         "#define fstatat rpl_fstatat" in <sys/stat.h>.
43493 2011-11-19  Bruno Haible  <bruno@clisp.org>
43495         Ensure 'inline' can be used in tests/test-utimens-common.h.
43496         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
43497         * modules/futimens-tests (configure.ac): Likewise.
43498         * modules/utimens-tests (configure.ac): Likewise.
43499         * modules/utimensat-tests (configure.ac): Likewise.
43501 2011-11-19  Simon Josefsson  <simon@josefsson.org>
43503         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
43504         not hash_insert0.
43505         (hash_insert_if_absent): Doc fix.
43507 2011-11-19  Simon Josefsson  <simon@josefsson.org>
43509         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
43511 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
43513         test-getcwd: disambiguate exit status
43514         * tests/test-getcwd.c (test_long_name): Return 0..7.
43515         (main): Exit with an unambiguous exit status.  The old
43516         code yielded a mysterious mixture of two failure codes.
43518         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
43519         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
43520         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
43521         rpl_fstatat or fstatat.  This should fix the other problem
43522         reported by Kai Habel in
43523         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
43524         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
43525         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
43526         and I reproduced it on a Solaris 8 host we still have in production.
43528 2011-11-18  Jim Meyering  <meyering@redhat.com>
43530         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
43531         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
43532         Add a sentence to the comment.
43533         (hash_insert0): New function that simply calls hash_insert_if_absent.
43534         * lib/hash.h (hash_insert_if_absent): Declare it.
43535         (hash_insert0): Add deprecation attribute.
43536         (_GL_ATTRIBUTE_DEPRECATED): Define.
43537         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
43538         not hash_insert0.
43539         * NEWS: Mention it, even though it's not really an incompatible change.
43541 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
43543         openat: avoid compilation failure due to lack of <errno.h> inclusion
43544         * lib/openat.c: Include <errno.h>.
43546 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
43548         * modules/getcwd (Depends-on): Add fdopendir.
43549         This fixes one of the two problems reported by Kai Habel in
43550         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
43552         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
43553         stdalign problem reported by Ian Beckwith in
43554         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
43555         * modules/crypto/gc-arcfour (Depends-on):
43556         Depend conditionally on crypto/arcfour.
43557         * modules/crypto/gc-arctwo (Depends-on):
43558         Depend conditionally on crypto/arctwo.
43559         * modules/crypto/gc-des (Depends-on):
43560         Depend conditionally on crypto/des.
43561         * modules/crypto/gc-hmac-md5 (Depends-on):
43562         Depend conditionally on crypto/hmac-md5.
43563         * modules/crypto/gc-hmac-sha1 (Depends-on):
43564         Depend conditionally on crypto/hmac-sha1.
43565         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
43566         * modules/crypto/gc-md4 (Depends-on):
43567         Depend conditionally on crypto/md4.
43568         * modules/crypto/gc-md5 (Depends-on):
43569         Depend conditionally on crypto/md5.
43570         * modules/crypto/gc-rijndael (Depends-on):
43571         Depend conditionally on crypto/rijndael.
43572         * modules/crypto/gc-sha1 (Depends-on):
43573         Depend conditionally on crypto/sha1.
43574         * modules/crypto/gc-arcfour:
43575         * modules/crypto/gc-arctwo:
43576         * modules/crypto/gc-des:
43577         * modules/crypto/gc-hmac-md5:
43578         * modules/crypto/gc-hmac-sha1:
43579         * modules/crypto/gc-md2:
43580         * modules/crypto/gc-md4:
43581         * modules/crypto/gc-md5:
43582         * modules/crypto/gc-rijndael:
43583         * modules/crypto/gc-sha1:
43584         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
43585         now that the conditional dependencies do the work for us.
43587 2011-11-17  Jim Meyering  <meyering@redhat.com>
43589         tests: factor st_ctime-comparison out of two headers
43590         * tests/test-utimens-common.h (ctime_compare): Define.
43591         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
43592         * tests/test-lutimens.h (test_lutimens): Likewise.
43593         * tests/test-utimens.h (test_utimens): Likewise.
43595         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
43596         Invoke the test program via an init.sh-using wrapper.
43597         * tests/test-getcwd.sh: New file.
43598         * modules/getcwd-tests (Files): Add it.
43599         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
43601 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
43603         gitlog-to-changelog: support multi-author commits.
43604         The FSF cares about keeping track of all authors of patches to its
43605         projects, but Git doesn't provide obvious support for multi-author
43606         changesets. Consensus seems to be forming around the use of extra
43607         Signed-off-by inspired lines in the log message formatted as
43608         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
43609         multi-author commits between version control systems.
43610         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
43611         log message and output in standard ChangeLog multi-author format.
43612         Reported by Peter Rosin <peda@lysator.liu.se>
43614 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
43615             Bruno Haible  <bruno@clisp.org>
43617         Fix some modules' file list.
43618         * modules/fstatat (Files): Add m4/lstat.m4.
43619         * modules/openat (Files): Likewise.
43620         * modules/unlinkat (Files): Likewise.
43622 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
43624         maint.mk: fix tight-scope.mk generation in VPATH builds.
43625         * top/maint.mk (tight-scope.mk): Make sure to prefix file
43626         reference with $(srcdir) so that the file is found correctly even
43627         when running `make syntax-check' in a VPATH build.
43629 2011-11-13  Bruno Haible  <bruno@clisp.org>
43630             Jim Meyering  <meyering@redhat.com>
43632         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
43633         * tests/init.sh (compare): Remove "No differences encountered" or
43634         synonymous output from the 'diff' program.
43636 2011-11-13  Bruno Haible  <bruno@clisp.org>
43638         Makefile: Tweak indentation.
43639         * Makefile: Use tab as first character in every line that contains rule
43640         commands.
43642 2011-11-13  Bruno Haible  <bruno@clisp.org>
43644         Syntax check for copyright statements.
43645         * check-copyright: New file.
43646         * Makefile (sc_check_copyright): New rule.
43648 2011-11-13  Simon Josefsson  <simon@josefsson.org>
43650         * build-aux/git-version-gen: Add --prefix to configure the tag
43651         match string.
43653 2011-11-13  Simon Josefsson  <simon@josefsson.org>
43655         * build-aux/git-version-gen: Add --help and --version.
43657 2011-11-12  Jim Meyering  <meyering@redhat.com>
43659         revamp the other test-exclude?.sh scripts to use init.sh, too
43660         * tests/test-exclude1.sh: Use init.sh.
43661         * tests/test-exclude2.sh: Likewise.
43662         * tests/test-exclude3.sh: Likewise.
43663         * tests/test-exclude4.sh: Likewise.
43664         * tests/test-exclude5.sh: Likewise.
43665         * tests/test-exclude6.sh: Likewise.
43666         * tests/test-exclude7.sh: Likewise.
43667         * tests/test-exclude8.sh: Likewise.
43668         * modules/exclude-tests (Files): List init.sh.
43670         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
43671         These shell scripts ignored failure of the binary test-exclude,
43672         so making the latter return 77 didn't cause them to be skipped.
43673         * tests/test-exclude5.sh: Exit with test-exclude's error status
43674         when that program fails.  Revamp to use init.sh.
43675         * tests/test-exclude2.sh: Likewise.
43677         test-exclude: fix a typo
43678         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
43680 2011-11-11  Bruno Haible  <bruno@clisp.org>
43682         obstack: Fix compilation error on MSVC 9.
43683         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
43685 2011-11-11  Jim Meyering  <meyering@redhat.com>
43687         test-exclude: skip tests rather than failing on deficient systems
43688         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
43689         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
43690         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
43691         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
43693 2011-11-10  Bruno Haible  <bruno@clisp.org>
43695         ptsname_r test: Avoid gcc warning on glibc systems.
43696         * tests/test-ptsname_r.c (null_ptr): New function.
43697         (test_errors): Use it.
43699 2011-11-10  Bruno Haible  <bruno@clisp.org>
43701         ptsname_r: Avoid compilation error on OSF/1 5.1.
43702         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
43703         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
43704         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
43705         function is not declared or incompatibly declared.
43706         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
43707         * modules/ptsname_r (Depends-on, configure.ac): Update.
43708         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
43710 2011-11-10  Bruno Haible  <bruno@clisp.org>
43712         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
43713         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
43714         When cross-compiling, guess yes on all platforms except AIX.
43715         Reported by Ludovic Courtès <ludo@gnu.org>.
43717 2011-11-09  Bruno Haible  <bruno@clisp.org>
43719         ptsname_r tests: Fix bugs.
43720         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
43721         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
43723 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
43725         fstatat: work with cross-compilation
43726         Problem reported by Ludovic Courtès in
43727         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
43728         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
43729         "cross-compiling" and assume the bug is present.  Replace
43730         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
43731         an inverted sense, to be more conservative about our assumptions.
43732         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
43734 2011-11-09  Bruno Haible  <bruno@clisp.org>
43736         Improve MODULES.html output.
43737         * modules/mkfifoat (Description): Use the word "function".
43738         * modules/readlinkat (Description): Likewise.
43739         * modules/symlinkat (Description): Likewise.
43741 2011-11-09  Eric Blake  <eblake@redhat.com>
43743         ptsname_r-tests: new test module
43744         * modules/ptsname_r-tests: New module.
43745         * tests/test-ptsname_r.c: New file.
43747         ptsname_r: new module
43748         * modules/ptsname_r: New module.
43749         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
43750         * lib/ptsname.c (__ptsname_r): Split...
43751         * lib/ptsname_r.c: ...into new file.
43752         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
43753         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
43754         * modules/stdlib (Makefile.am): Substitute witnesses.
43755         * lib/stdlib.in.h (ptsname_r): Declare it.
43756         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
43757         * MODULES.html.sh (Misc): Likewise.
43758         * modules/ptsname (Depends-on): Alter dependency.
43759         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
43761 2011-11-09  Jim Meyering  <meyering@redhat.com>
43763         announce-gen: be more concise when there's only one URL+tarball
43764         * build-aux/announce-gen (get_tool_versions): When you distribute
43765         only one type of tarball, combine the first two "Here are..."
43766         sections and make the key-checking grammar independent of
43767         how many tarballs there are.
43769 2011-11-09  Eric Blake  <eblake@redhat.com>
43771         openpty: provide a stub on mingw
43772         * lib/pty.in.h (includes): Provide forward declarations.
43773         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
43775         raise: fix mingw handling of SIGPIPE
43776         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
43778 2011-11-08  Bruno Haible  <bruno@clisp.org>
43780         More conditional dependencies.
43781         * modules/faccessat (Depends-on): Add conditions.
43782         * modules/fchmodat (Depends-on): Likewise.
43783         * modules/fchownat (Depends-on): Likewise.
43784         * modules/fstatat (Depends-on): Likewise.
43785         * modules/mkfifoat (Depends-on): Likewise.
43786         * modules/readlinkat (Depends-on): Likewise.
43787         * modules/symlinkat (Depends-on): Likewise.
43788         * modules/unlinkat (Depends-on): Likewise.
43789         * modules/utimensat (Depends-on): Likewise.
43790         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
43791         * modules/linkat (Depends-on): Refine the conditions.
43792         * modules/renameat (Depends-on): Likewise.
43794 2011-11-08  Bruno Haible  <bruno@clisp.org>
43796         faccessat: Move AC_LIBOBJ invocation to module description.
43797         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
43798         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
43799         invocation from here...
43800         * modules/faccessat (configure.ac): ... to here. Invoke
43801         gl_PREREQ_FACCESSAT.
43803 2011-11-08  Bruno Haible  <bruno@clisp.org>
43805         faccessat: Simplify autoconf macro.
43806         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
43807         gl_FUNC_EUIDACCESS.
43809 2011-11-08  Bruno Haible  <bruno@clisp.org>
43811         renameat: Fix dependencies.
43812         * modules/renameat (Depends-on): Add stdbool.
43814 2011-11-08  Bruno Haible  <bruno@clisp.org>
43816         mkfifoat: Fix module description.
43817         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
43818         not gl_UNISTD_MODULE_INDICATOR.
43820 2011-11-08  Bruno Haible  <bruno@clisp.org>
43822         fstatat: Remove unused dependency.
43823         * modules/fstatat (Depends-on): Remove fstat.
43825 2011-11-08  Simon Josefsson  <simon@josefsson.org>
43827         GNUmakefile: behave when Makefile is missing.
43828         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
43830 2011-11-08  Bruno Haible  <bruno@clisp.org>
43832         openat: Conditionalize dependencies.
43833         * lib/openat.c: Reduce the scope of some #includes.
43834         * modules/openat (Depends-on): Add conditions.
43836 2011-11-07  Jim Meyering  <meyering@redhat.com>
43838         maint.mk: extract GPG key ID without using a temporary file
43839         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
43840         without using a temporary file.  Based on a suggestion from Werner Koch
43841         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
43843 2011-11-07  Eric Blake  <eblake@redhat.com>
43845         grantpt: fix typo
43846         * lib/stdlib.in.h (grantpt): Check correct function.
43848         maint.mk: silence new syntax check
43849         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
43851 2011-11-06  Bruno Haible  <bruno@clisp.org>
43853         Doc about floating-point and math API.
43854         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
43855         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
43857 2011-11-06  Bruno Haible  <bruno@clisp.org>
43859         stdalign tests: Skip the test when compiled by Sun C.
43860         * tests/test-stdalign.c (main): Skip the test on Sun C.
43862 2011-11-06  Bruno Haible  <bruno@clisp.org>
43864         ansi-c++-opt: Complete the 2011-06-05 change.
43865         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
43866         does not support namespaces, set the variable to "no", not to ":".
43868 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
43870         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
43872 2011-11-06  Bruno Haible  <bruno@clisp.org>
43874         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
43875         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
43876         (minus_zerol) [HP-UX]: New macro.
43877         (unary_minus) [HP-UX]: New function.
43878         (copysignl) [HP-UX]: Use unary_minus function.
43880 2011-11-06  Bruno Haible  <bruno@clisp.org>
43882         ldexp, ldexpf, ldexpl: Enhance tests.
43883         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
43884         and tests/test-ldexpl.c.
43885         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
43886         LDEXP, MIN_EXP, MAX_EXP): New macros.
43887         Include test-ldexp.h.
43888         (main): Just call test_function.
43889         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
43890         infinity.h, nan.h.
43891         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
43892         MAX_EXP): New macros.
43893         Include test-ldexp.h.
43894         (x, y): Remove variables.
43895         (main): Just call test_function.
43896         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
43897         infinity.h, nan.h.
43898         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
43899         MAX_EXP): New macros.
43900         Include test-ldexp.h.
43901         (x, y): Remove variables.
43902         (main): Just call test_function.
43903         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
43904         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
43905         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
43906         (Depends-on): Add isnand-nolibm, signbit, float.
43907         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
43908         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
43909         (Depends-on): Add isnanf-nolibm, signbit, float.
43911 2011-11-06  Bruno Haible  <bruno@clisp.org>
43913         math tests: Cosmetics.
43914         * tests/test-math-c++.cc: Reorder declarations.
43916 2011-11-05  Bruno Haible  <bruno@clisp.org>
43918         fma*: Simplify test.
43919         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
43920         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
43922         Tests for module 'fmal'.
43923         * modules/fmal-tests: New file.
43924         * tests/test-fmal1.c: New file.
43925         * tests/test-fmal2.c: New file.
43927         New module 'fmal'.
43928         * lib/math.in.h (fmal): New declaration.
43929         * lib/fmal.c: New file.
43930         * m4/fmal.m4: New file.
43931         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
43932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
43933         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
43934         REPLACE_FMAL.
43935         * modules/fmal: New file.
43936         * doc/posix-functions/fmal.texi: Mention the new module and the various
43937         bugs.
43939         Tests for module 'fmaf'.
43940         * modules/fmaf-tests: New file.
43941         * tests/test-fmaf1.c: New file.
43942         * tests/test-fmaf2.c: New file.
43944         New module 'fmaf'.
43945         * lib/math.in.h (fmaf): New declaration.
43946         * lib/fmaf.c: New file.
43947         * m4/fmaf.m4: New file.
43948         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
43949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
43950         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
43951         REPLACE_FMAF.
43952         * modules/fmaf: New file.
43953         * doc/posix-functions/fmaf.texi: Mention the new module and the various
43954         bugs.
43956         Tests for module 'fma'.
43957         * modules/fma-tests: New file.
43958         * tests/test-fma1.c: New file.
43959         * tests/test-fma1.h: New file.
43960         * tests/test-fma2.c: New file.
43961         * tests/test-fma2.h: New file.
43963         New module 'fma'.
43964         * lib/math.in.h (fma): New declaration.
43965         * lib/fma.c: New file.
43966         * m4/fma.m4: New file.
43967         * m4/fegetround.m4: New file.
43968         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
43969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
43970         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
43971         REPLACE_FMA.
43972         * modules/fma: New file.
43973         * doc/posix-functions/fma.texi: Mention the new module and the various
43974         bugs.
43976         Extend gl_MATHFUNC.
43977         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
43978         Support 'void' as argument type.
43979         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
43981 2011-11-05  Jim Meyering  <meyering@redhat.com>
43983         maint.mk: also prohibit inclusion of dirent.h without use
43984         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
43986 2011-11-05  Bruno Haible  <bruno@clisp.org>
43988         ldexpl tests: Avoid test failure on MSVC 9.
43989         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
43990         value. Needed in order to enforce the conversion from a value greater
43991         than LDBL_MAX to Infinity.
43993 2011-11-05  Bruno Haible  <bruno@clisp.org>
43995         New modules 'at-internal', 'openat-h', split off from module 'openat'.
43996         * modules/at-internal: New file, extracted from modules/openat.
43997         * modules/openat-h: New file.
43998         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
43999         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
44000         * modules/openat (Description): Add reference to POSIX function.
44001         (Files): Remove lib/openat.h, lib/openat-proc.c.
44002         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
44003         intprops, unistd.
44004         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
44005         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
44006         gl_FCNTL_MODULE_INDICATOR.
44007         (Include): Remove unistd.h, openat.h.
44008         * modules/areadlinkat (Files): Add lib/at-func.c.
44009         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
44010         openat-die, openat-h, save-cwd.
44011         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
44012         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
44013         openat-die, openat-h, save-cwd, unistd.
44014         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
44015         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44016         openat-h, save-cwd. Remove fcntl-h, openat.
44017         * modules/fchmodat (Files): Remove lib/openat.h.
44018         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
44019         openat, stdbool, unistd.
44020         * modules/fchownat (Files): Remove lib/openat.h.
44021         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
44022         openat, stdbool, sys_stat.
44023         * modules/fdopendir (Files): Remove lib/openat-priv.h,
44024         lib/openat-proc.c.
44025         (Depends-on): Add at-internal.
44026         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
44027         * modules/fstatat (Files): Remove lib/openat.h.
44028         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
44029         stdbool, unistd.
44030         * modules/fts (Depends-on): Add openat-h.
44031         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
44032         openat.
44033         * modules/mkdirat (Files): Remove lib/openat.h.
44034         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
44035         openat, stdbool, sys_stat.
44036         * modules/mkfifoat (Files): Add lib/at-func.c.
44037         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44038         openat-h, save-cwd. Remove fcntl-h, openat.
44039         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
44040         * modules/readlinkat (Files): Add lib/at-func.c.
44041         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44042         openat-h, save-cwd. Remove fcntl-h, openat.
44043         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
44044         openat.
44045         * modules/selinux-at (Files): Add lib/at-func.c.
44046         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
44047         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
44048         * modules/symlinkat (Files): Add lib/at-func.c.
44049         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44050         openat-h, save-cwd. Remove fcntl-h, openat.
44051         * modules/unlinkat (Files): Remove lib/openat.h.
44052         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
44053         stdbool.
44054         * modules/utimensat (Files): Add lib/at-func.c.
44055         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
44056         openat-die, openat-h, save-cwd.
44057         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
44058         * modules/fdutimensat-tests (Depends-on): Add openat.
44059         * modules/fstatat-tests (Depends-on): Add openat-h.
44060         * modules/readlinkat-tests (Depends-on): Add openat.
44061         * modules/symlinkat-tests (Depends-on): Add openat.
44063 2011-11-05  Bruno Haible  <bruno@clisp.org>
44065         openat: Include <stdbool.h>.
44066         * lib/openat.c: Include <stdbool.h>.
44068 2011-11-04  Bruno Haible  <bruno@clisp.org>
44070         fchownat, renameat, unlinkat: Fix dependencies.
44071         * modules/fchownat (Depends-on): Add fstatat.
44072         * modules/renameat (Depends-on): Likewise.
44073         * modules/unlinkat (Depends-on): Likewise.
44075 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
44077         openat: remove direct dependency on dirent
44078         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
44079         and hasn't been needed ever since fdopendir was split into its own
44080         module on 2009-08-31.
44081         * modules/openat (Depends-on): Remove dirent.
44083 2011-11-04  Bruno Haible  <bruno@clisp.org>
44085         renameat: Optimize code size.
44086         * modules/renameat (configure.ac): Don't compile at-func2.c if
44087         REPLACE_RENAMEAT is 1.
44089 2011-11-04  Bruno Haible  <bruno@clisp.org>
44091         openat tests: Fix file list.
44092         * modules/openat-tests (Files): Add tests/test-open.h.
44094 2011-11-04  Bruno Haible  <bruno@clisp.org>
44096         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
44097         * modules/fchmodat (Depends-on): Add openat-die.
44098         * modules/fchownat (Depends-on): Likewise.
44099         * modules/linkat (Depends-on): Likewise.
44100         * modules/renameat (Depends-on): Likewise.
44101         * modules/openat (Depends-on): Add dirent.
44103 2011-11-04  Jim Meyering  <meyering@redhat.com>
44105         at-func*.c: fix comments
44106         * lib/at-func2.c: Correct/improve first-line comment.
44107         * lib/at-func.c: Correct grammar in first-line comment.
44109 2011-11-04  Bruno Haible  <bruno@clisp.org>
44111         New module 'mkdirat', split off from module 'openat'.
44112         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
44113         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
44114         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
44115         * modules/mkdirat: New file, extracted from modules/openat.
44116         * modules/openat (Files): Remove lib/mkdirat.c.
44117         (Depends-on): Remove mkdir.
44118         (configure.ac): Remove AC_LIBOBJ of mkdirat.
44119         (Include): Remove <sys/stat.h>.
44120         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
44121         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
44122         tests/test-mkdir.h.
44123         (Depends-on): Remove ignore-value.
44124         (Makefile.am): Remove rules for test-mkdirat.
44125         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
44126         of module 'openat'.
44127         * NEWS: Mention the change.
44129 2011-11-04  Bruno Haible  <bruno@clisp.org>
44131         closedir: Avoid warning on mingw.
44132         * lib/closedir.c: Include <unistd.h>.
44134 2011-11-04  Bruno Haible  <bruno@clisp.org>
44136         New module 'fstatat', split off from module 'openat'.
44137         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
44138         defined.
44139         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
44140         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
44141         gl_FUNC_FSTATAT.
44142         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
44143         * modules/fstatat: New file, extracted from modules/openat.
44144         * modules/openat (Files): Remove lib/fstatat.c.
44145         (Depends-on): Remove lstat.
44146         (configure.ac): Remove AC_LIBOBJ of fstatat.
44147         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
44148         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
44149         tests/test-lstat.h, tests/test-stat.h.
44150         (Depends-on): Remove getcwd-lgpl.
44151         (Makefile.am): Remove rules for test-fstatat.
44152         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
44153         of module 'openat'.
44154         * NEWS: Mention the change.
44155         * modules/getcwd (Depends-on): Add fstatat.
44156         * modules/linkat (Depends-on): Likewise.
44157         * modules/mkfifoat-tests (Depends-on): Likewise.
44158         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
44160 2011-11-03  Bruno Haible  <bruno@clisp.org>
44162         New module 'unlinkat', split off from module 'openat'.
44163         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
44164         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
44165         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
44166         * modules/unlinkat: New file, extracted from modules/openat. Correct
44167         the dependency conditions.
44168         * modules/openat (Files): Remove lib/unlinkat.c.
44169         (Depends-on): Remove rmdir, unlink.
44170         (configure.ac): Remove AC_LIBOBJ of unlinkat.
44171         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
44172         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
44173         tests/test-rmdir.h, tests/test-unlink.h.
44174         (Depends-on): Remove unlinkdir.
44175         (Makefile.am): Remove rules for test-unlinkat.
44176         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
44177         of module 'openat'.
44178         * NEWS: Mention the change.
44179         * modules/linkat-tests (Depends-on): Add unlinkat.
44180         * modules/mkfifoat-tests (Depends-on): Likewise.
44181         * modules/readlinkat-tests (Depends-on): Likewise.
44183 2011-11-02  Bruno Haible  <bruno@clisp.org>
44185         New module 'fchmodat', split off from module 'openat'.
44186         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
44187         defined.
44188         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
44189         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
44190         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
44191         * modules/fchmodat: New file, extracted from modules/openat.
44192         * modules/openat (Files): Remove lib/fchmodat.c.
44193         (configure.ac): Remove AC_LIBOBJ of fchmodat.
44194         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
44195         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
44196         (Makefile.am): Remove rules for test-fchmodat.
44197         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
44198         of module 'openat'.
44199         * NEWS: Mention the change.
44201 2011-11-02  Jim Meyering  <meyering@redhat.com>
44203         putenv: indent #definition of "environ" to placate cppi
44204         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
44206         gitlog-to-changelog: provide a ChangeLog-repair mechanism
44207         Git logs are often treated as immutable, because editing them
44208         changes the SHA1 checksums of all descendants.  Thus, errors in
44209         git logs tend to stay there forever.  However, when we generate
44210         a ChangeLog file -- typically for distribution -- from that git log,
44211         we can actually make corrections in the generated file.  The key
44212         lies in recording in machine-readable/applicable form the desired
44213         corrections.  See --help for description and an example.
44214         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
44215         (usage): Describe it; alphabetize option descriptions.
44216         (main): Honor the new option, carefully.
44218 2011-11-01  Jim Meyering  <meyering@redhat.com>
44220         gitlog-to-changelog: avoid an infloop
44221         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
44222         that ends up being empty.
44224 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44226         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
44227         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
44228         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
44229         contains (possibly-quoted) backslashes.  This should avoid
44230         all-too-common shell bugs if COMPLICATED contains backslashes in
44231         the "wrong" places.  Reported by David Evans in
44232         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
44233         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
44234         because we want ASCII ranges.  Is there some reason we don't use
44235         the C locale everywhere in this script?
44236         (func_module, top level): Avoid unwanted pathname expansion when
44237         $repo_url_prefix or $repo_url_suffix_repl contain shell
44238         metacharacters like '?' and '*'.
44240 2011-11-01  Bruno Haible  <bruno@clisp.org>
44242         fchownat: Improve description.
44243         * modules/fchownat (Description): Add link to function.
44245 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44247         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
44248         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
44249         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
44250         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
44252 2011-11-01  Bruno Haible  <bruno@clisp.org>
44254         alignof: Avoid collision with stdalign module.
44255         * lib/alignof.h (alignof): Remove macro.
44256         * NEWS: Mention the change.
44257         Reported by Paul Eggert.
44259 2011-11-01  Bruno Haible  <bruno@clisp.org>
44261         New module 'fchownat', split off from module 'openat'.
44262         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
44263         defined.
44264         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
44265         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
44266         invoke gl_FUNC_FCHOWNAT.
44267         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
44268         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
44269         * modules/fchownat: New file, extracted from modules/openat.
44270         * modules/openat (Files): Remove lib/fchownat.c.
44271         (Depends-on): Remove lchown.
44272         (configure.ac): Remove AC_LIBOBJ of fchownat.
44273         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
44274         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
44275         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
44276         (Depends-on): Remove mgetgroups, usleep, stat-time.
44277         (configure.ac): Remove test for getegid.
44278         (Makefile.am): Remove rules for test-fchownat.
44279         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
44280         of module 'openat'.
44281         * NEWS: Mention the change.
44283 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
44285         stdalign: port better to MSVC and to Sun C 5.11
44286         This fixes some of the problems reported by Bruno Haible in
44287         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
44288         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
44289         shortcomings of MSVC and of Sun C 5.11.
44290         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
44291         around __declspec arg.
44292         * modules/stdalign-tests (Files): Add tests/macros.h.
44293         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
44294         Include macros.h, for ASSERT.
44295         (DECLARE_ALIGNED): Remove.
44296         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
44297         to catch bug), and to 1 if not (simplifies the rest of the code).
44298         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
44299         (CHECK_AUTO): Remove.
44300         (CHECK_ALIGNED): Check only the alignment of the static vars,
44301         since auto var alignment isn't supported by Sun C 5.11.
44302         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
44303         ASSERT failures are easier to diagnose.
44305 2011-10-31  Bruno Haible  <bruno@clisp.org>
44307         doc about some IRIX 5.3 problems.
44308         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
44309         on IRIX 5.3.
44310         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
44311         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
44312         5.3.
44313         * doc/posix-functions/grantpt.texi: Likewise.
44314         * doc/posix-functions/unlockpt.texi: Likewise.
44315         * doc/posix-functions/lgamma.texi: Likewise.
44316         * doc/posix-functions/nextafter.texi: Likewise.
44317         * doc/posix-functions/remainder.texi: Likewise.
44318         * doc/posix-functions/select.texi: Mention misplaced declaration on
44319         IRIX 5.3.
44320         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44322 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
44324         gitlog-to-changelog: fix git-log invocation.
44325         git-log mishandles date strings before 1970-01-01 UTC, and there is
44326         no use to specify --since=1970-01-01 by default anyway.
44327         * build-aux/gitlog-to-changelog: By default, when no --since option
44328         was given, do not specify explicit --since option to git-log.
44330 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
44332         gitlog-to-changelog: new option --append-dot.
44333         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
44334         first non-blank line of each commit message terminated with a dot.
44336 2011-10-30  Bruno Haible  <bruno@clisp.org>
44338         ffsl, ffsll: Avoid compilation error due to 'restrict'.
44339         * lib/ffsl.h: Include <config.h>.
44340         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
44342 2011-10-30  Jim Meyering  <meyering@redhat.com>
44344         GNUmakefile: reenable "make syntax-check" for most projects
44345         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
44346         build-aux variable", "syntax-check" would do nothing but succeed with
44347         the "No version control files detected..." diagnostic (unless you
44348         happened to override _build-aux via cfg.mk).
44349         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
44350         to precede inclusion of maint.mk.  Otherwise, these variables would
44351         be used undefined in any project that does not override the default.
44353 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
44355         gitlog-to-changelog: treat a message with only blank lines as empty.
44356         * build-aux/gitlog-to-changelog: Move the code that removes leading and
44357         trailing blank lines before the code that issues a warning about an
44358         empty commit message.
44360 2011-10-30  Jim Meyering  <meyering@redhat.com>
44362         test-parse-datetime.c: avoid new DST-related false positive test failure
44363         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
44364         based on the time/date we'll convert, not the current time.
44365         Otherwise, the moment we cross a DST boundary like today's in
44366         Europe, (CEST to CET), that offset ends up being one hour off.
44368 2011-10-27  Bruno Haible  <bruno@clisp.org>
44370         fstat: Tweak documentation.
44371         * modules/fstat (Description): More precise description.
44373 2011-10-27  Bruno Haible  <bruno@clisp.org>
44375         Update documentation regarding 'largefile' module.
44376         * doc/posix-functions/fstat.texi: Tweak wording.
44377         * doc/posix-functions/opendir.texi: Mention that the module fixes the
44378         problems with huge directories and/or small ino_t types.
44379         * doc/posix-functions/readdir.texi: Likewise.
44380         * doc/posix-functions/rewinddir.texi: Likewise.
44382 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
44384         maint.mk: don't maintain a second build-aux variable.
44385         * maint.mk (build_aux): Removed.  The maintainer-makefile module
44386         depends on GNUmakefile, which already maintains a cfg.mk
44387         overridable $(_build-aux) for projects with a non-standard
44388         build-aux directory location, although without the $(srcdir)
44389         prefix.  Use that variable consistently instead of introducing a
44390         second one.  Adjust all call sites.
44392 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44394         Add stdalign module and use it in other modules.
44395         This is based on a previous proposal by Bruno Haible
44396         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
44398         stdalign: new module
44399         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
44400         * modules/stdalign: New files.
44401         * MODULES.html.sh (c1x_core_properties): Add stdalign.
44402         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
44404         stdalign-tests: new module
44405         * modules/stdalign-tests, tests/test-stdalign.c: New files.
44407         argp: use stdalign
44408         * lib/argp-parse.c: Include <stdalign.h>.
44409         (alignof): Remove.
44410         * modules/argp (Depends-on): Add stdalign.
44412         crypto libraries: use stdalign
44413         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
44414         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
44415         Do not include <stdlib.h> twice, in md4.c.
44416         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
44417         because we are accessing a pointer's bit-pattern, not a size.
44418         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
44419         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
44420         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
44421         * modules/crypto/sha512: Likewise.
44423         sys_socket: use stdalign, not alignof
44424         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
44425         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
44427 2011-10-27  Bruno Haible  <bruno@clisp.org>
44429         raise test: Avoid a test failure on Linux/MIPS.
44430         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
44431         because 99 is a valid signal on Linux/MIPS.
44433 2011-10-27  Bruno Haible  <bruno@clisp.org>
44435         nonblocking tests: Fix test failure on Linux/MIPS.
44436         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
44437         Set to 270000.
44439 2011-10-27  Bruno Haible  <bruno@clisp.org>
44441         utimensat: Work around problem on Linux/hppa.
44442         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
44443         values.
44444         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
44446 2011-10-25  Jim Meyering  <meyering@redhat.com>
44448         maint.mk: fix a bug in sc_prohibit_stddef_without_use
44449         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
44450         after symbols like NULL, size_t, etc.
44451         Reported by Alfred M. Szmidt.
44453         maint.mk: exempt ENODATA from a syntax-check rule
44454         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
44455         from the sc_prohibit_always-defined_macros syntax-check rule.
44456         Add a comment.  See this for more details:
44457         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
44459 2011-10-23  Jim Meyering  <meyering@redhat.com>
44461         fts: close parent dir FD before returning from post-traversal fts_read
44462         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
44463         unlink A, even though an FD open on A remained.  This is suboptimal
44464         (holding a file descriptor open longer than needed), but otherwise not
44465         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
44466         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
44467         that represents a real problem: it causes the removal of A to fail
44468         with e.g., "rm: cannot remove `A': Device or resource busy"
44470         fts visits each directory twice and keeps a cache (fts_fd_ring) of
44471         directory file descriptors.  After completing the final, FTS_DP,
44472         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
44473         cache, but then proceeded to add a new FD to it via the subsequent
44474         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
44475         final file descriptor would be closed only via fts_close's call to
44476         fd_ring_clear.  Now, it is usually closed earlier, via the final
44477         FTS_DP-returning fts_read call.
44478         * lib/fts.c (restore_initial_cwd): New function, converted from
44479         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
44480         Update callers.
44481         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
44482         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
44484 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
44485             Bruno Haible  <bruno@clisp.org>
44486             Jim Meyering  <jim@meyering.net>
44488         readme-release: improve safety of release prep instructions.
44489         * README-release: Don't git pull all branches when only master
44490         is needed for the release process.
44491         Run make maintainer-clean before changing trees and merging.
44492         Don't try to run ./configure right after git pull in case files
44493         that influence the bootstrap process have changed, move the
44494         ./configure step to after running ./bootstrap.
44495         Don't bootstrap "one last time"... it's the first time!
44497 2011-10-22  Bruno Haible  <bruno@clisp.org>
44499         errno, strerror-override: Support for MSVC 10.
44500         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
44501         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
44502         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
44503         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
44504         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
44505         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
44506         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
44507         Assign values compatible with MSVC 10.
44508         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
44509         New macros.
44510         (GNULIB_defined_EWINSOCK): New macro.
44511         * lib/strerror-override.c (strerror_override): Update accordingly.
44512         * lib/strerror-override.h: Likewise.
44513         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
44514         longer equal to the corresponding errno value.
44515         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
44517 2011-10-22  Bruno Haible  <bruno@clisp.org>
44519         perror: Recognize when test program crashes.
44520         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
44521         strerror, set gl_cv_func_perror_works to no.
44522         Reported by Daniel Richard G. <skunk@iskunk.org>.
44524         perror: Fix indentation.
44525         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
44527 2011-10-22  Bruno Haible  <bruno@clisp.org>
44529         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
44530         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
44531         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
44532         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
44533         functions, not as a macro.
44534         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
44535         macros.
44536         (isfinite, isinf, isnan, signbit): Check overloaded functions and
44537         absence of macro.
44538         Suggested by Eric Blake.
44539         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
44541 2011-10-21  Bruno Haible  <bruno@clisp.org>
44543         relocatable-prog-wrapper: Don't leave object files behind.
44544         * build-aux/install-reloc: Re-synchronize list of .o files to be
44545         removed with list of compilation units.
44547 2011-10-20  Bruno Haible  <bruno@clisp.org>
44549         openpty, posix_openpt: Remove code duplication.
44550         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
44551         * lib/openpty.c: Include <stdlib.h>.
44552         (openpty): Use posix_openpt on all platforms except IRIX.
44553         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
44555 2011-10-20  Bruno Haible  <bruno@clisp.org>
44557         unlockpt: Detect invalid argument.
44558         * lib/unlockpt.c: Include <fcntl.h>.
44559         (unlockpt): Check whether fd is valid, using fcntl().
44560         * modules/unlockpt (Depends-on): Add fcntl-h.
44562 2011-10-20  Bruno Haible  <bruno@clisp.org>
44564         openpty: Avoid compilation error on AIX 6.1.
44565         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
44567 2011-10-20  Bruno Haible  <bruno@clisp.org>
44569         posix_openpt: Support for OpenBSD.
44570         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
44571         (posix_openpt) [OpenBSD]: New code.
44572         * lib/grantpt.c: Include <fcntl.h>.
44573         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
44574         * modules/grantpt (Depends-on): Add fcntl-h.
44576 2011-10-20  Bruno Haible  <bruno@clisp.org>
44578         posix_openpt test: Coding style.
44579         * tests/test-posix_openpt.c: Use GNU coding style.
44581 2011-10-20  Bruno Haible  <bruno@clisp.org>
44583         grantpt: Support --avoid=pt_chown.
44584         * modules/grantpt (Files): Add lib/pty-private.h.
44586 2011-10-20  Bruno Haible  <bruno@clisp.org>
44588         posix_openpt: Fix autoconf macro.
44589         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
44590         unneeded check for _getpty.
44592 2011-10-20  Bruno Haible  <bruno@clisp.org>
44594         openpty: Update comments.
44595         * lib/openpty.c: Add comments about Minix.
44597 2011-10-19  Eric Blake  <eblake@redhat.com>
44599         openpty: relax license
44600         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
44602         pt_chown: use configmake to simplify build
44603         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
44605         ptsname and others: relax license
44606         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
44607         * modules/unlockpt (License): Likewise.
44608         * modules/pt_chown (License): Likewise.
44609         * modules/ptsname (License): Likewise.
44610         * modules/ttyname_r (License): Likewise.
44612 2011-10-19  Jim Meyering  <meyering@redhat.com>
44614         posix_openpt: remove spurious #endif
44615         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
44617 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
44619         maint.mk: Respect $(build_aux) in web-manual rule.
44620         * top/maint.mk (web-manual): Find gen-announce script in user's
44621         $(build_aux) directory instead of hard-coding 'build-aux'.
44623 2011-10-19  Bruno Haible  <bruno@clisp.org>
44625         posix_openpt: Fix compilation error.
44626         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
44627         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
44628         Mention the openpty module as an alternative.
44630 2011-10-19  Bruno Haible  <bruno@clisp.org>
44632         Support for old NeXTstep 3.3 frexp().
44633         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
44634         execution time of the test to 5 seconds.
44635         Reported by Daniel Richard G. <skunk@iskunk.org>.
44637 2011-10-19  Bruno Haible  <bruno@clisp.org>
44639         Support for old NeXTstep 3.3 sed.
44640         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
44641         part, use /.../, not \|...|. Escape periods in the header file name.
44642         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
44643         Reported by Daniel Richard G. <skunk@iskunk.org>.
44645 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
44647         Support for old NeXTstep 3.3 gcc.
44648         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
44649         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
44650         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
44651         * lib/spawn.in.h (_Restrict_arr_): Likewise.
44652         * lib/regex.h (_Restrict_arr_): Likewise.
44653         * lib/regex_internal.h (re_token_t): Likewise.
44654         * lib/regexec.c (check_node_accept_bytes): Likewise.
44655         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
44657 2011-10-18  Eric Blake  <eblake@redhat.com>
44659         posix_openpt: new module
44660         * modules/posix_openpt: New module.
44661         * m4/posix_openpt.m4: New file.
44662         * lib/posix_openpt.c: Likewise.
44663         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
44664         (gl_STDLIB_H_DEFAULTS): Set defaults.
44665         * modules/stdlib (Makefile.am): Substitute macros.
44666         * lib/stdlib.in.h (posix_openpt): Declare.
44667         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
44668         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
44669         * modules/posix_openpt-tests: New test module.
44670         * tests/test-posix_openpt.c: New test.
44672 2011-10-15  Bruno Haible  <bruno@clisp.org>
44674         xstrtoll: Fix compilation failure.
44675         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
44676         from lib/strtol.c.
44677         * doc/posix-headers/limits.texi: Mention missing numerical limits on
44678         some platforms.
44679         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44681 2011-10-15  Bruno Haible  <bruno@clisp.org>
44683         vasnprintf: Optimize bit search operation.
44684         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
44685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
44686         gl_DOUBLE_EXPONENT_LOCATION.
44687         * modules/vasnprintf (Files): Add m4/exponentd.m4.
44688         * modules/unistdio/u8-vasnprintf (Files): Likewise.
44689         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
44690         * modules/unistdio/u16-vasnprintf (Files): Likewise.
44691         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
44692         * modules/unistdio/u32-vasnprintf (Files): Likewise.
44693         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
44694         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
44695         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
44697 2011-10-15  Bruno Haible  <bruno@clisp.org>
44699         vasnprintf: Fix comments.
44700         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
44702 2011-10-14  Bruno Haible  <bruno@clisp.org>
44704         Tests for module 'integer_length_ll'.
44705         * modules/integer_length_ll-tests: New file.
44706         * tests/test-integer_length_ll.c: New file.
44708         New module 'integer_length_ll'.
44709         * lib/integer_length_ll.c: New file.
44710         * modules/integer_length_ll: New file.
44712 2011-10-14  Bruno Haible  <bruno@clisp.org>
44714         Tests for module 'integer_length_l'.
44715         * modules/integer_length_l-tests: New file.
44716         * tests/test-integer_length_l.c: New file.
44718         New module 'integer_length_l'.
44719         * lib/integer_length_l.c: New file.
44720         * modules/integer_length_l: New file.
44722 2011-10-14  Bruno Haible  <bruno@clisp.org>
44724         Tests for module 'integer_length'.
44725         * modules/integer_length-tests: New file.
44726         * tests/test-integer_length.c: New file.
44728         New module 'integer_length'.
44729         * lib/integer_length.h: New file.
44730         * lib/integer_length.c: New file.
44731         * modules/integer_length: New file.
44733 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
44735         popen: Fix dependency conditions.
44736         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
44738 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
44740         perror: Fix autoconf test.
44741         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
44742         <stdlib.h> and <string.h>.
44744 2011-10-14  Bruno Haible  <bruno@clisp.org>
44746         ffsl: Optimize on 64-bit platforms.
44747         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
44748         unrolling.
44750 2011-10-13  Bruno Haible  <bruno@clisp.org>
44752         ffsl: Optimize on 32-bit platforms.
44753         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
44754         use ffs() without a loop.
44756         ffsl, ffsll: Optimize for GCC.
44757         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
44758         * lib/ffsl.c (GCC_BUILTIN): New macro.
44759         * lib/ffsll.c (GCC_BUILTIN): Likewise.
44761 2011-10-13  Bruno Haible  <bruno@clisp.org>
44763         ffs, bcopy, memset: Support symbol renaming via config.h.
44764         * lib/ffs.c: Include <config.h>.
44765         * lib/bcopy.c: Likewise.
44766         * lib/memset.c: Likewise.
44768 2011-10-10  Bruno Haible  <bruno@clisp.org>
44770         atanl: Simplify for platforms where 'long double' == 'double'.
44771         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
44772         alternative implementation.
44773         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44774         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44775         * modules/atanl (Depends-on): Add atan. Update conditions.
44777 2011-10-10  Bruno Haible  <bruno@clisp.org>
44779         acosl: Simplify for platforms where 'long double' == 'double'.
44780         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
44781         alternative implementation.
44782         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44783         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44784         * modules/acosl (Depends-on): Add acos. Update conditions.
44786 2011-10-10  Bruno Haible  <bruno@clisp.org>
44788         asinl: Simplify for platforms where 'long double' == 'double'.
44789         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
44790         alternative implementation.
44791         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44792         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44793         * modules/asinl (Depends-on): Add asin. Update conditions.
44795 2011-10-10  Bruno Haible  <bruno@clisp.org>
44797         tanl: Simplify for platforms where 'long double' == 'double'.
44798         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
44799         implementation.
44800         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44801         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44802         * modules/tanl (Depends-on): Add tan. Update conditions.
44803         (configure.ac): Don't compile trigl.c if
44804         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44806 2011-10-10  Bruno Haible  <bruno@clisp.org>
44808         cosl: Simplify for platforms where 'long double' == 'double'.
44809         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
44810         implementation.
44811         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44812         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44813         * modules/cosl (Depends-on): Add cos. Update conditions.
44814         (configure.ac): Don't compile sincosl.c and trigl.c if
44815         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44817 2011-10-10  Bruno Haible  <bruno@clisp.org>
44819         sinl: Simplify for platforms where 'long double' == 'double'.
44820         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
44821         implementation.
44822         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44823         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44824         * modules/sinl (Depends-on): Add sin. Update conditions.
44825         (configure.ac): Don't compile sincosl.c and trigl.c if
44826         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44828 2011-10-10  Bruno Haible  <bruno@clisp.org>
44830         logl: Simplify for platforms where 'long double' == 'double'.
44831         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
44832         implementation.
44833         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44834         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44835         * modules/logl (Depends-on): Add log. Update conditions.
44837 2011-10-10  Bruno Haible  <bruno@clisp.org>
44839         expl: Simplify for platforms where 'long double' == 'double'.
44840         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
44841         implementation.
44842         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44843         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44844         * modules/expl (Depends-on): Add exp. Update conditions.
44846 2011-10-10  Bruno Haible  <bruno@clisp.org>
44848         sqrtl: Simplify for platforms where 'long double' == 'double'.
44849         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
44850         alternative implementation.
44851         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44852         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44853         * modules/sqrtl (Depends-on): Update conditions.
44855 2011-10-10  Bruno Haible  <bruno@clisp.org>
44857         ldexpl: Simplify for platforms where 'long double' == 'double'.
44858         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
44859         alternative implementation.
44860         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44861         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44862         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
44864 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
44866         ffsll: set correct witness
44867         * modules/ffsll (configure.ac): Fix typo.
44869 2011-10-10  Bruno Haible  <bruno@clisp.org>
44871         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
44872         * lib/printf-frexpl.c: Include <config.h>.
44873         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44874         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
44875         second time.
44876         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
44877         gl_LONG_DOUBLE_VS_DOUBLE.
44878         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
44879         conditions.
44881 2011-10-10  Bruno Haible  <bruno@clisp.org>
44883         frexpl: Simplify for platforms where 'long double' == 'double'.
44884         * lib/frexpl.c: Include <config.h>.
44885         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44886         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
44887         time.
44888         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44889         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44890         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
44891         * modules/frexpl (Depends-on): Add frexp. Update conditions.
44892         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
44893         conditions.
44895 2011-10-10  Jim Meyering  <meyering@redhat.com>
44897         test-renameat: don't leave behind a temporary file
44898         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
44899           ERROR: files left in build directory after distclean:
44900           ./gltests/test-renameat.too
44901           make[1]: *** [distcleancheck] Error 1
44902         Reported by Tom G. Christensen.
44904 2011-10-09  Bruno Haible  <bruno@clisp.org>
44906         rint: Determine RINT_LIBM correctly on AIX 7.
44907         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
44908         directly, not only through a function pointer. Also accept an optional
44909         4th argument with extra code.
44910         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
44911         rintf() call by gcc when optimizing.
44913         mathfunc.m4: Refactor.
44914         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
44915         m4 variable.
44917 2011-10-09  Bruno Haible  <bruno@clisp.org>
44919         rintl: Simplify for platforms where 'long double' == 'double'.
44920         * lib/rintl.c: Include <config.h>.
44921         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44922         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
44923         time.
44924         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44925         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44926         * modules/rintl (Depends-on): Add rint. Update conditions.
44928 2011-10-09  Bruno Haible  <bruno@clisp.org>
44930         roundl: Simplify for platforms where 'long double' == 'double'.
44931         * lib/roundl.c: Include <config.h>.
44932         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44933         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
44934         time.
44935         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44936         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44937         * modules/roundl (Depends-on): Add round. Update conditions.
44939 2011-10-09  Bruno Haible  <bruno@clisp.org>
44941         truncl: Simplify for platforms where 'long double' == 'double'.
44942         * lib/truncl.c: Include <config.h>.
44943         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44944         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
44945         time.
44946         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44947         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44948         * modules/truncl (Depends-on): Add trunc. Update conditions.
44950 2011-10-09  Bruno Haible  <bruno@clisp.org>
44952         ceill: Simplify for platforms where 'long double' == 'double'.
44953         * lib/ceill.c: Include <config.h>.
44954         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44955         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
44956         time.
44957         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44958         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44959         * modules/ceill (Depends-on): Add ceil. Update conditions.
44961 2011-10-09  Bruno Haible  <bruno@clisp.org>
44963         floorl: Simplify for platforms where 'long double' == 'double'.
44964         * lib/floorl.c: Include <config.h>.
44965         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
44966         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
44967         time.
44968         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44969         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44970         * modules/floorl (Depends-on): Add floor. Update conditions.
44972 2011-10-09  Bruno Haible  <bruno@clisp.org>
44974         rint: Fix ordering constraints.
44975         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
44976         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
44977         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
44979 2011-10-09  Bruno Haible  <bruno@clisp.org>
44981         copysignl: Simplify for platforms where 'long double' == 'double'.
44982         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
44983         alternative.
44984         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
44985         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
44986         * modules/copysignl (Depends-on): Add copysign. Update conditions.
44988 2011-10-09  Bruno Haible  <bruno@clisp.org>
44990         Tests for module 'rintl'.
44991         * modules/rintl-tests: New file.
44992         * tests/test-rintl.c: New file.
44994         New module 'rintl'.
44995         * lib/math.in.h (rintl): New declaration.
44996         * lib/rintl.c: New file.
44997         * m4/rintl.m4: New file.
44998         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
44999         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
45000         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
45001         * modules/rintl: New file.
45002         * tests/test-math-c++.cc: Check the declaration of rintl.
45003         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
45004         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
45005         * doc/posix-functions/rintl.texi: Mention the new module.
45007 2011-10-09  Bruno Haible  <bruno@clisp.org>
45009         Tests for module 'rintf'.
45010         * modules/rintf-tests: New file.
45011         * tests/test-rintf.c: New file.
45013         New module 'rintf'.
45014         * lib/math.in.h (rintf): New declaration.
45015         * lib/rintf.c: New file.
45016         * m4/rintf.m4: New file.
45017         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
45018         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
45019         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
45020         * modules/rintf: New file.
45021         * tests/test-math-c++.cc: Check the declaration of rintf.
45022         * doc/posix-functions/rintf.texi: Mention the new module.
45024 2011-10-09  Bruno Haible  <bruno@clisp.org>
45026         rint: Support for MSVC.
45027         * lib/math.in.h (rint): New declaration.
45028         * lib/rint.c: New file.
45029         * m4/rint.m4: New file.
45030         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
45031         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
45032         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
45033         * modules/rint (Description): Fix.
45034         (Files): Add lib/rint.c, m4/rint.m4.
45035         (Depends-on): Add math.
45036         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
45037         gl_MATH_MODULE_INDICATOR.
45038         * tests/test-math-c++.cc: Check the declaration of rint.
45039         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
45040         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
45041         * doc/posix-functions/rint.texi: Mention the replacement provided by
45042         the module.
45044         rint tests: More tests.
45045         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
45046         minus-zero.h, infinity.h, nan.h.
45047         (main): Skip the test if the current rounding mode is not standard. Add
45048         tests for negative numbers, minus zero, infinity, NaN.
45049         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
45050         tests/nan.h.
45051         (Depends-on): Add isnand-nolibm.
45053 2011-10-09  Bruno Haible  <bruno@clisp.org>
45055         Tests for module 'copysignl'.
45056         * modules/copysignl-tests: New file.
45057         * tests/test-copysignl.c: New file.
45059         New module 'copysignl'.
45060         * lib/math.in.h (copysignl): New declaration.
45061         * lib/copysignl.c: New file.
45062         * m4/copysignl.m4: New file.
45063         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
45064         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
45065         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
45066         HAVE_COPYSIGNL.
45067         * modules/copysignl: New file.
45068         * tests/test-math-c++.cc: Check the declaration of copysignl.
45069         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
45070         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
45071         * doc/posix-functions/copysignl.texi: Mention the new module.
45073 2011-10-09  Bruno Haible  <bruno@clisp.org>
45075         Tests for module 'copysignf'.
45076         * modules/copysignf-tests: New file.
45077         * tests/test-copysignf.c: New file.
45079         New module 'copysignf'.
45080         * lib/math.in.h (copysignf): New declaration.
45081         * lib/copysignf.c: New file.
45082         * m4/copysignf.m4: New file.
45083         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
45084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
45085         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
45086         HAVE_COPYSIGNF.
45087         * modules/copysignf: New file.
45088         * tests/test-math-c++.cc: Check the declaration of copysignf.
45089         * doc/posix-functions/copysignf.texi: Mention the new module.
45091 2011-10-09  Bruno Haible  <bruno@clisp.org>
45093         Ensure that HAVE_* variables are set to 1 before they are set to 0.
45094         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
45095         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
45096         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
45097         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
45098         gl_SIGNAL_H_DEFAULTS.
45100 2011-10-09  Bruno Haible  <bruno@clisp.org>
45102         poll: Make macro safer.
45103         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
45104         ac_cv_header_poll_h is not set.
45106 2011-10-09  Bruno Haible  <bruno@clisp.org>
45108         copysign: Provide replacement.
45109         * lib/math.in.h (copysign): New declaration.
45110         * lib/copysign.c: New file.
45111         * m4/copysign.m4: New file.
45112         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
45113         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
45114         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
45115         HAVE_COPYSIGN.
45116         * modules/copysign (Description): Clarify.
45117         (Files): Add lib/copysign.c, m4/copysign.m4.
45118         (Depends-on): Add math, signbit.
45119         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
45120         gl_MATH_MODULE_INDICATOR.
45121         * tests/test-math-c++.cc: Check the declaration of copysign.
45122         * doc/posix-functions/copysign.texi: Mention the effects of the module
45123         on Minix and MSVC.
45125 2011-10-09  Bruno Haible  <bruno@clisp.org>
45127         isinf: Ensure macro on AIX 5.1.
45128         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
45129         macro.
45130         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
45132 2011-10-09  Bruno Haible  <bruno@clisp.org>
45134         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
45135         * modules/snprintf-posix-tests (configure.ac): Require
45136         gl_LONG_DOUBLE_VS_DOUBLE.
45137         * modules/sprintf-posix-tests (configure.ac): Likewise.
45138         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
45139         * modules/vasprintf-posix-tests (configure.ac): Likewise.
45140         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
45141         * modules/vsprintf-posix-tests (configure.ac): Likewise.
45142         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
45143         tests on platforms where 'long double' is the same as 'double'.
45144         * tests/test-sprintf-posix.h (test_function): Likewise.
45145         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45146         * tests/test-vasprintf-posix.c (test_function): Likewise.
45148         *printf: Fix for platforms where 'long double' == 'double'.
45149         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
45150         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
45151         * modules/dprintf-posix (Files): Add m4/math_h.m4.
45152         * modules/fprintf-posix (Files): Likewise.
45153         * modules/obstack-printf-posix (Files): Likewise.
45154         * modules/snprintf-posix (Files): Likewise.
45155         * modules/sprintf-posix (Files): Likewise.
45156         * modules/vasnprintf (Files): Likewise.
45157         * modules/vasnprintf-posix (Files): Likewise.
45158         * modules/vasprintf-posix (Files): Likewise.
45159         * modules/vdprintf-posix (Files): Likewise.
45160         * modules/vfprintf-posix (Files): Likewise.
45161         * modules/vsnprintf-posix (Files): Likewise.
45162         * modules/vsprintf-posix (Files): Likewise.
45163         * modules/unistdio/u8-vasnprintf (Files): Likewise.
45164         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
45165         * modules/unistdio/u16-vasnprintf (Files): Likewise.
45166         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
45167         * modules/unistdio/u32-vasnprintf (Files): Likewise.
45168         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
45169         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
45171         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
45172         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
45173         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45174         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
45175         'long double'.
45176         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
45178         isinf: Fix for platforms where 'long double' == 'double'.
45179         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
45180         Don't blindly assume 80-bit 'long double'.
45182         isfinite: Fix for platforms where 'long double' == 'double'.
45183         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
45184         Don't blindly assume 80-bit 'long double'.
45186         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
45187         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
45188         * modules/isfinite-tests (configure.ac): Require
45189         gl_LONG_DOUBLE_VS_DOUBLE.
45190         * modules/isinf-tests (configure.ac): Likewise.
45191         * modules/isnan-tests (configure.ac): Likewise.
45192         * modules/isnanl-tests (configure.ac): Likewise.
45193         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
45194         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
45195         tests on platforms where 'long double' is the same as 'double'.
45196         * tests/test-isinf.c (test_isinfl): Likewise.
45197         * tests/test-isnan.c (test_long_double): Likewise.
45198         * tests/test-isnanl.h (main): Likewise.
45200 2011-10-08  Bruno Haible  <bruno@clisp.org>
45202         Tests for module 'tanhf'.
45203         * modules/tanhf-tests: New file.
45204         * tests/test-tanhf.c: New file.
45206         New module 'tanhf'.
45207         * lib/math.in.h (tanhf): New declaration.
45208         * lib/tanhf.c: New file.
45209         * m4/tanhf.m4: New file.
45210         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
45211         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
45212         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
45213         * modules/tanhf: New file.
45214         * tests/test-math-c++.cc: Check the declaration of tanhf.
45215         * doc/posix-functions/tanhf.texi: Mention the new module.
45217         tanh: Use a .m4 file.
45218         * m4/tanh.m4: New file.
45219         * modules/tanh (Files): Add it.
45220         (configure.ac): Just invoke gl_FUNC_TANH.
45222 2011-10-08  Bruno Haible  <bruno@clisp.org>
45224         Tests for module 'coshf'.
45225         * modules/coshf-tests: New file.
45226         * tests/test-coshf.c: New file.
45228         New module 'coshf'.
45229         * lib/math.in.h (coshf): New declaration.
45230         * lib/coshf.c: New file.
45231         * m4/coshf.m4: New file.
45232         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
45233         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
45234         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
45235         * modules/coshf: New file.
45236         * tests/test-math-c++.cc: Check the declaration of coshf.
45237         * doc/posix-functions/coshf.texi: Mention the new module.
45239         cosh: Use a .m4 file.
45240         * m4/cosh.m4: New file.
45241         * modules/cosh (Files): Add it.
45242         (configure.ac): Just invoke gl_FUNC_COSH.
45244 2011-10-08  Bruno Haible  <bruno@clisp.org>
45246         Tests for module 'sinhf'.
45247         * modules/sinhf-tests: New file.
45248         * tests/test-sinhf.c: New file.
45250         New module 'sinhf'.
45251         * lib/math.in.h (sinhf): New declaration.
45252         * lib/sinhf.c: New file.
45253         * m4/sinhf.m4: New file.
45254         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
45255         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
45256         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
45257         * modules/sinhf: New file.
45258         * tests/test-math-c++.cc: Check the declaration of sinhf.
45259         * doc/posix-functions/sinhf.texi: Mention the new module.
45261         sinh: Use a .m4 file.
45262         * m4/sinh.m4: New file.
45263         * modules/sinh (Files): Add it.
45264         (configure.ac): Just invoke gl_FUNC_SINH.
45266 2011-10-08  Bruno Haible  <bruno@clisp.org>
45268         Tests for module 'atan2f'.
45269         * modules/atan2f-tests: New file.
45270         * tests/test-atan2f.c: New file.
45272         New module 'atan2f'.
45273         * lib/math.in.h (atan2f): New declaration.
45274         * lib/atan2f.c: New file.
45275         * m4/atan2f.m4: New file.
45276         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
45277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
45278         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
45279         * modules/atan2f: New file.
45280         * tests/test-math-c++.cc: Check the declaration of atan2f.
45281         * doc/posix-functions/atan2f.texi: Mention the new module.
45283         atan2: Use a .m4 file.
45284         * m4/atan2.m4: New file.
45285         * modules/atan2 (Files): Add it.
45286         (configure.ac): Just invoke gl_FUNC_ATAN2.
45288 2011-10-08  Bruno Haible  <bruno@clisp.org>
45290         Tests for module 'atanf'.
45291         * modules/atanf-tests: New file.
45292         * tests/test-atanf.c: New file.
45294         New module 'atanf'.
45295         * lib/math.in.h (atanf): New declaration.
45296         * lib/atanf.c: New file.
45297         * m4/atanf.m4: New file.
45298         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
45299         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
45300         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
45301         * modules/atanf: New file.
45302         * tests/test-math-c++.cc: Check the declaration of atanf.
45303         * doc/posix-functions/atanf.texi: Mention the new module.
45305         atan: Use a .m4 file.
45306         * m4/atan.m4: New file.
45307         * modules/atan (Files): Add it.
45308         (configure.ac): Just invoke gl_FUNC_ATAN.
45310 2011-10-08  Bruno Haible  <bruno@clisp.org>
45312         Tests for module 'acosf'.
45313         * modules/acosf-tests: New file.
45314         * tests/test-acosf.c: New file.
45316         New module 'acosf'.
45317         * lib/math.in.h (acosf): New declaration.
45318         * lib/acosf.c: New file.
45319         * m4/acosf.m4: New file.
45320         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
45321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
45322         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
45323         * modules/acosf: New file.
45324         * tests/test-math-c++.cc: Check the declaration of acosf.
45325         * doc/posix-functions/acosf.texi: Mention the new module.
45327         acos: Use a .m4 file.
45328         * m4/acos.m4: New file.
45329         * modules/acos (Files): Add it.
45330         (configure.ac): Just invoke gl_FUNC_ACOS.
45332 2011-10-08  Bruno Haible  <bruno@clisp.org>
45334         Tests for module 'asinf'.
45335         * modules/asinf-tests: New file.
45336         * tests/test-asinf.c: New file.
45338         New module 'asinf'.
45339         * lib/math.in.h (asinf): New declaration.
45340         * lib/asinf.c: New file.
45341         * m4/asinf.m4: New file.
45342         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
45343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
45344         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
45345         * modules/asinf: New file.
45346         * tests/test-math-c++.cc: Check the declaration of asinf.
45347         * doc/posix-functions/asinf.texi: Mention the new module.
45349         asin: Use a .m4 file.
45350         * m4/asin.m4: New file.
45351         * modules/asin (Files): Add it.
45352         (configure.ac): Just invoke gl_FUNC_ASIN.
45354 2011-10-08  Bruno Haible  <bruno@clisp.org>
45356         Tests for module 'tanf'.
45357         * modules/tanf-tests: New file.
45358         * tests/test-tanf.c: New file.
45360         New module 'tanf'.
45361         * lib/math.in.h (tanf): New declaration.
45362         * lib/tanf.c: New file.
45363         * m4/tanf.m4: New file.
45364         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
45365         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
45366         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
45367         * modules/tanf: New file.
45368         * tests/test-math-c++.cc: Check the declaration of tanf.
45369         * doc/posix-functions/tanf.texi: Mention the new module.
45371         tan: Use a .m4 file.
45372         * m4/tan.m4: New file.
45373         * modules/tan (Files): Add it.
45374         (configure.ac): Just invoke gl_FUNC_TAN.
45376 2011-10-08  Bruno Haible  <bruno@clisp.org>
45378         Tests for module 'cosf'.
45379         * modules/cosf-tests: New file.
45380         * tests/test-cosf.c: New file.
45382         New module 'cosf'.
45383         * lib/math.in.h (cosf): New declaration.
45384         * lib/cosf.c: New file.
45385         * m4/cosf.m4: New file.
45386         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
45387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
45388         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
45389         * modules/cosf: New file.
45390         * tests/test-math-c++.cc: Check the declaration of cosf.
45391         * doc/posix-functions/cosf.texi: Mention the new module.
45393         cos: Use a .m4 file.
45394         * m4/cos.m4: New file.
45395         * modules/cos (Files): Add it.
45396         (configure.ac): Just invoke gl_FUNC_COS.
45398 2011-10-08  Bruno Haible  <bruno@clisp.org>
45400         Tests for module 'sinf'.
45401         * modules/sinf-tests: New file.
45402         * tests/test-sinf.c: New file.
45404         New module 'sinf'.
45405         * lib/math.in.h (sinf): New declaration.
45406         * lib/sinf.c: New file.
45407         * m4/sinf.m4: New file.
45408         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
45409         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
45410         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
45411         * modules/sinf: New file.
45412         * tests/test-math-c++.cc: Check the declaration of sinf.
45413         * doc/posix-functions/sinf.texi: Mention the new module.
45415         sin: Use a .m4 file.
45416         * m4/sin.m4: New file.
45417         * modules/sin (Files): Add it.
45418         (configure.ac): Just invoke gl_FUNC_SIN.
45420 2011-10-08  Bruno Haible  <bruno@clisp.org>
45422         Tests for module 'powf'.
45423         * modules/powf-tests: New file.
45424         * tests/test-powf.c: New file.
45426         New module 'powf'.
45427         * lib/math.in.h (powf): New declaration.
45428         * lib/powf.c: New file.
45429         * m4/powf.m4: New file.
45430         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
45431         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
45432         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
45433         * modules/powf: New file.
45434         * tests/test-math-c++.cc: Check the declaration of powf.
45435         * doc/posix-functions/powf.texi: Mention the new module.
45437         pow: Use a .m4 file.
45438         * m4/pow.m4: New file.
45439         * modules/pow (Files): Add it.
45440         (configure.ac): Just invoke gl_FUNC_POW.
45442 2011-10-08  Bruno Haible  <bruno@clisp.org>
45444         Tests for module 'log10f'.
45445         * modules/log10f-tests: New file.
45446         * tests/test-log10f.c: New file.
45448         New module 'log10f'.
45449         * lib/math.in.h (log10f): New declaration.
45450         * lib/log10f.c: New file.
45451         * m4/log10f.m4: New file.
45452         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
45453         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
45454         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
45455         * modules/log10f: New file.
45456         * tests/test-math-c++.cc: Check the declaration of log10f.
45457         * doc/posix-functions/log10f.texi: Mention the new module.
45459         log10: Use a .m4 file.
45460         * m4/log10.m4: New file.
45461         * modules/log10 (Files): Add it.
45462         (configure.ac): Just invoke gl_FUNC_LOG10.
45464 2011-10-08  Bruno Haible  <bruno@clisp.org>
45466         Tests for module 'logf'.
45467         * modules/logf-tests: New file.
45468         * tests/test-logf.c: New file.
45470         New module 'logf'.
45471         * lib/math.in.h (logf): New declaration.
45472         * lib/logf.c: New file.
45473         * m4/logf.m4: New file.
45474         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
45475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
45476         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
45477         * modules/logf: New file.
45478         * tests/test-math-c++.cc: Check the declaration of logf.
45479         * doc/posix-functions/logf.texi: Mention the new module.
45481         log: Use a .m4 file.
45482         * m4/log.m4: New file.
45483         * modules/log (Files): Add it.
45484         (configure.ac): Just invoke gl_FUNC_LOG.
45486 2011-10-08  Bruno Haible  <bruno@clisp.org>
45488         Tests for module 'expf'.
45489         * modules/expf-tests: New file.
45490         * tests/test-expf.c: New file.
45492         New module 'expf'.
45493         * lib/math.in.h (expf): New declaration.
45494         * lib/expf.c: New file.
45495         * m4/expf.m4: New file.
45496         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
45497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
45498         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
45499         * modules/expf: New file.
45500         * tests/test-math-c++.cc: Check the declaration of expf.
45501         * doc/posix-functions/expf.texi: Mention the new module.
45503         exp: Use a .m4 file.
45504         * m4/exp.m4: New file.
45505         * modules/exp (Files): Add it.
45506         (configure.ac): Just invoke gl_FUNC_EXP.
45508 2011-10-08  Bruno Haible  <bruno@clisp.org>
45510         Tests for module 'sqrtf'.
45511         * modules/sqrtf-tests: New file.
45512         * tests/test-sqrtf.c: New file.
45514         New module 'sqrtf'.
45515         * lib/math.in.h (sqrtf): New declaration.
45516         * lib/sqrtf.c: New file.
45517         * m4/sqrtf.m4: New file.
45518         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
45519         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
45520         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
45521         * modules/sqrtf: New file.
45522         * tests/test-math-c++.cc: Check the declaration of sqrtf.
45523         * doc/posix-functions/sqrtf.texi: Mention the new module.
45525 2011-10-08  Bruno Haible  <bruno@clisp.org>
45527         Tests: Avoid link failures w.r.t. libintl.
45528         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
45529         $(LIBINTL).
45530         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
45531         $(LIBINTL).
45532         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
45533         against $(LIBINTL).
45534         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
45535         $(LIBINTL).
45536         * modules/openat-tests (Makefile.am): Link test-fchmodat against
45537         $(LIBINTL).
45538         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
45540 2011-10-08  Bruno Haible  <bruno@clisp.org>
45542         pow tests: Defeat compiler optimizations.
45543         * tests/test-pow.c (main): Assign arguments to x and y before use.
45545 2011-10-08  Bruno Haible  <bruno@clisp.org>
45547         gnulib-tool: Improve last commit.
45548         * gnulib-tool (func_modules_transitive_closure): Simplify code.
45549         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
45550         ignore dependencies that are not among the modules list.
45552 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
45554         gnulib-tool: don't follow dependencies to avoided modules
45555         This fixes a bug that is related to the previous one.
45556         * gnulib-tool (func_modules_transitive_closure)
45557         (func_emit_autoconf_snippets):
45558         Check whether a dependency is acceptable before using it.
45559         (--extract-dependencies): Report an error if --avoid is also used,
45560         since this combination of options is not yet supported.
45562         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
45563         Problem reported by Peter Dyballa in
45564         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
45565         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
45566         when echoing "$condition".
45568 2011-10-07  Bruno Haible  <bruno@clisp.org>
45570         Fix documentation about math functions on MacOS X.
45571         * doc/posix-functions/exp2.texi: Don't say the function is missing on
45572         MacOS X 10.5.
45573         * doc/posix-functions/fdim.texi: Likewise.
45574         * doc/posix-functions/feclearexcept.texi: Likewise.
45575         * doc/posix-functions/fegetenv.texi: Likewise.
45576         * doc/posix-functions/fegetround.texi: Likewise.
45577         * doc/posix-functions/feholdexcept.texi: Likewise.
45578         * doc/posix-functions/feraiseexcept.texi: Likewise.
45579         * doc/posix-functions/fesetenv.texi: Likewise.
45580         * doc/posix-functions/fesetround.texi: Likewise.
45581         * doc/posix-functions/fetestexcept.texi: Likewise.
45582         * doc/posix-functions/feupdateenv.texi: Likewise.
45583         * doc/posix-functions/fmax.texi: Likewise.
45584         * doc/posix-functions/fmin.texi: Likewise.
45585         * doc/posix-functions/log2.texi: Likewise.
45586         * doc/posix-functions/modff.texi: Likewise.
45587         * doc/posix-functions/nan.texi: Likewise.
45588         * doc/posix-functions/nanf.texi: Likewise.
45589         * doc/posix-functions/nextafterf.texi: Likewise.
45590         * doc/posix-functions/remquo.texi: Likewise.
45592 2011-10-07  Bruno Haible  <bruno@clisp.org>
45594         modff: Drop assumption about library that defines modff.
45595         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
45596         AC_CHECK_FUNCS.
45597         * modules/modff (Files): Add m4/mathfunc.m4.
45599 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
45601         raise tests: Avoid a GCC warning.
45602         * tests/test-raise.c (handler): Use _Noreturn.
45604 2011-10-07  Bruno Haible  <bruno@clisp.org>
45606         Tests for module 'ldexpf'.
45607         * modules/ldexpf-tests: New file.
45608         * tests/test-ldexpf.c: New file.
45610         New module 'ldexpf'.
45611         * lib/math.in.h (ldexpf): New declaration.
45612         * lib/ldexpf.c: New file.
45613         * m4/ldexpf.m4: New file.
45614         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
45615         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
45616         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
45617         * modules/ldexpf: New file.
45618         * tests/test-math-c++.cc: Check the declaration of ldexpf.
45619         * doc/posix-functions/ldexpf.texi: Mention the new module.
45621 2011-10-06  Bruno Haible  <bruno@clisp.org>
45623         frexpf: Work around problems on IRIX and mingw.
45624         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
45625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
45626         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
45627         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
45628         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
45629         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
45630         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
45632 2011-10-06  Bruno Haible  <bruno@clisp.org>
45634         fabsf: Drop assumption about library that defines fabsf.
45635         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
45636         AC_CHECK_FUNCS.
45637         * modules/fabsf (Files): Add m4/mathfunc.m4.
45639 2011-10-06  Bruno Haible  <bruno@clisp.org>
45641         frexpf: Drop assumption about library that defines frexpf.
45642         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
45643         'int *', 'float *', 'long double *', 'float', 'long double'.
45644         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
45645         AC_CHECK_FUNCS.
45646         * modules/frexpf (Files): Add m4/mathfunc.m4.
45648         Tests for module 'frexpf'.
45649         * modules/frexpf-tests: New file.
45650         * tests/test-frexpf.c: New file.
45652         New module 'frexpf'.
45653         * lib/math.in.h (frexpf): New declaration.
45654         * lib/frexpf.c: New file.
45655         * m4/frexpf.m4: New file.
45656         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
45657         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
45658         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
45659         * modules/frexpf: New file.
45660         * tests/test-math-c++.cc: Check the declaration of frexpf.
45661         * doc/posix-functions/frexpf.texi: Mention the new module.
45663 2011-10-06  Bruno Haible  <bruno@clisp.org>
45665         math: Sort function declarations of math.in.h.
45666         * lib/math.in.h (frexp, logb): Move declarations.
45668 2011-10-05  Bruno Haible  <bruno@clisp.org>
45670         Tests for module 'modff'.
45671         * modules/modff-tests: New file.
45672         * tests/test-modff.c: New file.
45674         New module 'modff'.
45675         * lib/math.in.h (modff): New declaration.
45676         * lib/modff.c: New file.
45677         * m4/modff.m4: New file.
45678         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
45679         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
45680         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
45681         * modules/modff: New file.
45682         * tests/test-math-c++.cc: Check the declaration of modff.
45683         * doc/posix-functions/modff.texi: Mention the new module.
45685         modf tests: Make test sharper.
45686         * tests/test-modf.c (main): Strengthen upper bound.
45688         modf: Use a .m4 file.
45689         * m4/modf.m4: New file.
45690         * modules/modf (Files): Add it.
45691         (configure.ac): Just invoke gl_FUNC_MODF.
45693 2011-10-05  Bruno Haible  <bruno@clisp.org>
45695         Tests for module 'fmodf'.
45696         * modules/fmodf-tests: New file.
45697         * tests/test-fmodf.c: New file.
45699         New module 'fmodf'.
45700         * lib/math.in.h (fmodf): New declaration.
45701         * lib/fmodf.c: New file.
45702         * m4/fmodf.m4: New file.
45703         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
45704         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
45705         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
45706         * modules/fmodf: New file.
45707         * tests/test-math-c++.cc: Check the declaration of fmodf.
45708         * doc/posix-functions/fmodf.texi: Mention the new module.
45710         fmod: Use a .m4 file.
45711         * m4/fmod.m4: New file.
45712         * modules/fmod (Files): Add it.
45713         (configure.ac): Just invoke gl_FUNC_FMOD.
45715 2011-10-05  Bruno Haible  <bruno@clisp.org>
45717         Tests for module 'fabsf'.
45718         * modules/fabsf-tests: New file.
45719         * tests/test-fabsf.c: New file.
45721         New module 'fabsf'.
45722         * lib/math.in.h (fabsf): New declaration.
45723         * lib/fabsf.c: New file.
45724         * m4/fabsf.m4: New file.
45725         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
45726         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
45727         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
45728         * modules/fabsf: New file.
45729         * tests/test-math-c++.cc: Check the declaration of fabsf.
45730         * doc/posix-functions/fabsf.texi: Mention the new module.
45732         fabs: Use a .m4 file.
45733         * m4/fabs.m4: New file.
45734         * modules/fabs (Files): Add it.
45735         (configure.ac): Just invoke gl_FUNC_FABS.
45737 2011-10-05  Jim Meyering  <meyering@redhat.com>
45739         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
45740         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
45741         ls -lL regression introduced in coreutils-8.12, it does so at the
45742         cost of an additional stat call in the common case.  Besides, now
45743         that the kernel change that prompted commit 95f7c57f has been reverted
45744         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
45745         we have no use for commit 95f7c57f, "file-has-acl: use
45746         acl_extended_file_nofollow if available".
45748 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
45750         file-has-acl: revert unintended change in behavior of ls -L
45751         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
45752         derived from...
45753         (file_has_acl): ...code here.  Call it.
45754         This problem was introduced with 2011-07-22 commit 95f7c57f,
45755         "file-has-acl: use acl_extended_file_nofollow if available".
45756         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
45758 2011-10-03  Bruno Haible  <bruno@clisp.org>
45760         poll: Avoid link errors on MSVC.
45761         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
45762         * modules/poll (Depends-on): Add sockets.
45763         (Link): New section.
45764         * NEWS: Mention the change.
45765         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
45766         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
45767         $(LIB_POLL) instead of $(LIBSOCKET).
45769 2011-10-03  Bruno Haible  <bruno@clisp.org>
45771         sys_select tests: Fix link error on MSVC 9.
45772         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
45773         with $(LIB_SELECT) instead of $(LIBSOCKET).
45775 2011-10-03  Bruno Haible  <bruno@clisp.org>
45777         sys_select: Fix compilation error on mingw.
45778         * lib/sys_select.in.h: On native Windows, include <io.h>.
45780 2011-10-03  Bruno Haible  <bruno@clisp.org>
45782         wmemset: Support for MSVC.
45783         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
45784         whether wmemset() exists.
45786 2011-10-03  Bruno Haible  <bruno@clisp.org>
45788         wmemmove: Support for MSVC.
45789         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
45790         whether wmemmove() exists.
45792 2011-10-03  Bruno Haible  <bruno@clisp.org>
45794         wmemcpy: Support for MSVC.
45795         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
45796         whether wmemcpy() exists.
45798 2011-10-03  Bruno Haible  <bruno@clisp.org>
45800         wmemcmp: Support for MSVC.
45801         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
45802         whether wmemcmp() exists.
45804 2011-10-03  Bruno Haible  <bruno@clisp.org>
45806         wmemchr: Support for MSVC.
45807         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
45808         whether wmemchr() exists.
45810 2011-10-03  Bruno Haible  <bruno@clisp.org>
45812         glthread/*, strsignal: Support for MSVC.
45813         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
45814         including <winsock.h> on MSVC 9.
45815         * lib/glthread/lock.h: Likewise.
45816         * lib/glthread/thread.h: Likewise.
45817         * lib/glthread/tls.h: Likewise.
45818         * lib/glthread/yield.h: Likewise.
45819         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
45820         if HAVE_UNISTD_H is false.
45821         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
45823 2011-10-03  Bruno Haible  <bruno@clisp.org>
45825         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
45826         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
45827         Set to 100000.
45829 2011-10-03  Bruno Haible  <bruno@clisp.org>
45831         acl: Fix specification.
45832         * lib/file-has-acl.c (file_has_acl): Fix specification.
45834 2011-10-03  Bruno Haible  <bruno@clisp.org>
45836         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
45837         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
45838         (compute_curr_prefix, shared_library_fullname,
45839         find_shared_library_fullname, get_shared_library_fullname, relocate):
45840         Use it together with PIC && INSTALLDIR.
45841         Reported by <jojelino@gmail.com>
45842         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
45844 2011-10-01  Jim Meyering  <meyering@redhat.com>
45846         maint.mk: adjust a release-related rule not to require use of gzip
45847         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
45848         Instead, check each file in $(DIST_ARCHIVES).  This is better for
45849         projects that build only .tar.xz files.  Also fix an erroneous test.
45851         test-linkat: don't leave behind a temporary file
45852         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
45853         Otherwise, coreutils' "make distcheck" would fail with this:
45854           Only in /c/cu/tests/torture/coreutils/test/\
45855             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
45856           make[2]: *** [my-distcheck] Error 1
45858         float, math: add omitted file
45859         * lib/itold.c: Add file, required for yesterday's float change.
45861 2011-10-01  Bruno Haible  <bruno@clisp.org>
45863         isinf: Fix for OpenBSD/x86.
45864         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
45865         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
45866         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
45868 2011-10-01  Bruno Haible  <bruno@clisp.org>
45870         isfinite: Fix syntax error in configure test.
45871         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
45873         isfinite: Fix typo.
45874         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
45875         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
45877 2011-10-01  Bruno Haible  <bruno@clisp.org>
45879         nonblocking tests: Fix test failure on Linux/IA-64.
45880         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
45881         Set to 270000.
45883 2011-10-01  Bruno Haible  <bruno@clisp.org>
45885         mkfifoat tests: Fix a test failure on mingw.
45886         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
45887         with error ENOSYS.
45889 2011-09-30  Bruno Haible  <bruno@clisp.org>
45891         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
45892         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
45893         'long double'. Set REPLACE_ITOLD.
45894         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
45895         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
45896         * lib/itold.c: New file.
45897         * modules/float (Files): Add lib/itold.c.
45898         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
45899         (Makefile.am): Substitute REPLACE_ITOLD.
45900         * modules/math (Depends-on): Add float.
45901         (Makefile.am): Substitute REPLACE_ITOLD.
45902         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
45903         * doc/posix-headers/math.texi: Likewise.
45904         * doc/posix-functions/logl.texi: Likewise.
45906 2011-09-30  Bruno Haible  <bruno@clisp.org>
45908         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
45909         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
45910         Set to 140000.
45912 2011-09-30  Bruno Haible  <bruno@clisp.org>
45914         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
45915         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
45916         invocation, say "right after AC_PROG_CC_STDC", not "right after
45917         AC_PROG_CC".
45918         Reported by Gary V. Vaughan <gary@gnu.org>.
45920 2011-09-30  Bruno Haible  <bruno@clisp.org>
45922         Centralize C99 requirement.
45923         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
45924         * modules/stdarg (configure.ac-early): Invoke it instead of
45925         AC_PROG_CC_STDC.
45926         Reported by Gary V. Vaughan and Paul Eggert.
45928 2011-09-29  Bruno Haible  <bruno@clisp.org>
45930         float: Fix LDBL_MAX value on Linux/PowerPC.
45931         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
45932         on Linux/PowerPC.
45933         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
45934         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
45935         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
45936         platform.
45937         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
45939 2011-09-29  Bruno Haible  <bruno@clisp.org>
45941         doc: Improve doc about gl_EARLY.
45942         * doc/gnulib-tool.texi (Initial import): Mention where to place an
45943         AC_PROG_CC_STDC invocation.
45944         Reported by Gary V. Vaughan <gary@gnu.org>.
45946 2011-09-28  Bruno Haible  <bruno@clisp.org>
45948         fgetc, fputc, fread, fwrite tests: Fix link error.
45949         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
45950         on non-MSVC platforms.
45951         * tests/test-fputc.c (main): Likewise.
45952         * tests/test-fread.c (main): Likewise.
45953         * tests/test-fwrite.c (main): Likewise.
45954         Reported by Jim Meyering.
45956 2011-09-27  Bruno Haible  <bruno@clisp.org>
45958         fputc, fwrite tests: Avoid test failure on MSVC.
45959         * tests/test-fgetc.c: Include msvc-inval.h.
45960         (main): Invoke gl_msvc_inval_ensure_handler.
45961         * tests/test-fputc.c: Include msvc-inval.h.
45962         (main): Invoke gl_msvc_inval_ensure_handler.
45963         * tests/test-fread.c: Include msvc-inval.h.
45964         (main): Invoke gl_msvc_inval_ensure_handler.
45965         * tests/test-fwrite.c: Include msvc-inval.h.
45966         (main): Invoke gl_msvc_inval_ensure_handler.
45967         * modules/fgetc-tests (Depends-on): Add msvc-inval.
45968         * modules/fputc-tests (Depends-on): Likewise.
45969         * modules/fread-tests (Depends-on): Likewise.
45970         * modules/fwrite-tests (Depends-on): Likewise.
45972 2011-09-27  Bruno Haible  <bruno@clisp.org>
45974         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
45975         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
45976         (raise): Remove older, duplicated declaration.
45977         (_gl_raise_SIGPIPE): New declaration.
45978         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
45979         (rpl_raise): Remove function.
45980         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
45981         a gnulib-defined SIGPIPE here.
45982         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
45983         'sigprocmask' has detected missing signal-blocking and the module
45984         'sigpipe' is enabled.
45985         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
45987 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
45989         base64-tests: avoid memory leak
45990         * tests/test-base64.c (main): Plug memory leak.
45992         base32: new module
45993         * modules/base32: New module.
45994         * lib/base32.c: New file.
45995         * lib/base32.h: Likewise.
45996         * m4/base32.m4: Likewise.
45997         * modules/base32-tests: New test.
45998         * tests/test-base32.c: Likewise.
45999         * MODULES.html.sh (Misc): Mention it.
46001 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46003         gnulib: use more-standard license notice wording
46004         * gnulib-tool (func_emit_copyright_notice): When emitting a
46005         license notice into a file, use the standard wording as suggested
46006         by the current information for GNU maintainers, except say "file"
46007         rather than "program".  The new wording gives a license version
46008         number, which addresses an issue raised by Glenn Morris in
46009         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
46010         * m4/onceonly.m4: Use that same wording here, too.
46012         dup2: minor simplification
46013         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
46014         as lib/dup2.c no longer uses 'inline'.
46016 2011-09-25  Bruno Haible  <bruno@clisp.org>
46018         strings: Fix compilation error on MSVC.
46019         * lib/strings.in.h: Include <stddef.h> for size_t.
46021 2011-09-25  Bruno Haible  <bruno@clisp.org>
46023         fflush et al.: Document limitation on MSVC.
46024         * doc/posix-functions/fflush.texi: Document possible crash in handling
46025         mode other than DEFAULT_HANDLING.
46026         * doc/posix-functions/fgetc.texi: Likewise.
46027         * doc/posix-functions/fputc.texi: Likewise.
46028         * doc/posix-functions/fread.texi: Likewise.
46029         * doc/posix-functions/fwrite.texi: Likewise.
46031 2011-09-25  Bruno Haible  <bruno@clisp.org>
46033         msvc-inval: Allow three invalid parameter handling modes.
46034         * lib/msvc-inval.h: Don't include <stdlib.h> here.
46035         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
46036         macros.
46037         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
46038         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
46039         SANE_LIBRARY_HANDLING as a no-op.
46040         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
46041         <stdlib.h>.
46042         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
46044 2011-09-25  Bruno Haible  <bruno@clisp.org>
46046         msvc-inval: Make handler multithread-safe.
46047         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
46048         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
46049         declarations.
46050         (gl_msvc_inval_current): New declaration.
46051         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
46052         Operate on the structure returned by gl_msvc_inval_current().
46053         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
46054         Remove varaiables.
46055         (tls_index, tls_initialized): New variables.
46056         (not_per_thread): New variable.
46057         (gl_msvc_inval_current): New function.
46058         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
46059         returned by gl_msvc_inval_current().
46061 2011-09-25  Bruno Haible  <bruno@clisp.org>
46063         msvc-inval: Install handler globally.
46064         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
46065         !_MSC_VER.
46066         (gl_msvc_invalid_parameter_handler): Remove declaration.
46067         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
46068         declarations.
46069         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
46070         Install the handler globally, don't uninstall it.
46071         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
46072         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
46073         currently valid, call RaiseException instead.
46074         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
46075         for !_MSC_VER.
46077 2011-09-25  Bruno Haible  <bruno@clisp.org>
46079         strerror_r-posix: Fix for MSVC 9.
46080         * lib/strerror_r.c (local_snprintf): New function.
46081         (snprintf): Define to local_snprintf, not to _snprintf.
46083 2011-09-25  Bruno Haible  <bruno@clisp.org>
46085         ftruncate: Support for MSVC 9.
46086         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
46087         (chsize_nothrow): New function.
46088         (chsize): Redefine as a macro.
46089         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
46090         * modules/ftruncate (Depends-on): Add msvc-inval.
46092 2011-09-25  Bruno Haible  <bruno@clisp.org>
46094         New module 'fstat'.
46095         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
46096         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
46097         * lib/fchdir.c (rpl_fstat): Remove function.
46098         * m4/fstat.m4: New file.
46099         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
46100         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
46101         declared.
46102         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
46103         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
46104         * modules/fstat: New file.
46105         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
46106         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
46107         is set.
46108         * doc/posix-functions/fstat.texi: Mention the new module and the
46109         problem on MSVC.
46110         * NEWS: Mention the change.
46111         * modules/acl (Depends-on): Add fstat.
46112         * modules/chdir-safer (Depends-on): Likewise.
46113         * modules/chown (Depends-on): Likewise.
46114         * modules/copy-file (Depends-on): Likewise.
46115         * modules/fchdir (Depends-on): Likewise.
46116         * modules/fdopendir (Depends-on): Likewise.
46117         * modules/fopen (Depends-on): Likewise.
46118         * modules/fts (Depends-on): Likewise.
46119         * modules/getcwd (Depends-on): Likewise.
46120         * modules/isapipe (Depends-on): Likewise.
46121         * modules/linkat (Depends-on): Likewise.
46122         * modules/lseek (Depends-on): Likewise.
46123         * modules/mkdir-p (Depends-on): Likewise.
46124         * modules/open (Depends-on): Likewise.
46125         * modules/openat (Depends-on): Likewise.
46126         * modules/read-file (Depends-on): Likewise.
46127         * modules/renameat (Depends-on): Likewise.
46128         * modules/utimens (Depends-on): Likewise.
46130 2011-09-25  Bruno Haible  <bruno@clisp.org>
46132         linkat: Fix compilation on MSVC 9.
46133         * lib/linkat.c: Don't include <stdint.h>.
46135 2011-09-25  Bruno Haible  <bruno@clisp.org>
46137         fclose: Support for MSVC 9.
46138         * lib/fclose.c: Include msvc-inval.h.
46139         (fclose_nothrow): New function.
46140         (rpl_fclose): Use it.
46141         * modules/fclose (Depends-on): Add msvc-inval.
46142         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
46144 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
46146         dup2: minor simplifications
46147         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
46148         that it's a performance win.
46149         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
46150         ! defined __CYGWIN__)" to "ifdef F_GETFL".
46152 2011-09-24  Jim Meyering  <meyering@redhat.com>
46154         test-futimens: avoid a warning from gcc -Wshadow
46155         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
46156         to avoid a shadowing warning.
46158 2011-09-24  Bruno Haible  <bruno@clisp.org>
46160         fdopen: Support for MSVC 9.
46161         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
46162         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
46163         * lib/fdopen.c: Include msvc-inval.h.
46164         (fdopen_nothrow): New function.
46165         (rpl_fdopen): Use it.
46166         * modules/fdopen (Depends-on): Add msvc-inval.
46167         * modules/fclose-tests (Depends-on): Add fdopen.
46168         * modules/fflush-tests (Depends-on): Likewise.
46169         * modules/fgetc-tests (Depends-on): Likewise.
46170         * modules/fputc-tests (Depends-on): Likewise.
46171         * modules/fread-tests (Depends-on): Likewise.
46172         * modules/freopen-tests (Depends-on): Likewise.
46173         * modules/fseeko-tests (Depends-on): Likewise.
46174         * modules/ftello-tests (Depends-on): Likewise.
46175         * modules/fwrite-tests  (Depends-on): Likewise.
46176         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
46178 2011-09-24  Bruno Haible  <bruno@clisp.org>
46180         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
46181         * modules/fgetc-tests (Depends-on): Add unistd.
46182         * modules/fputc-tests (Depends-on): Likewise.
46183         * modules/fread-tests (Depends-on): Likewise.
46184         * modules/fwrite-tests (Depends-on): Likewise.
46186 2011-09-24  Bruno Haible  <bruno@clisp.org>
46188         dup: Simplify autoconf test.
46189         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
46190         on gl_MSVC_INVAL's result.
46192 2011-09-24  Bruno Haible  <bruno@clisp.org>
46194         Tests for function fwrite().
46195         * modules/fwrite-tests: New file.
46196         * tests/test-fwrite.c: New file.
46197         * modules/stdio-tests (Depends-on): Add fwrite-tests.
46199         Tests for function fread().
46200         * modules/fread-tests: New file.
46201         * tests/test-fread.c: New file.
46202         * modules/stdio-tests (Depends-on): Add fread-tests.
46204         Activate fputc tests.
46205         * modules/stdio-tests (Depends-on): Add fputc-tests.
46207         Enhance fgetc, fputc tests.
46208         * tests/test-fgetc.c (main): Also test the stream's error indicator.
46209         * tests/test-fputc.c (main): Likewise.
46211 2011-09-24  Bruno Haible  <bruno@clisp.org>
46213         write: Support for MSVC 9.
46214         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
46215         is not 1.
46216         * lib/write.c (write_nothrow): New function.
46217         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
46218         not 1. Use write_nothrow.
46219         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
46220         invalid parameter handler.
46221         (gl_PREREQ_WRITE): New macro.
46222         * modules/write (Depends-on): Add msvc-inval.
46223         (configure.ac): Invoke gl_PREREQ_WRITE.
46224         * doc/posix-functions/write.texi: Mention the problem on MSVC.
46226 2011-09-24  Bruno Haible  <bruno@clisp.org>
46228         read: Fix last commit.
46229         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
46231 2011-09-24  Bruno Haible  <bruno@clisp.org>
46233         dup2: Fix last commit.
46234         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
46235         (rpl_dup2): Disable fcntl workaround on native Windows.
46237         sigprocmask: Make code safer.
46238         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
46239         section that changes macro definitions for this compilation unit.
46241 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
46243         dup2: clarify by coalescing Windows-specific material
46244         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
46245         "msvc-nothrow.h"' to the Windows-specific section, so that the
46246         Emacs source need not contain these include files.
46247         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
46248         Windows-specific fixes into this function rather than just the
46249         nothrow fix, as this shortens and clarifies the code.  Always
46250         define as a function, as that's a bit cleaner than having it be
46251         sometimes a function and sometimes a macro.
46252         (rpl_dup2): Move the Windows-specific stuff out of here and into
46253         ms_windows_dup2.  Don't protect the Haiku-related fix with
46254         "#if !defined __linux__", as the same code also works around
46255         a Linux kernel bug, and it doesn't add any system calls on any
46256         platform.  Add comment about FreeBSD 6.1.
46258         sigprocmask: move #include directive
46259         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
46260         Windows-specific section, so that the Emacs source need not
46261         contain msvc-inval.h.
46263 2011-09-23  Bruno Haible  <bruno@clisp.org>
46265         read: Support for MSVC 9.
46266         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
46267         is not 1.
46268         * lib/read.c (read_nothrow): New function.
46269         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
46270         read_nothrow.
46271         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
46272         invalid parameter handler.
46273         (gl_PREREQ_READ): New macro.
46274         * modules/read (Depends-on): Add msvc-inval.
46275         (configure.ac): Invoke gl_PREREQ_READ.
46276         * doc/posix-functions/read.texi: Mention the problem on MSVC.
46278 2011-09-23  Bruno Haible  <bruno@clisp.org>
46280         close: Support for MSVC 9.
46281         * lib/close.c: Include <errno.h>, msvc-inval.h.
46282         (close_nothrow): New function.
46283         (rpl_close): Use it.
46284         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
46285         invalid parameter handler.
46286         * modules/close (Depends-on): Add msvc-inval.
46287         * modules/dup2-tests (Depends-on): Add close.
46288         * modules/dup3-tests (Depends-on): Likewise.
46289         * modules/fcntl-tests (Depends-on): Likewise.
46290         * modules/spawn-pipe-tests (Depends-on): Likewise.
46291         * modules/unistd-safer-tests (Depends-on): Likewise.
46292         * doc/posix-functions/close.texi: Mention the problem on MSVC.
46294 2011-09-23  Bruno Haible  <bruno@clisp.org>
46296         New module 'dup'.
46297         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
46298         Allow replacement.
46299         * lib/dup.c: New file.
46300         * lib/fchdir.c (rpl_dup): Remove function.
46301         * m4/dup.m4: New file.
46302         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
46303         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
46304         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
46305         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
46306         * modules/dup: New file.
46307         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
46308         'dup' module is in use.
46309         * modules/fdopendir (Depends-on): Add dup.
46310         * modules/fdutimensat-tests (Depends-on): Likewise.
46311         * modules/fts (Depends-on): Likewise.
46312         * modules/futimens-tests (Depends-on): Likewise.
46313         * modules/posix_spawnp-tests (Depends-on): Likewise.
46314         * modules/unistd-safer-tests (Depends-on): Likewise.
46315         * modules/utimens-tests (Depends-on): Likewise.
46316         * doc/posix-functions/dup.texi: Mention the new module and the problem
46317         on MSVC.
46319 2011-09-23  Bruno Haible  <bruno@clisp.org>
46321         getdtablesize: Support for MSVC 9.
46322         * lib/getdtablesize.c: Include msvc-inval.h.
46323         (_setmaxstdio_nothrow): New function.
46324         (_setmaxstdio): Redefine it.
46325         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
46326         * modules/getdtablesize (Depends-on): Add msvc-inval.
46327         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
46329 2011-09-23  Bruno Haible  <bruno@clisp.org>
46331         signal-h: Rename from signal.
46332         * modules/signal-h: Renamed from modules/signal.
46333         * modules/pthread_sigmask (Depends-on): Update.
46334         * modules/raise (Depends-on): Likewise.
46335         * modules/sigaction (Depends-on): Likewise.
46336         * modules/sigpipe (Depends-on): Likewise.
46337         * modules/sigprocmask (Depends-on): Likewise.
46338         * modules/sys_select (Depends-on): Likewise.
46339         * modules/signal-h-tests: Renamed from modules/signal-tests.
46340         (Files, Depends-on, Makefile.am): Update.
46341         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
46342         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
46343         (Files, Makefile.am): Update.
46344         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
46345         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
46346         * modules/signal: New placeholder file.
46347         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
46348         * doc/posix-headers/signal.texi: Update.
46349         * NEWS: Mention the change.
46351 2011-09-23  Bruno Haible  <bruno@clisp.org>
46353         sigprocmask: Avoid crashes through signal() on MSVC 9.
46354         * lib/sigprocmask.c: Include msvc-inval.h.
46355         (signal_nothrow): New function.
46356         (signal): Redefine it.
46357         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
46358         * modules/sigprocmask (Depends-on): Add msvc-inval.
46359         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
46361 2011-09-23  Bruno Haible  <bruno@clisp.org>
46363         Tests for module 'raise'.
46364         * modules/raise-tests: New file.
46365         * tests/test-raise.c: New file.
46367         raise: Support for MSVC.
46368         * lib/signal.in.h (raise): New declaration.
46369         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
46370         for native Windows platforms.
46371         * m4/raise.m4: New file.
46372         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
46373         HAVE_RAISE, REPLACE_RAISE.
46374         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
46375         REPLACE_RAISE.
46376         * modules/raise (Status, Notice): Remove fields.
46377         (Files): Add m4/raise.m4.
46378         (Depends-on): Add signal, msvc-inval.
46379         (configure.ac): Use the common idioms.
46380         (Maintainer): Add me.
46381         * tests/test-signal-c++.cc: Check the signature of raise.
46382         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
46384 2011-09-23  Bruno Haible  <bruno@clisp.org>
46386         pipe2: Fix compilation on pre-C99 compilers.
46387         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
46389 2011-09-23  Bruno Haible  <bruno@clisp.org>
46391         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
46392         * lib/msvc-nothrow.h: New file.
46393         * lib/msvc-nothrow.c: New file.
46394         * m4/msvc-nothrow.m4: New file.
46395         * modules/msvc-nothrow: New file.
46396         * lib/dup2.c: Include msvc-nothrow.h.
46397         (rpl_dup2): No need to protect _get_osfhandle call here.
46398         * lib/accept4.c: Include msvc-nothrow.h.
46399         * lib/error.c: Likewise.
46400         * lib/fcntl.c: Likewise.
46401         * lib/lseek.c: Likewise.
46402         * lib/nonblocking.c: Likewise.
46403         * lib/poll.c: Likewise.
46404         * lib/read.c: Likewise.
46405         * lib/select.c: Likewise.
46406         * lib/sockets.h: Likewise.
46407         * lib/sockets.c: Likewise.
46408         * lib/stdio-read.c: Likewise.
46409         * lib/stdio-write.c: Likewise.
46410         * lib/write.c: Likewise.
46411         * lib/w32sock.h: Likewise.
46412         * lib/w32spawn.h: Likewise.
46413         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
46414         * lib/fsync.c: Likewise.
46415         * lib/isapipe.c: Likewise.
46416         * modules/dup2 (Depends-on): Add msvc-nothrow.
46417         * modules/accept4 (Depends-on): Likewise.
46418         * modules/error (Depends-on): Likewise.
46419         * modules/fcntl (Depends-on): Likewise.
46420         * modules/lseek (Depends-on): Likewise.
46421         * modules/nonblocking (Depends-on): Likewise.
46422         * modules/poll (Depends-on): Likewise.
46423         * modules/read (Depends-on): Likewise.
46424         * modules/select (Depends-on): Likewise.
46425         * modules/sockets (Depends-on): Likewise.
46426         * modules/sigpipe (Depends-on): Likewise.
46427         * modules/write (Depends-on): Likewise.
46428         * modules/accept (Depends-on): Likewise.
46429         * modules/bind (Depends-on): Likewise.
46430         * modules/connect (Depends-on): Likewise.
46431         * modules/gethostname (Depends-on): Likewise.
46432         * modules/getpeername (Depends-on): Likewise.
46433         * modules/getsockname (Depends-on): Likewise.
46434         * modules/getsockopt (Depends-on): Likewise.
46435         * modules/ioctl (Depends-on): Likewise.
46436         * modules/listen (Depends-on): Likewise.
46437         * modules/recv (Depends-on): Likewise.
46438         * modules/recvfrom (Depends-on): Likewise.
46439         * modules/send (Depends-on): Likewise.
46440         * modules/sendto (Depends-on): Likewise.
46441         * modules/setsockopt (Depends-on): Likewise.
46442         * modules/shutdown (Depends-on): Likewise.
46443         * modules/socket (Depends-on): Likewise.
46444         * modules/execute (Depends-on): Likewise.
46445         * modules/spawn-pipe (Depends-on): Likewise.
46446         * modules/flock (Depends-on): Likewise.
46447         * modules/fsync (Depends-on): Likewise.
46448         * modules/isapipe (Depends-on): Likewise.
46449         * tests/test-cloexec.c: Include msvc-nothrow.h.
46450         * tests/test-dup-safer.c: Likewise.
46451         * tests/test-dup2.c: Likewise.
46452         * tests/test-dup3.c: Likewise.
46453         * tests/test-fcntl.c: Likewise.
46454         * tests/test-pipe.c: Likewise.
46455         * tests/test-pipe2.c: Likewise.
46456         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
46457         * modules/unistd-safer-tests (Depends-on): Likewise.
46458         * modules/dup2-tests (Depends-on): Likewise.
46459         * modules/dup3-tests (Depends-on): Likewise.
46460         * modules/fcntl-tests (Depends-on): Likewise.
46461         * modules/pipe-posix-tests (Depends-on): Likewise.
46462         * modules/pipe2-tests (Depends-on): Likewise.
46464 2011-09-23  Bruno Haible  <bruno@clisp.org>
46466         dup2: Make code more maintainable.
46467         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
46468         (rpl_dup2): Use it.
46469         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
46470         * modules/dup2 (configure.ac): Invoke it.
46471         Reported by Paul Eggert.
46473 2011-09-23  Bruno Haible  <bruno@clisp.org>
46475         msvc-inval: Fix compilation error.
46476         * lib/msvc-inval.h: Include <excpt.h>.
46478 2011-09-23  Bruno Haible  <bruno@clisp.org>
46480         mkdir: Tweak for MSVC 9.
46481         * lib/sys_stat.in.h: Update comments.
46482         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
46484         Tests for module 'chdir'.
46485         * modules/chdir-tests: New file.
46486         * tests/test-chdir.c: New file.
46488         New module 'chdir'.
46489         * modules/chdir: New file.
46490         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
46491         (chdir): New declaration.
46492         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
46493         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
46494         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
46495         * tests/test-unistd-c++.cc: Check signature of chdir.
46496         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
46497         * modules/chdir-long (Depends-on): Add chdir.
46498         * modules/fchdir (Depends-on): Likewise.
46499         * modules/rename (Depends-on): Likewise.
46500         * modules/savewd (Depends-on): Likewise.
46502         rmdir: Support for mingw, MSVC 9.
46503         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
46504         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
46506         getcwd: Tweak for MSVC 9.
46507         * lib/unistd.in.h: Update comments.
46508         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
46510 2011-09-22  Bruno Haible  <bruno@clisp.org>
46512         strerror_r-posix: Avoid a link error on MSVC.
46513         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
46514         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
46516 2011-09-22  Bruno Haible  <bruno@clisp.org>
46518         select: Avoid link errors on MSVC.
46519         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
46520         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
46521         * modules/pselect (Link): Likewise.
46522         * NEWS: Mention the change.
46523         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
46524         test-select-stdin against $(LIB_SELECT).
46525         * modules/pselect-tests (Makefile.am): Link test-pselect against
46526         $(LIB_SELECT).
46528 2011-09-22  Bruno Haible  <bruno@clisp.org>
46530         select: Avoid compilation error on MSVC.
46531         * lib/select.c: Don't include <stdbool.h>.
46533 2011-09-21  Bruno Haible  <bruno@clisp.org>
46535         Consolidate all uses of PATH_MAX in *.m4 files.
46536         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
46537         macros.
46538         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
46539         and gl_PATHMAX_SNIPPET.
46540         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
46541         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
46542         * modules/chdir-long (Files): Add m4/pathmax.m4.
46543         * modules/getcwd (Files): Likewise.
46545 2011-09-21  Bruno Haible  <bruno@clisp.org>
46547         ftruncate: Un-deprecate, concentrate on Win32 support.
46548         * modules/ftruncate (Status, Notice): Remove sections.
46549         (Depends-on): Add largefile.
46550         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
46551         non-mingw platforms.
46552         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
46553         include <io.h>.
46554         * modules/perror-tests (Depends-on): Add ftruncate.
46555         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
46556         'ftruncate' module.
46558 2011-09-21  Bruno Haible  <bruno@clisp.org>
46560         Add dependencies to new dirent related modules.
46561         * modules/opendir (Depends-on): Add closedir.
46562         * modules/getcwd (Depends-on): Add opendir, closedir.
46563         * modules/dirent-safer-tests (Depends-on): Likewise.
46564         * modules/fdopendir-tests (Depends-on): Likewise.
46565         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
46566         * modules/renameat-tests (Depends-on): Likewise.
46568 2011-09-21  Bruno Haible  <bruno@clisp.org>
46570         opendir: Avoid compilation error on mingw.
46571         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
46572         * modules/opendir (Depends-on): Add unistd.
46574 2011-09-21  Bruno Haible  <bruno@clisp.org>
46576         ftruncate tests: Avoid a test failure on mingw.
46577         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
46579 2011-09-21  Bruno Haible  <bruno@clisp.org>
46581         select tests: Avoid test failures on OSF/1 5.1 and mingw.
46582         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
46583         native Windows.
46585 2011-09-21  Bruno Haible  <bruno@clisp.org>
46587         New module 'fdopen'.
46588         * lib/stdio.in.h (fdopen): New declaration.
46589         * lib/fdopen.c: New file.
46590         * m4/fdopen.m4: New file.
46591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
46592         REPLACE_FDOPEN.
46593         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
46594         REPLACE_FDOPEN.
46595         * modules/fdopen: New file.
46596         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
46597         * tests/test-stdio-c++.cc: Check signature of fdopen.
46598         * doc/posix-functions/fdopen.texi: Mention the new module.
46600 2011-09-21  Bruno Haible  <bruno@clisp.org>
46602         unlockpt tests: Avoid test failure on NetBSD 5.1.
46603         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
46604         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
46606 2011-09-21  Bruno Haible  <bruno@clisp.org>
46608         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
46609         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
46610         * tests/test-getlogin_r.c (main): Likewise.
46612 2011-09-20  Bruno Haible  <bruno@clisp.org>
46614         time tests: Don't require pid_t.
46615         * doc/posix-headers/time.texi: Revert last change.
46616         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
46617         * tests/test-time.c: Comment out the check for pid_t.
46619 2011-09-20  Bruno Haible  <bruno@clisp.org>
46621         fsync tests: Avoid a test failure on mingw.
46622         * tests/test-fsync.c (main): Allow a failure with EIO.
46624 2011-09-20  Bruno Haible  <bruno@clisp.org>
46626         euidaccess: Update comments.
46627         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
46629 2011-09-20  Bruno Haible  <bruno@clisp.org>
46631         Ensure EBADF returns for socket functions on mingw.
46632         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
46633         descriptor is invalid.
46634         * lib/bind.c (rpl_bind): Likewise.
46635         * lib/connect.c (rpl_connect): Likewise.
46636         * lib/getpeername.c (rpl_getpeername): Likewise.
46637         * lib/getsockname.c (rpl_getsockname): Likewise.
46638         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46639         * lib/listen.c (rpl_listen): Likewise.
46640         * lib/recv.c (rpl_recv): Likewise.
46641         * lib/recvfrom.c (rpl_recvfrom): Likewise.
46642         * lib/send.c (rpl_send): Likewise.
46643         * lib/sendto.c (rpl_sendto): Likewise.
46644         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46645         * lib/shutdown.c (rpl_shutdown): Likewise.
46647 2011-09-20  Bruno Haible  <bruno@clisp.org>
46649         select tests: EBADF tests.
46650         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
46651         test_bad_fd): New functions.
46652         (test_function): Invoke also test_bad_fd.
46654 2011-09-20  Bruno Haible  <bruno@clisp.org>
46656         Tests for module 'posix_spawn_file_actions_addopen.
46657         * modules/posix_spawn_file_actions_addopen-tests: New file.
46658         * tests/test-posix_spawn_file_actions_addopen.c: New file.
46660         Tests for module 'posix_spawn_file_actions_adddup2'.
46661         * modules/posix_spawn_file_actions_adddup2-tests: New file.
46662         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
46664         Tests for module 'posix_spawn_file_actions_addclose'.
46665         * modules/posix_spawn_file_actions_addclose-tests: New file.
46666         * tests/test-posix_spawn_file_actions_addclose.c: New file.
46668 2011-09-20  Bruno Haible  <bruno@clisp.org>
46670         Tests for module 'unlockpt'.
46671         * modules/unlockpt-tests: New file.
46672         * tests/test-unlockpt.c: New file.
46673         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
46675         Tests for module 'grantpt'.
46676         * modules/grantpt-tests: New file.
46677         * tests/test-grantpt.c: New file.
46678         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
46680 2011-09-20  Bruno Haible  <bruno@clisp.org>
46682         freopen tests: EBADF tests.
46683         * tests/test-freopen.c: Include errno.h, unistd.h.
46684         (main): Add tests for EBADF, commented out for the moment.
46686         fclose tests: EBADF tests.
46687         * tests/test-fclose.c (main): Add tests for EBADF.
46689         fflush tests: EBADF tests.
46690         * tests/test-fflush.c: Include errno.h, macros.h.
46691         (main): Add tests for EBADF.
46693         ftello tests: EBADF tests.
46694         * tests/test-ftello4.sh: New file.
46695         * tests/test-ftello4.c: New file.
46696         * modules/ftello-tests (Files): Add them.
46697         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
46699         fseeko tests: EBADF tests.
46700         * tests/test-fseeko4.sh: New file.
46701         * tests/test-fseeko4.c: New file.
46702         * modules/fseeko-tests (Files): Add them.
46703         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
46705         Tests for function fputc().
46706         * modules/fputc-tests: New file.
46707         * tests/test-fputc.c: New file.
46708         * modules/stdio-tests (Depends-on): Add fputc-tests.
46710         Tests for function fgetc().
46711         * modules/fgetc-tests: New file.
46712         * tests/test-fgetc.c: New file.
46713         * modules/stdio-tests (Depends-on): Add fgetc-tests.
46715         Tests for function fdopen().
46716         * modules/fdopen-tests: New file.
46717         * tests/test-fdopen.c: New file.
46718         * modules/stdio-tests (Depends-on): Add fdopen-tests.
46720         Tests for module 'vdprintf'.
46721         * modules/vdprintf-tests: New file.
46722         * tests/test-vdprintf.c: New file.
46724         Tests for module 'dprintf'.
46725         * modules/dprintf-tests: New file.
46726         * tests/test-dprintf.c: New file.
46728 2011-09-20  Bruno Haible  <bruno@clisp.org>
46730         Tests for module 'ioctl'.
46731         * modules/ioctl-tests: New file.
46732         * tests/test-ioctl.c: New file.
46734 2011-09-20  Bruno Haible  <bruno@clisp.org>
46736         fcntl tests: EBADF tests.
46737         * tests/test-fcntl.c (main): Add more tests for EBADF.
46739 2011-09-20  Bruno Haible  <bruno@clisp.org>
46741         utimensat tests: EBADF tests.
46742         * tests/test-utimensat.c (main): Add tests for EBADF.
46744         renameat tests: EBADF tests.
46745         * tests/test-renameat.c (main): Add tests for EBADF.
46747         mkfifoat tests: EBADF tests.
46748         * tests/test-mkfifoat.c (main): Add tests for EBADF.
46750         readlinkat tests: EBADF tests.
46751         * tests/test-readlinkat.c (main): Add tests for EBADF.
46753         symlinkat tests: EBADF tests.
46754         * tests/test-symlinkat.c (main): Add tests for EBADF.
46756         linkat tests: EBADF tests.
46757         * tests/test-linkat.c (main): Add tests for EBADF.
46759         Tests for module 'faccessat'.
46760         * modules/faccessat-tests: New file.
46761         * tests/test-faccessat.c: New file.
46763         fdopendir tests: EBADF tests.
46764         * tests/test-fdopendir.c (main): Add more tests for EBADF.
46766         openat tests: EBADF tests.
46767         * tests/test-fchownat.c (main): Add tests for EBADF.
46768         * tests/test-fstatat.c (main): Likewise.
46769         * tests/test-mkdirat.c (main): Likewise.
46770         * tests/test-openat.c (main): Likewise.
46771         * tests/test-unlinkat.c (main): Likewise.
46772         * tests/test-fchmodat.c: New file.
46773         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
46774         (Makefile.am): Also run 'test-fchmodat'.
46776 2011-09-20  Bruno Haible  <bruno@clisp.org>
46778         utimens, futimens, fdutimensat tests: EBADF tests.
46779         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
46781         Tests for function fstat().
46782         * modules/fstat-tests: New file.
46783         * tests/test-fstat.c: New file.
46784         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
46786 2011-09-20  Bruno Haible  <bruno@clisp.org>
46788         test-ttyname_r tests: EBADF tests.
46789         * tests/test-ttyname_r.c (main): Add tests for EBADF.
46791         Tests for module 'isatty'.
46792         * modules/isatty-tests: New file.
46793         * tests/test-isatty.c: New file.
46795         Tests for module 'write'.
46796         * modules/write-tests: New file.
46797         * tests/test-write.c: New file.
46799         Tests for module 'read'.
46800         * modules/read-tests: New file.
46801         * tests/test-read.c: New file.
46803         pwrite tests: EBADF tests.
46804         * tests/test-pwrite.c (main): Add tests for EBADF.
46806         pread tests: EBADF tests.
46807         * tests/test-pread.c (main): Add tests for EBADF.
46809         lseek tests: EBADF tests.
46810         * tests/test-lseek.c (main): Add more tests for EBADF.
46812         Tests for module 'ftruncate'.
46813         * modules/ftruncate-tests: New file.
46814         * tests/test-ftruncate.sh: New file.
46815         * tests/test-ftruncate.c: New file.
46817         fsync tests: EBADF tests.
46818         * tests/test-fsync.c (main): Add more tests for EBADF.
46820         fdatasync tests: EBADF tests.
46821         * tests/test-fdatasync.c (main): Add more tests for EBADF.
46823         Tests for module 'fchown'.
46824         * modules/fchown-tests: New file.
46825         * tests/test-fchown.c: New file.
46827         Tests for module 'fchmod'.
46828         * modules/fchmod-tests: New file.
46829         * tests/test-fchmod.c: New file.
46831         fchdir tests: EBADF tests.
46832         * tests/test-fchdir.c (main): Add more tests for EBADF.
46834         dup2 tests: EBADF tests.
46835         * tests/test-dup2.c (main): Add more tests for EBADF.
46837         Tests for module 'dup'.
46838         * modules/dup-tests: New file.
46839         * tests/test-dup.c: New file.
46841         Tests for module 'close'.
46842         * modules/close-tests: New file.
46843         * tests/test-close.c: New file.
46845 2011-09-20  Bruno Haible  <bruno@clisp.org>
46847         Tests for module 'shutdown'.
46848         * modules/shutdown-tests: New file.
46849         * tests/test-shutdown.c: New file.
46851         Tests for module 'setsockopt'.
46852         * modules/setsockopt-tests: New file.
46853         * tests/test-setsockopt.c: New file.
46855         Tests for module 'sendto'.
46856         * modules/sendto-tests: New file.
46857         * tests/test-sendto.c: New file.
46859         Tests for module 'send'.
46860         * modules/send-tests: New file.
46861         * tests/test-send.c: New file.
46863         Tests for module 'recvfrom'.
46864         * modules/recvfrom-tests: New file.
46865         * tests/test-recvfrom.c: New file.
46867         Tests for module 'recv'.
46868         * modules/recv-tests: New file.
46869         * tests/test-recv.c: New file.
46871         Tests for module 'listen'.
46872         * modules/listen-tests: New file.
46873         * tests/test-listen.c: New file.
46875         Tests for module 'getsockopt'.
46876         * modules/getsockopt-tests: New file.
46877         * tests/test-getsockopt.c: New file.
46879         Tests for module 'getsockname'.
46880         * modules/getsockname-tests: New file.
46881         * tests/test-getsockname.c: New file.
46883         Tests for module 'getpeername'.
46884         * modules/getpeername-tests: New file.
46885         * tests/test-getpeername.c: New file.
46887         Tests for module 'connect'.
46888         * modules/connect-tests: New file.
46889         * tests/test-connect.c: New file.
46891         Tests for module 'bind'.
46892         * modules/bind-tests: New file.
46893         * tests/test-bind.c: New file.
46895         accept4 tests: Fix for native Windows.
46896         * tests/test-accept4.c: Include sockets.h.
46897         (main): Invoke gl_sockets_startup.
46898         * modules/accept4-tests (Depends-on): Add sockets.
46900         accept tests: Fix for native Windows.
46901         * tests/test-accept.c: Include sockets.h.
46902         (main): Invoke gl_sockets_startup.
46903         * modules/accept-tests (Depends-on): Add sockets.
46905 2011-09-19  Bruno Haible  <bruno@clisp.org>
46907         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
46908         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
46909         do...while(0).
46910         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
46911         Suggested by Paul Eggert.
46913 2011-09-19  Bruno Haible  <bruno@clisp.org>
46915         sched: Ensure pid_t is defined.
46916         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
46917         not define pid_t.
46918         * lib/sched.in.h: Include <sys/types.h>.
46919         * doc/posix-headers/sched.texi: Mention the pid_t problem.
46920         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46922 2011-09-19  Bruno Haible  <bruno@clisp.org>
46924         msvc-inval: Ensure the entire expansion is a single statement.
46925         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
46926         of braces.
46928 2011-09-19  Jim Meyering  <meyering@redhat.com>
46930         tests: use printf, not echo in init.sh's warn_ function
46931         * tests/init.sh (warn_): Use printf, not echo.  The latter would
46932         misbehave when given strings containing a backslash or starting
46933         with e.g., -n.  James Youngman suggested setting IFS.
46935 2011-09-19  Eric Blake  <eblake@redhat.com>
46937         futimens: enhance test
46938         * tests/test-futimens.h (test_futimens): Also check for EBADF on
46939         closed non-negative fd.
46941         date: accept 'hence' as opposite of 'ago'
46942         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
46943         * tests/test-parse-datetime.c (main): Enhance test.
46944         Suggested by Jesse Wilson.
46946 2011-09-19  Jim Meyering  <meyering@redhat.com>
46948         getcwd: don't fail in a deep directory on a system without openat
46949         Before this change, getcwd would fail when called from a directory
46950         of depth PATH_MAX / 3 or greater.  That was due to the fact that
46951         the non-openat implementation used "..", "../..", "../../..", etc.
46952         to access ancestor directories.  With too many, that string would
46953         be longer than PATH_MAX.
46954         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
46955         using gnulib's openat replacement.
46956         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
46957         we're using the replacement function.
46959 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
46961         maint.mk: avoid warnings from perl about missing files
46962         * top/maint.mk (def_sym_regex): Ignore files listed in
46963         $(gl_other_headers_) that do not exist, say because a project
46964         does not use a corresponding module.
46966 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46968         stat: use pathmax.h only if needed
46969         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
46970         This is better for Emacs, which does not have a mingw port and
46971         therefore can avoid the pathmax module.
46973         utimens: remove dependency on dup2
46974         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
46975         to work around the Linux kernel bug.
46976         * modules/utimens (Depends-on): Remove dup2.
46978 2011-09-18  Bruno Haible  <bruno@clisp.org>
46980         inet_ntop, inet_pton: Look for it also in libresolv.
46981         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
46982         libnsl, search for it in libresolv.
46983         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
46984         Needed on Solaris 7.
46986 2011-09-18  Bruno Haible  <bruno@clisp.org>
46988         accept, accept4 tests: Avoid link error on Solaris.
46989         * modules/accept-tests (Makefile.am): Link test-accept against
46990         $(LIBSOCKET).
46991         * modules/accept4-tests (Makefile.am): Link test-accept4 against
46992         $(LIBSOCKET).
46994         accept4: Avoid link error on Solaris.
46995         * modules/accept4 (Link): New section.
46997         socket functions: Avoid link errors on Solaris.
46998         * modules/accept (Depends-on): Add socketlib.
46999         (Link): New section.
47000         * modules/bind (Depends-on): Add socketlib.
47001         (Link): New section.
47002         * modules/connect (Depends-on): Add socketlib.
47003         (Link): New section.
47004         * modules/getpeername (Depends-on): Add socketlib.
47005         (Link): New section.
47006         * modules/getsockname (Depends-on): Add socketlib.
47007         (Link): New section.
47008         * modules/getsockopt (Depends-on): Add socketlib.
47009         (Link): New section.
47010         * modules/listen (Depends-on): Add socketlib.
47011         (Link): New section.
47012         * modules/recv (Depends-on): Add socketlib.
47013         (Link): New section.
47014         * modules/recvfrom (Depends-on): Add socketlib.
47015         (Link): New section.
47016         * modules/send (Depends-on): Add socketlib.
47017         (Link): New section.
47018         * modules/sendto (Depends-on): Add socketlib.
47019         (Link): New section.
47020         * modules/setsockopt (Depends-on): Add socketlib.
47021         (Link): New section.
47022         * modules/shutdown (Depends-on): Add socketlib.
47023         (Link): New section.
47024         * modules/socket (Depends-on): Add socketlib.
47025         (Link): New section.
47027 2011-09-18  Bruno Haible  <bruno@clisp.org>
47029         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
47030         * tests/test-ptsname.c (main): Terminate the test if it takes longer
47031         than 5 seconds.
47032         * modules/ptsname-tests (configure.ac): Test for alarm.
47034 2011-09-18  Bruno Haible  <bruno@clisp.org>
47036         posix_spawn_file_actions_add*: Fix module dependencies.
47037         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
47038         posix_spawn_file_actions_init.
47039         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
47040         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
47042 2011-09-18  Bruno Haible  <bruno@clisp.org>
47044         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
47045         * tests/test-rename.h (test_rename): Allow error code EEXIST.
47046         * tests/test-renameat.c (main): Likewise.
47048 2011-09-18  Bruno Haible  <bruno@clisp.org>
47050         Tests for module 'accept4'.
47051         * modules/accept4-tests: New file.
47052         * tests/test-accept4.c: New file.
47054 2011-09-18  Bruno Haible  <bruno@clisp.org>
47056         Tests for module 'accept'.
47057         * modules/accept-tests: New file.
47058         * tests/test-accept.c: New file.
47060 2011-09-18  Bruno Haible  <bruno@clisp.org>
47062         dup2: Support for MSVC.
47063         * lib/dup2.c: Include msvc-inval.h.
47064         (rpl_dup2): Handle invalid parameter notifications during dup2 and
47065         _get_osfhandle calls.
47066         * modules/dup2 (Depends-on): Add msvc-inval.
47067         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
47069         New module 'msvc-inval'.
47070         * lib/msvc-inval.h: New file.
47071         * lib/msvc-inval.c: New file.
47072         * m4/msvc-inval.m4: New file.
47073         * modules/msvc-inval: New file.
47075 2011-09-17  Bruno Haible  <bruno@clisp.org>
47077         Tests for module 'pclose'.
47078         * modules/pclose-tests: New file.
47080         New module 'pclose'.
47081         * lib/stdio.in.h (pclose): New declaration.
47082         * lib/pclose.c: New file.
47083         * m4/pclose.m4: New file.
47084         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
47085         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
47086         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
47087         * modules/pclose: New file.
47088         * modules/popen-tests (Depends-on): Add pclose.
47089         * modules/popen-safer-tests (Depends-on): Likewise.
47090         * doc/posix-functions/pclose.texi: Mention the new module.
47092 2011-09-17  Bruno Haible  <bruno@clisp.org>
47094         popen: Support for MSVC.
47095         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
47096         * lib/popen.c (popen): Provide alternate definition for native Windows.
47097         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
47098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
47099         * modules/popen (Depends-on, configure.ac): Update condition.
47100         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
47101         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
47102         fixed.
47104 2011-09-17  Bruno Haible  <bruno@clisp.org>
47106         isnanl, isnand, isnanf: Work around MSVC bug.
47107         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
47109 2011-09-17  Bruno Haible  <bruno@clisp.org>
47111         sys_socket tests: Fix recent mistake.
47112         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
47114 2011-09-17  Bruno Haible  <bruno@clisp.org>
47116         putenv: Support for MSVC.
47117         * modules/putenv (Depends-on): Add environ.
47118         * lib/putenv.c (environ): Disable declaration.
47119         * lib/unistd.in.h: Update comment.
47121 2011-09-17  Bruno Haible  <bruno@clisp.org>
47123         math: Avoid macro redefinition warnings on MSVC.
47124         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
47125         Undefine before redefining.
47127 2011-09-17  Bruno Haible  <bruno@clisp.org>
47129         doc: Mention functions which are declared as macros.
47130         * doc/posix-functions/*[fl].texi: Mention that some functions are
47131         defined as macros with arguments only.
47133 2011-09-17  Bruno Haible  <bruno@clisp.org>
47135         Add dependencies to new dirent related modules.
47136         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
47137         * modules/fts (Depends-on): Likewise.
47138         * modules/glob (Depends-on): Likewise.
47139         * modules/savedir (Depends-on): Likewise.
47140         * modules/scandir (Depends-on): Likewise.
47141         * modules/dirent-safer (Depends-on): Add opendir, closedir.
47142         * modules/fdopendir (Depends-on): Add opendir.
47144 2011-09-17  Bruno Haible  <bruno@clisp.org>
47146         inet_pton: Support for MSVC on Windows Vista or newer.
47147         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
47148         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
47149         HAVE_DECL_INET_PTON is defined.
47150         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
47151         On platforms with <winsock2.h>, test whether inet_pton is declared in
47152         <ws2tcpip.h>. If so, arrange to replace it.
47153         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
47154         REPLACE_INET_PTON.
47155         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
47156         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
47157         (Depends-on, configure.ac): Update condition.
47158         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
47160 2011-09-17  Bruno Haible  <bruno@clisp.org>
47162         inet_ntop: Support for MSVC on Windows Vista or newer.
47163         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
47164         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
47165         HAVE_DECL_INET_NTOP is defined.
47166         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
47167         On platforms with <winsock2.h>, test whether inet_ntop is declared in
47168         <ws2tcpip.h>. If so, arrange to replace it.
47169         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
47170         REPLACE_INET_NTOP.
47171         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
47172         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
47173         (Depends-on, configure.ac): Update condition.
47174         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
47176 2011-09-16  Eric Blake  <eblake@redhat.com>
47178         test-fsync: yet another enhancement
47179         * tests/test-fsync.c (main): Also test behavior on read-only text
47180         file.
47182 2011-09-16  Bruno Haible  <bruno@clisp.org>
47184         Enhance fsync, fdatasync tests.
47185         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
47186         * tests/test-fdatasync.c (main): Likewise.
47188 2011-09-16  Bruno Haible  <bruno@clisp.org>
47190         Support for MSVC compiler: Ensure mode_t gets defined.
47191         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
47192         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
47193         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
47194         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
47195         * tests/test-fcntl-h.c: Check that mode_t is defined.
47196         * tests/test-sys_stat.c: Likewise.
47197         * tests/test-sys_types.c: Likewise.
47198         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
47199         * doc/posix-headers/sys_stat.texi: Likewise.
47200         * doc/posix-headers/sys_types.texi: Likewise.
47202 2011-09-16  Bruno Haible  <bruno@clisp.org>
47204         sys_stat: Support for MSVC.
47205         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
47206         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
47207         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
47208         MSVC.
47210 2011-09-16  Bruno Haible  <bruno@clisp.org>
47212         Support for MSVC compiler: Ensure off_t gets defined.
47213         * lib/unistd.in.h: Include <sys/types.h>.
47214         * tests/test-fcntl-h.c: Check that off_t is defined.
47215         * tests/test-sys_stat.c: Likewise.
47216         * tests/test-sys_types.c: Likewise.
47218 2011-09-16  Eric Blake  <eblake@redhat.com>
47220         fdatasync: port to Solaris
47221         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
47222         * modules/fdatasync (Link): Document it.
47223         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
47225         fdatasync: port to MacOS X 10.7
47226         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
47227         declared.
47228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
47229         * modules/unistd (Makefile.am): Substitute it.
47230         * lib/unistd.in.h (fdatasync): Declare on MacOS.
47231         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
47233         fdatasync: minor improvements
47234         * modules/fdatasync (Depends-on): Add condition for fsync.
47235         * lib/fdatasync.c (fdatasync): Add comment.
47236         * tests/test-unistd-c++.cc: Test fdatasync.
47238         unistd: update refs to newer POSIX
47239         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
47240         Suggested by Bruno Haible.
47242         fdatasync: new module
47243         * modules/fsync (Description): Document difference to fdatasync.
47244         * modules/fdatasync: New module.
47245         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
47246         * lib/fdatasync.c (fdatasync): Likewise.
47247         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
47248         defaults.
47249         * modules/unistd (Makefile.am): Set witnesses.
47250         * lib/unistd.in.h (fdatasync): Declare.
47251         * MODULES.html.sh: Document it.
47252         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
47253         * modules/fdatasync-tests: New test.
47254         * tests/test-fdatasync.c: Likewise.
47256 2011-09-16  Eric Blake  <eblake@redhat.com>
47258         test-fsync: enhance tests
47259         * modules/fsync-tests (Depends-on): Add errno, for mingw.
47260         * tests/test-fsync.c (main): Enhance test.
47262 2011-09-15  Bruno Haible  <bruno@clisp.org>
47264         Support for MSVC compiler: Ensure ssize_t gets defined.
47265         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
47266         * doc/posix-headers/stdio.texi: Likewise.
47267         * modules/stdio (Depends-on): Add ssize_t.
47268         * modules/sys_socket (Depends-on): Likewise.
47269         * modules/sys_types (Depends-on): Likewise.
47270         * modules/sys_uio (Depends-on): Likewise.
47271         * modules/unistd (Depends-on): Likewise.
47272         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
47273         * tests/test-sys_types.c: Check that ssize_t is defined.
47275 2011-09-14  Bruno Haible  <bruno@clisp.org>
47277         Avoid using #, the m4 comment starter character, near brackets.
47278         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
47279         delimiter character in sed expressions.
47280         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
47281         Suggested by Eric Blake.
47283         Properly quote AC_CHECK_DECLS' 4th argument.
47284         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
47285         argument.
47286         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
47287         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
47288         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
47289         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
47290         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
47291         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
47292         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
47293         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
47294         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
47295         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
47296         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
47297         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47298         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47299         * m4/isinf.m4 (gl_ISINF): Likewise.
47300         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
47301         * m4/readutmp.m4 (gl_READUTMP): Likewise.
47302         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47303         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
47304         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
47305         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
47306         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
47307         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
47308         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
47309         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
47310         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
47311         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
47312         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
47313         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
47314         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47315         Reported by Eric Blake.
47317         Properly quote AC_CHECK_DECL's 4th argument.
47318         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
47319         argument.
47320         * m4/argp.m4 (gl_ARGP): Likewise.
47321         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
47322         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
47323         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
47324         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
47325         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
47326         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
47327         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
47328         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
47329         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47330         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
47331         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
47332         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
47333         Reported by Eric Blake.
47335 2011-09-14  Eric Blake  <eblake@redhat.com>
47337         opendir: avoid compile warning
47338         * lib/opendir.c (includes): Always include errno.h.
47339         Reported by Tatsuro MATSUOKA.
47341 2011-09-14  Jim Meyering  <meyering@redhat.com>
47343         maint.mk: sc_tight_scope: propagate failure from sub-make
47344         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
47345         Reported by Martin von Gagern.
47347 2011-09-13  Bruno Haible  <bruno@clisp.org>
47349         tempname: Support for MSVC.
47350         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
47351         MSVC.
47352         * modules/tempname (Depends-on): Add fcntl-h.
47354 2011-09-13  Bruno Haible  <bruno@clisp.org>
47356         sys_time: Support for MSVC.
47357         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
47358         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
47359         include <winsock2.h>.
47360         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
47361         function declarations that collide with POSIX.
47362         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
47363         (Makefile.am): Substitute HAVE_WINSOCK2_H.
47365 2011-09-13  Bruno Haible  <bruno@clisp.org>
47367         stat: Support for MSVC.
47368         * lib/stat.c: Include pathmax.h.
47369         * modules/stat (Depends-on): Add pathmax.
47371         pathmax: Support for native Windows.
47372         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
47374 2011-09-12  Bruno Haible  <bruno@clisp.org>
47376         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
47377         * lib/dirent.in.h (struct dirent): New type.
47378         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
47379         DT_WHT): New macros.
47380         (DIR): New type.
47381         (opendir, closedir): Declare only if the module 'opendir' is enabled.
47382         (readdir, rewinddir): New declarations.
47383         * lib/dirent-private.h: New file.
47384         * lib/opendir.c: New file.
47385         * lib/readdir.c: New file.
47386         * lib/rewinddir.c: New file.
47387         * lib/closedir.c: New file.
47388         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
47389         * m4/opendir.m4: New file.
47390         * m4/readdir.m4: New file.
47391         * m4/rewinddir.m4: New file.
47392         * m4/closedir.m4: New file.
47393         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
47394         REPLACE_CLOSEDIR here.
47395         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
47396         readdir, rewinddir are declared.
47397         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
47398         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
47399         HAVE_REWINDDIR, HAVE_CLOSEDIR.
47400         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
47401         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
47402         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
47403         * modules/opendir: New file.
47404         * modules/readdir: New file.
47405         * modules/rewinddir: New file.
47406         * modules/closedir: New file.
47407         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
47408         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
47409         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
47410         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
47411         * NEWS: Mention the 'fchdir' change.
47413 2011-09-11  Bruno Haible  <bruno@clisp.org>
47415         asm-underscore.m4: Support for MSVC.
47416         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
47417         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
47419 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
47421         Doc about crypt functions.
47422         * doc/posix-functions/crypt.texi: Expand range of glibc versions
47423         needing for _GNU_SOURCE to get crypt.
47424         * doc/posix-functions/encrypt.texi: Likewise.
47425         * doc/posix-functions/setkey.texi: Likewise.
47427 2011-09-11  Bruno Haible  <bruno@clisp.org>
47429         doc: Update regarding MSVC 9.
47430         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
47431         tested".
47432         * doc/posix-functions/*.texi: Update with info about MSVC 9.
47433         * doc/posix-headers/*.texi: Likewise.
47434         * doc/pastposix-functions/*.texi: Likewise.
47435         * doc/glibc-functions/*.texi: Likewise.
47436         * doc/glibc-headers/*.texi: Likewise.
47438 2011-09-11  Bruno Haible  <bruno@clisp.org>
47440         unistd et al.: Don't assume <unistd.h> exists.
47441         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
47442         does not exist.
47443         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
47444         exist. But include <stdlib.h>.
47445         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
47446         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
47447         symlink() does not exist.
47448         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
47449         include <io.h> instead.
47450         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
47451         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
47452         include <direct.h> instead.
47453         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
47454         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47455         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
47456         <io.h> instead.
47457         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
47458         correctly if the system does not have hard links.
47459         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
47460         <direct.h> instead.
47461         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
47462         it when looking for function declarations.
47463         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
47464         <direct.h> and <io.h> instead.
47465         * doc/posix-headers/unistd.texi: More details about MSVC problem.
47467 2011-09-11  Bruno Haible  <bruno@clisp.org>
47469         strcase: Support for MSVC.
47470         * modules/strcase (Status, Notice): Remove obsoletion mark.
47471         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
47472         * doc/posix-functions/strncasecmp.texi: Likewise.
47474         strings: Don't assume <strings.h> exists.
47475         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
47476         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
47477         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
47478         * doc/posix-headers/strings.texi: Mention the MSVC problem.
47480 2011-09-11  Bruno Haible  <bruno@clisp.org>
47482         dirent: Don't assume <dirent.h> exists.
47483         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
47484         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
47485         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
47486         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
47488 2011-09-11  Bruno Haible  <bruno@clisp.org>
47490         Fix wint_t on MSVC.
47491         * lib/wchar.in.h (wint_t): On MSVC, override it.
47492         * lib/wctype.in.h (wint_t): Likewise.
47493         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
47494         MSVC.
47495         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
47496         * doc/posix-headers/wctype.texi: Likewise.
47498 2011-09-11  Bruno Haible  <bruno@clisp.org>
47500         sys_types: Fix typo.
47501         * lib/sys_types.in.h: Fix typo in comment.
47502         Reported by Paul Eggert.
47504         Support for MSVC compiler: Ensure size_t gets defined.
47505         * modules/strings (Depends-on): Add 'sys_types'.
47506         * modules/sys_uio (Depends-on): Likewise.
47507         * lib/sys_uio.in.h: Update comment.
47509         C++ tests for module 'sys_types'.
47510         * modules/sys_types-c++-tests: New file.
47511         * tests/test-sys_types-c++.cc: New file.
47513         Tests for module 'sys_types'.
47514         * modules/sys_types-tests: New file.
47515         * tests/test-sys_types.c: New file.
47517         New module 'sys_types'.
47518         * lib/sys_types.in.h: New file.
47519         * m4/sys_types_h.m4: New file.
47520         * modules/sys_types: New file.
47521         * doc/posix-headers/sys_types.texi: Mention the new module and the
47522         size_t problem on MSVC 9.
47524 2011-09-11  Bruno Haible  <bruno@clisp.org>
47526         Support for MSVC compiler: Avoid division by a literal 0.
47527         * lib/math.in.h (NAN): Define through a function call also on MSVC.
47528         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
47529         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
47530         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
47531         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
47532         * tests/infinity.h: New file.
47533         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
47534         on MSVC.
47535         * tests/test-ceilf1.c: Include infinity.h.
47536         (main): Use Infinityf.
47537         * tests/test-ceil1.c: Include infinity.h.
47538         (main): Use Infinityd.
47539         * tests/test-ceill.c: Include infinity.h.
47540         (main): Use Infinityl.
47541         * tests/test-dprintf-posix.c: Include infinity.h.
47542         (test_function): Use Infinityd.
47543         * tests/test-floorf1.c: Include infinity.h.
47544         (main): Use Infinityf.
47545         * tests/test-floor1.c: Include infinity.h.
47546         (main): Use Infinityd.
47547         * tests/test-floorl.c: Include infinity.h.
47548         (main): Use Infinityl.
47549         * tests/test-fprintf-posix.c: Include infinity.h.
47550         (test_function): Use Infinityd.
47551         * tests/test-frexp.c: Include infinity.h.
47552         (main): Use Infinityd.
47553         * tests/test-frexpl.c: Include infinity.h.
47554         (main): Use Infinityl.
47555         * tests/test-isfinite.c: Include infinity.h.
47556         (test_isfinitef): Use Infinityf.
47557         (test_isfinited): Use Infinityd.
47558         (test_isfinitel): Use Infinityl.
47559         * tests/test-isinf.c: Include infinity.h.
47560         (test_isinff): Use Infinityf.
47561         (test_isinfd): Use Infinityd.
47562         (test_isinfl): Use Infinityl.
47563         * tests/test-isnan.c: Include infinity.h.
47564         (test_float): Use Infinityf.
47565         (test_double): Use Infinityd.
47566         (test_long_double): Use Infinityl.
47567         * tests/test-isnanf.h: Include infinity.h.
47568         (main): Use Infinityf.
47569         * tests/test-isnand.h: Include infinity.h.
47570         (main): Use Infinityd.
47571         * tests/test-isnanl.h: Include infinity.h.
47572         (main): Use Infinityl.
47573         * tests/test-ldexpl.c: Include infinity.h.
47574         (main): Use Infinityl.
47575         * tests/test-printf-posix.h: Include infinity.h.
47576         (test_function): Use Infinityd.
47577         * tests/test-roundf1.c: Include infinity.h.
47578         (main): Use Infinityf.
47579         * tests/test-round1.c: Include infinity.h.
47580         (main): Use Infinityd.
47581         * tests/test-roundl.c: Include infinity.h.
47582         (main): Use Infinityl.
47583         * tests/test-signbit.c: Include infinity.h.
47584         (test_signbitf): Use Infinityf.
47585         (test_signbitd): Use Infinityd.
47586         (test_signbitl): Use Infinityl.
47587         * tests/test-snprintf-posix.h: Include infinity.h.
47588         (test_function): Use Infinityd, Infinityl.
47589         * tests/test-sprintf-posix.h: Include infinity.h.
47590         (test_function): Use Infinityd, Infinityl.
47591         * tests/test-truncf1.c: Include infinity.h.
47592         (main): Use Infinityf.
47593         * tests/test-trunc1.c: Include infinity.h.
47594         (main): Use Infinityd.
47595         * tests/test-truncl.c: Include infinity.h.
47596         (main): Use Infinityl.
47597         * tests/test-vasnprintf-posix.c: Include infinity.h.
47598         (test_function): Use Infinityd, Infinityl.
47599         * tests/test-vasprintf-posix.c: Include infinity.h.
47600         (test_function): Use Infinityd, Infinityl.
47601         * modules/ceilf-tests (Files): Add tests/infinity.h.
47602         * modules/ceil-tests (Files): Likewise.
47603         * modules/ceill-tests (Files): Likewise.
47604         * modules/dprintf-posix-tests (Files): Likewise.
47605         * modules/floorf-tests (Files): Likewise.
47606         * modules/floor-tests (Files): Likewise.
47607         * modules/floorl-tests (Files): Likewise.
47608         * modules/fprintf-posix-tests (Files): Likewise.
47609         * modules/frexp-tests (Files): Likewise.
47610         * modules/frexp-nolibm-tests (Files): Likewise.
47611         * modules/frexpl-tests (Files): Likewise.
47612         * modules/frexpl-nolibm-tests (Files): Likewise.
47613         * modules/isfinite-tests (Files): Likewise.
47614         * modules/isinf-tests (Files): Likewise.
47615         * modules/isnan-tests (Files): Likewise.
47616         * modules/isnanf-tests (Files): Likewise.
47617         * modules/isnanf-nolibm-tests (Files): Likewise.
47618         * modules/isnand-tests (Files): Likewise.
47619         * modules/isnand-nolibm-tests (Files): Likewise.
47620         * modules/isnanl-tests (Files): Likewise.
47621         * modules/isnanl-nolibm-tests (Files): Likewise.
47622         * modules/ldexpl-tests (Files): Likewise.
47623         * modules/printf-posix-tests (Files): Likewise.
47624         * modules/roundf-tests (Files): Likewise.
47625         * modules/round-tests (Files): Likewise.
47626         * modules/roundl-tests (Files): Likewise.
47627         * modules/signbit-tests (Files): Likewise.
47628         * modules/snprintf-posix-tests (Files): Likewise.
47629         * modules/sprintf-posix-tests (Files): Likewise.
47630         * modules/truncf-tests (Files): Likewise.
47631         * modules/trunc-tests (Files): Likewise.
47632         * modules/truncl-tests (Files): Likewise.
47633         * modules/vasnprintf-posix-tests (Files): Likewise.
47634         * modules/vasprintf-posix-tests (Files): Likewise.
47635         * modules/vdprintf-posix-tests (Files): Likewise.
47636         * modules/vfprintf-posix-tests (Files): Likewise.
47637         * modules/vprintf-posix-tests (Files): Likewise.
47638         * modules/vsnprintf-posix-tests (Files): Likewise.
47639         * modules/vsprintf-posix-tests (Files): Likewise.
47640         * modules/xprintf-posix-tests (Files): Likewise.
47642 2011-09-11  Bruno Haible  <bruno@clisp.org>
47644         Ensure pid_t gets defined.
47645         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
47646         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
47647         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
47648         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
47649         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
47650         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
47651         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
47652         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
47653         * tests/test-fcntl-h.c: Check that pid_t is defined.
47654         * tests/test-sched.c: Likewise.
47655         * tests/test-termios.c: Likewise.
47656         * tests/test-time.c: Likewise.
47657         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
47658         * doc/posix-headers/signal.texi: Likewise.
47659         * doc/posix-headers/sys_types.texi: Likewise.
47660         * doc/posix-headers/time.texi: Likewise.
47662 2011-09-11  Bruno Haible  <bruno@clisp.org>
47664         acl: Fix compilation on Solaris 10 (older version).
47665         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
47666         of ACE_EVERYONE.
47667         * lib/set-mode-acl.c (qset_acl): Likewise.
47668         Reported by Christian Jullien <eligis@orange.fr>.
47670 2011-09-10  Bruno Haible  <bruno@clisp.org>
47672         iconv, unsetenv: Add support for MSVC compiler.
47673         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
47674         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
47676 2011-09-10  Bruno Haible  <bruno@clisp.org>
47678         *printf: Add support for MSVC compiler.
47679         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
47680         handles the exception caused by the %n directive. When cross-compiling,
47681         guess no on native Windows.
47682         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
47683         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
47684         emulate it through vsnprintf.
47685         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
47686         * doc/posix-functions/dprintf.texi: Update documentation regarding
47687         MSVC 9.
47688         * doc/posix-functions/fprintf.texi: Likewise.
47689         * doc/posix-functions/printf.texi: Likewise.
47690         * doc/posix-functions/snprintf.texi: Likewise.
47691         * doc/posix-functions/sprintf.texi: Likewise.
47692         * doc/posix-functions/swprintf.texi: Likewise.
47693         * doc/posix-functions/vdprintf.texi: Likewise.
47694         * doc/posix-functions/vfprintf.texi: Likewise.
47695         * doc/posix-functions/vprintf.texi: Likewise.
47696         * doc/posix-functions/vsnprintf.texi: Likewise.
47697         * doc/posix-functions/vsprintf.texi: Likewise.
47698         * doc/glibc-functions/asprintf.texi: Likewise.
47699         * doc/glibc-functions/obstack_printf.texi: Likewise.
47700         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47701         * doc/glibc-functions/vasprintf.texi: Likewise.
47703 2011-09-10  Bruno Haible  <bruno@clisp.org>
47705         nocrash: Add support for native Windows.
47706         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
47708 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
47709             Bruno Haible  <bruno@clisp.org>
47711         absolute-header, include-next: Add support for MSVC compiler.
47712         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
47713         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
47714         directory separator in #line directives.
47715         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
47716         recognize also backslash as directory separator in #line directives.
47718 2011-09-08  Jim Meyering  <meyering@redhat.com>
47720         maint.mk: mark the post-release commit log with "maint: " prefix
47721         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
47722         one-line commit-log summary.
47724 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
47725             Bruno Haible  <bruno@clisp.org>
47727         Doc about crypt functions.
47728         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
47729         systems.
47730         * doc/posix-functions/encrypt.texi: Likewise.
47731         * doc/posix-functions/setkey.texi: Likewise.
47733 2011-09-08  Simon Josefsson  <simon@josefsson.org>
47735         * lib/gc.h: Fix copyright header.
47737 2011-09-07  Bruno Haible  <bruno@clisp.org>
47739         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
47740         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
47741         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
47743 2011-09-07  Bruno Haible  <bruno@clisp.org>
47745         openat: Work around compilation error with OSF/1 5.1 DTK cc.
47746         * lib/fopen.c: Use different syntax for include of <stdio.h>.
47747         * lib/freopen.c: Likewise.
47748         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
47749         * lib/lstat.c: Likewise.
47750         * lib/stat.c: Likewise.
47751         * lib/open.c: Use different syntax for include of <fcntl.h>.
47752         * lib/openat.c: Include fcntl.h again, explicitly.
47754 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
47756         parse-datetime: document the newly accepted format
47757         * doc/parse-datetime.texi (Combined date and time of day items):
47758         New section.
47760 2011-09-06  Bruno Haible  <bruno@clisp.org>
47762         acl: Fix a test failure on newer Solaris 10 with ZFS.
47763         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
47764         ENOSYS as no ACL.
47765         Reported by Jim Meyering.
47767 2011-09-06  Bruno Haible  <bruno@clisp.org>
47769         acl: Update for AIX >= 5.3 with NFS.
47770         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
47771         ENOSYS as no ACL.
47773         acl: Fix a test failure on AIX >= 5.3 with NFS.
47774         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
47775         as no ACL.
47777 2011-09-06  Bruno Haible  <bruno@clisp.org>
47779         acl: Fix a test failure on IRIX 6.5 with NFS.
47780         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
47781         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
47782         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
47783         * lib/copy-acl.c (qcopy_acl): Likewise.
47785 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
47787         openat: port to AIX 7.1 with large files
47788         AIX 7.1 does a "#define openat open64at" if large files are in use,
47789         so we can't simply #undef openat.  Use the orig_openat trick (similar
47790         to orig_open in lib/open.c) to work around the problem.  Problem
47791         reported by Kevin Brott for GNU tar, in the thread containing
47792         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
47793         * lib/openat.c (__need_system_fcntl_h): Define first.
47794         Include <fcntl.h> and <sys/types.h> before undefining.
47795         (orig_openat) [HAVE_OPENAT]: New inline function.
47796         (openat) [HAVE_OPENAT]: Do not undef.
47797         (rpl_openat): Use orig_openat, not openat.
47799 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47800             Bruno Haible  <bruno@clisp.org>
47802         acl: Avoid errors on NonStop Kernel.
47803         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
47804         ENOTSUP errors.
47806 2011-09-05  Bruno Haible  <bruno@clisp.org>
47808         acl: Clean up Solaris code.
47809         * lib/acl-internal.h: Remove no-op #if.
47810         * lib/file-has-acl.c: Likewise.
47811         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
47812         * lib/copy-acl.c (qcopy_acl): Likewise.
47814 2011-09-05  Bruno Haible  <bruno@clisp.org>
47816         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
47817         binaries built on the original Solaris 10.
47818         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
47819         trivial.
47821 2011-09-05  Bruno Haible  <bruno@clisp.org>
47823         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
47824         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
47825         10.
47826         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
47827         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
47828         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
47829         instead of acl_get, facl_get, acl_set, facl_set.
47831 2011-09-05  Bruno Haible  <bruno@clisp.org>
47833         copy-file: Try unit tests on more file systems.
47834         * tests/test-copy-file-1.sh: New file.
47835         * tests/test-copy-file-2.sh: New file.
47836         * modules/copy-file-tests (Files): Add them.
47837         (Makefile.am): Add them to TESTS.
47839         acl: Try unit tests on more file systems.
47840         * tests/test-file-has-acl-1.sh: New file.
47841         * tests/test-file-has-acl-2.sh: New file.
47842         * tests/test-set-mode-acl-1.sh: New file.
47843         * tests/test-set-mode-acl-2.sh: New file.
47844         * tests/test-copy-acl-1.sh: New file.
47845         * tests/test-copy-acl-2.sh: New file.
47846         * modules/acl-tests (Files): Add them.
47847         (Makefile.am): Add them to TESTS.
47849 2011-09-04  Bruno Haible  <bruno@clisp.org>
47851         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
47852         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
47853         10.
47854         (OLD_ALLOW, OLD_DENY): New macros.
47855         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
47856         ACE_ACCESS_ALLOWED_ACE_TYPE.
47857         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
47858         ACE_ACCESS_DENIED_ACE_TYPE.
47859         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
47860         (NEW_ACE_EXECUTE): Fix value.
47861         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
47862         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
47863         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
47864         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
47865         NEW_ACE_SYNCHRONIZE): New macros.
47866         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
47867         instead of acl_fromtext, acl_set, facl_set.
47868         Fixes a coreutils/tests/cp/perm failure.
47870 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
47872         openat: test for fstatat (..., 0) bug
47873         Further testing with tar suggests that fstatat (..., 0)
47874         does not work in general, on AIX 7.1; see
47875         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
47876         So, give up entirely on AIX 7.1's fstatat, and fall back on our
47877         replacement fstatat (which is what older AIX releases were using
47878         anyway).
47879         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
47880         use is now changed to orig_fstatat.  This was probably the right
47881         thing to do anyway.
47882         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
47883         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
47884         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
47885         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
47886         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
47887         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
47888         if the bug is found.
47890         openat: test for fstatat (AT_FDCWD, ..., 0) bug
47891         This tests for another fstatat bug on AIX 7.1:
47892         fstatat (AT_FDCWD, ..., 0) does not work.  See
47893         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
47894         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
47895         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
47896         (rpl_fstatat): Adjust so that it works around either (or both)
47897         bugs if present.
47898         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
47900 2011-09-03  Karl Berry  <karl@gnu.org>
47902         * doc/regex.texi (Character Class Operators): Avoid literal ":"
47903         in index entries.
47905 2011-09-02  Bruno Haible  <bruno@clisp.org>
47907         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
47908         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
47909         values of AR, ARFLAGS, RANLIB.
47910         Reported by John W. Eaton <jwe@gnu.org> for Octave.
47912 2011-09-02  Bruno Haible  <bruno@clisp.org>
47914         Find 'ar' program that fits with --host argument.
47915         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
47917 2011-09-02  Bruno Haible  <bruno@clisp.org>
47919         tests: init.sh: Support any non-GNU diff.
47920         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
47921         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
47922         Solaris 8.
47924 2011-09-02  Bruno Haible  <bruno@clisp.org>
47926         tests: init.sh: work also with any non-GNU diff that supports -u
47927         * tests/init.sh: Relax check for diff -u support.
47928         Rather than checking for GNU diff via --version, simply check
47929         for support for -u itself.  Useful at least on OpenBSD 4.9,
47930         AIX 7.1, IRIX 6.5, and Solaris 10.
47932 2011-09-01  Bruno Haible  <bruno@clisp.org>
47934         strtoimax, strtoumax: Document problem on HP-UX 11.
47935         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
47936         * doc/posix-functions/strtoumax.texi: Likewise.
47938 2011-09-01  Bruno Haible  <bruno@clisp.org>
47940         strtoumax: Avoid link error on OSF/1 with DTK cc.
47941         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
47942         defined as a function.
47943         * modules/strtoumax (Depends-on, configure.ac): Test only whether
47944         strtoumax is defined, not whether it is declared.
47946 2011-09-01  Bruno Haible  <bruno@clisp.org>
47948         strtoimax: Avoid link error on OSF/1 with DTK cc.
47949         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
47950         defined as a function.
47951         * modules/strtoimax (Depends-on, configure.ac): Test only whether
47952         strtoimax is defined, not whether it is declared.
47954 2011-09-01  Bruno Haible  <bruno@clisp.org>
47956         imaxdiv: Avoid link error on OSF/1 with DTK cc.
47957         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
47958         as a function.
47959         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
47960         whether it is declared.
47962 2011-09-01  Bruno Haible  <bruno@clisp.org>
47964         imaxabs: Avoid link error on OSF/1 with DTK cc.
47965         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
47966         as a function.
47967         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
47968         whether it is declared.
47970 2011-09-01  Bruno Haible  <bruno@clisp.org>
47972         Tests for module 'strtoumax'.
47973         * modules/strtoumax-tests: New file.
47974         * tests/test-strtoumax.c: New file.
47976         Tests for module 'strtoimax'.
47977         * modules/strtoimax-tests: New file.
47978         * tests/test-strtoimax.c: New file.
47980         Tests for module 'imaxdiv'.
47981         * modules/imaxdiv-tests: New file.
47982         * tests/test-imaxdiv.c: New file.
47984         Tests for module 'imaxabs'.
47985         * modules/imaxabs-tests: New file.
47986         * tests/test-imaxabs.c: New file.
47988 2011-09-01  Bruno Haible  <bruno@clisp.org>
47990         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
47991         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
47992         pthread_create.
47994 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47996         openat: work around AIX 7.1 fstatat issue
47997         This should fix the problem that was not properly fixed
47998         in the previous change, dated 2011-08-30.
47999         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
48000         __need_system_stat_h defined.
48001         (orig_fstatat) [HAVE_FSTATAT]: New function.
48002         (rpl_fstatat): Go back to the old way of doing things,
48003         except call orig_fstatat instead of fstatat.
48004         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
48005         Remove unnecessary check whether fstatat fills in st_size etc.
48007 2011-09-01  Bruno Haible  <bruno@clisp.org>
48009         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
48010         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
48011         just include the system's header.
48013 2011-08-31  Jim Meyering  <meyering@redhat.com>
48015         tests: avoid spurious assertion failure in test-float.c on ppc64
48016         * tests/test-float.c (test_long_double): Comment out an assertion,
48017         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
48018         with gcc-4.4.4.
48020         maint: indent with spaces, not TABs
48021         I need to get in the habit of running gnulib's "make check".
48022         Both of these would have been caught.
48023         * m4/largefile.m4: Indent with spaces, not TABs.
48024         * lib/parse-datetime.y (iso_8601_time): Likewise.
48025         Spotted by Pádraig Brady.
48027         test-parse-datetime.c: accommodate a relatively strict gcc warning
48028         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
48029         to avoid a warning from gcc's -Werror=missing-declarations.
48030         Insert a few spaces-before-funcall-parenthesis.
48032 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
48034         parse-datetime: accept ISO 8601 date and time rep with "T" separator
48035         The parser now accepts ISO 8601 date-time strings with "T" as the
48036         separator.  It has long parsed dates like "2004-02-29 16:21:42"
48037         with a space between the date and time strings.  Now it also parses
48038         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
48039         variants like "2004-02-29T16:21:42.333-07:00"
48040         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
48041         of day representation using the 'T' separator character.
48042         * doc/parse-datetime.texi (General date syntax): replace use of
48043         deprecated --iso-8601 option with --rfc-3339 in example of date
48044         command output formats that can be parsed.
48045         * tests/test-parse-datetime.c (tm_diff): New function, taken from
48046         lib/parse-datetime.y.
48047         (gmt_offset): New function.
48048         (main): Add additional test cases to validate ISO8601 extended
48049         date and time of day parsing.
48051 2011-08-31  Bruno Haible  <bruno@clisp.org>
48053         freopen: Documentation.
48054         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
48055         name.
48056         Reported by Claudio Bley <claudio.bley@gmail.com>.
48058 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
48060         freopen: Don't crash if the filename argument is NULL.
48061         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
48062         NULL.
48064 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48066         openat: work around AIX 7.1 fstatat bug
48067         Problem reported by Kevin Brott for GNU tar, in the thread containing
48068         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
48069         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
48070         FSTATAT_ST_SIZE_ETC_BROKEN.
48071         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
48072         rpl_fstatat.
48073         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
48074         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
48075         AC_CHECK_FUNCS_ONCE for fstatat.
48076         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
48077         fchmodat, mkdirat, openat and unlinkat.
48079 2011-08-30  Bruno Haible  <bruno@clisp.org>
48081         Avoid endless recursions if config.h includes some header files.
48082         * lib/fopen.c (__need_FILE): Define already before including config.h.
48083         * lib/freopen.c (__need_FILE): Likewise.
48084         * lib/open.c (__need_system_fcntl_h): Likewise.
48085         * lib/stat.c (__need_system_sys_stat_h): Likewise.
48086         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
48087         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
48089 2011-08-25  Karl Berry  <karl@gnu.org>
48091         * config/srclist.txt (ylwrap): new try.
48092         * build-aux/ylwrap: new file.
48094 2011-08-23  Bruno Haible  <bruno@clisp.org>
48096         tmpdir: Use a good default directory on native Windows.
48097         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
48098         (P_tmpdir): Default to _P_tmpdir on native Windows.
48099         (path_search): On native Windows, try the value returned by GetTempPath
48100         before trying P_tmpdir.
48101         * modules/tmpdir (Depends-on): Add pathmax.
48102         Suggested by John Darrington <john@darrington.wattle.id.au>.
48104 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
48106         doc: fix typo in README-release
48107         * top/README-release: Capitalize first word of a sentence.
48109 2011-08-19  Jim Meyering  <meyering@redhat.com>
48111         fts: do not exhaust memory when processing million-entry directories
48112         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
48113         directory would require about 256*N bytes of memory.  Thus, it was
48114         easy to construct a directory too large to be processed by any of
48115         those tools.  With this change, fts' maximum memory utilization is
48116         now limited to around 30MB.
48117         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
48118         (fts_read): When we've processed the final entry (i.e., when
48119         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
48120         using the parent entry to read any remaining entries.  Dispatch
48121         depending on what fts_build returns:
48122         - NULL+stop, aka failure: stop
48123         - NULL otherwise: move up in the dir hierarchy
48124         - non-NULL: handle this new entry
48125         (fts_build): Declare and use new local, continue_readdir.
48126         Prepare to be called from fts_read, when the entries
48127         from a partially-read directory have just been exhausted.
48128         In that case, we'll skip the opendir and instead use the parent's
48129         fts_dirp and derive dir_fd from that.
48130         Finally, in the readdir loop, if we read max_entries entries,
48131         exit the loop ensuring *not* to call closedir.  This is required
48132         so that fts_dirp can be reused on a subsequent call.
48133         Prompted by Ben England's report of memory exhaustion in find
48134         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
48136         maint: fts: move decl of `dp' down into while loop; split a long line
48137         * lib/fts.c (fts_build): No semantic change.
48139         fts: add/use new struct member, fts_dirp
48140         We are about to use this to manage any directory with
48141         too many entries to read all of them into memory at once.
48142         To do that, we'll need to save the DIR* pointer in each
48143         affected FTSENT struct.
48144         * lib/fts_.h: Include <dirent.h>.
48145         (struct FTSENT) [fts_dirp]: New member.
48146         * lib/fts.c (closedir_and_clear): Define.
48147         Use it in place of closedir so that we are sure to
48148         clear the new fts_dirp member when done with it.
48149         (fts_alloc): Initialize the new member.
48150         (fts_lfree): Free, if needed.
48152         maint: fts: give __opendir2 a new parameter and rename
48153         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
48154         than surreptitiously using sole caller's "dir_fd".
48155         (fts_opendir): Rename from __opendir2.
48157         maint: fts.c: remove __opendir2's now-unused parameter, oflag
48158         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
48160         maint: fts.c: correct off-by-one indentation
48161         * lib/fts.c (fts_build): Correct indentation, change style
48162         of a couple of block comments, and bracing style.
48164         maint: fts.c: move __opendir2 #define "up" out of function body
48165         * lib/fts.c (__opendir2): Move "up".  No semantic change.
48167         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
48168         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
48169         out for a long time and besides was useful only on BSD systems.
48171 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
48173         regex: port to Stratus OpenVOS
48174         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
48175         define to empty, rather than attempting nonportable optimizations.
48176         Problem reported by Paul Green in:
48177         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
48178         and fix suggested by Eric Blake in:
48179         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
48181 2011-08-17  Eric Blake  <eblake@redhat.com>
48183         getcwd: fix test failures on mingw
48184         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
48185         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
48186         test if long directory cannot be created, and allow mingw errno.
48188         getcwd-lgpl: fix m4 to match relaxed test for BSD
48189         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
48190         (gl_FUNC_GETCWD_SIGNATURE): New macro.
48191         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
48192         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
48193         signature problem.
48195         getcwd: fix compilation on mingw64
48196         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
48197         getcwd.
48198         Reported by Marc-André Lureau.
48200         pipe2: silence compiler warning
48201         * lib/pipe2.c (pipe2): Hide label if it is not used.
48203 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
48205         relocatable-prog: fix link error
48206         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
48207         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
48208         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
48209         into modules/relocatable-lib without noticing that
48210         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
48211         also needs to build relocatable.c.
48213 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
48215         getaddrinfo: fix sh typo in gai_strerrorA decl checking
48216         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
48217         shell code: it contained a 'break' that was not in a loop.
48218         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
48219         via a shell-language loop; this may have been true in old Autoconf
48220         versions, but it's not true in Autoconf 2.68.  I found this bug
48221         when testing coreutils git on Solaris 8, whose shell complains
48222         about the syntax error.
48224 2011-08-12  Simon Josefsson  <simon@josefsson.org>
48226         * lib/base64.c: Fix comment to reference RFC 4648.
48227         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
48228         <gvtulder@gmail.com>.
48230 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
48232         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
48234         po/Makefile.in.in: fix make -q problem
48235         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
48236         rule, since there's no file named 'check-macro-version' and its
48237         use as a file breaks make -q.
48238         (all): Don't depend on check-macro-version.
48239         (CHECK_MACRO_VERSION): New macro.
48240         (stamp-po): Use it.
48242         configmake: fix make -q problem
48243         * modules/configmake (configmake.h): Update configmake.h's time stamp
48244         even if the file does not change.  Otherwise, 'make -q' fails.
48245         Problem reported by Simon Josefsson in
48246         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
48248 2011-08-11  Jim Meyering  <meyering@redhat.com>
48250         git-version-gen: correct the advice in a comment
48251         * build-aux/git-version-gen: Correct comment.
48252         Don't recommend to list .tarball-version in .gitignore.
48254 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48256         base64: fix off-by-one buffer size bug
48257         Problem and (trivial) fix reported by Gijs van Tulder in
48258         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
48259         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
48260         * tests/test-base64.c (main): Catch the bug.
48262 2011-08-10  Eric Blake  <eblake@redhat.com>
48264         closein: correct comments
48265         * lib/closein.c (close_stdin): Improve comments.
48267 2011-08-09  Bruno Haible  <bruno@clisp.org>
48269         More tests for 'fseeko'.
48270         * tests/test-fseeko3.c: New file, from Eric Blake.
48271         * tests/test-fseeko3.sh: New file.
48272         * modules/fseeko-tests (Files): Add them.
48273         (TESTS): Add test-fseeko3.sh.
48274         (check_PROGRAMS): Add test-fseeko3.
48276 2011-08-09  Eric Blake  <eblake@redhat.com>
48278         fseeko: remove unneeded hack
48279         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
48281         fseeko: fix bug on glibc
48282         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
48283         Reported by John W. Eaton.
48285 2011-08-08  Bruno Haible  <bruno@clisp.org>
48287         unictype/base: Fix interoperability with preinstalled libunistring.
48288         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
48289         Reported by Simon Josefsson.
48291 2011-08-08  Bruno Haible  <bruno@clisp.org>
48293         iswblank: Detect declaration correctly.
48294         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
48295         AC_CHECK_DECLS invocation.
48297 2011-08-08  Bruno Haible  <bruno@clisp.org>
48299         tcgetsid: Detect declaration correctly.
48300         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
48301         AC_CHECK_DECLS invocation.
48302         Reported by Simon Josefsson.
48304 2011-08-08  Eric Blake  <eblake@redhat.com>
48306         largefile: fix typo that regressed large file support
48307         * modules/largefile (configure.ac-early): Fix section name.
48309 2011-08-06  Karl Berry  <karl@gnu.org>
48311         * MODULES.html.sh (func_all_files): _Noreturn is no longer
48312         a separate module.
48314 2011-08-05  Simon Josefsson  <simon@josefsson.org>
48316         openat: Fix warnings and commens when building unlinkat.c on Hurd.
48317         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
48318         get prototype for free.
48320 2011-08-04  Bruno Haible  <bruno@clisp.org>
48322         Tests for module 'pathmax'.
48323         * modules/pathmax-tests: New file.
48324         * tests/test-pathmax.c: New file.
48326         canonicalize-lgpl: Support larger filenames on the Hurd.
48327         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
48328         Reported by Paul Eggert.
48330         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
48331         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
48332         * lib/chdir-long.h: Include pathmax.h.
48333         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
48334         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
48335         (PATH_MAX): Remove code that is done by pathmax.h.
48336         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
48337         * lib/tmpfile.c: Add a comment.
48338         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
48339         * modules/chdir-long (Depends-on): Add pathmax.
48340         * modules/getcwd (Depends-on): Add pathmax.
48341         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
48342         is not defined.
48343         * doc/posix-headers/limits.texi: Mention the pathmax module.
48344         * NEWS: Mention the change.
48346 2011-08-02  Bruno Haible  <bruno@clisp.org>
48348         pthread_sigmask: Actually use results of gl_THREADLIB.
48349         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
48350         gl_THREADLIB, not gl_[]THREADLIB.
48351         Reported by Eric Blake.
48353 2011-08-02  Jim Meyering  <meyering@redhat.com>
48355         maint.mk: relax the default _gl_TS_function_match regexp
48356         * top/maint.mk (_gl_TS_function_match): Don't require at least one
48357         space between function name and "(" in an "extern" declaration.
48358         That would fail to match a decl with no space there: extern void foo();
48360 2011-07-31  Iain Nicol  <iain@thenicols.net>
48362         git-version-gen: document that EXTRA_DIST must include .version
48363         * build-aux/git-version-gen: In the how-to-use comment, document
48364         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
48365         will fail when run from an unpacked distribution tarball.
48367 2011-08-01  Bruno Haible  <bruno@clisp.org>
48369         wctype-h: Fix last change.
48370         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
48371         REPLACE_TOWLOWER to 0.
48372         Reported by Sam Steingold <sds@gnu.org>.
48374 2011-07-31  Bruno Haible  <bruno@clisp.org>
48376         frexpl: Update autoconf test.
48377         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
48378         according to changes of 2011-06-20.
48380 2011-07-31  Bruno Haible  <bruno@clisp.org>
48382         sys_utsname: Add support for Minix.
48383         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
48384         <sys/utsname.h>.
48385         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
48386         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
48388 2011-07-31  Bruno Haible  <bruno@clisp.org>
48390         strings: Add support for Minix.
48391         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
48392         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
48393         * doc/posix-headers/strings.texi: Document the Minix problem.
48395 2011-07-31  Bruno Haible  <bruno@clisp.org>
48397         wctype-h: Add support for Minix.
48398         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
48399         REPLACE_TOWLOWER.
48400         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
48401         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
48402         REPLACE_ISWCNTRL.
48404 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
48406         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
48407         This is a performance improvement for 64-bit hosts: it causes the
48408         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
48410 2011-07-31  Bruno Haible  <bruno@clisp.org>
48412         stdioext: Add support for Minix.
48413         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
48414         * lib/fpurge.c (fpurge): Likewise.
48415         * lib/freadahead.c (freadahead): Likewise.
48416         * lib/freadable.c (freadable): Likewise.
48417         * lib/freading.c (freading): Likewise.
48418         * lib/freadptr.c (freadptr): Likewise.
48419         * lib/freadseek.c (freadptrinc): Likewise.
48420         * lib/fseeko.c (rpl_fseeko): Likewise.
48421         * lib/fseterr.c (fseterr): Likewise.
48422         * lib/fwritable.c (fwritable): Likewise.
48423         * lib/fwriting.c (fwriting): Likewise.
48424         * lib/fflush.c (clear_ungetc_buffer): Update comment.
48425         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
48427 2011-07-31  Bruno Haible  <bruno@clisp.org>
48429         errno: Port to Minix.
48430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
48431         ECONNABORTED are defined.
48432         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
48433         GNULIB_defined_ECONNABORTED): New macros.
48434         * lib/strerror-override.h (strerror_override): Test also
48435         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
48436         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
48437         ECONNABORTED.
48438         * doc/posix-headers/errno.texi: Mention the Minix problem.
48440 2011-07-31  Bruno Haible  <bruno@clisp.org>
48442         Work around declaration collisions on Minix.
48443         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
48444         defined, set REPLACE_MBSINIT.
48445         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
48446         defined, set REPLACE_MBRTOWC.
48447         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
48448         set REPLACE_MBRLEN.
48449         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
48450         defined, set REPLACE_MBSRTOWCS.
48451         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
48452         defined, set REPLACE_WCRTOMB.
48453         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
48454         defined, set REPLACE_WCSRTOMBS.
48456 2011-07-31  Bruno Haible  <bruno@clisp.org>
48458         Add support for Minix with ACK compiler.
48459         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
48460         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
48461         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
48463 2011-07-31  Bruno Haible  <bruno@clisp.org>
48465         Documentation about Minix.
48466         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
48467         * doc/glibc-headers/*.texi: Likewise.
48468         * doc/posix-functions/*.texi: Likewise.
48469         * doc/glibc-functions/*.texi: Likewise.
48471 2011-07-31  Bruno Haible  <bruno@clisp.org>
48473         snippet/warn-on-use: Fix indentation.
48474         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
48476 2011-07-25  Jim Meyering  <meyering@redhat.com>
48478         tests: test-update-copyright.sh: remove unnecessary "rm" commands
48479         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
48480         commands.
48482 2011-07-27  Jim Meyering  <meyering@redhat.com>
48484         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
48485         * top/maint.mk (gl_extract_significant_defines_): Now that
48486         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
48487         gnulib/lib/signal.in.h, and now that we recommend to
48488         define-if-undefined those two symbols in application code,
48489         we must filter them out of the "significant" list.
48490         This avoids a "make syntax-check" failure in coreutils.
48492 2011-07-26  Eric Blake  <eblake@redhat.com>
48494         warnings: add comments about previous patch
48495         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
48496         * m4/include_next.m4: Likewise.
48497         * m4/warn-on-use.m4: Likewise.
48498         * m4/warnings.m4: Likewise, and simplify use.
48499         Suggested by Stefano Lattarini.
48501         include-next, warnings: support older autoconf
48502         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
48503         AS_VAR_PUSHDEF in a way that works with older autoconf.
48504         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
48505         Reported by Daniel P. Berrange.
48507 2011-07-25  Bruno Haible  <bruno@clisp.org>
48509         fseek, ftell: Fix doc.
48510         * doc/posix-functions/fseek.texi: Reword statement about
48511         AC_SYS_LARGEFILE.
48512         * doc/posix-functions/ftell.texi: Likewise.
48514 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
48515             Bruno Haible  <bruno@clisp.org>
48517         Add dependencies to the 'largefile' module.
48518         * modules/fopen (Depends-on): Add 'largefile'.
48519         * modules/freopen (Depends-on): Likewise.
48520         * modules/fseeko (Depends-on): Likewise.
48521         * modules/ftello (Depends-on): Likewise.
48522         * modules/glob (Depends-on): Likewise.
48523         * modules/lseek (Depends-on): Likewise.
48524         * modules/lstat (Depends-on): Likewise.
48525         * modules/mkostemp (Depends-on): Likewise.
48526         * modules/mkostemps (Depends-on): Likewise.
48527         * modules/mkstemp (Depends-on): Likewise.
48528         * modules/mkstemps (Depends-on): Likewise.
48529         * modules/open (Depends-on): Likewise.
48530         * modules/openat (Depends-on): Likewise.
48531         * modules/pread (Depends-on): Likewise.
48532         * modules/pwrite (Depends-on): Likewise.
48533         * modules/scandir (Depends-on): Likewise.
48534         * modules/stat (Depends-on): Likewise.
48535         * modules/tmpfile (Depends-on): Likewise.
48536         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
48537         since the containing module now depends on the largefile module.
48538         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
48539         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
48540         off_t is fixed by gnulib.
48541         * doc/posix-functions/freopen.texi: Likewise.
48542         * doc/posix-functions/fseeko.texi: Likewise.
48543         * doc/posix-functions/fstatat.texi: Likewise.
48544         * doc/posix-functions/ftello.texi: Likewise.
48545         * doc/posix-functions/glob.texi: Likewise.
48546         * doc/posix-functions/lseek.texi: Likewise.
48547         * doc/posix-functions/lstat.texi: Likewise.
48548         * doc/posix-functions/mkstemp.texi: Likewise.
48549         * doc/posix-functions/open.texi: Likewise.
48550         * doc/posix-functions/openat.texi: Likewise.
48551         * doc/posix-functions/pread.texi: Likewise.
48552         * doc/posix-functions/pwrite.texi: Likewise.
48553         * doc/posix-functions/scandir.texi: Likewise.
48554         * doc/posix-functions/stat.texi: Likewise.
48555         * doc/posix-functions/tmpfile.texi: Likewise.
48556         * doc/glibc-functions/mkostemp.texi: Likewise.
48557         * doc/glibc-functions/mkostemps.texi: Likewise.
48558         * doc/glibc-functions/mkstemps.texi: Likewise.
48560 2011-07-25  Bruno Haible  <bruno@clisp.org>
48562         fcntl: Move AC_LIBOBJ invocation to module description.
48563         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
48564         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
48566         fcntl: Remove call-in from fchdir.m4.
48567         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
48568         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
48570         dup3: Remove potential call-in from fchdir.m4.
48571         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
48572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
48574         dup2: Move AC_LIBOBJ invocation to module description.
48575         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
48576         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
48577         Don't invoke AC_LIBOBJ.
48578         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
48580         dup2: Remove call-in from fchdir.m4.
48581         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
48582         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
48584         fclose: Move AC_LIBOBJ invocation to module description.
48585         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
48586         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
48587         to 1.
48588         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
48590         fclose: Remove call-in from close.m4.
48591         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
48592         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
48594         close: Move AC_LIBOBJ invocation to module description.
48595         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
48596         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
48597         1.
48598         * modules/close (configure.ac): Invoke AC_LIBOBJ.
48600         close: Remove call-in from fchdir.m4.
48601         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
48602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
48604         open: Move AC_LIBOBJ invocation to module description.
48605         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
48606         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
48607         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
48609         open: Remove call-in from fchdir.m4.
48610         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
48611         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
48613         fchdir: Start to remove gl_REPLACE_* idiom.
48614         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
48615         (gl_FUNC_FCHDIR): Invoke it.
48617 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
48619         * lib/ftell.c (ftell): Comment out cast.
48621         close: use gl_REPLACE_FCLOSE only if defined
48622         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
48623         is defined.  The close module doesn't depend on the fclose module
48624         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
48625         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
48626         I reproduced the problem with "./gnulib-tool --test close sys_socket".
48628 2011-07-24  Jim Meyering  <meyering@redhat.com>
48630         test-select.h: avoid warning when using gcc's -Wmissing-declarations
48631         * tests/test-select.h (test_function): Declare as "static".
48633 2011-07-24  Bruno Haible  <bruno@clisp.org>
48635         doc: Mention the effects of AC_SYS_LARGEFILE.
48636         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
48637         on this function.
48638         * doc/posix-functions/aio_error.texi: Likewise.
48639         * doc/posix-functions/aio_fsync.texi: Likewise.
48640         * doc/posix-functions/aio_read.texi: Likewise.
48641         * doc/posix-functions/aio_return.texi: Likewise.
48642         * doc/posix-functions/aio_suspend.texi: Likewise.
48643         * doc/posix-functions/aio_write.texi: Likewise.
48644         * doc/posix-functions/fgetpos.texi: Likewise.
48645         * doc/posix-functions/fopen.texi: Likewise.
48646         * doc/posix-functions/freopen.texi: Likewise.
48647         * doc/posix-functions/fsetpos.texi: Likewise.
48648         * doc/posix-functions/fstatvfs.texi: Likewise.
48649         * doc/posix-functions/ftruncate.texi: Likewise.
48650         * doc/posix-functions/ftw.texi: Likewise.
48651         * doc/posix-functions/getrlimit.texi: Likewise.
48652         * doc/posix-functions/glob.texi: Likewise.
48653         * doc/posix-functions/lio_listio.texi: Likewise.
48654         * doc/posix-functions/lockf.texi: Likewise.
48655         * doc/posix-functions/mkstemp.texi: Likewise.
48656         * doc/posix-functions/mmap.texi: Likewise.
48657         * doc/posix-functions/nftw.texi: Likewise.
48658         * doc/posix-functions/openat.texi: Likewise.
48659         * doc/posix-functions/opendir.texi: Likewise.
48660         * doc/posix-functions/posix_fadvise.texi: Likewise.
48661         * doc/posix-functions/posix_fallocate.texi: Likewise.
48662         * doc/posix-functions/pread.texi: Likewise.
48663         * doc/posix-functions/pwrite.texi: Likewise.
48664         * doc/posix-functions/readdir.texi: Likewise.
48665         * doc/posix-functions/readdir_r.texi: Likewise.
48666         * doc/posix-functions/rewinddir.texi: Likewise.
48667         * doc/posix-functions/scandir.texi: Likewise.
48668         * doc/posix-functions/seekdir.texi: Likewise.
48669         * doc/posix-functions/setrlimit.texi: Likewise.
48670         * doc/posix-functions/statvfs.texi: Likewise.
48671         * doc/posix-functions/telldir.texi: Likewise.
48672         * doc/posix-functions/tmpfile.texi: Likewise.
48673         * doc/posix-functions/truncate.texi: Likewise.
48674         * doc/glibc-functions/fallocate.texi: Likewise.
48675         * doc/glibc-functions/fstatfs.texi: Likewise.
48676         * doc/glibc-functions/fts_children.texi: Likewise.
48677         * doc/glibc-functions/fts_read.texi: Likewise.
48678         * doc/glibc-functions/getdirentries.texi: Likewise.
48679         * doc/glibc-functions/mkostemp.texi: Likewise.
48680         * doc/glibc-functions/mkostemps.texi: Likewise.
48681         * doc/glibc-functions/mkstemps.texi: Likewise.
48682         * doc/glibc-functions/preadv.texi: Likewise.
48683         * doc/glibc-functions/pwritev.texi: Likewise.
48684         * doc/glibc-functions/sendfile.texi: Likewise.
48685         * doc/glibc-functions/statfs.texi: Likewise.
48687 2011-07-24  Bruno Haible  <bruno@clisp.org>
48689         doc: Fix typo.
48690         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
48692 2011-07-24  Bruno Haible  <bruno@clisp.org>
48694         doc: Mention fsusage.
48695         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
48697 2011-07-24  Bruno Haible  <bruno@clisp.org>
48699         doc: Mention new glibc headers and functions.
48700         * doc/glibc-headers/gshadow.texi: New file.
48701         * doc/glibc-functions/endsgent.texi: New file.
48702         * doc/glibc-functions/fgetsgent.texi: New file.
48703         * doc/glibc-functions/fgetsgent_r.texi: New file.
48704         * doc/glibc-functions/getsgent.texi: New file.
48705         * doc/glibc-functions/getsgent_r.texi: New file.
48706         * doc/glibc-functions/getsgnam.texi: New file.
48707         * doc/glibc-functions/getsgnam_r.texi: New file.
48708         * doc/glibc-functions/putsgent.texi: New file.
48709         * doc/glibc-functions/setsgent.texi: New file.
48710         * doc/glibc-functions/sgetsgent.texi: New file.
48711         * doc/glibc-functions/sgetsgent_r.texi: New file.
48712         * doc/glibc-functions/malloc_info.texi: New file.
48713         * doc/glibc-functions/preadv.texi: New file.
48714         * doc/glibc-functions/pwritev.texi: New file.
48715         * doc/glibc-functions/register_printf_modifier.texi: New file.
48716         * doc/glibc-functions/register_printf_specifier.texi: New file.
48717         * doc/glibc-functions/register_printf_type.texi: New file.
48718         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
48719         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
48720         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
48721         * doc/glibc-functions/pthread_getname_np.texi: New file.
48722         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
48723         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
48724         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
48725         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
48726         * doc/glibc-functions/pthread_setname_np.texi: New file.
48727         * doc/glibc-functions/pthread_sigqueue.texi: New file.
48728         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
48729         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
48730         * doc/glibc-functions/qsort_r.texi: New file.
48731         * doc/glibc-functions/quick_exit.texi: New file.
48732         * doc/glibc-functions/syncfs.texi: New file.
48733         * doc/gnulib.texi: Include them.
48734         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
48735         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
48736         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
48737         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
48738         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
48739         * doc/glibc-functions/execvpe.texi: Likewise.
48741 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48743         ftell: don't include <unistd.h>
48744         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
48745         guaranteed to define off_t, and the ftell module depends on the
48746         stdio module.
48748         ftell: do not assume wraparound signed arithmetic
48749         * lib/ftell.c: Include <limits.h>.
48750         (ftell): Don't assume wraparound signed arithmetic.
48752 2011-07-24  Bruno Haible  <bruno@clisp.org>
48754         close: No longer depend on module 'fclose'.
48755         * modules/close (Depends-on): Remove fclose.
48756         * NEWS: Mention the change.
48757         Suggested by Sam Steingold <sds@gnu.org>.
48759 2011-07-24  Bruno Haible  <bruno@clisp.org>
48761         fsusage: Enable large volume support on AIX >= 5.2.
48762         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
48763         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
48764         instead of STAT_STATVFS.
48765         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
48767         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
48768         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
48769         f_blocks field only on MacOS X.
48771         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
48772         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
48773         * modules/fsusage (Depends-on): Add largefile.
48775 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48777         * README: Modernize discussion of signed integers.
48778         Assuming overflow wraparound is no longer safe.
48779         Mention ones' complement and signed magnitude.
48781 2011-07-22  Bruno Haible  <bruno@clisp.org>
48783         select tests, pselect tests: Refactor.
48784         * tests/test-select.h: New file, extracted from tests/test-select.c.
48785         (select_fn): New type.
48786         (test, do_select, do_select_nowait, do_select_wait, test_tty,
48787         test_connect_first, test_accept_first, test_pair, test_socket_pair,
48788         test_pipe): Add my_select argument.
48789         (test_function): Renamed from main. Add my_select argument.
48790         * tests/test-select.c: Move most code to tests/test-select.h. Include
48791         test-select.h.
48792         * modules/select-tests (Files): Add tests/test-select.h.
48793         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
48794         (my_select, main): New functions.
48795         * modules/pselect-tests (Files): Add tests/test-select.h,
48796         tests/macros.h, tests/signature.h.
48797         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
48798         (configure.ac): Check for <sys/wait.h>.
48800 2011-07-22  Bruno Haible  <bruno@clisp.org>
48802         sys_select tests: Check the signature of FD_*.
48803         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
48804         signature tests from here...
48805         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
48806         here.
48807         * modules/sys_select-tests (Files): Add tests/signature.h.
48809 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48811         largefile: new module, replacing large-inode
48812         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
48813         * MODULES.html.sh: Add largefile, remove large-inode.
48814         * modules/largefile, m4/largefile.m4: New files.
48815         * modules/large-inode, m4/large-inode.m4: Remove.
48817         fsusage: port to MacOS X 10.7 with 4 TiB file systems
48818         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
48819         implementations that use only 32 bits to count blocks.
48820         On typical hosts with 1024-byte blocks, this fails with file
48821         systems as small as 4 TiB.  Problem reported by Herb Wartens
48822         <http://debbugs.gnu.org/9140> and this should also fix a similar
48823         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
48825         large-inode: New module
48826         * MODULES.html.sh: Add it.
48827         * modules/large-inode, m4/large-inode.m4: New files.
48829         extensions: Enable extensions on MacOS X 10.5 and later.
48830         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
48832 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
48834         file-has-acl: use acl_extended_file_nofollow if available
48835         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
48836         (acl_extended_file): New macro.
48837         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
48838         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
48840 2011-07-21  Bruno Haible  <bruno@clisp.org>
48842         Declare system functions in a way that works with C++.
48843         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
48844         declare fdopendir as extern "C".
48845         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
48846         declare frexpl as extern "C".
48847         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
48848         declare gai_strerror as extern "C".
48849         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
48850         programs, declare gai_strerror as extern "C".
48851         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
48852         declare getlogin_r as extern "C".
48853         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
48854         as extern "C".
48855         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
48856         declare ldexpl as extern "C".
48857         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
48858         as extern "C".
48859         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
48860         program, declare getmntinfo as extern "C".
48861         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
48862         stpncpy as extern "C".
48863         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
48864         program, declare __xpg_strerror_r as extern "C".
48865         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
48866         strndup as extern "C".
48867         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
48868         declare memset and bzero as extern "C".
48869         Reported by Sam Steingold <sds@gnu.org>.
48871 2011-07-12  Jim Meyering  <meyering@redhat.com>
48873         maint.mk: prohibit inclusion of "verify.h" without use
48874         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
48876 2011-07-19  Pádraig Brady  <P@draigBrady.com>
48878         timer-time: A new module to check for timer_settime()
48879         * m4/timer_time.m4: Check for the posix function.
48880         * modules/timer-time: Add the new module.
48881         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
48882         Mention it.
48884 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
48885             Bruno Haible  <bruno@clisp.org>
48887         pthread_sigmask: assume POSIX threads if --avoid=threadlib
48888         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
48889         not defined, assume POSIX threads and look for pthread_sigmask in
48890         $LIBS, without changing $CPPFLAGS.
48892 2011-07-19  Bruno Haible  <bruno@clisp.org>
48894         strstr: Update cross-compilation guess.
48895         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
48896         CPUs, guess no, in view of glibc
48897         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
48898         Suggested by Eric Blake. Reported by Reuben Thomas.
48900 2011-07-19  Pádraig Brady  <P@draigBrady.com>
48902         getopt-gnu: suppress core dumps from detection code
48903         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
48904         to suppress core dumps that may well occur on glibc systems.
48905         * modules/getopt-gnu: Depend on nocrash.
48907 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48909         pthread_sigmask: ensure usleep is declared
48910         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
48911         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
48913 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
48915         doc: Document NonStop portability issues.
48916         * doc/posix-functions/sigaction.texi (sigaction):
48917         * doc/posix-headers/signal.texi (signal.h):
48918         Document NonStop.  See Joachim Schmitz in
48919         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
48921 2011-07-15  Bruno Haible  <bruno@clisp.org>
48923         ffsl, ffsll: Avoid unportable behaviour.
48924         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
48926 2011-07-15  Bruno Haible  <bruno@clisp.org>
48928         ffs: More tests.
48929         * tests/test-ffs.c (NBITS): New macro.
48930         (main): Add more tests.
48931         * tests/test-ffsl.c (NBITS): New macro.
48932         (main): Add more tests.
48933         * tests/test-ffsll.c (NBITS): New macro.
48934         (main): Add more tests.
48936 2011-07-15  Eric Blake  <eblake@redhat.com>
48938         ffsl, ffsll: new modules
48939         * modules/ffsl: New file.
48940         * modules/ffsll: Likewise.
48941         * m4/ffsl.m4: Likewise.
48942         * m4/ffsll.m4: Likewise.
48943         * lib/ffsl.c: Likewise.
48944         * lib/ffsl.h: Likewise.
48945         * lib/ffsll.c: Likewise.
48946         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
48947         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
48948         * modules/string (Makefile.am): Substitute witnesses.
48949         * lib/strings.in.h (ffsl, ffsll): Declare.
48950         * modules/ffsl-tests: New test file.
48951         * modules/ffsll-tests: Likewise.
48952         * tests/test-ffsl.c: Likewise.
48953         * tests/test-ffsll.c: Likewise.
48954         * MODULES.html.sh (Integer arithmetic functions): Mention it.
48955         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
48956         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
48958         ffs: fix m4 prerequisite
48959         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
48961         ffs: avoid undefined behavior
48962         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
48963         * tests/test-ffs.c (naive, main): Avoid signed shifts.
48964         Reported by Bruno Haible.
48966 2011-07-12  Bruno Haible  <bruno@clisp.org>
48968         pthread_sigmask: Rely on module 'threadlib'.
48969         * modules/pthread_sigmask (Depends-on): Add threadlib.
48970         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
48971         is defined.
48973 2011-07-12  Bruno Haible  <bruno@clisp.org>
48975         regex: Depend on module 'strcase'.
48976         * modules/regex (Depends-on): Add strcase, for strcasecmp().
48978 2011-07-12  Jim Meyering  <meyering@redhat.com>
48980         warn-on-use: fix typo in file name
48981         * modules/snippet/warn-on-use (Files): Correct file name:
48982         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
48984 2011-07-12  Bruno Haible  <bruno@clisp.org>
48986         strings: Document module.
48987         * doc/posix-headers/strings.texi: Mention module 'strings'.
48989 2011-07-12  Bruno Haible  <bruno@clisp.org>
48991         Rename module '_Noreturn' to 'snippet/_Noreturn'.
48992         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
48993         (Files, Makefile.am): Update.
48994         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
48995         * modules/stdlib (Depends-on): Update.
48997 2011-07-12  Bruno Haible  <bruno@clisp.org>
48999         * NEWS: Mention the changes.
49001         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
49002         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
49003         (Files, Makefile.am): Update.
49004         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
49005         * modules/arpa_inet (Depends-on): Update.
49006         * modules/ctype (Depends-on): Update.
49007         * modules/dirent (Depends-on): Update.
49008         * modules/fcntl-h (Depends-on): Update.
49009         * modules/glob (Depends-on): Update.
49010         * modules/iconv-h (Depends-on): Update.
49011         * modules/inttypes-incomplete (Depends-on): Update.
49012         * modules/langinfo (Depends-on): Update.
49013         * modules/locale (Depends-on): Update.
49014         * modules/math (Depends-on): Update.
49015         * modules/netdb (Depends-on): Update.
49016         * modules/poll-h (Depends-on): Update.
49017         * modules/pty (Depends-on): Update.
49018         * modules/search (Depends-on): Update.
49019         * modules/signal (Depends-on): Update.
49020         * modules/spawn (Depends-on): Update.
49021         * modules/stdio (Depends-on): Update.
49022         * modules/stdlib (Depends-on): Update.
49023         * modules/string (Depends-on): Update.
49024         * modules/strings (Depends-on): Update.
49025         * modules/sys_file (Depends-on): Update.
49026         * modules/sys_ioctl (Depends-on): Update.
49027         * modules/sys_select (Depends-on): Update.
49028         * modules/sys_socket (Depends-on): Update.
49029         * modules/sys_stat (Depends-on): Update.
49030         * modules/sys_time (Depends-on): Update.
49031         * modules/sys_times (Depends-on): Update.
49032         * modules/sys_utsname (Depends-on): Update.
49033         * modules/sys_wait (Depends-on): Update.
49034         * modules/termios (Depends-on): Update.
49035         * modules/time (Depends-on): Update.
49036         * modules/unistd (Depends-on): Update.
49037         * modules/wchar (Depends-on): Update.
49038         * modules/wctype-h (Depends-on): Update.
49039         * MODULES.html.sh (Support for building libraries and executables):
49040         Update.
49042         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
49043         * modules/snippet/unused-parameter: Renamed from
49044         modules/unused-parameter.
49045         (Files, Makefile.am): Update.
49046         * build-aux/snippet/unused-parameter.h: Renamed from
49047         build-aux/unused-parameter.h.
49048         * modules/selinux-h (Depends-on): Update.
49049         * modules/unistr/base (Depends-on): Update.
49050         * MODULES.html.sh (Core language properties): Update.
49052         Rename module 'link-warning' to 'snippet/link-warning'.
49053         * modules/snippet/link-warning: Renamed from modules/link-warning.
49054         (Files, Makefile.am): Update.
49055         * build-aux/snippet/link-warning.h: Renamed from
49056         build-aux/link-warning.h.
49057         * MODULES.html.sh (Support for building libraries and executables):
49058         Update.
49060         Rename module 'c++defs' to 'snippet/c++defs'.
49061         * modules/snippet/c++defs: Renamed from modules/c++defs.
49062         (Files, Makefile.am): Update.
49063         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
49064         * modules/arpa_inet (Depends-on): Update.
49065         * modules/ctype (Depends-on): Update.
49066         * modules/dirent (Depends-on): Update.
49067         * modules/fcntl-h (Depends-on): Update.
49068         * modules/glob (Depends-on): Update.
49069         * modules/iconv-h (Depends-on): Update.
49070         * modules/langinfo (Depends-on): Update.
49071         * modules/locale (Depends-on): Update.
49072         * modules/math (Depends-on): Update.
49073         * modules/netdb (Depends-on): Update.
49074         * modules/poll-h (Depends-on): Update.
49075         * modules/pty (Depends-on): Update.
49076         * modules/search (Depends-on): Update.
49077         * modules/signal (Depends-on): Update.
49078         * modules/spawn (Depends-on): Update.
49079         * modules/stdio (Depends-on): Update.
49080         * modules/stdlib (Depends-on): Update.
49081         * modules/string (Depends-on): Update.
49082         * modules/strings (Depends-on): Update.
49083         * modules/sys_ioctl (Depends-on): Update.
49084         * modules/sys_select (Depends-on): Update.
49085         * modules/sys_socket (Depends-on): Update.
49086         * modules/sys_stat (Depends-on): Update.
49087         * modules/sys_time (Depends-on): Update.
49088         * modules/sys_wait (Depends-on): Update.
49089         * modules/termios (Depends-on): Update.
49090         * modules/time (Depends-on): Update.
49091         * modules/unistd (Depends-on): Update.
49092         * modules/wchar (Depends-on): Update.
49093         * modules/wctype-h (Depends-on): Update.
49095         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
49096         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
49097         (Files, Makefile.am): Update.
49098         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
49099         * modules/argv-iter (Depends-on): Update.
49100         * modules/arpa_inet (Depends-on): Update.
49101         * modules/dirent (Depends-on): Update.
49102         * modules/fcntl-h (Depends-on): Update.
49103         * modules/fnmatch (Depends-on): Update.
49104         * modules/getopt-posix (Depends-on): Update.
49105         * modules/glob (Depends-on): Update.
49106         * modules/iconv-h (Depends-on): Update.
49107         * modules/inttypes-incomplete (Depends-on): Update.
49108         * modules/locale (Depends-on): Update.
49109         * modules/math (Depends-on): Update.
49110         * modules/netdb (Depends-on): Update.
49111         * modules/search (Depends-on): Update.
49112         * modules/signal (Depends-on): Update.
49113         * modules/spawn (Depends-on): Update.
49114         * modules/stdio (Depends-on): Update.
49115         * modules/stdlib (Depends-on): Update.
49116         * modules/string (Depends-on): Update.
49117         * modules/strings (Depends-on): Update.
49118         * modules/sys_socket (Depends-on): Update.
49119         * modules/sys_stat (Depends-on): Update.
49120         * modules/sys_time (Depends-on): Update.
49121         * modules/sys_times (Depends-on): Update.
49122         * modules/sys_utsname (Depends-on): Update.
49123         * modules/time (Depends-on): Update.
49124         * modules/unistd (Depends-on): Update.
49125         * modules/wchar (Depends-on): Update.
49126         * MODULES.html.sh (Support for building libraries and executables):
49127         Update.
49129 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
49131         Improvements on _Noreturn and related modules.
49133         modules/_Exit-tests: test _Noreturn too
49134         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
49135         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
49136         (main): Use them.
49138         stdnoreturn, stdnoreturn-tests: remove modules
49139         They're not needed here and a bit premature for use elsewhere.  See
49140         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
49141         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
49142         * tests/test-stdnoreturn.c: Remove files.
49143         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
49144         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
49145         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
49146         and using noreturn.
49147         * modules/openat, modules/sigpipe-die, modules/xalloc:
49148         * modules/xmemdup0, modules/xstrtol:
49149         Remove dependency on stdnoreturn.
49151         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
49152         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
49153         Reparenthesize to avoid GCC warning.
49154         Support Microsoft's syntax.
49155         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
49157         _Noreturn-tests: remove module
49158         * modules/_Noreturn-tests: Remove.
49159         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
49160         * tests/test-_Noreturn.c: Remove.
49161         * tests/test-stdnoreturn.c: Merge from the old
49162         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
49164 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
49166         _Noreturn, stdnoreturn, and related modules.
49168         * top/maint.mk: Adjust to new noreturn support.
49169         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
49170         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
49172         xalloc: use stdnoreturn.h
49173         * lib/xalloc.h: Include <stdnoreturn.h>.
49174         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
49175         * modules/xalloc (Depends-on): Add stdnoreturn.
49177         xstrtol: use stdnoreturn.h
49178         * lib/xstrtol.h: Include <stdnoreturn.h>.
49179         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
49180         * modules/xstrtol (Depends-on): Add stdnoreturn.
49182         xmemdup0: use stdnoreturn.h
49183         * lib/xmemdup0.h: Include <stdnoreturn.h>.
49184         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
49185         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
49187         sigpipe-die: use stdnoreturn.h
49188         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
49189         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
49190         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
49192         openat: use stdnoreturn.h
49193         * lib/openat.h: Include <stdnoreturn.h>.
49194         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
49195         * modules/openat (Depends-on): Add stdnoreturn.
49197         * lib/openat-die.c (openat_save_fail): Modernize comment.
49199         * lib/xalloc-die.c (xalloc_die): Modernize comment.
49201         * lib/glthread/thread.h: Modernize comment.
49203         obstack: use _Noreturn
49204         * lib/obstack.c (__attribute__): Remove macro.
49205         (print_and_abort): Use _Noreturn.
49207         c-stack: use _Noreturn
49208         * lib/c-stack.c (die, overflow_handler, segv_handler):
49209         Use _Noreturn rather than __attribute__((noreturn)).
49211         argmatch-tests, exclude_tests: use _Noreturn
49212         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
49213         Remove.
49214         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
49216         stdlib: use _Noreturn
49217         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
49218         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
49219         * modules/stdlib (Depends-on): Add _Noreturn.
49220         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
49222         stdnoreturn-tests: new module
49223         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
49225         stdnoreturn: new module
49226         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
49227         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
49229         _Noreturn-tests: new module
49230         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
49232         _Noreturn: new module
49233         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
49234         New section, mentioning it.
49235         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
49237         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
49239 2011-07-11  Eric Blake  <eblake@redhat.com>
49241         ffs: new module
49242         * modules/ffs: New file.
49243         * m4/ffs.m4: Likewise.
49244         * lib/ffs.c: Likewise.
49245         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
49246         * modules/strings (Makefile.am): Substitute witness.
49247         (Depends-on): Add c++defs.
49248         * lib/strings.in.h (ffs): Declare.
49249         * modules/ffs-tests: New test file.
49250         * tests/test-ffs.c: Test new module.
49251         * MODULES.html.sh (Integer arithmetic functions): Mention it.
49252         * doc/posix-functions/ffs.texi (ffs): Likewise.
49254         regex: avoid compiler warning
49255         * lib/regex.c (includes): Include <strings.h>, for use of
49256         strcasecmp in regcomp.c.
49257         Reported by Joachim Schmitz.
49259 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49261         stdint: respect system's intmax_t if INTMAX_MAX
49262         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
49263         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
49264         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
49265         long but int64_t is long long, and where we will clash with the
49266         system intmax_t if we override it.  See
49267         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
49268         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
49269         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
49270         similarly for UINTMAX_C.
49272 2011-07-08  Bruno Haible  <bruno@clisp.org>
49274         pthread_sigmask tests: Avoid a compiler warning.
49275         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
49276         non-zero.
49278         sigprocmask tests: A better way to avoid a compiler warning.
49279         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
49280         (main): Complain if system() returns non-zero.
49281         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
49283 2011-07-08  Bruno Haible  <bruno@clisp.org>
49285         pthread_sigmask: Work around IRIX bug.
49286         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
49287         bug.
49288         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
49289         there may be unblocked pending signals.
49290         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
49292 2011-07-08  Bruno Haible  <bruno@clisp.org>
49294         pthread_sigmask: Work around Cygwin bug.
49295         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
49296         bug.
49297         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
49298         the system's pthread_sigmask function.
49299         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
49301 2011-07-08  Bruno Haible  <bruno@clisp.org>
49303         pthread_sigmask: Work around bug in single-threaded implementation.
49304         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
49305         FreeBSD, HP-UX, Solaris bug.
49306         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
49307         * lib/pthread_sigmask.c: Include <stddef.h>.
49308         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
49309         the system's pthread_sigmask function.
49310         * modules/pthread_sigmask (configure.ac): Invoke
49311         gl_PREREQ_PTHREAD_SIGMASK.
49312         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
49313         HP-UX, Solaris.
49315 2011-07-08  Eric Blake  <eblake@redhat.com>
49317         test-sigprocmask: avoid compiler warning
49318         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
49319         * tests/test-sigprocmask.c (main): Use it to silence warning.
49320         Reported by Jim Meyering.
49322         test-snprintf: avoid compiler warning
49323         * tests/test-snprintf.c (main): Avoid shadowed declaration.
49324         * tests/test-vsnprintf.c (main): Likewise.
49325         Reported by Jim Meyering.
49327 2011-07-08  Bruno Haible  <bruno@clisp.org>
49329         Tests for module 'pthread_sigmask'.
49330         * modules/pthread_sigmask-tests: New file.
49331         * tests/test-pthread_sigmask1.c: New file, based on
49332         tests/test-sigprocmask.c.
49333         * tests/test-pthread_sigmask2.c: New file.
49335 2011-07-08  Jim Meyering  <meyering@redhat.com>
49337         test-getopt.h: avoid warning about an unused variable
49338         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
49340 2011-07-07  Jim Meyering  <meyering@redhat.com>
49342         maint: reduce list of files exempt from sc_prohibit_leading_TABs
49343         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
49344         now that it no longer contains leading TABs.
49345         Remove unused "url=FIXME" statement.
49347 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49349         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
49350         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
49351         When gl_THREADLIB is not in use, assume that the POSIX sematics
49352         are desired.  This is better for Emacs, which uses POSIX semantics
49353         on GNUish and/or POSIXish platforms, and does not use threads at
49354         all otherwise.
49356         pthread_sigmask: fix typo when testing for libraries
49357         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
49358         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
49360 2011-07-08  Eric Blake  <eblake@redhat.com>
49362         fts: introduce FTS_NOATIME
49363         * lib/fts_.h (FTS_NOATIME): New bit flag.
49364         (FTS_OPTIONMASK): Adjust.
49365         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
49366         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
49368 2011-07-08  Bruno Haible  <bruno@clisp.org>
49370         Tests for module 'thread'.
49371         * modules/thread-tests: New file.
49372         * tests/test-thread_self.c: New file.
49373         * tests/test-thread_create.cc: New file.
49375 2011-07-08  Bruno Haible  <bruno@clisp.org>
49377         thread: Avoid gcc warnings when using gl_thread_self().
49378         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
49379         'void *'.
49380         (gl_thread_self_pointer): Update.
49382 2011-07-07  Bruno Haible  <bruno@clisp.org>
49384         signal-c++-tests: Check declaration of pthread_sigmask.
49385         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
49386         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
49387         $(LIB_PTHREAD_SIGMASK).
49389 2011-07-07  Bruno Haible  <bruno@clisp.org>
49391         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
49392         * lib/signal.in.h (pthread_sigmask): Override if
49393         REPLACE_PTHREAD_SIGMASK is 1.
49394         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49395         REPLACE_PTHREAD_SIGMASK.
49396         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
49397         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
49398         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
49399         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
49400         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
49402 2011-07-07  Bruno Haible  <bruno@clisp.org>
49404         pthread_sigmask: Ensure declaration in <signal.h>.
49405         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
49406         include <pthread.h>.
49407         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
49408         problem.
49410 2011-07-07  Bruno Haible  <bruno@clisp.org>
49412         pthread_sigmask: Document the module.
49413         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
49415 2011-07-07  Bruno Haible  <bruno@clisp.org>
49417         pthread_sigmask: Follow gnulib conventions.
49418         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
49419         gl_PTHREAD_SIGMASK.
49420         * modules/pthread_sigmask (configure.ac): Update.
49422 2011-07-07  Bruno Haible  <bruno@clisp.org>
49424         pthread_sigmask: Make declaration C++ safe.
49425         * lib/signal.in.h: In two special conditions, just do an #include_next.
49426         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
49427         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
49428         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49429         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
49430         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
49431         not REPLACE_PTHREAD_MASK.
49432         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
49433         not REPLACE_PTHREAD_MASK.
49434         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
49436 2011-07-07  Bruno Haible  <bruno@clisp.org>
49438         pthread_sigmask: Fix return value.
49439         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
49440         * lib/pthread_sigmask.c: New file.
49441         * modules/pthread_sigmask (Files): Add it.
49442         (configure.ac): Invoke AC_LIBOBJ.
49444 2011-07-07  Eric Blake  <eblake@redhat.com>
49446         getopt: more portable argv creation
49447         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
49448         const, use char arrays rather than strings.
49449         Suggested by Paul Eggert.
49451 2011-07-07  Bruno Haible  <bruno@clisp.org>
49453         Tests for module 'sigprocmask'.
49454         * modules/sigprocmask-tests: New file.
49455         * tests/test-sigprocmask.c: New file.
49457 2011-07-07  Bruno Haible  <bruno@clisp.org>
49459         float tests: Tweak.
49460         * tests/test-float.c (main): Tweak skip message.
49462 2011-07-07  Eric Blake  <eblake@redhat.com>
49464         getopt: avoid compiler warning during configure
49465         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
49466         assigning string literals to non-const pointer.
49468         getopt-gnu: avoid crash in glibc getopt
49469         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
49470         * tests/test-getopt.h (test_getopt): Enhance test.
49471         * tests/test-getopt_long.h (test_getopt_long): Likewise.
49472         * doc/posix-functions/getopt.texi (getopt): Document it.
49473         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
49474         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
49475         Likewise.
49477 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
49479         getopt: handle W; without long options in getopt [BZ #12922]
49480         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
49481         but no long options are defined, just return 'W'.
49483 2011-07-07  Bruno Haible  <bruno@clisp.org>
49485         Avoid literal tabs.
49486         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
49487         variable containing a tab instead of a literal tab.
49488         Reported by Jim Meyering.
49490 2011-07-07  Bruno Haible  <bruno@clisp.org>
49492         Comments.
49493         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
49495 2011-07-06  Bruno Haible  <bruno@clisp.org>
49497         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
49498         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
49499         <winsock2.h>.
49500         (rpl_fd_isset, FD_ISSET): New definitions, copied from
49501         lib/sys_socket.in.h.
49502         (close, gethostname): Hide declarations from <winsock2.h>.
49503         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49504         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
49505         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
49506         (select): Don't override if gnulib's <sys/select.h> was already
49507         included.
49508         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
49509         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
49510         setsockopt, shutdown, select): Tweak indentation.
49512 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49514         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
49515         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
49516         in an application that does not use the sys_select module.
49518 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
49520         poll: do not return 0 on timeout=-1
49521         * lib/poll.c: Loop with yield if no events occurred.
49523 2011-07-06  Eric Blake  <eblake@redhat.com>
49525         pthread_sigmask: always replace when not using pthread
49526         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
49527         replacement when using some threading other than pthread.  Fix
49528         logic bug.
49530 2011-07-06  Bruno Haible  <bruno@clisp.org>
49532         Comments.
49533         * m4/printf.m4: Update comments about mingw.
49535 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49537         sys_select: define sigset_t more portably
49538         * lib/sys_select.in.h: Always include <sys/types.h>, since
49539         we now need sigset_t and mingw defines it there.
49540         Include <signal.h> before split inclusion guard, to avoid
49541         mishaps on Solaris, whose <signal.h> eventually includes us.
49542         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
49543         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
49544         which come from ...
49545         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
49546         gl_CHECK_TYPE_SIGSET_T.
49547         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
49548         does the real work.
49549         * modules/sys_select (Depends-on): Add 'signal'.
49551         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
49552         Suggested by Bruno Haible.
49554         pselect: Use pthread_sigmask, not sigprocmask.
49555         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
49556         multithreaded apps better than sigprocmask does.
49557         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
49558         sigprocmask directly.
49560 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49562         * lib/pselect.c (pselect): Use plain name, without "rpl_".
49563         Don't #undef,  since we don't need any underlying pselect.
49564         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
49565         (Depends-on): Add select.
49566         (Link): Add $(LIBSOCKET).
49567         These changes suggested by Bruno Haible.
49569         pselect: document better
49570         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
49571         * doc/posix-functions/pselect.texi (pselect): Document new module.
49573         pthread_sigmask: new module
49574         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
49575         * doc/posix-functions/pthread_sigmask.texi: Document new module.
49576         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
49577         This is done only as a macro; I don't know how well that'll
49578         work for C++.  Move <sys/types.h> include before the include_next,
49579         to avoid mishap on Solaris.
49580         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
49581         * modules/signal (Makefile.am): Substitute the check's results.
49582         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
49584         test-pselect: new module
49585         * modules/pselect-tests, tests/test-pselect.c: New files.
49586         * tests/test-select.c, tests/test-sys_select-c++.cc:
49587         If TEST_PSELECT is defined, test pselect instead of testing select.
49589         * tests/test-sys_select.c (sigset_t): Test for it, too.
49590         Suggested by Bruno Haible.
49592 2011-07-05  Eric Blake  <eblake@redhat.com>
49594         snprintf: guarantee %1$d, for libintl
49595         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
49596         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49597         * doc/posix-functions/snprintf.texi (snprintf): Update.
49598         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49599         * tests/test-snprintf.c (main): Enhance test.
49600         * tests/test-vsnprintf.c (main): Likewise.
49602 2011-07-05  Jim Meyering  <meyering@redhat.com>
49604         maint: exempt stdio-read.c and stdio-write.c from the cppi check
49605         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
49606         per Bruno's request, to accommodate this idiom (no space after "#")
49607         even when the function is inside an #if block:
49608         char *
49609         gets (char *s)
49610         #undef gets
49611         {
49612           ...
49613         }
49615 2011-07-04  Jim Meyering  <meyering@redhat.com>
49617         maint: indent with spaces, not TABs, and add a rule to check this
49618         * tests/test-userspec.c: Indent with spaces, not TABs.
49619         * tests/test-argp.c: Likewise.
49620         * tests/test-c-stack2.sh: Likewise.
49621         * tests/test-parse-duration.sh: Likewise
49622         * m4/strtod.m4: Likewise.
49623         * m4/alloca.m4: Likewise.
49624         * m4/pselect.m4: Likewise.
49625         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
49627 2011-07-03  Jim Meyering  <meyering@redhat.com>
49629         maint.mk: correct omissions in prohibit_argmatch_without_use check
49630         This rule would mistakenly report that argmatch.h is included without
49631         use even when both the argmatch and invalid_arg macro were used.
49632         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
49633         of argmatch and invalid_arg.
49635 2011-07-03  Bruno Haible  <bruno@clisp.org>
49637         Comments about EINTR.
49638         * lib/safe-read.h: Explain the purpose of this module.
49639         * lib/safe-write.h: Likewise.
49640         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
49641         module.
49642         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
49643         module.
49644         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49646 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49648         xnanosleep: Rewrite to use new dtotimespec module.
49649         It has the conversion code that used to be in xnanosleep.
49650         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
49651         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
49652         (TIME_T_MAX): Remove.
49653         (xnanosleep): Rewrite in terms of dtotimespec.
49654         * modules/xnanosleep (Depends-on): Add dtotimespec.
49655         Remove intprops, stdbool.
49657         timespec-add, timespec-sub: new modules
49658         * lib/timespec.h (timespec_add, timespec_sub): New decls.
49659         * lib/timespec-add.c, lib/timespec-sub.c:
49660         * modules/timespec-add, modules/timespec-sub: New files.
49662         dtotimespec: new module
49663         * lib/timespec.h (dtotimespec): New decl.
49664         * lib/dtotimespec.c, modules/dtotimespec: New files.
49666         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
49668         pselect: new module
49669         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
49670         (pselect): New decls.
49671         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
49672         since the standard pselect decl uses 'restrict'.
49673         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
49674         HAVE_PSELECT, REPLACE_PSELECT.
49675         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
49676         HAVE_PSELECT, REPLACE_PSELECT.
49677         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
49679         sys_select: don't depend on sys_socket
49680         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
49681         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
49682         This fix works on GNU and GNU-like platforms, but has not been tested
49683         on native Windows.
49684         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
49685         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
49686         gl_HEADER_SYS_SOCKET.
49687         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
49688         gl_PREREQ_SYS_H_WINSOCK2.
49690 2011-06-29  Eric Blake  <eblake@redhat.com>
49692         pipe2: fix C89 compile problem
49693         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
49694         Reported by Bruno Haible.
49696         pipe, pipe2: don't corrupt fd on error
49697         * lib/pipe.c (pipe): Leave fd unchanged on error.
49698         * lib/pipe2.c (pipe2): Likewise.
49699         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
49700         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
49702 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
49704         mmap-anon: do not use regular expressions inadvertently
49705         * m4/mmap-anon.m4: Remove trailing period from strings sought
49706         in the output.
49708 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
49710         nanosleep: fix integer overflow problem
49711         * lib/nanosleep.c (my_usleep): Don't assume signed integer
49712         arithmetic wraps around on overflow.
49714         nanosleep: simplify carrying
49715         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
49716         first call to the underyling nanosleep, not for the last one.
49717         This doesn't fix any bugs, but it simplifies the computation of
49718         the remaining delay.  Found while auditing integer overflow issues.
49720         dup2: remove test for existence of fcntl
49721         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
49722         "#if HAVE_FCNTL", in the configure-time test program.
49723         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
49724         and therefore speeds up "configure" a bit.  Found while
49725         adding the dup2 module to Emacs.
49727 2011-06-24  Eric Blake  <eblake@redhat.com>
49729         maint.mk: enhance useless header checks
49730         * top/maint.mk (_sc_header_without_use): Check both include
49731         styles.
49732         (sc_prohibit_assert_without_use)
49733         (sc_prohibit_close_stream_without_use)
49734         (sc_prohibit_getopt_without_use)
49735         (sc_prohibit_quotearg_without_use)
49736         (sc_prohibit_quote_without_use)
49737         (sc_prohibit_long_options_without_use)
49738         (sc_prohibit_inttostr_without_use)
49739         (sc_prohibit_ignore_value_without_use)
49740         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
49741         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
49742         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
49743         (sc_prohibit_hash_pjw_without_use)
49744         (sc_prohibit_safe_read_without_use)
49745         (sc_prohibit_argmatch_without_use)
49746         (sc_prohibit_canonicalize_without_use)
49747         (sc_prohibit_root_dev_ino_without_use)
49748         (sc_prohibit_openat_without_use)
49749         (sc_prohibit_c_ctype_without_use)
49750         (sc_prohibit_signal_without_use)
49751         (sc_prohibit_stdio--_without_use)
49752         (sc_prohibit_stdio-safer_without_use)
49753         (sc_prohibit_strings_without_use)
49754         (sc_prohibit_intprops_without_use)
49755         (sc_prohibit_stddef_without_use)
49756         (sc_prohibit_xfreopen_without_use): Update clients.
49758 2011-06-24  Jim Meyering  <meyering@redhat.com>
49760         syntax-check: keep one maint.mk rule in sync with its header
49761         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
49762         of the bug Eric has just fixed, with today's commit 25e4c2ec.
49763         I prefer to avoid temporary files here, so use <(...), but that
49764         is not supported by /bin/sh, so...
49765         (SHELL): Define to /bin/bash.
49767 2011-06-24  Eric Blake  <eblake@redhat.com>
49769         maint.mk: update sc_prohibit_intprops_without_use
49770         * top/maint.mk (_intprops_names): Match recent changes.
49772 2011-06-24  Bruno Haible  <bruno@clisp.org>
49774         strerror-override: No-op tweak.
49775         * lib/strerror-override.h (strerror_override): Reorder conditions,
49776         for consistency with lib/strerror-override.c.
49778 2011-06-23  Eric Blake  <eblake@redhat.com>
49780         maint.mk: test further PATH_MAX issues
49781         * top/maint.mk (sc_prohibit_path_max_array): Rename...
49782         (sc_prohibit_path_max_allocation): ...and also test alloca.
49783         Suggested by Jim Meyering.
49785 2011-06-22  Eric Blake  <eblake@redhat.com>
49787         maint.mk: add syntax-check to avoid char[PATH_MAX]
49788         * top/maint.mk (sc_prohibit_path_max_array): New rule.
49790         stat: be robust to PATH_MAX definition
49791         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
49792         * modules/stat (Depends-on): Add verify.
49794         link: work around IRIX bug
49795         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
49796         * lib/link.c (rpl_link): Work around it.
49797         * tests/test-link.h (test_link): Enhance test.
49798         * doc/posix-functions/link.texi (link): Document the bug.
49800         getopt: silence clang warning
49801         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
49802         dereference.
49803         Reported by Gustavo Martin Domato.
49805 2011-06-22  Jim Meyering  <meyering@redhat.com>
49807         bootstrap: do not insert a blank line into each .gitignore file
49808         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
49810 2011-06-21  Eric Blake  <eblake@redhat.com>
49812         perror: test for output mismatch
49813         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
49814         perror on IRIX.
49816         strerror_r: fix OpenBSD behavior on out-of-range
49817         * lib/strerror_r.c (strerror_r): Always use maximal string.
49818         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
49820         strerror_r: fix OpenBSD behavior on 0
49821         * lib/strerror-override.c (strerror_override): Also override 0
49822         when needed.
49823         * lib/strerror-override.h (strerror_override): Likewise.
49824         * lib/strerror.c (strerror): Simplify, now that 0 override is done
49825         earlier.
49826         * lib/strerror_r.c (strerror_r): Likewise.
49827         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
49828         behavior...
49829         (gl_FUNC_STRERROR_0): ...into new macro.
49830         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
49831         is overridden.
49832         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
49833         * modules/strerror-override (Files): Add strerror.m4.
49834         (configure.ac): Also provide override for 0 when needed.
49835         * doc/posix-functions/strerror.texi (strerror): Document this.
49836         * doc/posix-functions/perror.texi (perror): Likewise.
49838         perror: adjust array size
49839         * modules/perror (Depends-on): Add strerror-override.
49840         * lib/perror.c (perror): Use it to avoid magic number.
49842         strerror-override: reduce size
49843         * lib/strerror-override.c (strerror_override): Use fewer lines.
49845 2011-06-20  Bruno Haible  <bruno@clisp.org>
49847         pathmax: Ensure correct value for PATH_MAX on HP-UX.
49848         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
49850 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49852         alloca: port to compilers that can optimize like GCC 4.6.0
49853         * lib/alloca.c (find_stack_direction): New signature, taken from
49854         Autoconf git.  This works with GCC 4.6.0.  This code should never
49855         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
49856         be used with other compilers that optimize as well as GCC 4.6.0 does.
49857         (alloca): Adjust to new signature.
49858         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
49859         New macro, which patches Autoconf in a similar way.
49861         c-stack: stop worrying about stack direction
49862         * lib/c-stack.c (find_stack_direction): Remove.
49863         (segv_handler): Don't worry about stack direction growth, as it's
49864         too much of a pain to configure this correctly, given how compilers
49865         are optimizing-away our stack-growth detection code.  Instead, assume
49866         that any access to just before or just after the stack is OK.
49867         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
49868         Don't require AC_FUNC_ALLOCA; no longer needed.
49870 2011-06-20  Eric Blake  <eblake@redhat.com>
49872         test-stat: don't allocate PATH_MAX bytes
49873         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
49874         PATH_MAX-sized buffer.
49875         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
49876         * modules/stat-tests (Depends-on): Likewise.
49877         * tests/test-fstatat.c (includes): Drop pathmax.h.
49878         * tests/test-stat.c (includes): Likewise.
49879         Reported by Bruno Haible.
49881 2011-06-20  Bruno Haible  <bruno@clisp.org>
49883         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
49884         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
49885         * lib/float.c: New file.
49886         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
49887         REPLACE_FLOAT_LDBL.
49888         * modules/float (Files): Add lib/float.c.
49889         (configure.ac): Invoke AC_LIBOBJ.
49890         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
49892 2011-06-20  Bruno Haible  <bruno@clisp.org>
49894         Tests for module 'float'.
49895         * modules/float-tests: New file.
49896         * tests/test-float.c: New file.
49898 2011-06-19  Bruno Haible  <bruno@clisp.org>
49900         isinf: Coding style.
49901         * lib/isinf.c: Use GNU coding style.
49903 2011-06-19  Bruno Haible  <bruno@clisp.org>
49905         linkat test: Avoid test failure on AIX 7.1.
49906         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
49907         * tests/test-link.h (test_link): Likewise.
49909 2011-06-19  Bruno Haible  <bruno@clisp.org>
49911         pread test: Avoid test failure on OpenBSD 4.9.
49912         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
49914 2011-06-19  Bruno Haible  <bruno@clisp.org>
49916         sprintf-posix: Fix test failure on AIX 7.1.
49917         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
49918         * doc/posix-functions/dprintf.texi: Mention limited precision problem
49919         on AIX.
49920         * doc/posix-functions/fprintf.texi: Likewise.
49921         * doc/posix-functions/printf.texi: Likewise.
49922         * doc/posix-functions/snprintf.texi: Likewise.
49923         * doc/posix-functions/sprintf.texi: Likewise.
49924         * doc/posix-functions/vdprintf.texi: Likewise.
49925         * doc/posix-functions/vfprintf.texi: Likewise.
49926         * doc/posix-functions/vprintf.texi: Likewise.
49927         * doc/posix-functions/vsnprintf.texi: Likewise.
49928         * doc/posix-functions/vsprintf.texi: Likewise.
49930 2011-06-19  Bruno Haible  <bruno@clisp.org>
49932         roundl-ieee: Fix test failure on AIX 7.1.
49933         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
49934         * doc/posix-functions/roundl.texi: Mention problem with negative
49935         arguments.
49937 2011-06-19  Bruno Haible  <bruno@clisp.org>
49939         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
49940         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
49941         * doc/posix-functions/round.texi: Mention problem with negative
49942         arguments.
49943         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
49945 2011-06-19  Bruno Haible  <bruno@clisp.org>
49947         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
49948         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
49949         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
49950         * doc/posix-functions/roundf.texi: Mention problem with negative
49951         arguments.
49952         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
49954 2011-06-19  Bruno Haible  <bruno@clisp.org>
49956         ceilf-ieee: Work around bug on MacOS X 10.5.
49957         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
49959         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
49960         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
49961         IEEE compliant, avoid compiler optimizations.
49962         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
49963         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49964         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
49965         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49966         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49967         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49968         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49969         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49970         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49971         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49973 2011-06-19  Bruno Haible  <bruno@clisp.org>
49975         ceilf-ieee: Work around bug on AIX 7.1.
49976         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
49977         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
49979 2011-06-19  Bruno Haible  <bruno@clisp.org>
49981         ceil-ieee: Work around bug on AIX 7.1.
49982         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
49983         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
49985 2011-06-18  Bruno Haible  <bruno@clisp.org>
49987         fsync test: Avoid test failure on MacOS X and AIX.
49988         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
49989         EINVAL.
49991 2011-06-18  Bruno Haible  <bruno@clisp.org>
49993         openat, fdopendir tests: Fix link errors.
49994         * modules/openat-tests (Depends-on): Add progname.
49995         * modules/fdopendir-tests (Depends-on): Likewise.
49996         * tests/test-fchownat.c: Include progname.h.
49997         (main): Call set_program_name.
49998         * tests/test-fstatat.c: Include progname.h.
49999         (main): Call set_program_name.
50000         * tests/test-mkdirat.c: Include progname.h.
50001         (main): Call set_program_name.
50002         * tests/test-openat.c: Include progname.h.
50003         (main): Call set_program_name.
50004         * tests/test-unlinkat.c: Include progname.h.
50005         (main): Call set_program_name.
50006         * tests/test-fdopendir.c: Include progname.h.
50007         (main): Call set_program_name.
50009 2011-06-18  Bruno Haible  <bruno@clisp.org>
50011         Doc update.
50012         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
50013         HP-UX.
50014         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
50016 2011-06-18  Bruno Haible  <bruno@clisp.org>
50018         getcwd tests: Avoid compilation error on HP-UX 11.31.
50019         * modules/getcwd-tests (Depends-on): Add pathmax.
50020         * tests/test-getcwd.c: Include pathmax.h.
50022 2011-06-18  Bruno Haible  <bruno@clisp.org>
50024         isfinite, isinf: Fix link error on AIX 6 and 7.
50025         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
50026         needed, also test the macro with a 'float' argument.
50027         * m4/isinf.m4 (gl_ISINF): Likewise.
50029 2011-06-18  Bruno Haible  <bruno@clisp.org>
50031         getloadavg: Don't clobber LIBS. Regression from previous commit.
50032         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
50033         AC_CHECK_LIB from here...
50034         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
50035         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
50036         gl_func_getloadavg_done.
50037         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50039 2011-06-18  Bruno Haible  <bruno@clisp.org>
50041         clean-temp: Improve documentation.
50042         * lib/clean-temp.h: Explain better how to use this module.
50043         Reported by John Darrington <john@darrington.wattle.id.au>.
50045 2011-06-17  Bruno Haible  <bruno@clisp.org>
50047         pread, pwrite: Avoid cc warning on AIX.
50048         * lib/unistd.in.h (pread): Undefine before defining as a macro.
50049         (pwrite): Likewise.
50051 2011-06-17  Bruno Haible  <bruno@clisp.org>
50053         spawn-pipe tests: Fix link error.
50054         * tests/test-spawn-pipe-child.c: Undefine fprintf.
50055         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50057 2011-06-17  Bruno Haible  <bruno@clisp.org>
50059         Tests: Remove unnecessary dependency.
50060         * modules/canonicalize-tests (Depends-on): Remove progname.
50061         * modules/chown-tests (Depends-on): Likewise.
50062         * modules/dirname-tests (Depends-on): Likewise.
50063         * modules/fdopendir-tests (Depends-on): Likewise.
50064         * modules/fdutimensat-tests (Depends-on): Likewise.
50065         * modules/hash-tests (Depends-on): Likewise.
50066         * modules/lchown-tests (Depends-on): Likewise.
50067         * modules/linkat-tests (Depends-on): Likewise.
50068         * modules/renameat-tests (Depends-on): Likewise.
50069         * modules/spawn-pipe-tests (Depends-on): Likewise.
50070         * modules/utimensat-tests (Depends-on): Likewise.
50072 2011-06-17  Bruno Haible  <bruno@clisp.org>
50074         spawn-pipe tests: Fix link error.
50075         * tests/test-spawn-pipe-child.c: Undefine fflush.
50077 2011-06-17  Bruno Haible  <bruno@clisp.org>
50079         Fix tests link errors.
50080         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
50081         * modules/chown-tests (Makefile.am): Don't link test-chown with
50082         LIBINTL.
50083         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
50084         LIBINTL.
50085         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
50086         LIBINTL.
50087         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
50088         LIBINTL.
50090 2011-06-16  Bruno Haible  <bruno@clisp.org>
50092         crypto/gc-sha1: Fix recent regression.
50093         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
50094         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
50096         crypto/gc-md5: Fix recent regression.
50097         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
50099         crypto/gc-md4: Fix recent regression.
50100         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
50101         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
50103         crypto/gc-arctwo: Fix recent regression.
50104         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
50105         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
50107         crypto/gc-rijndael: Fix recent regression.
50108         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
50109         (configure.ac): Invoke AC_LIBOBJ here.
50110         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
50111         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50113         crypto/gc-hmac-sha1: Fix recent regression.
50114         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
50115         (configure.ac): Invoke AC_LIBOBJ here.
50116         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
50117         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50119         crypto/gc-hmac-md5: Fix recent regression.
50120         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
50121         (configure.ac): Invoke AC_LIBOBJ here.
50122         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
50123         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50125         crypto/gc-des: Fix recent regression.
50126         * modules/crypto/gc-des (Files): Remove m4/des.m4.
50127         (configure.ac): Invoke AC_LIBOBJ here.
50128         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
50129         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50131         crypto/gc-arcfour: Fix recent regression.
50132         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
50133         (configure.ac): Invoke AC_LIBOBJ here.
50134         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
50135         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50137 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
50139         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
50140         After the 2011-05-21 change, this macro requires
50141         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
50142         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
50144 2011-06-16  Bruno Haible  <bruno@clisp.org>
50146         fprintftime: Move AC_LIBOBJ invocations to module description.
50147         * m4/fprintftime.m4: Remove file.
50148         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
50149         (configure.ac): Remove gl_FPRINTFTIME call.
50150         (Makefile.am): Augment lib_SOURCES.
50151         Reported by Jim Meyering.
50153 2011-06-16  Bruno Haible  <bruno@clisp.org>
50155         tmpfile-safer: Finish 2011-05-23 commit.
50156         * m4/stdio-safer.m4: Really remove file.
50157         Reported by Jim Meyering.
50159 2011-06-16  Bruno Haible  <bruno@clisp.org>
50161         syntax-check: Fix typo.
50162         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
50163         printf-posix.m4.
50164         Reported by Jim Meyering.
50166 2011-06-13  Jim Meyering  <meyering@redhat.com>
50168         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
50169         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
50171 2011-05-23  Bruno Haible  <bruno@clisp.org>
50173         yesno: Move AC_LIBOBJ invocations to module description.
50174         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
50175         * modules/yesno (Makefile.am): Augment lib_SOURCES.
50177 2011-05-23  Bruno Haible  <bruno@clisp.org>
50179         xstrtol: Move AC_LIBOBJ invocations to module description.
50180         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
50181         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
50183 2011-05-23  Bruno Haible  <bruno@clisp.org>
50185         xstrtold: Move AC_LIBOBJ invocations to module description.
50186         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
50187         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
50189 2011-05-23  Bruno Haible  <bruno@clisp.org>
50191         xstrtod: Move AC_LIBOBJ invocations to module description.
50192         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
50193         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
50195 2011-05-23  Bruno Haible  <bruno@clisp.org>
50197         xnanosleep: Move AC_LIBOBJ invocations to module description.
50198         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
50199         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
50201 2011-05-23  Bruno Haible  <bruno@clisp.org>
50203         xgetcwd: Move AC_LIBOBJ invocations to module description.
50204         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
50205         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
50207 2011-05-23  Bruno Haible  <bruno@clisp.org>
50209         xalloc: Move AC_LIBOBJ invocations to module description.
50210         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
50211         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
50213 2011-05-23  Bruno Haible  <bruno@clisp.org>
50215         write-any-file: Move AC_LIBOBJ invocations to module description.
50216         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
50217         invocation.
50218         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
50220 2011-05-23  Bruno Haible  <bruno@clisp.org>
50222         utimens: Move AC_LIBOBJ invocations to module description.
50223         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
50224         * modules/utimens (Makefile.am): Augment lib_SOURCES.
50226 2011-05-23  Bruno Haible  <bruno@clisp.org>
50228         utimecmp: Move AC_LIBOBJ invocations to module description.
50229         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
50230         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
50232 2011-05-23  Bruno Haible  <bruno@clisp.org>
50234         userspec: Move AC_LIBOBJ invocations to module description.
50235         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
50236         * modules/userspec (Makefile.am): Augment lib_SOURCES.
50238 2011-05-23  Bruno Haible  <bruno@clisp.org>
50240         unlinkdir: Move AC_LIBOBJ invocations to module description.
50241         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
50242         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
50244 2011-05-23  Bruno Haible  <bruno@clisp.org>
50246         unistd-safer: Move AC_LIBOBJ invocations to module description.
50247         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
50248         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
50250 2011-05-23  Bruno Haible  <bruno@clisp.org>
50252         tempname: Move AC_LIBOBJ invocations to module description.
50253         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
50254         * modules/tempname (Makefile.am): Augment lib_SOURCES.
50256 2011-05-23  Bruno Haible  <bruno@clisp.org>
50258         strftime: Move AC_LIBOBJ invocations to module description.
50259         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
50260         * modules/strftime (Makefile.am): Augment lib_SOURCES.
50262 2011-05-23  Bruno Haible  <bruno@clisp.org>
50264         stdlib-safer: Move AC_LIBOBJ invocations to module description.
50265         * m4/stdlib-safer.m4: Remove file.
50266         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
50267         (configure.ac): Remove gl_STDLIB_SAFER call.
50268         (Makefile.am): Augment lib_SOURCES.
50270 2011-05-23  Bruno Haible  <bruno@clisp.org>
50272         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
50273         * m4/stdio-safer.m4: Remove file.
50274         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
50275         (configure.ac): Remove gl_TMPFILE_SAFER call.
50276         (Makefile.am): Augment lib_SOURCES.
50278 2011-05-23  Bruno Haible  <bruno@clisp.org>
50280         popen-safer: Move AC_LIBOBJ invocations to module description.
50281         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
50282         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
50283         (configure.ac): Remove gl_POPEN_SAFER call.
50284         (Makefile.am): Augment lib_SOURCES.
50286 2011-05-23  Bruno Haible  <bruno@clisp.org>
50288         freopen-safer: Move AC_LIBOBJ invocations to module description.
50289         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
50290         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
50291         (configure.ac): Remove gl_FREOPEN_SAFER call.
50292         (Makefile.am): Augment lib_SOURCES.
50294 2011-05-23  Bruno Haible  <bruno@clisp.org>
50296         fopen-safer: Move AC_LIBOBJ invocations to module description.
50297         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
50298         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
50299         (configure.ac): Remove gl_FOPEN_SAFER call.
50300         (Makefile.am): Augment lib_SOURCES.
50302 2011-05-23  Bruno Haible  <bruno@clisp.org>
50304         crypto/sha512: Move AC_LIBOBJ invocations to module description.
50305         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
50306         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
50308 2011-05-23  Bruno Haible  <bruno@clisp.org>
50310         crypto/sha256: Move AC_LIBOBJ invocations to module description.
50311         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
50312         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
50314 2011-05-23  Bruno Haible  <bruno@clisp.org>
50316         crypto/sha1: Move AC_LIBOBJ invocations to module description.
50317         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
50318         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
50320 2011-05-23  Bruno Haible  <bruno@clisp.org>
50322         settime: Move AC_LIBOBJ invocations to module description.
50323         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
50324         * modules/settime (Makefile.am): Augment lib_SOURCES.
50326 2011-05-23  Bruno Haible  <bruno@clisp.org>
50328         savedir: Move AC_LIBOBJ invocations to module description.
50329         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
50330         * modules/savedir (Makefile.am): Augment lib_SOURCES.
50332 2011-05-23  Bruno Haible  <bruno@clisp.org>
50334         save-cwd: Move AC_LIBOBJ invocations to module description.
50335         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
50336         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
50338 2011-05-23  Bruno Haible  <bruno@clisp.org>
50340         same: Move AC_LIBOBJ invocations to module description.
50341         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
50342         * modules/same (Makefile.am): Augment lib_SOURCES.
50344 2011-05-23  Bruno Haible  <bruno@clisp.org>
50346         safe-write: Move AC_LIBOBJ invocations to module description.
50347         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
50348         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
50349         instead of gl_SAFE_WRITE.
50350         (Makefile.am): Augment lib_SOURCES.
50352 2011-05-23  Bruno Haible  <bruno@clisp.org>
50354         safe-read: Move AC_LIBOBJ invocations to module description.
50355         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
50356         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
50357         of gl_SAFE_READ.
50358         (Makefile.am): Augment lib_SOURCES.
50360 2011-05-23  Bruno Haible  <bruno@clisp.org>
50362         safe-alloc: Move AC_LIBOBJ invocations to module description.
50363         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
50364         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
50366 2011-05-23  Bruno Haible  <bruno@clisp.org>
50368         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
50369         * m4/rijndael.m4: Remove file.
50370         * modules/crypto/rijndael (Files): Remove it.
50371         (configure.ac): Remove gl_RIJNDAEL call.
50372         (Makefile.am): Augment lib_SOURCES.
50374 2011-05-23  Bruno Haible  <bruno@clisp.org>
50376         readtokens: Move AC_LIBOBJ invocations to module description.
50377         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
50378         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
50380 2011-05-23  Bruno Haible  <bruno@clisp.org>
50382         read-file: Move AC_LIBOBJ invocations to module description.
50383         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
50384         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
50385         of gl_FUNC_READ_FILE.
50386         (Makefile.am): Augment lib_SOURCES.
50388 2011-05-23  Bruno Haible  <bruno@clisp.org>
50390         quotearg: Move AC_LIBOBJ invocations to module description.
50391         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
50392         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
50394 2011-05-23  Bruno Haible  <bruno@clisp.org>
50396         quote: Move AC_LIBOBJ invocations to module description.
50397         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
50398         * modules/quote (Makefile.am): Augment lib_SOURCES.
50400 2011-05-23  Bruno Haible  <bruno@clisp.org>
50402         posixver: Move AC_LIBOBJ invocations to module description.
50403         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
50404         * modules/posixver (Makefile.am): Augment lib_SOURCES.
50406 2011-05-23  Bruno Haible  <bruno@clisp.org>
50408         posixtm: Move AC_LIBOBJ invocations to module description.
50409         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
50410         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
50412 2011-05-23  Bruno Haible  <bruno@clisp.org>
50414         physmem: Move AC_LIBOBJ invocations to module description.
50415         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
50416         * modules/physmem (Makefile.am): Augment lib_SOURCES.
50418 2011-05-23  Bruno Haible  <bruno@clisp.org>
50420         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
50421         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
50422         invocation.
50423         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
50425 2011-05-23  Bruno Haible  <bruno@clisp.org>
50427         mpsort: Move AC_LIBOBJ invocations to module description.
50428         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
50429         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
50431 2011-05-23  Bruno Haible  <bruno@clisp.org>
50433         modechange: Move AC_LIBOBJ invocations to module description.
50434         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
50435         * modules/modechange (Makefile.am): Augment lib_SOURCES.
50437 2011-05-23  Bruno Haible  <bruno@clisp.org>
50439         mkdir-p: Move AC_LIBOBJ invocations to module description.
50440         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
50441         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
50443 2011-05-23  Bruno Haible  <bruno@clisp.org>
50445         mkancesdirs: Move AC_LIBOBJ invocations to module description.
50446         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
50447         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
50449 2011-05-23  Bruno Haible  <bruno@clisp.org>
50451         mgetgroups: Move AC_LIBOBJ invocations to module description.
50452         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
50453         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
50455 2011-05-23  Bruno Haible  <bruno@clisp.org>
50457         memxor: Move AC_LIBOBJ invocations to module description.
50458         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
50459         * modules/memxor (Makefile.am): Augment lib_SOURCES.
50461 2011-05-23  Bruno Haible  <bruno@clisp.org>
50463         memcoll: Move AC_LIBOBJ invocations to module description.
50464         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
50465         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
50467 2011-05-23  Bruno Haible  <bruno@clisp.org>
50469         memcasecmp: Move AC_LIBOBJ invocations to module description.
50470         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
50471         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
50473 2011-05-23  Bruno Haible  <bruno@clisp.org>
50475         crypto/md5: Move AC_LIBOBJ invocations to module description.
50476         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
50477         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
50479 2011-05-23  Bruno Haible  <bruno@clisp.org>
50481         crypto/md4: Move AC_LIBOBJ invocations to module description.
50482         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
50483         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
50485 2011-05-23  Bruno Haible  <bruno@clisp.org>
50487         crypto/md2: Move AC_LIBOBJ invocations to module description.
50488         * m4/md2.m4: Remove file.
50489         * modules/crypto/md2 (Files): Remove it.
50490         (configure.ac): Remove gl_MD2 call.
50491         (Makefile.am): Augment lib_SOURCES.
50493 2011-05-23  Bruno Haible  <bruno@clisp.org>
50495         long-options: Move AC_LIBOBJ invocations to module description.
50496         * m4/long-options.m4: Remove file.
50497         * modules/long-options (Files): Remove it.
50498         (configure.ac): Remove gl_LONG_OPTIONS call.
50499         (Makefile.am): Augment lib_SOURCES.
50501 2011-05-23  Bruno Haible  <bruno@clisp.org>
50503         i-ring: Move AC_LIBOBJ invocations to module description.
50504         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
50505         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
50507 2011-05-23  Bruno Haible  <bruno@clisp.org>
50509         idcache: Move AC_LIBOBJ invocations to module description.
50510         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
50511         * modules/idcache (Makefile.am): Augment lib_SOURCES.
50513 2011-05-23  Bruno Haible  <bruno@clisp.org>
50515         human: Move AC_LIBOBJ invocations to module description.
50516         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
50517         * modules/human (Makefile.am): Augment lib_SOURCES.
50519 2011-05-23  Bruno Haible  <bruno@clisp.org>
50521         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
50522         * m4/hmac-sha1.m4: Remove file.
50523         * modules/crypto/hmac-sha1 (Files): Remove it.
50524         (configure.ac): Remove gl_HMAC_SHA1 call.
50525         (Makefile.am): Augment lib_SOURCES.
50527 2011-05-23  Bruno Haible  <bruno@clisp.org>
50529         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
50530         * m4/hmac-md5.m4: Remove file.
50531         * modules/crypto/hmac-md5 (Files): Remove it.
50532         (configure.ac): Remove gl_HMAC_MD5 call.
50533         (Makefile.am): Augment lib_SOURCES.
50535 2011-05-23  Bruno Haible  <bruno@clisp.org>
50537         hash: Move AC_LIBOBJ invocations to module description.
50538         * m4/hash.m4: Remove file.
50539         * modules/hash (Files): Remove it.
50540         (configure.ac): Remove gl_HASH call.
50541         (Makefile.am): Augment lib_SOURCES.
50543 2011-05-23  Bruno Haible  <bruno@clisp.org>
50545         hard-locale: Move AC_LIBOBJ invocations to module description.
50546         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
50547         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
50549 2011-05-23  Bruno Haible  <bruno@clisp.org>
50551         getugroups: Move AC_LIBOBJ invocations to module description.
50552         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
50553         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
50555 2011-05-23  Bruno Haible  <bruno@clisp.org>
50557         gettime: Move AC_LIBOBJ invocations to module description.
50558         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
50559         * modules/gettime (Makefile.am): Augment lib_SOURCES.
50561 2011-05-23  Bruno Haible  <bruno@clisp.org>
50563         getndelim2: Move AC_LIBOBJ invocations to module description.
50564         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
50565         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
50567 2011-05-23  Bruno Haible  <bruno@clisp.org>
50569         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
50570         * m4/gc-pbkdf2-sha1.m4: Remove file.
50571         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
50572         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
50573         (Makefile.am): Augment lib_SOURCES.
50575 2011-05-23  Bruno Haible  <bruno@clisp.org>
50577         fts: Move AC_LIBOBJ invocations to module description.
50578         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
50579         * modules/fts (configure.ac): ... to here.
50581 2011-05-23  Bruno Haible  <bruno@clisp.org>
50583         file-type: Move AC_LIBOBJ invocations to module description.
50584         * m4/file-type.m4: Remove file.
50585         * modules/file-type (Files): Remove it.
50586         (configure.ac): Remove gl_FILE_TYPE call.
50587         (Makefile.am): Augment lib_SOURCES.
50589 2011-05-23  Bruno Haible  <bruno@clisp.org>
50591         filenamecat*: Respect rules for use of AC_LIBOBJ.
50592         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
50593         Remove AC_LIBOBJ invocation.
50594         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
50595         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
50597 2011-05-23  Bruno Haible  <bruno@clisp.org>
50599         filemode: Move AC_LIBOBJ invocations to module description.
50600         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
50601         * modules/filemode (Makefile.am): Augment lib_SOURCES.
50603 2011-05-23  Bruno Haible  <bruno@clisp.org>
50605         openat-safer: Move AC_LIBOBJ invocations to module description.
50606         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
50607         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
50609 2011-05-23  Bruno Haible  <bruno@clisp.org>
50611         fcntl-safer: Move AC_LIBOBJ invocations to module description.
50612         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
50613         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
50615 2011-05-23  Bruno Haible  <bruno@clisp.org>
50617         exclude: Move AC_LIBOBJ invocations to module description.
50618         * m4/exclude.m4: Remove file.
50619         * modules/exclude (Files): Remove it.
50620         (configure.ac): Remove gl_EXCLUDE call.
50621         (Makefile.am): Augment lib_SOURCES.
50623 2011-05-23  Bruno Haible  <bruno@clisp.org>
50625         dirname*: Respect rules for use of AC_LIBOBJ.
50626         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
50627         invocations.
50628         * modules/dirname (Makefile.am): Augment lib_SOURCES.
50629         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
50631 2011-05-23  Bruno Haible  <bruno@clisp.org>
50633         dirent-safer: Move AC_LIBOBJ invocations to module description.
50634         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
50635         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
50637 2011-05-23  Bruno Haible  <bruno@clisp.org>
50639         crypto/des: Move AC_LIBOBJ invocations to module description.
50640         * m4/des.m4: Remove file.
50641         * modules/crypto/des (Files): Remove it.
50642         (configure.ac): Remove gl_DES call.
50643         (Makefile.am): Augment lib_SOURCES.
50645 2011-05-23  Bruno Haible  <bruno@clisp.org>
50647         cycle-check: Move AC_LIBOBJ invocations to module description.
50648         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
50649         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
50651 2011-05-23  Bruno Haible  <bruno@clisp.org>
50653         c-strtold: Move AC_LIBOBJ invocations to module description.
50654         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
50655         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
50657 2011-05-23  Bruno Haible  <bruno@clisp.org>
50659         c-strtod: Move AC_LIBOBJ invocations to module description.
50660         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
50661         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
50663 2011-05-23  Bruno Haible  <bruno@clisp.org>
50665         crc: Move AC_LIBOBJ invocations to module description.
50666         * m4/crc.m4: Remove file.
50667         * modules/crc (Files): Remove it.
50668         (configure.ac): Remove gl_CRC call.
50669         (Makefile.am): Augment lib_SOURCES.
50671 2011-05-23  Bruno Haible  <bruno@clisp.org>
50673         close-stream: Move AC_LIBOBJ invocations to module description.
50674         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
50675         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
50677 2011-05-23  Bruno Haible  <bruno@clisp.org>
50679         closeout: Move AC_LIBOBJ invocations to module description.
50680         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
50681         * modules/closeout (Makefile.am): Augment lib_SOURCES.
50683 2011-05-23  Bruno Haible  <bruno@clisp.org>
50685         closein: Move AC_LIBOBJ invocations to module description.
50686         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
50687         * modules/closein (Makefile.am): Augment lib_SOURCES.
50689 2011-05-23  Bruno Haible  <bruno@clisp.org>
50691         cloexec: Move AC_LIBOBJ invocations to module description.
50692         * m4/cloexec.m4: Remove file.
50693         * modules/cloexec (Files): Remove it.
50694         (configure.ac): Remove gl_CLOEXEC call.
50695         (Makefile.am): Augment lib_SOURCES.
50697 2011-05-23  Bruno Haible  <bruno@clisp.org>
50699         check-version: Move AC_LIBOBJ invocations to module description.
50700         * m4/check-version.m4: Remove file.
50701         * modules/check-version (Files): Remove it.
50702         (configure.ac): Remove gl_CHECK_VERSION call.
50703         (Makefile.am): Augment lib_SOURCES.
50705 2011-05-23  Bruno Haible  <bruno@clisp.org>
50707         chdir-safer: Move AC_LIBOBJ invocations to module description.
50708         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
50709         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
50711 2011-05-23  Bruno Haible  <bruno@clisp.org>
50713         canonicalize: Move AC_LIBOBJ invocations to module description.
50714         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
50715         AC_LIBOBJ invocation.
50716         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
50718 2011-05-23  Bruno Haible  <bruno@clisp.org>
50720         canon-host: Move AC_LIBOBJ invocations to module description.
50721         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
50722         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
50723         instead of gl_CANON_HOST.
50724         (Makefile.am): Augment lib_SOURCES.
50726 2011-05-23  Bruno Haible  <bruno@clisp.org>
50728         backupfile: Move AC_LIBOBJ invocations to module description.
50729         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
50730         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
50732 2011-05-23  Bruno Haible  <bruno@clisp.org>
50734         argmatch: Move AC_LIBOBJ invocations to module description.
50735         * m4/argmatch.m4: Remove file.
50736         * modules/argmatch (Files): Remove it.
50737         (configure.ac): Remove gl_ARGMATCH call.
50738         (Makefile.am): Augment lib_SOURCES.
50740 2011-05-23  Bruno Haible  <bruno@clisp.org>
50742         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
50743         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
50744         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
50746 2011-05-23  Bruno Haible  <bruno@clisp.org>
50748         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
50749         * m4/arcfour.m4: Remove file.
50750         * modules/crypto/arcfour (Files): Remove it.
50751         (configure.ac): Remove gl_ARCFOUR call.
50752         (Makefile.am): Augment lib_SOURCES.
50754 2011-05-22  Bruno Haible  <bruno@clisp.org>
50756         write: Move AC_LIBOBJ invocations to module description.
50757         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
50758         * modules/write (configure.ac): ... to here.
50760 2011-05-22  Bruno Haible  <bruno@clisp.org>
50762         wmemset: Move AC_LIBOBJ invocations to module description.
50763         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
50764         here...
50765         * modules/wmemset (configure.ac): ... to here.
50767 2011-05-22  Bruno Haible  <bruno@clisp.org>
50769         wmemmove: Move AC_LIBOBJ invocations to module description.
50770         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
50771         here...
50772         * modules/wmemmove (configure.ac): ... to here.
50774 2011-05-22  Bruno Haible  <bruno@clisp.org>
50776         wmemcpy: Move AC_LIBOBJ invocations to module description.
50777         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
50778         here...
50779         * modules/wmemcpy (configure.ac): ... to here.
50781 2011-05-22  Bruno Haible  <bruno@clisp.org>
50783         wmemcmp: Move AC_LIBOBJ invocations to module description.
50784         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
50785         here...
50786         * modules/wmemcmp (configure.ac): ... to here.
50788 2011-05-22  Bruno Haible  <bruno@clisp.org>
50790         wmemchr: Move AC_LIBOBJ invocations to module description.
50791         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
50792         here...
50793         * modules/wmemchr (configure.ac): ... to here.
50795 2011-05-22  Bruno Haible  <bruno@clisp.org>
50797         wcswidth: Move AC_LIBOBJ invocations to module description.
50798         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
50799         here...
50800         * modules/wcswidth (configure.ac): ... to here.
50802 2011-05-22  Bruno Haible  <bruno@clisp.org>
50804         wcwidth: Respect rules for use of AC_LIBOBJ.
50805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
50806         invocation from here...
50807         * modules/wcwidth (configure.ac): ... to here.
50808         (Depends-on): Update conditions.
50810 2011-05-22  Bruno Haible  <bruno@clisp.org>
50812         wctype: Move AC_LIBOBJ invocations to module description.
50813         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
50814         invocation from here...
50815         * modules/wctype (configure.ac): ... to here.
50816         (Depends-on): Update conditions.
50818 2011-05-22  Bruno Haible  <bruno@clisp.org>
50820         wctrans: Move AC_LIBOBJ invocations to module description.
50821         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
50822         invocation from here...
50823         * modules/wctrans (configure.ac): ... to here.
50825 2011-05-22  Bruno Haible  <bruno@clisp.org>
50827         wctomb: Move AC_LIBOBJ invocations to module description.
50828         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
50829         invocations from here...
50830         * modules/wctomb (configure.ac): ... to here.
50832 2011-05-22  Bruno Haible  <bruno@clisp.org>
50834         wctob: Move AC_LIBOBJ invocations to module description.
50835         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
50836         gl_PREREQ_WCTOB invocations from here...
50837         * modules/wctob (configure.ac): ... to here.
50838         (Depends-on): Update conditions.
50840 2011-05-22  Bruno Haible  <bruno@clisp.org>
50842         wcsxfrm: Move AC_LIBOBJ invocations to module description.
50843         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
50844         here...
50845         * modules/wcsxfrm (configure.ac): ... to here.
50847 2011-05-22  Bruno Haible  <bruno@clisp.org>
50849         wcstok: Move AC_LIBOBJ invocations to module description.
50850         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
50851         * modules/wcstok (configure.ac): ... to here.
50853 2011-05-22  Bruno Haible  <bruno@clisp.org>
50855         wcsstr: Move AC_LIBOBJ invocations to module description.
50856         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
50857         * modules/wcsstr (configure.ac): ... to here.
50859 2011-05-22  Bruno Haible  <bruno@clisp.org>
50861         wcsspn: Move AC_LIBOBJ invocations to module description.
50862         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
50863         * modules/wcsspn (configure.ac): ... to here.
50865 2011-05-22  Bruno Haible  <bruno@clisp.org>
50867         wcsrtombs: Move AC_LIBOBJ invocations to module description.
50868         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
50869         gl_PREREQ_WCSRTOMBS invocations from here...
50870         * modules/wcsrtombs (configure.ac): ... to here.
50872 2011-05-22  Bruno Haible  <bruno@clisp.org>
50874         wcsrchr: Move AC_LIBOBJ invocations to module description.
50875         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
50876         here...
50877         * modules/wcsrchr (configure.ac): ... to here.
50879 2011-05-22  Bruno Haible  <bruno@clisp.org>
50881         wcspbrk: Move AC_LIBOBJ invocations to module description.
50882         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
50883         here...
50884         * modules/wcspbrk (configure.ac): ... to here.
50886 2011-05-22  Bruno Haible  <bruno@clisp.org>
50888         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
50889         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
50890         gl_PREREQ_WCSNRTOMBS invocations from here...
50891         * modules/wcsnrtombs (configure.ac): ... to here.
50893 2011-05-22  Bruno Haible  <bruno@clisp.org>
50895         wcsnlen: Move AC_LIBOBJ invocations to module description.
50896         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
50897         here...
50898         * modules/wcsnlen (configure.ac): ... to here.
50900 2011-05-22  Bruno Haible  <bruno@clisp.org>
50902         wcsncpy: Move AC_LIBOBJ invocations to module description.
50903         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
50904         here...
50905         * modules/wcsncpy (configure.ac): ... to here.
50907 2011-05-22  Bruno Haible  <bruno@clisp.org>
50909         wcsncmp: Move AC_LIBOBJ invocations to module description.
50910         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
50911         here...
50912         * modules/wcsncmp (configure.ac): ... to here.
50914 2011-05-22  Bruno Haible  <bruno@clisp.org>
50916         wcsncat: Move AC_LIBOBJ invocations to module description.
50917         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
50918         here...
50919         * modules/wcsncat (configure.ac): ... to here.
50921 2011-05-22  Bruno Haible  <bruno@clisp.org>
50923         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
50924         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
50925         from here...
50926         * modules/wcsncasecmp (configure.ac): ... to here.
50928 2011-05-22  Bruno Haible  <bruno@clisp.org>
50930         wcslen: Move AC_LIBOBJ invocations to module description.
50931         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
50932         * modules/wcslen (configure.ac): ... to here.
50934 2011-05-22  Bruno Haible  <bruno@clisp.org>
50936         wcsdup: Move AC_LIBOBJ invocations to module description.
50937         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
50938         * modules/wcsdup (configure.ac): ... to here.
50940 2011-05-22  Bruno Haible  <bruno@clisp.org>
50942         wcscspn: Move AC_LIBOBJ invocations to module description.
50943         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
50944         here...
50945         * modules/wcscspn (configure.ac): ... to here.
50947 2011-05-22  Bruno Haible  <bruno@clisp.org>
50949         wcscpy: Move AC_LIBOBJ invocations to module description.
50950         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
50951         * modules/wcscpy (configure.ac): ... to here.
50953 2011-05-22  Bruno Haible  <bruno@clisp.org>
50955         wcscoll: Move AC_LIBOBJ invocations to module description.
50956         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
50957         here...
50958         * modules/wcscoll (configure.ac): ... to here.
50960 2011-05-22  Bruno Haible  <bruno@clisp.org>
50962         wcscmp: Move AC_LIBOBJ invocations to module description.
50963         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
50964         * modules/wcscmp (configure.ac): ... to here.
50966 2011-05-22  Bruno Haible  <bruno@clisp.org>
50968         wcschr: Move AC_LIBOBJ invocations to module description.
50969         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
50970         * modules/wcschr (configure.ac): ... to here.
50972 2011-05-22  Bruno Haible  <bruno@clisp.org>
50974         wcscat: Move AC_LIBOBJ invocations to module description.
50975         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
50976         * modules/wcscat (configure.ac): ... to here.
50978 2011-05-22  Bruno Haible  <bruno@clisp.org>
50980         wcscasecmp: Move AC_LIBOBJ invocations to module description.
50981         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
50982         here...
50983         * modules/wcscasecmp (configure.ac): ... to here.
50985 2011-05-22  Bruno Haible  <bruno@clisp.org>
50987         wcrtomb: Move AC_LIBOBJ invocations to module description.
50988         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
50989         invocations from here...
50990         * modules/wcrtomb (configure.ac): ... to here.
50992 2011-05-22  Bruno Haible  <bruno@clisp.org>
50994         wcpncpy: Move AC_LIBOBJ invocations to module description.
50995         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
50996         here...
50997         * modules/wcpncpy (configure.ac): ... to here.
50999 2011-05-22  Bruno Haible  <bruno@clisp.org>
51001         wcpcpy: Move AC_LIBOBJ invocations to module description.
51002         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
51003         * modules/wcpcpy (configure.ac): ... to here.
51005 2011-05-22  Bruno Haible  <bruno@clisp.org>
51007         waitpid: Move AC_LIBOBJ invocations to module description.
51008         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
51009         invocation from here...
51010         * modules/waitpid (configure.ac): ... to here.
51012 2011-05-22  Bruno Haible  <bruno@clisp.org>
51014         utimensat: Move AC_LIBOBJ invocations to module description.
51015         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
51016         here...
51017         * modules/utimensat (configure.ac): ... to here.
51019 2011-05-22  Bruno Haible  <bruno@clisp.org>
51021         usleep: Move AC_LIBOBJ invocations to module description.
51022         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
51023         here...
51024         * modules/usleep (configure.ac): ... to here.
51026 2011-05-22  Bruno Haible  <bruno@clisp.org>
51028         unlockpt: Move AC_LIBOBJ invocations to module description.
51029         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
51030         gl_PREREQ_UNLOCKPT invocations from here...
51031         * modules/unlockpt (configure.ac): ... to here.
51033 2011-05-22  Bruno Haible  <bruno@clisp.org>
51035         unlink: Respect rules for use of AC_LIBOBJ.
51036         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
51037         * modules/unlink (configure.ac): ... to here.
51039 2011-05-22  Bruno Haible  <bruno@clisp.org>
51041         uname: Move AC_LIBOBJ invocations to module description.
51042         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
51043         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
51044         here...
51045         * modules/uname (configure.ac): ... to here.
51047 2011-05-22  Bruno Haible  <bruno@clisp.org>
51049         ttyname_r: Move AC_LIBOBJ invocations to module description.
51050         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
51051         gl_PREREQ_TTYNAME_R invocations from here...
51052         * modules/ttyname_r (configure.ac): ... to here.
51054 2011-05-22  Bruno Haible  <bruno@clisp.org>
51056         tsearch: Move AC_LIBOBJ invocations to module description.
51057         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
51058         invocations from here...
51059         * modules/tsearch (configure.ac): ... to here.
51061 2011-05-22  Bruno Haible  <bruno@clisp.org>
51063         towctrans: Move AC_LIBOBJ invocations to module description.
51064         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
51065         AC_LIBOBJ invocation from here...
51066         * modules/towctrans (configure.ac): ... to here.
51068 2011-05-22  Bruno Haible  <bruno@clisp.org>
51070         tmpfile: Move AC_LIBOBJ invocations to module description.
51071         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
51072         invocations from here...
51073         * modules/tmpfile (configure.ac): ... to here.
51075 2011-05-22  Bruno Haible  <bruno@clisp.org>
51077         times: Move AC_LIBOBJ invocations to module description.
51078         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
51079         * modules/times (configure.ac): ... to here.
51081 2011-05-22  Bruno Haible  <bruno@clisp.org>
51083         time_r: Move AC_LIBOBJ invocations to module description.
51084         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
51085         invocations from here...
51086         * modules/time_r (configure.ac): ... to here.
51088 2011-05-22  Bruno Haible  <bruno@clisp.org>
51090         timegm: Move AC_LIBOBJ invocations to module description.
51091         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
51092         invocations from here...
51093         * modules/timegm (configure.ac): ... to here.
51095 2011-05-22  Bruno Haible  <bruno@clisp.org>
51097         tcgetsid: Move AC_LIBOBJ invocations to module description.
51098         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
51099         and gl_PREREQ_TCGETSID invocations from here...
51100         * modules/tcgetsid (configure.ac): ... to here.
51101         (Depends-on): Update conditions.
51103 2011-05-22  Bruno Haible  <bruno@clisp.org>
51105         symlinkat: Move AC_LIBOBJ invocations to module description.
51106         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
51107         here...
51108         * modules/symlinkat (configure.ac): ... to here.
51110 2011-05-22  Bruno Haible  <bruno@clisp.org>
51112         symlink: Move AC_LIBOBJ invocations to module description.
51113         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
51114         here...
51115         * modules/symlink (configure.ac): ... to here.
51117 2011-05-22  Bruno Haible  <bruno@clisp.org>
51119         strverscmp: Move AC_LIBOBJ invocations to module description.
51120         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
51121         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
51122         from here...
51123         * modules/strverscmp (configure.ac): ... to here.
51125 2011-05-22  Bruno Haible  <bruno@clisp.org>
51127         strtok_r: Move AC_LIBOBJ invocations to module description.
51128         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
51129         and gl_PREREQ_STRTOK_R invocations from here...
51130         * modules/strtok_r (configure.ac): ... to here.
51131         (Depends-on): Update conditions.
51133 2011-05-22  Bruno Haible  <bruno@clisp.org>
51135         strtoumax: Move AC_LIBOBJ invocations to module description.
51136         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
51137         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
51138         from here...
51139         * modules/strtoumax (configure.ac): ... to here.
51141 2011-05-22  Bruno Haible  <bruno@clisp.org>
51143         strtoimax: Move AC_LIBOBJ invocations to module description.
51144         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
51145         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
51146         from here...
51147         * modules/strtoimax (configure.ac): ... to here.
51149 2011-05-22  Bruno Haible  <bruno@clisp.org>
51151         strtoull: Move AC_LIBOBJ invocations to module description.
51152         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
51153         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
51154         from here...
51155         * modules/strtoull (configure.ac): ... to here.
51157 2011-05-22  Bruno Haible  <bruno@clisp.org>
51159         strtoll: Move AC_LIBOBJ invocations to module description.
51160         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
51161         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
51162         here...
51163         * modules/strtoll (configure.ac): ... to here.
51165 2011-05-22  Bruno Haible  <bruno@clisp.org>
51167         strtoul: Move AC_LIBOBJ invocations to module description.
51168         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
51169         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
51170         * modules/strtoul (configure.ac): ... to here.
51172 2011-05-22  Bruno Haible  <bruno@clisp.org>
51174         strtol: Move AC_LIBOBJ invocations to module description.
51175         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
51176         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
51177         * modules/strtol (configure.ac): ... to here.
51179 2011-05-22  Bruno Haible  <bruno@clisp.org>
51181         strtod: Move AC_LIBOBJ invocations to module description.
51182         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
51183         invocations from here...
51184         * modules/strtod (configure.ac): ... to here.
51186 2011-05-22  Bruno Haible  <bruno@clisp.org>
51188         strstr*: Move AC_LIBOBJ invocations to module description.
51189         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
51190         invocations from here...
51191         * modules/strstr-simple (configure.ac): ... to here.
51192         * modules/strstr (configure.ac): ... and here.
51194 2011-05-22  Bruno Haible  <bruno@clisp.org>
51196         strsignal: Move AC_LIBOBJ invocations to module description.
51197         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
51198         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
51199         * modules/strsignal (configure.ac): ... to here.
51200         (Depends-on): Update conditions.
51202 2011-05-22  Bruno Haible  <bruno@clisp.org>
51204         strsep: Move AC_LIBOBJ invocations to module description.
51205         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
51206         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
51207         here...
51208         * modules/strsep (configure.ac): ... to here.
51210 2011-05-22  Bruno Haible  <bruno@clisp.org>
51212         strptime: Move AC_LIBOBJ invocations to module description.
51213         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
51214         gl_PREREQ_STRPTIME invocations from here...
51215         * modules/strptime (configure.ac): ... to here.
51217 2011-05-22  Bruno Haible  <bruno@clisp.org>
51219         strpbrk: Move AC_LIBOBJ invocations to module description.
51220         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
51221         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
51222         here...
51223         * modules/strpbrk (configure.ac): ... to here.
51225 2011-05-22  Bruno Haible  <bruno@clisp.org>
51227         strnlen: Move AC_LIBOBJ invocations to module description.
51228         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
51229         invocations from here...
51230         * modules/strnlen (configure.ac): ... to here.
51232 2011-05-22  Bruno Haible  <bruno@clisp.org>
51234         strndup: Move AC_LIBOBJ invocations to module description.
51235         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
51236         invocations from here...
51237         * modules/strndup (configure.ac): ... to here.
51238         (Depends-on): Update conditions.
51240 2011-05-22  Bruno Haible  <bruno@clisp.org>
51242         strncat: Move AC_LIBOBJ invocations to module description.
51243         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
51244         invocations from here...
51245         * modules/strncat (configure.ac): ... to here.
51247 2011-05-22  Bruno Haible  <bruno@clisp.org>
51249         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
51250         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
51251         invocations from here...
51252         * modules/strdup (configure.ac): ... to here.
51253         * modules/strdup-posix (configure.ac): ... and here.
51255 2011-05-22  Bruno Haible  <bruno@clisp.org>
51257         strcspn: Move AC_LIBOBJ invocations to module description.
51258         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
51259         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
51260         here...
51261         * modules/strcspn (configure.ac): ... to here.
51263 2011-05-22  Bruno Haible  <bruno@clisp.org>
51265         strchrnul: Move AC_LIBOBJ invocations to module description.
51266         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
51267         gl_PREREQ_STRCHRNUL invocations from here...
51268         * modules/strchrnul (configure.ac): ... to here.
51270 2011-05-22  Bruno Haible  <bruno@clisp.org>
51272         strcasestr*: Move AC_LIBOBJ invocations to module description.
51273         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
51274         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
51275         * modules/strcasestr-simple (configure.ac): ... to here.
51276         * modules/strcasestr (configure.ac): ... and here.
51278 2011-05-22  Bruno Haible  <bruno@clisp.org>
51280         strcase: Move AC_LIBOBJ invocations to module description.
51281         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
51282         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
51283         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
51284         gl_PREREQ_STRNCASECMP invocations from here...
51285         * modules/strcase (configure.ac): ... to here.
51287 2011-05-22  Bruno Haible  <bruno@clisp.org>
51289         stpncpy: Move AC_LIBOBJ invocations to module description.
51290         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
51291         here...
51292         * modules/stpncpy (configure.ac): ... to here.
51294 2011-05-22  Bruno Haible  <bruno@clisp.org>
51296         stpcpy: Move AC_LIBOBJ invocations to module description.
51297         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
51298         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
51299         here...
51300         * modules/stpcpy (configure.ac): ... to here.
51302 2011-05-21  Bruno Haible  <bruno@clisp.org>
51304         stat: Move AC_LIBOBJ invocations to module description.
51305         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
51306         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
51307         here...
51308         * modules/stat (configure.ac): ... to here.
51310 2011-05-21  Bruno Haible  <bruno@clisp.org>
51312         sleep: Move AC_LIBOBJ invocations to module description.
51313         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
51314         * modules/sleep (configure.ac): ... to here.
51316 2011-05-21  Bruno Haible  <bruno@clisp.org>
51318         signbit: Move AC_LIBOBJ invocations to module description.
51319         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
51320         * modules/signbit (configure.ac): ... to here.
51322 2011-05-21  Bruno Haible  <bruno@clisp.org>
51324         sigprocmask: Move AC_LIBOBJ invocations to module description.
51325         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
51326         gl_PREREQ_SIGPROMASK invocations from here...
51327         * modules/sigprocmask (configure.ac): ... to here.
51329 2011-05-21  Bruno Haible  <bruno@clisp.org>
51331         sigaction: Move AC_LIBOBJ invocations to module description.
51332         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
51333         gl_PREREQ_SIGACTION invocations from here...
51334         * modules/sigaction (configure.ac): ... to here.
51336 2011-05-21  Bruno Haible  <bruno@clisp.org>
51338         sig2str: Move AC_LIBOBJ invocations to module description.
51339         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
51340         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
51341         here...
51342         * modules/sig2str (configure.ac): ... to here.
51344 2011-05-21  Bruno Haible  <bruno@clisp.org>
51346         setlocale: Move AC_LIBOBJ invocations to module description.
51347         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
51348         gl_PREREQ_SETLOCALE invocations from here...
51349         * modules/setlocale (configure.ac): ... to here.
51351 2011-05-21  Bruno Haible  <bruno@clisp.org>
51353         unsetenv: Move AC_LIBOBJ invocations to module description.
51354         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
51355         and gl_PREREQ_UNSETENV invocations from here...
51356         * modules/unsetenv (configure.ac): ... to here.
51357         (Depends-on): Update.
51359 2011-05-21  Bruno Haible  <bruno@clisp.org>
51361         setenv: Move AC_LIBOBJ invocations to module description.
51362         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
51363         here...
51364         * modules/setenv (configure.ac): ... to here.
51366 2011-05-21  Bruno Haible  <bruno@clisp.org>
51368         selinux-h: Move AC_LIBOBJ invocations to module description.
51369         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
51370         AC_LIBOBJ invocation from here...
51371         * modules/selinux-h (configure.ac): ... to here.
51373 2011-05-21  Bruno Haible  <bruno@clisp.org>
51375         select: Respect rules for use of AC_LIBOBJ.
51376         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
51377         here...
51378         * modules/select (configure.ac): ... to here.
51380 2011-05-21  Bruno Haible  <bruno@clisp.org>
51382         scandir: Move AC_LIBOBJ invocations to module description.
51383         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
51384         invocations from here...
51385         * modules/scandir (configure.ac): ... to here.
51387 2011-05-21  Bruno Haible  <bruno@clisp.org>
51389         rpmatch: Move AC_LIBOBJ invocations to module description.
51390         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
51391         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
51392         here...
51393         * modules/rpmatch (configure.ac): ... to here.
51395 2011-05-21  Bruno Haible  <bruno@clisp.org>
51397         rmdir: Respect rules for use of AC_LIBOBJ.
51398         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
51399         * modules/rmdir (configure.ac): ... to here.
51401 2011-05-21  Bruno Haible  <bruno@clisp.org>
51403         renameat: Move AC_LIBOBJ invocations to module description.
51404         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
51405         here...
51406         * modules/renameat (configure.ac): ... to here.
51408 2011-05-21  Bruno Haible  <bruno@clisp.org>
51410         rename: Respect rules for use of AC_LIBOBJ.
51411         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
51412         here...
51413         * modules/rename (configure.ac): ... to here.
51415 2011-05-21  Bruno Haible  <bruno@clisp.org>
51417         remove: Move AC_LIBOBJ invocations to module description.
51418         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
51419         here...
51420         * modules/remove (configure.ac): ... to here.
51422 2011-05-21  Bruno Haible  <bruno@clisp.org>
51424         relocatable-lib: Move AC_LIBOBJ invocations to module description.
51425         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
51426         macro.
51427         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
51428         * modules/relocatable-lib (configure.ac): ... to here.
51429         * modules/relocatable-prog-wrapper (configure.ac): Invoke
51430         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
51432 2011-05-21  Bruno Haible  <bruno@clisp.org>
51434         relocatable-prog: Move AC_LIBOBJ invocations to module description.
51435         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
51436         here...
51437         * modules/relocatable-prog (configure.ac): ... to here.
51439 2011-05-21  Bruno Haible  <bruno@clisp.org>
51441         regex: Move AC_LIBOBJ invocations to module description.
51442         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
51443         invocations from here...
51444         * modules/regex (configure.ac): ... to here.
51446 2011-05-21  Bruno Haible  <bruno@clisp.org>
51448         realloc-*: Move AC_LIBOBJ invocations to module description.
51449         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
51450         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
51451         AC_LIBOBJ invocations from here...
51452         * modules/realloc-gnu (configure.ac): ... to here.
51453         * modules/realloc-posix (configure.ac): ... and here.
51455 2011-05-21  Bruno Haible  <bruno@clisp.org>
51457         readutmp: Move AC_LIBOBJ invocations to module description.
51458         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
51459         * modules/readutmp (configure.ac): ... to here.
51461 2011-05-21  Bruno Haible  <bruno@clisp.org>
51463         readlinkat: Move AC_LIBOBJ invocations to module description.
51464         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
51465         here...
51466         * modules/readlinkat (configure.ac): ... to here.
51468 2011-05-21  Bruno Haible  <bruno@clisp.org>
51470         readlink: Move AC_LIBOBJ invocations to module description.
51471         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
51472         gl_PREREQ_READLINK invocations from here...
51473         * modules/readlink (configure.ac): ... to here.
51475 2011-05-21  Bruno Haible  <bruno@clisp.org>
51477         readline: Move AC_LIBOBJ invocations to module description.
51478         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
51479         gl_PREREQ_READLINE invocations from here...
51480         * modules/readline (configure.ac): ... to here.
51482 2011-05-21  Bruno Haible  <bruno@clisp.org>
51484         read: Move AC_LIBOBJ invocations to module description.
51485         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
51486         * modules/read (configure.ac): ... to here.
51488 2011-05-21  Bruno Haible  <bruno@clisp.org>
51490         rawmemchr: Move AC_LIBOBJ invocations to module description.
51491         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
51492         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
51493         from here...
51494         * modules/rawmemchr (configure.ac): ... to here.
51496 2011-05-21  Bruno Haible  <bruno@clisp.org>
51498         random_r: Move AC_LIBOBJ invocations to module description.
51499         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
51500         gl_PREREQ_RANDOM_R invocations from here...
51501         * modules/random_r (configure.ac): ... to here.
51503 2011-05-21  Bruno Haible  <bruno@clisp.org>
51505         pwrite: Move AC_LIBOBJ invocations to module description.
51506         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
51507         * modules/pwrite (configure.ac): ... to here.
51509 2011-05-21  Bruno Haible  <bruno@clisp.org>
51511         putenv: Move AC_LIBOBJ invocations to module description.
51512         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
51513         * modules/putenv (configure.ac): ... to here.
51515 2011-05-21  Bruno Haible  <bruno@clisp.org>
51517         login_tty: Move AC_LIBOBJ invocations to module description.
51518         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
51519         * modules/login_tty (configure.ac): ... to here.
51521 2011-05-21  Bruno Haible  <bruno@clisp.org>
51523         openpty: Move AC_LIBOBJ invocations to module description.
51524         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
51525         * modules/openpty (configure.ac): ... to here.
51527 2011-05-21  Bruno Haible  <bruno@clisp.org>
51529         forkpty: Move AC_LIBOBJ invocations to module description.
51530         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
51531         * modules/forkpty (configure.ac): ... to here.
51533 2011-05-21  Bruno Haible  <bruno@clisp.org>
51535         ptsname: Move AC_LIBOBJ invocations to module description.
51536         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
51537         invocations from here...
51538         * modules/ptsname (configure.ac): ... to here.
51540 2011-05-21  Bruno Haible  <bruno@clisp.org>
51542         pread: Move AC_LIBOBJ invocations to module description.
51543         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
51544         * modules/pread (configure.ac): ... to here.
51546 2011-05-21  Bruno Haible  <bruno@clisp.org>
51548         posix_spawn*: Move AC_LIBOBJ invocations to module description.
51549         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
51550         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
51551         * modules/posix_spawn (configure.ac): ... to here.
51552         * modules/posix_spawnp (configure.ac): ... and here.
51554 2011-05-21  Bruno Haible  <bruno@clisp.org>
51556         popen: Move AC_LIBOBJ invocations to module description.
51557         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
51558         invocations from here...
51559         * modules/popen (configure.ac): ... to here.
51561 2011-05-21  Bruno Haible  <bruno@clisp.org>
51563         poll: Move AC_LIBOBJ invocations to module description.
51564         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
51565         invocations from here...
51566         * modules/poll (configure.ac): ... to here.
51568 2011-05-21  Bruno Haible  <bruno@clisp.org>
51570         pipe-posix: Move AC_LIBOBJ invocations to module description.
51571         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
51572         * modules/pipe-posix (configure.ac): ... to here.
51574 2011-05-21  Bruno Haible  <bruno@clisp.org>
51576         openat: Respect rules for use of AC_LIBOBJ.
51577         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
51578         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
51579         * modules/openat (configure.ac): ... to here.
51581 2011-05-21  Bruno Haible  <bruno@clisp.org>
51583         obstack-printf*: Move AC_LIBOBJ invocations to module description.
51584         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
51585         invocation from here...
51586         * modules/obstack-printf (configure.ac): ... to here.
51587         * modules/obstack-printf-posix (configure.ac): ... and here.
51589 2011-05-21  Bruno Haible  <bruno@clisp.org>
51591         nl_langinfo: Move AC_LIBOBJ invocations to module description.
51592         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
51593         from here...
51594         * modules/nl_langinfo (configure.ac): ... to here.
51596 2011-05-21  Bruno Haible  <bruno@clisp.org>
51598         nanosleep: Move AC_LIBOBJ invocations to module description.
51599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
51600         gl_PREREQ_NANOSLEEP invocations from here...
51601         * modules/nanosleep (configure.ac): ... to here.
51603 2011-05-21  Bruno Haible  <bruno@clisp.org>
51605         mountlist: Move AC_LIBOBJ invocations to module description.
51606         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
51607         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
51608         * modules/mountlist (configure.ac): ... to here.
51610 2011-05-21  Bruno Haible  <bruno@clisp.org>
51612         mktime: Respect rules for use of AC_LIBOBJ.
51613         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
51614         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
51615         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
51616         (gl_FUNC_MKTIME_INTERNAL): ... and here...
51617         * modules/mktime (configure.ac): ... to here.
51618         * modules/mktime-internal (configure.ac): ... and here.
51619         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
51621 2011-05-21  Bruno Haible  <bruno@clisp.org>
51623         mkstemps: Move AC_LIBOBJ invocations to module description.
51624         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
51625         here...
51626         * modules/mkstemps (configure.ac): ... to here.
51628 2011-05-21  Bruno Haible  <bruno@clisp.org>
51630         mkstemp: Move AC_LIBOBJ invocations to module description.
51631         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
51632         gl_PREREQ_MKSTEMP invocations from here...
51633         * modules/mkstemp (configure.ac): ... to here.
51635 2011-05-21  Bruno Haible  <bruno@clisp.org>
51637         mkostemps: Move AC_LIBOBJ invocations to module description.
51638         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
51639         here...
51640         * modules/mkostemps (configure.ac): ... to here.
51642 2011-05-21  Bruno Haible  <bruno@clisp.org>
51644         mkostemp: Move AC_LIBOBJ invocations to module description.
51645         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
51646         gl_PREREQ_MKOSTEMP invocations from here...
51647         * modules/mkostemp (configure.ac): ... to here.
51649 2011-05-21  Bruno Haible  <bruno@clisp.org>
51651         mknod: Move AC_LIBOBJ invocations to module description.
51652         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
51653         * modules/mknod (configure.ac): ... to here.
51655 2011-05-21  Bruno Haible  <bruno@clisp.org>
51657         mkfifoat: Move AC_LIBOBJ invocations to module description.
51658         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
51659         here...
51660         * modules/mkfifoat (configure.ac): ... to here.
51662 2011-05-21  Bruno Haible  <bruno@clisp.org>
51664         mkfifo: Respect rules for use of AC_LIBOBJ.
51665         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
51666         here...
51667         * modules/mkfifo (configure.ac): ... to here.
51669 2011-05-21  Bruno Haible  <bruno@clisp.org>
51671         mkdtemp: Move AC_LIBOBJ invocations to module description.
51672         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
51673         invocations from here...
51674         * modules/mkdtemp (configure.ac): ... to here.
51676 2011-05-21  Bruno Haible  <bruno@clisp.org>
51678         mkdir: Move AC_LIBOBJ invocations to module description.
51679         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
51680         * modules/mkdir (configure.ac): ... to here.
51682 2011-05-21  Bruno Haible  <bruno@clisp.org>
51684         memset: Move AC_LIBOBJ invocations to module description.
51685         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
51686         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
51687         here...
51688         * modules/memset (configure.ac): ... to here.
51690 2011-05-21  Bruno Haible  <bruno@clisp.org>
51692         memrchr: Move AC_LIBOBJ invocations to module description.
51693         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
51694         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
51695         here...
51696         * modules/memrchr (configure.ac): ... to here.
51698 2011-05-21  Bruno Haible  <bruno@clisp.org>
51700         mempcpy: Move AC_LIBOBJ invocations to module description.
51701         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
51702         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
51703         here...
51704         * modules/mempcpy (configure.ac): ... to here.
51706 2011-05-21  Bruno Haible  <bruno@clisp.org>
51708         memmove: Move AC_LIBOBJ invocations to module description.
51709         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
51710         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
51711         here...
51712         * modules/memmove (configure.ac): ... to here.
51714 2011-05-21  Bruno Haible  <bruno@clisp.org>
51716         memmem*: Move AC_LIBOBJ invocations to module description.
51717         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
51718         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
51719         here...
51720         (gl_FUNC_MEMMEM): ... and here...
51721         * modules/memmem-simple (configure.ac): ... to here.
51722         * modules/memmem (configure.ac): ... and here.
51724 2011-05-21  Bruno Haible  <bruno@clisp.org>
51726         memcpy: Move AC_LIBOBJ invocations to module description.
51727         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
51728         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
51729         here...
51730         * modules/memcpy (configure.ac): ... to here.
51732 2011-05-21  Bruno Haible  <bruno@clisp.org>
51734         memcmp: Simplify autoconf macro.
51735         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
51736         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
51737         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
51739 2011-05-21  Bruno Haible  <bruno@clisp.org>
51741         memcmp: Move AC_LIBOBJ invocations to module description.
51742         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
51743         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
51744         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
51745         * modules/memcmp (configure.ac): ... to here.
51746         (Depends-on): Update conditions.
51748 2011-05-21  Bruno Haible  <bruno@clisp.org>
51750         memchr: Respect rules for use of AC_LIBOBJ.
51751         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
51752         invocations from here...
51753         * modules/memchr (configure.ac): ... to here.
51755 2011-05-21  Bruno Haible  <bruno@clisp.org>
51757         mbtowc: Move AC_LIBOBJ invocations to module description.
51758         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
51759         invocations from here...
51760         * modules/mbtowc (configure.ac): ... to here.
51762 2011-05-21  Bruno Haible  <bruno@clisp.org>
51764         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
51765         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
51766         gl_PREREQ_MBSRTOWCS invocations from here...
51767         * modules/mbsrtowcs (configure.ac): ... to here.
51769 2011-05-21  Bruno Haible  <bruno@clisp.org>
51771         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
51772         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
51773         gl_PREREQ_MBSNRTOWCS invocations from here...
51774         * modules/mbsnrtowcs (configure.ac): ... to here.
51776 2011-05-21  Bruno Haible  <bruno@clisp.org>
51778         mbsinit: Move AC_LIBOBJ invocations to module description.
51779         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
51780         invocations from here...
51781         * modules/mbsinit (configure.ac): ... to here.
51783 2011-05-21  Bruno Haible  <bruno@clisp.org>
51785         mbrlen: Move AC_LIBOBJ invocations to module description.
51786         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
51787         invocations from here...
51788         * modules/mbrlen (configure.ac): ... to here.
51790 2011-05-21  Bruno Haible  <bruno@clisp.org>
51792         mbrtowc: Respect rules for use of AC_LIBOBJ.
51793         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
51794         invocations from here...
51795         * modules/mbrtowc (configure.ac): ... to here.
51797 2011-05-21  Bruno Haible  <bruno@clisp.org>
51799         malloc-*: Move AC_LIBOBJ invocations to module description.
51800         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
51801         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
51802         AC_LIBOBJ invocations from here...
51803         * modules/malloc-gnu (configure.ac): ... to here.
51804         * modules/malloc-posix (configure.ac): ... and here.
51806 2011-05-21  Bruno Haible  <bruno@clisp.org>
51808         lstat, openat: Respect rules for use of AC_LIBOBJ.
51809         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
51810         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
51811         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
51812         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
51813         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
51814         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
51815         here.
51816         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
51818 2011-05-21  Bruno Haible  <bruno@clisp.org>
51820         lseek: Move AC_LIBOBJ invocations to module description.
51821         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
51822         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
51823         * modules/lseek (configure.ac): ... to here.
51825 2011-05-21  Bruno Haible  <bruno@clisp.org>
51827         linkat: Move AC_LIBOBJ invocations to module description.
51828         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
51829         here...
51830         * modules/linkat (configure.ac): ... to here.
51832 2011-05-21  Bruno Haible  <bruno@clisp.org>
51834         link: Respect rules for use of AC_LIBOBJ.
51835         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
51836         * modules/link (configure.ac): ... to here.
51838 2011-05-21  Bruno Haible  <bruno@clisp.org>
51840         lchown: Move AC_LIBOBJ invocations to module description.
51841         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
51842         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
51843         * modules/lchown (configure.ac): ... to here.
51845 2011-05-21  Bruno Haible  <bruno@clisp.org>
51847         iswctype: Move AC_LIBOBJ invocations to module description.
51848         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
51849         here...
51850         * modules/iswctype (configure.ac): ... to here.
51852 2011-05-21  Bruno Haible  <bruno@clisp.org>
51854         iswblank: Move AC_LIBOBJ invocations to module description.
51855         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
51856         here...
51857         * modules/iswblank (configure.ac): ... to here.
51859 2011-05-21  Bruno Haible  <bruno@clisp.org>
51861         atanl: Move AC_LIBOBJ invocations to module description.
51862         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
51863         * modules/atanl (configure.ac): ... to here.
51865 2011-05-21  Bruno Haible  <bruno@clisp.org>
51867         acosl: Move AC_LIBOBJ invocations to module description.
51868         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
51869         * modules/acosl (configure.ac): ... to here.
51871 2011-05-21  Bruno Haible  <bruno@clisp.org>
51873         asinl: Respect rules for use of AC_LIBOBJ.
51874         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
51875         * modules/asinl (configure.ac): ... to here.
51877 2011-05-21  Bruno Haible  <bruno@clisp.org>
51879         tanl: Move AC_LIBOBJ invocations to module description.
51880         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
51881         * modules/tanl (configure.ac): ... to here.
51883 2011-05-21  Bruno Haible  <bruno@clisp.org>
51885         cosl: Move AC_LIBOBJ invocations to module description.
51886         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
51887         * modules/cosl (configure.ac): ... to here.
51889 2011-05-21  Bruno Haible  <bruno@clisp.org>
51891         sinl: Move AC_LIBOBJ invocations to module description.
51892         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
51893         * modules/sinl (configure.ac): ... to here.
51895 2011-05-21  Bruno Haible  <bruno@clisp.org>
51897         logl: Move AC_LIBOBJ invocations to module description.
51898         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
51899         * modules/logl (configure.ac): ... to here.
51901 2011-05-21  Bruno Haible  <bruno@clisp.org>
51903         expl: Move AC_LIBOBJ invocations to module description.
51904         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
51905         * modules/expl (configure.ac): ... to here.
51907 2011-05-21  Bruno Haible  <bruno@clisp.org>
51909         roundl: Move AC_LIBOBJ invocations to module description.
51910         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
51911         * modules/roundl (configure.ac): ... to here.
51913 2011-05-21  Bruno Haible  <bruno@clisp.org>
51915         round: Move AC_LIBOBJ invocations to module description.
51916         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
51917         * modules/round (configure.ac): ... to here.
51919 2011-05-21  Bruno Haible  <bruno@clisp.org>
51921         roundf: Move AC_LIBOBJ invocations to module description.
51922         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
51923         * modules/roundf (configure.ac): ... to here.
51925 2011-05-21  Bruno Haible  <bruno@clisp.org>
51927         truncl: Move AC_LIBOBJ invocations to module description.
51928         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
51929         * modules/truncl (configure.ac): ... to here.
51931 2011-05-21  Bruno Haible  <bruno@clisp.org>
51933         trunc: Move AC_LIBOBJ invocations to module description.
51934         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
51935         * modules/trunc (configure.ac): ... to here.
51937 2011-05-21  Bruno Haible  <bruno@clisp.org>
51939         truncf: Move AC_LIBOBJ invocations to module description.
51940         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
51941         * modules/truncf (configure.ac): ... to here.
51943 2011-05-21  Bruno Haible  <bruno@clisp.org>
51945         ceill: Move AC_LIBOBJ invocations to module description.
51946         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
51947         * modules/ceill (configure.ac): ... to here.
51949 2011-05-21  Bruno Haible  <bruno@clisp.org>
51951         ceil: Move AC_LIBOBJ invocations to module description.
51952         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
51953         * modules/ceil (configure.ac): ... to here.
51955 2011-05-21  Bruno Haible  <bruno@clisp.org>
51957         ceilf: Move AC_LIBOBJ invocations to module description.
51958         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
51959         * modules/ceilf (configure.ac): ... to here.
51961 2011-05-21  Bruno Haible  <bruno@clisp.org>
51963         floorl: Respect rules for use of AC_LIBOBJ.
51964         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
51965         * modules/floorl (configure.ac): ... to here.
51967 2011-05-21  Bruno Haible  <bruno@clisp.org>
51969         floor: Respect rules for use of AC_LIBOBJ.
51970         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
51971         * modules/floor (configure.ac): ... to here.
51973 2011-05-21  Bruno Haible  <bruno@clisp.org>
51975         floorf: Move AC_LIBOBJ invocations to module description.
51976         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
51977         * modules/floorf (configure.ac): ... to here.
51979 2011-05-20  Bruno Haible  <bruno@clisp.org>
51981         sqrtl: Respect rules for use of AC_LIBOBJ.
51982         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
51983         * modules/sqrtl (configure.ac): ... to here.
51985 2011-05-20  Bruno Haible  <bruno@clisp.org>
51987         ldexpl: Respect rules for use of AC_LIBOBJ.
51988         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
51989         * modules/ldexpl (configure.ac): ... to here.
51991 2011-05-20  Bruno Haible  <bruno@clisp.org>
51993         frexpl*: Respect rules for use of AC_LIBOBJ.
51994         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
51995         invocation from here...
51996         * modules/frexpl (configure.ac): ... to here.
51997         * modules/frexpl-nolibm (configure.ac): ... and here.
51999 2011-05-20  Bruno Haible  <bruno@clisp.org>
52001         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
52002         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
52003         invocation from here...
52004         * modules/frexp (configure.ac): ... to here.
52005         * modules/frexp-nolibm (configure.ac): ... and here.
52007 2011-05-20  Bruno Haible  <bruno@clisp.org>
52009         isnan: Respect rules for use of AC_LIBOBJ.
52010         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
52011         invocations here.
52012         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
52013         REPLACE_ISNAN.
52014         * modules/isnand (configure.ac): Likewise.
52015         * modules/isnanl (configure.ac): Likewise.
52017 2011-05-20  Bruno Haible  <bruno@clisp.org>
52019         isnanl*: Respect rules for use of AC_LIBOBJ.
52020         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
52021         invocation from here...
52022         * modules/isnanl (configure.ac): ... to here.
52023         * modules/isnanl-nolibm (configure.ac): ... and here.
52025 2011-05-20  Bruno Haible  <bruno@clisp.org>
52027         isnand*: Move AC_LIBOBJ invocations to module description.
52028         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
52029         invocation from here...
52030         * modules/isnand (configure.ac): ... to here.
52031         * modules/isnand-nolibm (configure.ac): ... and here.
52033 2011-05-20  Bruno Haible  <bruno@clisp.org>
52035         isnanf*: Move AC_LIBOBJ invocations to module description.
52036         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
52037         invocation from here...
52038         * modules/isnanf (configure.ac): ... to here.
52039         * modules/isnanf-nolibm (configure.ac): ... and here.
52041 2011-05-20  Bruno Haible  <bruno@clisp.org>
52043         isnan*: Separate the AC_LIBOBJ invocations.
52044         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
52045         AC_LIBOBJ invocation.
52046         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
52047         here.
52048         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
52049         AC_LIBOBJ invocation.
52050         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
52051         here.
52052         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
52053         AC_LIBOBJ invocation.
52054         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
52055         here.
52056         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
52058 2011-05-08  Bruno Haible  <bruno@clisp.org>
52060         isinf: Move AC_LIBOBJ invocations to module description.
52061         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
52062         * modules/isinf (configure.ac): ... to here.
52064 2011-05-08  Bruno Haible  <bruno@clisp.org>
52066         isfinite: Move AC_LIBOBJ invocations to module description.
52067         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
52068         * modules/isfinite (configure.ac): ... to here.
52070 2011-05-08  Bruno Haible  <bruno@clisp.org>
52072         isblank: Move AC_LIBOBJ invocations to module description.
52073         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
52074         here...
52075         * modules/isblank (configure.ac): ... to here.
52077 2011-05-08  Bruno Haible  <bruno@clisp.org>
52079         isapipe: Move AC_LIBOBJ invocations to module description.
52080         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
52081         gl_PREREQ_ISAPIPE invocations from here...
52082         * modules/isapipe (configure.ac): ... to here.
52083         (Depends-on): Update condition.
52085 2011-05-08  Bruno Haible  <bruno@clisp.org>
52087         ioctl: Move AC_LIBOBJ invocations to module description.
52088         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
52089         invocations from here...
52090         * modules/ioctl (configure.ac): ... to here.
52091         (Depends-on): Update condition.
52093 2011-05-08  Bruno Haible  <bruno@clisp.org>
52095         imaxdiv: Move AC_LIBOBJ invocations to module description.
52096         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
52097         invocations from here...
52098         * modules/imaxdiv (configure.ac): ... to here.
52100 2011-05-08  Bruno Haible  <bruno@clisp.org>
52102         imaxabs: Move AC_LIBOBJ invocations to module description.
52103         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
52104         invocations from here...
52105         * modules/imaxabs (configure.ac): ... to here.
52107 2011-05-08  Bruno Haible  <bruno@clisp.org>
52109         getaddrinfo: Move AC_LIBOBJ invocations to module description.
52110         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
52111         AC_LIBOBJ invocations from here...
52112         * modules/getaddrinfo (configure.ac): ... to here.
52113         (Depends-on): Add conditions.
52115 2011-05-08  Bruno Haible  <bruno@clisp.org>
52117         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
52118         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
52119         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
52120         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
52121         (gl_PREREQ_INET_PTON): ... from here.
52122         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
52123         gl_PREREQ_INET_PTON here.
52124         (Depends-on): Update condition.
52126 2011-05-08  Bruno Haible  <bruno@clisp.org>
52128         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
52129         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
52130         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
52131         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
52132         (gl_PREREQ_INET_NTOP): ... from here.
52133         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
52134         gl_PREREQ_INET_NTOP here.
52135         (Depends-on): Update condition.
52137 2011-05-08  Bruno Haible  <bruno@clisp.org>
52139         iconv_open: Move AC_LIBOBJ invocations to module description.
52140         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
52141         AC_LIBOBJ invocations from here...
52142         * modules/iconv_open (configure.ac): ... to here.
52144 2011-05-08  Bruno Haible  <bruno@clisp.org>
52146         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
52147         If module 'iconv_open' is among the main modules and module
52148         'iconv_open-utf' is among the tests dependencies, then
52149         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
52150         return the special iconv_t values. Therefore iconv() and iconv_close()
52151         must support these special iconv_t values, already in lib, not only in
52152         tests.
52153         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
52154         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
52155         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
52156         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
52157         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
52158         (Depends-on): Add the dependencies of iconv_open-utf.
52159         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
52160         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
52161         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
52163 2011-05-08  Bruno Haible  <bruno@clisp.org>
52165         group-member: Move AC_LIBOBJ invocations to module description.
52166         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
52167         gl_PREREQ_GROUP_MEMBER invocations from here...
52168         * modules/group-member (configure.ac): ... to here.
52170 2011-05-08  Bruno Haible  <bruno@clisp.org>
52172         grantpt: Move AC_LIBOBJ invocations to module description.
52173         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
52174         invocations from here...
52175         * modules/grantpt (configure.ac): ... to here.
52177 2011-05-08  Bruno Haible  <bruno@clisp.org>
52179         glob: Move AC_LIBOBJ invocations to module description.
52180         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
52181         from here...
52182         * modules/glob (configure.ac): ... to here.
52184 2011-05-08  Bruno Haible  <bruno@clisp.org>
52186         getusershell: Move AC_LIBOBJ invocations to module description.
52187         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
52188         Move AC_LIBOBJ invocation from here...
52189         * modules/getusershell (configure.ac): ... to here.
52190         (Depends-on): Update condition.
52192 2011-05-08  Bruno Haible  <bruno@clisp.org>
52194         gettimeofday: Move AC_LIBOBJ invocations to module description.
52195         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52196         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
52197         gl_PREREQ_GETTIMEOFDAY invocations from here...
52198         * modules/gettimeofday (configure.ac): ... to here.
52200 2011-05-08  Bruno Haible  <bruno@clisp.org>
52202         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
52203         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
52204         just gl_FUNC_TZSET.
52205         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
52206         (gl_FUNC_TZSET_CLOBBER): Remove actions.
52207         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
52208         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
52210 2011-05-08  Bruno Haible  <bruno@clisp.org>
52212         getsubopt: Move AC_LIBOBJ invocations to module description.
52213         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
52214         gl_PREREQ_GETSUBOPT invocations from here...
52215         * modules/getsubopt (configure.ac): ... to here.
52217 2011-05-08  Bruno Haible  <bruno@clisp.org>
52219         getpass-gnu: Move AC_LIBOBJ invocations to module description.
52220         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
52221         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
52222         * modules/getpass-gnu (configure.ac): ... to here.
52224 2011-05-08  Bruno Haible  <bruno@clisp.org>
52226         getpass: Move AC_LIBOBJ invocations to module description.
52227         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
52228         gl_PREREQ_GETPASS invocations from here...
52229         * modules/getpass (configure.ac): ... to here.
52231 2011-05-08  Bruno Haible  <bruno@clisp.org>
52233         getpagesize: Move AC_LIBOBJ invocations to module description.
52234         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
52235         from here...
52236         * modules/getpagesize (configure.ac): ... to here.
52238 2011-05-08  Bruno Haible  <bruno@clisp.org>
52240         getopt: Move AC_LIBOBJ invocations to module description.
52241         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
52242         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
52243         invocations from here...
52244         * modules/getopt-gnu (configure.ac): ... to here.
52245         * modules/getopt-posix (configure.ac): ... and here.
52246         (Depends-on): Update condition.
52248 2011-05-08  Bruno Haible  <bruno@clisp.org>
52250         getopt, argp: Respect rules for use of AC_LIBOBJ.
52251         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
52252         (gl_REPLACE_GETOPT_ALWAYS): New macro.
52253         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
52254         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
52256 2011-05-08  Bruno Haible  <bruno@clisp.org>
52258         getlogin_r: Move AC_LIBOBJ invocations to module description.
52259         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
52260         gl_PREREQ_GETLOGIN_R invocations from here...
52261         * modules/getlogin_r (configure.ac): ... to here.
52263 2011-05-08  Bruno Haible  <bruno@clisp.org>
52265         getlogin: Move AC_LIBOBJ invocations to module description.
52266         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
52267         here...
52268         * modules/getlogin (configure.ac): ... to here.
52270 2011-05-08  Bruno Haible  <bruno@clisp.org>
52272         getloadavg: Move AC_LIBOBJ invocations to module description.
52273         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
52274         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
52275         * modules/getloadavg (configure.ac): ... to here.
52277 2011-05-08  Bruno Haible  <bruno@clisp.org>
52279         gethrxtime: Move AC_LIBOBJ invocations to module description.
52280         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
52281         LIB_GETHRXTIME from here...
52282         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
52283         invocations from here...
52284         * modules/gethrxtime (configure.ac): ... to here.
52286 2011-05-08  Bruno Haible  <bruno@clisp.org>
52288         gethostname: Move AC_LIBOBJ invocations to module description.
52289         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
52290         gl_PREREQ_GETHOSTNAME invocations from here...
52291         * modules/gethostname (configure.ac): ... to here.
52293 2011-05-08  Bruno Haible  <bruno@clisp.org>
52295         getgroups: Move AC_LIBOBJ invocations to module description.
52296         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
52297         here...
52298         * modules/getgroups (configure.ac): ... to here.
52300 2011-05-08  Bruno Haible  <bruno@clisp.org>
52302         getdtablesize: Move AC_LIBOBJ invocations to module description.
52303         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
52304         invocation from here...
52305         * modules/getdtablesize (configure.ac): ... to here.
52307 2011-05-08  Bruno Haible  <bruno@clisp.org>
52309         getdomainname: Move AC_LIBOBJ invocations to module description.
52310         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
52311         gl_PREREQ_GETDOMAINNAME invocations from here...
52312         * modules/getdomainname (configure.ac): ... to here.
52314 2011-05-08  Bruno Haible  <bruno@clisp.org>
52316         getline: Move AC_LIBOBJ invocations to module description.
52317         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
52318         invocations from here...
52319         * modules/getline (configure.ac): ... to here.
52321 2011-05-08  Bruno Haible  <bruno@clisp.org>
52323         getline: Simplify.
52324         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
52325         It's already handled through the module dependency.
52327 2011-05-08  Bruno Haible  <bruno@clisp.org>
52329         getdelim: Move AC_LIBOBJ invocations to module description.
52330         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
52331         and gl_PREREQ_GETDELIM invocations from here...
52332         * modules/getdelim (configure.ac): ... to here.
52333         (Depends-on): Fix condition.
52335 2011-05-08  Bruno Haible  <bruno@clisp.org>
52337         getcwd: Move AC_LIBOBJ invocations to module description.
52338         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
52339         invocations from here...
52340         * modules/getcwd (configure.ac): ... to here.
52342 2011-05-08  Bruno Haible  <bruno@clisp.org>
52344         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
52345         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
52346         here...
52347         * modules/getcwd-lgpl (configure.ac): ... to here.
52349 2011-05-07  Bruno Haible  <bruno@clisp.org>
52351         crypto/gc: Move AC_LIBOBJ invocations to module description.
52352         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
52353         * modules/crypto/gc (configure.ac): ... to here.
52355 2011-05-07  Bruno Haible  <bruno@clisp.org>
52357         fwriting: Move AC_LIBOBJ invocations to module description.
52358         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
52359         here...
52360         * modules/fwriting (configure.ac): ... to here.
52362 2011-05-07  Bruno Haible  <bruno@clisp.org>
52364         fwritable: Move AC_LIBOBJ invocations to module description.
52365         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
52366         here...
52367         * modules/fwritable (configure.ac): ... to here.
52369 2011-05-07  Bruno Haible  <bruno@clisp.org>
52371         futimens: Move AC_LIBOBJ invocations to module description.
52372         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
52373         here...
52374         * modules/futimens (configure.ac): ... to here.
52376 2011-05-07  Bruno Haible  <bruno@clisp.org>
52378         ftruncate: Move AC_LIBOBJ invocations to module description.
52379         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
52380         gl_PREREQ_FTRUNCATE invocations from here...
52381         * modules/ftruncate (configure.ac): ... to here.
52383 2011-05-07  Bruno Haible  <bruno@clisp.org>
52385         fsync: Move AC_LIBOBJ invocations to module description.
52386         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
52387         invocations from here...
52388         * modules/fsync (configure.ac): ... to here.
52390 2011-05-07  Bruno Haible  <bruno@clisp.org>
52392         fsusage: Move AC_LIBOBJ invocations to module description.
52393         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
52394         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
52395         * modules/fsusage (configure.ac): ... to here.
52397 2011-05-07  Bruno Haible  <bruno@clisp.org>
52399         freopen: Move AC_LIBOBJ invocations to module description.
52400         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
52401         invocations from here...
52402         * modules/freopen (configure.ac): ... to here.
52404 2011-05-07  Bruno Haible  <bruno@clisp.org>
52406         free: Move AC_LIBOBJ invocations to module description.
52407         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
52408         invocations from here...
52409         * modules/free (configure.ac): ... to here.
52411 2011-05-07  Bruno Haible  <bruno@clisp.org>
52413         freadable: Move AC_LIBOBJ invocations to module description.
52414         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
52415         here...
52416         * modules/freadable (configure.ac): ... to here.
52418 2011-05-07  Bruno Haible  <bruno@clisp.org>
52420         fpurge: Move AC_LIBOBJ invocations to module description.
52421         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
52422         invocations from here...
52423         * modules/fpurge (configure.ac): ... to here.
52425 2011-05-07  Bruno Haible  <bruno@clisp.org>
52427         fpending: Move AC_LIBOBJ invocations to module description.
52428         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
52429         gl_FUNC_FPENDING.
52430         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
52431         invocations from here...
52432         * modules/fpending (configure.ac): ... to here.
52434 2011-05-07  Bruno Haible  <bruno@clisp.org>
52436         fopen: Move AC_LIBOBJ invocations to module description.
52437         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
52438         invocations from here...
52439         * modules/fopen (configure.ac): ... to here.
52441 2011-05-07  Bruno Haible  <bruno@clisp.org>
52443         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
52444         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
52445         gl_FUNC_FNMATCH_POSIX.
52446         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
52447         invocations from here...
52448         * modules/fnmatch (configure.ac): ... to here.
52449         * modules/fnmatch-gnu (configure.ac): ... and here.
52451 2011-05-07  Bruno Haible  <bruno@clisp.org>
52453         flock: Move AC_LIBOBJ invocations to module description.
52454         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
52455         invocations from here...
52456         * modules/flock (configure.ac): ... to here.
52458 2011-05-07  Bruno Haible  <bruno@clisp.org>
52460         fileblocks: Move AC_LIBOBJ invocations to module description.
52461         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
52462         gl_PREREQ_FILEBLOCKS invocations from here...
52463         * modules/fileblocks (configure.ac): ... to here.
52465 2011-05-06  Bruno Haible  <bruno@clisp.org>
52467         fflush: Move AC_LIBOBJ invocations to module description.
52468         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
52469         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
52470         invocations from here...
52471         * modules/fflush (configure.ac): ... to here.
52473 2011-05-06  Bruno Haible  <bruno@clisp.org>
52475         fdopendir: Move AC_LIBOBJ invocations to module description.
52476         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
52477         here...
52478         * modules/fdopendir (configure.ac): ... to here.
52479         (Depends-on): Improve conditions.
52481 2011-05-06  Bruno Haible  <bruno@clisp.org>
52483         _Exit: Move AC_LIBOBJ invocations to module description.
52484         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
52485         invocations from here...
52486         * modules/_Exit (configure.ac): ... to here.
52488 2011-05-21  Bruno Haible  <bruno@clisp.org>
52490         euidaccess: Respect rules for use of AC_LIBOBJ.
52491         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
52492         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
52493         from here...
52494         * modules/euidaccess (configure.ac): ... to here.
52496 2011-05-06  Bruno Haible  <bruno@clisp.org>
52498         error: Move AC_LIBOBJ invocations to module description.
52499         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
52500         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
52501         invocations from here...
52502         * modules/error (configure.ac): ... to here.
52504 2011-05-06  Bruno Haible  <bruno@clisp.org>
52506         duplocale: Move AC_LIBOBJ invocations to module description.
52507         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
52508         gl_PREREQ_DUPLOCALE invocations from here...
52509         * modules/duplocale (configure.ac): ... to here.
52511 2011-05-05  Bruno Haible  <bruno@clisp.org>
52513         dirfd: Move AC_LIBOBJ invocations to module description.
52514         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
52515         gl_FUNC_DIRFD.
52516         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
52517         here...
52518         * modules/dirfd (configure.ac): ... to here.
52519         (Depends-on): Fix condition.
52521 2011-05-05  Bruno Haible  <bruno@clisp.org>
52523         chown: Respect rules for use of AC_LIBOBJ.
52524         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
52525         * modules/chown (configure.ac): ... to here.
52527 2011-05-05  Bruno Haible  <bruno@clisp.org>
52529         chdir-long: Move AC_LIBOBJ invocations to module description.
52530         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
52531         gl_PREREQ_CHDIR_LONG invocations from here...
52532         * modules/chdir-long (configure.ac): ... to here.
52534 2011-05-05  Bruno Haible  <bruno@clisp.org>
52536         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
52537         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
52538         from here...
52539         * modules/canonicalize-lgpl (configure.ac): ... to here.
52541 2011-05-05  Bruno Haible  <bruno@clisp.org>
52543         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
52544         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
52545         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
52546         REPLACE_CALLOC.
52547         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
52548         * modules/calloc-gnu (configure.ac): Likewise.
52550 2011-05-05  Bruno Haible  <bruno@clisp.org>
52552         btowc: Move AC_LIBOBJ invocations to module description.
52553         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
52554         invocations from here...
52555         * modules/btowc (configure.ac): ... to here.
52557 2011-05-21  Bruno Haible  <bruno@clisp.org>
52559         atexit: Move AC_LIBOBJ invocations to module description.
52560         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
52561         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
52562         here...
52563         * modules/atexit (configure.ac): ... to here.
52565 2011-05-05  Bruno Haible  <bruno@clisp.org>
52567         atoll: Move AC_LIBOBJ invocations to module description.
52568         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
52569         invocations from here...
52570         * modules/atoll (configure.ac): ... to here.
52572 2011-05-05  Bruno Haible  <bruno@clisp.org>
52574         argz: Move AC_LIBOBJ invocations to module description.
52575         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
52576         * modules/argz (configure.ac): ... to here.
52578 2011-05-05  Bruno Haible  <bruno@clisp.org>
52580         alphasort: Move AC_LIBOBJ invocations to module description.
52581         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
52582         gl_PREREQ_ALPHASORT invocations from here...
52583         * modules/alphasort (configure.ac): ... to here.
52585 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
52587         verify: new macro verify_expr; verify_true deprecated
52588         * NEWS: Mention this.
52589         * doc/verify.texi (Compile-time Assertions): Document this.
52590         * lib/verify.h (verify_true): Deprecate.
52591         (verify_expr): New macro.
52592         * tests/test-verify.c (function): Test verify_expr.
52594 2011-06-14  Jim Meyering  <meyering@redhat.com>
52596         init.sh: give more portable redirection-related advice in a comment
52597         * tests/init.sh (stderr_fileno_): Update the advice in comments.
52598         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
52599         for lots of discussion.  Stefano Lattarini suggested the solution
52600         of putting "9>&2" after the command.  Reported by Bruno Haible.
52602 2011-06-13  Bruno Haible  <bruno@clisp.org>
52604         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
52605         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
52606         'none'.
52608 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
52610         ftoastr: use strtof only if HAVE_STRTOF
52611         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
52612         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
52613         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
52614         * modules/ftoastr (configure.ac): Check for strtof.
52616 2011-06-13  Bruno Haible  <bruno@clisp.org>
52618         gnulib-tool: Addendum to 2011-06-08 commit.
52619         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
52620         and --witness-c-macro have been given, augment AM_CPPFLAGS.
52622 2011-06-13  Bruno Haible  <bruno@clisp.org>
52624         fseeko: Provide a non-inline replacement of fseek().
52625         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
52626         * modules/fseeko (Depends-on): Add fseek.
52627         * modules/fseek (License): Change to LGPLv2+.
52629 2011-06-13  Bruno Haible  <bruno@clisp.org>
52631         ftello: Provide a non-inline replacement of ftell().
52632         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
52633         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
52634         not have ftello() (such as on mingw).
52635         * modules/ftello (Depends-on): Add ftell.
52636         * modules/ftell (License): Change to LGPLv2+.
52638 2011-05-07  Bruno Haible  <bruno@clisp.org>
52640         ftell: Move AC_LIBOBJ invocations to module description.
52641         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
52642         * modules/ftell (configure.ac): ... to here.
52644 2011-05-07  Bruno Haible  <bruno@clisp.org>
52646         ftello: Respect rules for use of AC_LIBOBJ.
52647         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
52648         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
52649         here...
52650         * modules/ftello (configure.ac): ... to here.
52652 2011-05-07  Bruno Haible  <bruno@clisp.org>
52654         fseeko: Simplify.
52655         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
52656         (gl_FUNC_FSEEKO): Inline it here.
52658 2011-05-07  Bruno Haible  <bruno@clisp.org>
52660         fseek: Move AC_LIBOBJ invocations to module description.
52661         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
52662         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
52663         * modules/fseek (configure.ac): ... to here.
52665 2011-05-07  Bruno Haible  <bruno@clisp.org>
52667         fseek: Respect rules for use of AC_LIBOBJ.
52668         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
52669         here...
52670         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
52672 2011-05-07  Bruno Haible  <bruno@clisp.org>
52674         fseeko: Respect rules for use of AC_LIBOBJ.
52675         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
52676         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
52677         here...
52678         * modules/fseeko (configure.ac): ... to here.
52680 2011-06-13  Bruno Haible  <bruno@clisp.org>
52682         gnulib-tool: Allow comments in the 'Depends-on' section.
52683         * doc/gnulib.texi (Module description): Mention comment syntax in the
52684         Depends-on section.
52685         * gnulib-tool (func_get_dependencies): Filter out comment lines.
52687 2011-06-13  Bruno Haible  <bruno@clisp.org>
52689         file-set.h: guard __attibute__ use, now that it's not always defined
52690         * lib/file-set.h (record_file): Use __attribute__ only with compiler
52691         versions that support it.  This fixes a coreutils build failure with
52692         the vendor cc on HP-UX 11.31.
52694 2011-06-12  Bruno Haible  <bruno@clisp.org>
52696         acl: Add support for HP-UX >= 11.11 JFS ACLs.
52697         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
52698         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
52699         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
52700         (acl, aclsort): New declarations.
52701         (aclv_nontrivial): New declaration.
52702         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
52703         (file_has_acl): Read also the second kind of HP-UX ACLs.
52704         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
52705         kind of HP-UX ACLs if the first kind fails.
52706         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
52707         second kind of HP-UX ACLs.
52708         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
52709         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
52710         agree.
52711         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
52712         hpuxjfs.
52713         Handle hpuxjfs.
52714         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
52715         hpuxjfs.
52716         Handle hpuxjfs.
52717         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
52718         (func_test_same_acls): Use both lsacl and getacl.
52719         Handle hpuxjfs.
52720         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
52721         (func_test_same_acls): Use both lsacl and getacl.
52722         Handle hpuxjfs.
52724 2011-06-12  Bruno Haible  <bruno@clisp.org>
52726         acl: Complete the 2010-08-10 fix.
52727         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
52728         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
52729         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
52730         explicitly.
52731         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
52732         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
52734 2011-06-12  Bruno Haible  <bruno@clisp.org>
52736         spawn-pipe tests: Comments.
52737         * tests/test-spawn-pipe-child.c (main): Update comment.
52738         Reported by James Youngman <jay@gnu.org>.
52740 2011-06-11  James Youngman  <jay@gnu.org>
52742         New module 'stat-size'.
52743         * modules/stat-size: New module.  Provides macros for accessing
52744         file size information in instances of struct stat.  Depends on the
52745         fileblocks module because it calls st_blocks.
52746         * lib/stat-size.h: New file, adapted from coreutils' system.h.
52747         * doc/gnulib.texi: Include stat-size.texi.
52748         * doc/stat-size.texi: Documentation for this module.
52749         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
52750         * m4/fileblocks.m4: Mention that stat-size depends on the call to
52751         AC_STRUCT_ST_BLOCKS.
52753 2011-06-09  Bruno Haible  <bruno@clisp.org>
52755         thread: Support pthreads-win32.
52756         * lib/glthread/thread.h (gl_thread_self): Define differently on
52757         pthreads-win32.
52758         (gl_null_thread): New declaration.
52759         (gl_thread_self_pointer): New macro.
52760         * lib/glthread/thread.c (gl_null_thread): New constant.
52761         * tests/test-lock.c: Use gl_thread_self_pointer instead of
52762         gl_thread_self.
52763         * tests/test-tls.c: Likewise.
52764         Suggested by Paul Eggert. Reported by Eric Blake.
52766 2011-06-09  Bruno Haible  <bruno@clisp.org>
52768         thread: Fix confusion between NULL and 0.
52769         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
52770         Reported by Paul Eggert.
52772 2011-06-09  Bruno Haible  <bruno@clisp.org>
52774         spawn-pipe tests: Avoid test failure on HP-UX 11.
52775         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
52776         is closed.
52778 2011-06-09  Bruno Haible  <bruno@clisp.org>
52780         acl tests: Fix compilation error on HP-UX 11.
52781         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
52783 2011-06-09  Bruno Haible  <bruno@clisp.org>
52785         rmdir: Avoid test failure on HP-UX 10.20.
52786         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
52787         EEXIST.
52789 2011-06-08  Eric Blake  <eblake@redhat.com>
52791         perror: fix test on mingw
52792         * modules/perror-tests (Depends-on): Add dup2.
52794         strerror_r-posix: fix on MacOS
52795         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
52796         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
52797         logic bug.
52798         * lib/strerror_r.c (strerror_r): Fix the bug.
52799         * lib/strerror.c (strerror): Likewise.
52800         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
52801         problem.
52802         * doc/posix-functions/strerror.texi (strerror): Likewise.
52803         * doc/posix-functions/perror.texi (perror): Likewise.
52804         * tests/test-strerror.c (main): Enhance test.
52805         * tests/test-strerror_r.c (main): Likewise.
52807 2011-06-08  Bruno Haible  <bruno@clisp.org>
52809         gnulib-tool: Better isolation between different gnulib-tool invocations.
52810         * gnulib-tool: New option --witness-c-macro.
52811         (witness_c_macro): New variable.
52812         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
52813         AM_CPPFLAGS define it as a C macro.
52814         (func_emit_tests_Makefile_am): Likewise.
52815         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
52816         read it from there.
52817         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
52818         m4_define, not AC_DEFUN.
52819         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
52820         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
52821         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
52822         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
52823         s|...|...|, to substitute the values of the GNULIB_* module indicator
52824         variables.
52825         * modules/dirent (Makefile.am): Likewise.
52826         * modules/fcntl-h (Makefile.am): Likewise.
52827         * modules/iconv-h (Makefile.am): Likewise.
52828         * modules/langinfo (Makefile.am): Likewise.
52829         * modules/locale (Makefile.am): Likewise.
52830         * modules/math (Makefile.am): Likewise.
52831         * modules/netdb (Makefile.am): Likewise.
52832         * modules/poll-h (Makefile.am): Likewise.
52833         * modules/pty (Makefile.am): Likewise.
52834         * modules/search (Makefile.am): Likewise.
52835         * modules/signal (Makefile.am): Likewise.
52836         * modules/spawn (Makefile.am): Likewise.
52837         * modules/stdio (Makefile.am): Likewise.
52838         * modules/stdlib (Makefile.am): Likewise.
52839         * modules/string (Makefile.am): Likewise.
52840         * modules/sys_ioctl (Makefile.am): Likewise.
52841         * modules/sys_select (Makefile.am): Likewise.
52842         * modules/sys_socket (Makefile.am): Likewise.
52843         * modules/sys_stat (Makefile.am): Likewise.
52844         * modules/sys_times (Makefile.am): Likewise.
52845         * modules/sys_utsname (Makefile.am): Likewise.
52846         * modules/sys_wait (Makefile.am): Likewise.
52847         * modules/termios (Makefile.am): Likewise.
52848         * modules/time (Makefile.am): Likewise.
52849         * modules/unistd (Makefile.am): Likewise.
52850         * modules/wchar (Makefile.am): Likewise.
52852 2011-06-08  Eric Blake  <eblake@redhat.com>
52854         strerror: simplify replacement
52855         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
52856         * modules/strerror (configure.ac): No prereqs needed here...
52857         * modules/strerror-override (configure.ac): ...but this needs it.
52858         (Files): Add file for needed prereq macro.
52860 2011-06-08  Bruno Haible  <bruno@clisp.org>
52862         strerror_r-posix: Tweaks.
52863         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
52864         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
52865         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
52866         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
52867         (gl_FUNC_STRERROR_R): ... to here.
52868         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
52870 2011-06-07  Eric Blake  <eblake@redhat.com>
52872         perror: document fixed bugs
52873         * doc/posix-functions/perror.texi (perror): Document recent
52874         patches.
52876 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
52878         stat-time: get_stat_birthtime failure is better-defined
52879         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
52880         return a timestamp whose tv_sec and tv_nsec values are both -1.
52881         Previously, the spec said only that the tv_nsec value was negative.
52882         This upward-compatible change simplifies GNU tar a bit.
52884 2011-06-07  Eric Blake  <eblake@redhat.com>
52886         strerror_r-posix: work around cygwin 1.7.9
52887         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
52888         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
52889         bug without replacing strerror_r.
52890         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
52891         strerror_r is buggy, but without requiring strerror_r compilation.
52892         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
52894         test-perror: relax test to ignore cygwin bug
52895         * tests/test-perror2.c (main): Relax test on requiring detection
52896         of stream errors, and use unbuffered stream.
52897         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
52898         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
52899         * doc/posix-functions/fputc.texi (fputc): Likewise.
52900         * doc/posix-functions/fputs.texi (fputs): Likewise.
52901         * doc/posix-functions/fputws.texi (fputws): Likewise.
52902         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
52903         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
52904         * doc/posix-functions/getopt.texi (getopt): Likewise.
52905         * doc/posix-functions/perror.texi (perror): Likewise.
52906         * doc/posix-functions/printf.texi (printf): Likewise.
52907         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
52908         * doc/posix-functions/psignal.texi (psignal): Likewise.
52909         * doc/posix-functions/putc.texi (putc): Likewise.
52910         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
52911         Likewise.
52912         * doc/posix-functions/putchar.texi (putchar): Likewise.
52913         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
52914         Likewise.
52915         * doc/posix-functions/puts.texi (puts): Likewise.
52916         * doc/posix-functions/putwc.texi (putwc): Likewise.
52917         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52918         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52919         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52920         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
52921         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52922         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52923         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
52924         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
52926 2011-05-22  Bruno Haible  <bruno@clisp.org>
52928         strerror: Move AC_LIBOBJ invocations to module description.
52929         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
52930         gl_PREREQ_STRERROR invocations from here...
52931         * modules/strerror (configure.ac): ... to here.
52933 2011-05-21  Bruno Haible  <bruno@clisp.org>
52935         perror: Use common idiom.
52936         * modules/perror (configure.ac): Reorder statements.
52938 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
52940         tests: fix usage message in 'mktempd_'
52941         * tests/init.sh (mktempd_): In the usage message, use literal
52942         'mktempd_', not '$ME' (which is even undefined), as the name of
52943         the subroutine.
52945 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
52947         tests init: new function 'fatal_', for hard errors
52948         Before this patch, the only way offered by tests/init.sh to
52949         properly signal a hard error was the `framework_failure_'
52950         function.  But the error message issued by that function,
52951         as its name would suggest, refers to a set-up failure in the
52952         testsuite, while hard errors can obviously also be due to
52953         other reasons.  The best way to fix this inconsistency is to
52954         introduce a new function with a more general error message.
52955         * tests/init.sh (fatal_): New function.
52957 2011-06-06  Eric Blake  <eblake@redhat.com>
52959         canonicalize-lgpl: use common idiom
52960         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
52961         over newer POSIX -Rf.
52962         Reported by Bruno Haible.
52964         canonicalize-lgpl: work around AIX realpath bug
52965         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
52966         * doc/posix-functions/realpath.texi (realpath): Document it.
52967         Reported by Bruno Haible.
52969         strerror: work around FreeBSD bug
52970         * lib/strerror.c (strerror): Special case 0.
52971         Reported by Bruno Haible.
52973         strerror-override: avoid bloating errno module
52974         * modules/errno (Files, configure.ac): Move replacement strings...
52975         * modules/strerror-override: ...to new module.
52976         * modules/strerror (Depends-on): Add strerror-override.
52977         * modules/strerror_r-posix (Depends-on): Likewise.
52978         * MODULES.html.sh: Document new module.
52979         Reported by Bruno Haible.
52981 2011-06-06  Bruno Haible  <bruno@clisp.org>
52983         spawn-pipe tests: Rename program.
52984         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
52985         * tests/test-spawn-pipe-child.c: Update comment.
52986         * tests/test-spawn-pipe.sh: Update.
52987         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
52989         spawn-pipe tests: Link the child program only against libc.
52990         * tests/test-spawn-pipe-child.c: New file, extracted from
52991         tests/test-spawn-pipe.c.
52992         (main): Expect only one argument.
52993         (is_open): New function, copied from tests/test-pipe.c.
52994         * tests/test-spawn-pipe.c: Don't include <errno.h>.
52995         (child_main): Remove function.
52996         (test_pipe): Pass only one argument to the child program.
52997         (main): Remove child process code. Expect the child program's name as
52998         first argument.
52999         * tests/test-spawn-pipe.sh: Pass the child program's name as first
53000         argument.
53001         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
53002         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
53003         test-spawn-pipe-child against no libraries.
53005 2011-06-06  Bruno Haible  <bruno@clisp.org>
53007         careadlinkat: Avoid mismatch between ssize_t and int.
53008         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
53009         * lib/careadlinkat.c (careadlinkatcwd): Define always.
53011 2011-06-06  Jim Meyering  <meyering@redhat.com>
53013         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
53014         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
53015         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
53017 2011-06-05  Bruno Haible  <bruno@clisp.org>
53019         ansi-c++-opt: Interoperability with libtool.
53020         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
53021         set the variable to "no", not to ":".
53022         * NEWS: Mention the change.
53024 2011-06-05  Bruno Haible  <bruno@clisp.org>
53026         acl: Fix test failure on AIX 7.
53027         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
53028         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
53030 2011-06-05  Bruno Haible  <bruno@clisp.org>
53032         pipe-filter-ii: Fix test failure on AIX and IRIX.
53033         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
53034         with EAGAIN, retry with a smaller buffer size.
53036 2011-06-05  Bruno Haible  <bruno@clisp.org>
53038         localename: Fix link dependencies.
53039         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
53040         * modules/localename-tests (Makefile.am): Link test-localename with
53041         $(LIBTHREAD).
53043 2011-06-05  Bruno Haible  <bruno@clisp.org>
53045         error: Avoid gcc warning.
53046         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
53048 2011-06-05  Bruno Haible  <bruno@clisp.org>
53050         unsetenv: Avoid gcc warning.
53051         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
53053 2011-06-05  Bruno Haible  <bruno@clisp.org>
53055         setenv: Avoid gcc warning.
53056         * lib/setenv.c (setenv): Provide declaration if system lacks it.
53058 2011-06-05  Bruno Haible  <bruno@clisp.org>
53060         sys_select: Ensure memset is declared also on AIX 7.
53061         * lib/sys_select.in.h: Include <string.h> also on AIX.
53062         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
53063         self-contained also on AIX 7.1.
53065 2011-06-04  Jim Meyering  <meyering@redhat.com>
53067         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
53068         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
53069         function name, "error".
53070         (_gl_translatable_diag_func_re): New configurable variable.
53072 2011-06-04  Bruno Haible  <bruno@clisp.org>
53074         getopt: Avoid gcc warning.
53075         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
53077 2011-06-04  Bruno Haible  <bruno@clisp.org>
53079         strerror_r: Fix comments.
53080         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
53081         commit.
53083 2011-06-04  Bruno Haible  <bruno@clisp.org>
53085         perror: Fix compilation error.
53086         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
53087         Undefine fprintf, not sprintf.
53088         * modules/perror (Depends-on): Remove intprops, verify.
53090 2011-06-04  Bruno Haible  <bruno@clisp.org>
53092         setlocale: Enable replacement on Cygwin 1.5.
53093         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
53094         Cygwin 1.5.x.
53095         * doc/posix-functions/setlocale.texi: Mention that the problem with the
53096         LC_CTYPE category also exists on Cygwin 1.5.x.
53098 2011-06-04  Bruno Haible  <bruno@clisp.org>
53100         strerror-override: Don't disable symbol renamings.
53101         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
53102         * lib/strerror-override.c: Include config.h.
53103         (strerror_override): Don't undefine.
53105 2011-06-03  Bruno Haible  <bruno@clisp.org>
53107         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
53108         * lib/localename.h: Update copyright header.
53109         * lib/localename.c: Likewise.
53110         * lib/relocatable.h: Likewise.
53111         * lib/relocatable.c: Likewise.
53113 2011-06-02  Bruno Haible  <bruno@clisp.org>
53115         doc: Fix a module name.
53116         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
53118 2011-06-02  Bruno Haible  <bruno@clisp.org>
53120         pipe2: Remove dependency on 'nonblocking' module.
53121         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
53122         O_NONBLOCK is defined by gnulib.
53123         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
53124         is zero.
53125         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
53126         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
53127         defined by gnulib.
53128         (get_nonblocking_flag): New function.
53129         (main): Test O_NONBLOCK flag only if it is nonzero.
53130         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
53132 2011-06-03  Jim Meyering  <meyering@redhat.com>
53134         maint: three new prohibit-header-without-use rules
53135         Prohibit use of cloexec.h, posixver.h, same.h without use.
53136         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
53137         (sc_prohibit_posixver_without_use): Likewise.
53138         (sc_prohibit_same_without_use): Likewise.
53140 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53142         allocator: 'die' routine is now given requested size
53143         * lib/allocator.h (struct allocator.die): New size arg.
53144         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
53145         If the actual problem is an ssize_t limitation, not a size_t or
53146         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
53148 2011-06-01  Eric Blake  <eblake@redhat.com>
53150         strerror: drop strerror_r dependency
53151         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
53152         * lib/strerror-override.c (strerror_override): ...to new file.
53153         * lib/strerror-override.h: Add prototype.
53154         * lib/strerror-impl.h: Delete.
53155         * lib/strerror.c (strerror): New implementation.
53156         * modules/errno (Files): Add new files.
53157         (configure.ac): Compile new file as appropriate.
53158         * modules/strerror (Files): Drop unused file.
53159         (Depends-on): Drop strerror_r-posix.
53160         * MODULES.html.sh: Document strerror_r-posix.
53161         Requested by Sam Steingold.
53163         perror: call strerror_r directly
53164         * modules/perror (Files): Drop strerror-impl.h.
53165         * lib/perror.c (perror): Use our own stack buffer, rather than
53166         calling a wrapper that uses static storage.
53167         * doc/posix-functions/perror.texi (perror): Document a limitation
53168         of our replacement.
53170         strerror_r: fix includes for FreeBSD
53171         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
53172         since we use abort on some platforms.
53173         Reported by Matthias Bolte.
53175 2011-05-31  Bruno Haible  <bruno@clisp.org>
53177         Fix link errors in tests: openat-die uses gettext-h.
53178         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
53179         against $(LIBINTL).
53180         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
53181         against $(LIBINTL).
53182         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
53183         $(LIBINTL).
53184         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
53185         against $(LIBINTL).
53186         * modules/linkat-tests (Makefile.am): Link test-linkat against
53187         $(LIBINTL).
53188         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
53189         $(LIBINTL).
53190         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
53191         against $(LIBINTL).
53192         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
53193         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
53194         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
53195         $(LIBINTL).
53196         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
53197         $(LIBINTL).
53198         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
53199         $(LIBINTL).
53200         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53202 2011-05-31  Bruno Haible  <bruno@clisp.org>
53204         Fix link errors in tests: wait-process uses gettext-h.
53205         * modules/nonblocking-pipe-tests (Makefile.am): Set
53206         test_nonblocking_pipe_main_LDADD.
53207         * modules/nonblocking-socket-tests (Makefile.am): Link
53208         test-nonblocking-socket-main against $(LIBINTL).
53209         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53211 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
53213         assert-h: work around 'verify' incompatibility
53214         * lib/verify.h: Use @...@ directives, not ifdef.
53215         * modules/assert-h (assert.h): Implement the directives.
53216         (assert.h): Substitute the symbol-prefix more consistently.
53218 2011-05-29  Jim Meyering  <meyering@redhat.com>
53220         trim: remove three superfluous assignments
53221         * lib/trim.c (trim2): Remove three superfluous assignments
53222         and correct brace positioning.
53224 2011-05-29  Bruno Haible  <bruno@clisp.org>
53226         wctype-h: Avoid namespace pollution on Solaris 2.6.
53227         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
53228         identifiers.
53229         * doc/posix-headers/wctype.texi: Mention the problem.
53230         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53232 2011-05-28  Jim Meyering  <meyering@redhat.com>
53234         parse-datetime.y: accommodate -Wstrict-overflow
53235         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
53236         placate -Wstrict-overflow.
53238         trim: avoid a warning from -O2 -Wstrict-overflow
53239         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
53241 2011-05-29  Bruno Haible  <bruno@clisp.org>
53243         gnulib-tool: Fix bug in yesterday's commit.
53244         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
53245         twice.
53247 2011-05-29  Bruno Haible  <bruno@clisp.org>
53249         Allow multiple gnulib generated include files to be combined.
53250         * gnulib-tool (func_compute_include_guard_prefix): New function.
53251         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
53252         ${gl_include_guard_prefix} references.
53253         (func_import, func_create_testdir): Invoke
53254         func_compute_include_guard_prefix.
53255         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
53256         * lib/ctype.in.h: Likewise.
53257         * lib/dirent.in.h: Likewise.
53258         * lib/errno.in.h: Likewise.
53259         * lib/fcntl.in.h: Likewise.
53260         * lib/float.in.h: Likewise.
53261         * lib/getopt.in.h: Likewise.
53262         * lib/iconv.in.h: Likewise.
53263         * lib/langinfo.in.h: Likewise.
53264         * lib/locale.in.h: Likewise.
53265         * lib/math.in.h: Likewise.
53266         * lib/netdb.in.h: Likewise.
53267         * lib/netinet_in.in.h: Likewise.
53268         * lib/poll.in.h: Likewise.
53269         * lib/pthread.in.h: Likewise.
53270         * lib/pty.in.h: Likewise.
53271         * lib/sched.in.h: Likewise.
53272         * lib/se-selinux.in.h: Likewise.
53273         * lib/search.in.h: Likewise.
53274         * lib/signal.in.h: Likewise.
53275         * lib/spawn.in.h: Likewise.
53276         * lib/stdarg.in.h: Likewise.
53277         * lib/stddef.in.h: Likewise.
53278         * lib/stdint.in.h: Likewise.
53279         * lib/stdio.in.h: Likewise.
53280         * lib/stdlib.in.h: Likewise.
53281         * lib/string.in.h: Likewise.
53282         * lib/strings.in.h: Likewise.
53283         * lib/sys_file.in.h: Likewise.
53284         * lib/sys_ioctl.in.h: Likewise.
53285         * lib/sys_select.in.h: Likewise.
53286         * lib/sys_socket.in.h: Likewise.
53287         * lib/sys_stat.in.h: Likewise.
53288         * lib/sys_time.in.h: Likewise.
53289         * lib/sys_times.in.h: Likewise.
53290         * lib/sys_uio.in.h: Likewise.
53291         * lib/sys_utsname.in.h: Likewise.
53292         * lib/sys_wait.in.h: Likewise.
53293         * lib/sysexits.in.h: Likewise.
53294         * lib/termios.in.h: Likewise.
53295         * lib/time.in.h: Likewise.
53296         * lib/unistd.in.h: Likewise.
53297         * lib/wchar.in.h: Likewise.
53298         * lib/wctype.in.h: Likewise.
53299         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
53300         * modules/ctype (Makefile.am): Likewise.
53301         * modules/dirent (Makefile.am): Likewise.
53302         * modules/errno (Makefile.am): Likewise.
53303         * modules/fcntl-h (Makefile.am): Likewise.
53304         * modules/float (Makefile.am): Likewise.
53305         * modules/getopt-posix (Makefile.am): Likewise.
53306         * modules/iconv-h (Makefile.am): Likewise.
53307         * modules/langinfo (Makefile.am): Likewise.
53308         * modules/locale (Makefile.am): Likewise.
53309         * modules/math (Makefile.am): Likewise.
53310         * modules/netdb (Makefile.am): Likewise.
53311         * modules/netinet_in (Makefile.am): Likewise.
53312         * modules/poll-h (Makefile.am): Likewise.
53313         * modules/pthread (Makefile.am): Likewise.
53314         * modules/pty (Makefile.am): Likewise.
53315         * modules/sched (Makefile.am): Likewise.
53316         * modules/search (Makefile.am): Likewise.
53317         * modules/selinux-h (Makefile.am): Likewise.
53318         * modules/signal (Makefile.am): Likewise.
53319         * modules/spawn (Makefile.am): Likewise.
53320         * modules/stdarg (Makefile.am): Likewise.
53321         * modules/stddef (Makefile.am): Likewise.
53322         * modules/stdint (Makefile.am): Likewise.
53323         * modules/stdio (Makefile.am): Likewise.
53324         * modules/stdlib (Makefile.am): Likewise.
53325         * modules/string (Makefile.am): Likewise.
53326         * modules/strings (Makefile.am): Likewise.
53327         * modules/sys_file (Makefile.am): Likewise.
53328         * modules/sys_ioctl (Makefile.am): Likewise.
53329         * modules/sys_select (Makefile.am): Likewise.
53330         * modules/sys_socket (Makefile.am): Likewise.
53331         * modules/sys_stat (Makefile.am): Likewise.
53332         * modules/sys_time (Makefile.am): Likewise.
53333         * modules/sys_times (Makefile.am): Likewise.
53334         * modules/sys_uio (Makefile.am): Likewise.
53335         * modules/sys_utsname (Makefile.am): Likewise.
53336         * modules/sys_wait (Makefile.am): Likewise.
53337         * modules/sysexits (Makefile.am): Likewise.
53338         * modules/termios (Makefile.am): Likewise.
53339         * modules/time (Makefile.am): Likewise.
53340         * modules/unistd (Makefile.am): Likewise.
53341         * modules/wchar (Makefile.am): Likewise.
53342         * modules/wctype-h (Makefile.am): Likewise.
53343         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
53345 2011-05-29  Bruno Haible  <bruno@clisp.org>
53347         assert-h: Allow multiple gnulib generated replacements to coexist.
53348         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
53350 2011-05-29  Bruno Haible  <bruno@clisp.org>
53352         argp: Allow coexistence with strerror_r-posix module.
53353         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
53354         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
53355         by gnulib's <string.h> replacement), assume it has the POSIX signature,
53356         not the glibc signature.
53358 2011-05-28  Bruno Haible  <bruno@clisp.org>
53360         gnulib-tool: Alternative structure of testdirs, similar to --import.
53361         * gnulib-tool: New option --single-configure.
53362         (func_usage): Document it.
53363         (single_configure): New variable.
53364         (func_modules_transitive_closure_separately,
53365         func_modules_transitive_closure_separately,
53366         func_determine_use_libtests, func_modules_add_dummy_separately,
53367         func_modules_to_filelist_separately): New functions, extracted from
53368         func_import.
53369         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
53370         (func_import): Use the new functions.
53371         (func_create_testdir): Set final_modules. Handle $single_configure =
53372         true case.
53374 2011-05-28  Bruno Haible  <bruno@clisp.org>
53376         getloadavg: Remove an unreliable safety check.
53377         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
53378         getloadavg.c is in place.
53379         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
53380         Reported by Sam Steingold <sds@gnu.org>.
53382 2011-05-28  Bruno Haible  <bruno@clisp.org>
53384         doc: Cleanup yet another file produced by texinfo.tex.
53385         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
53387 2011-05-28  Bruno Haible  <bruno@clisp.org>
53389         Finish the conditional dependencies mechanism.
53390         * gnulib-tool: New option --no-conditional-dependencies.
53391         (func_usage): Document it. Don't mark --conditional-dependencies as
53392         experimental.
53393         (cond_dependencies): The possible values can now be true, false, empty.
53394         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
53395         (func_import): Store setting in gnulib-cache.m4 and read it from there.
53396         * doc/gnulib-tool.texi (Conditional dependencies): New section.
53398 2011-05-28  Bruno Haible  <bruno@clisp.org>
53400         doc: Use a recent texinfo.tex.
53401         * doc/Makefile (tex_opts): New variable.
53402         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
53404 2011-05-28  Jim Meyering  <meyering@redhat.com>
53406         intprops.h: adjust comment to match code change
53407         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
53408         only once, it *may* have side effects.  Also fix an unrelated typo.
53409         (_GL_INT_SIGNED): Likewise.
53411 2011-05-26  Simon Josefsson  <simon@josefsson.org>
53413         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
53415 2011-05-26  Bruno Haible  <bruno@clisp.org>
53417         mbsrchr: Avoid collision with system function on Interix.
53418         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
53419         Reported by Markus Duft <mduft@gentoo.org>.
53421 2011-05-15  James Youngman  <jay@gnu.org>
53423         getopt: for ambiguous options, enumerate the possibilities.
53424         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
53425         the ambiguous options when an ambiguous prefix is given. This was
53426         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
53427         glibc change was
53428         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
53430 2011-05-25  Eric Blake  <eblake@redhat.com>
53432         getcwd: work around mingw bug
53433         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
53434         * doc/posix-functions/getcwd.texi (getcwd): Document it.
53435         Reported by Matthias Bolte.
53437 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
53439         test-intprops: disable -Wtype-limits diagnostics
53440         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
53441         diagnostics.  Otherwise, the integer overflow macros generate many
53442         diagnostics.  Reported by Jim Meyering in
53443         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
53445         intprops: shorten, to pacify gcc -Woverlength-strings
53446         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
53447         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
53448         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
53449         likely to run afoul of C compiler limits for string constant lengths.
53450         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
53452 2011-05-24  Eric Blake  <eblake@redhat.com>
53454         docs: document recently fixed glibc printf bug
53455         * doc/posix-functions/fprintf.texi (fprintf): Document it.
53456         * doc/posix-functions/printf.texi (printf): Likewise.
53457         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
53458         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
53460         closein-tests: convert to init.sh
53461         * modules/closein-tests (Files): Add init.sh
53462         * tests/test-closein.sh Use it.
53464         yesno-tests: convert to init.sh
53465         * modules/yesno-tests (Files): Add init.sh.
53466         * tests/test-yesno.sh: Use it.
53468         atexit-tests: ensure reliable exit status
53469         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
53470         Reported by Bruno Haible.
53472 2011-05-24  Bruno Haible  <bruno@clisp.org>
53474         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
53475         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
53476         gl_PREREQ_STRERROR_R invocations from here...
53477         * modules/strerror_r-posix (configure.ac): ... to here.
53479 2011-05-24  Eric Blake  <eblake@redhat.com>
53481         strerror_r: fix missing header
53482         * lib/strerror_r.c: Avoid compiler warning about snprintf.
53484         strerror_r: fix AIX test failures
53485         * lib/strerror_r.c (strerror_r): Convert silent truncation to
53486         ERANGE failure.
53488         strerror_r: fix Solaris test failures
53489         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
53490         failures.
53491         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
53493         strerror_r: enforce POSIX recommendations
53494         * lib/strerror_r.c (safe_copy): New helper method.
53495         (strerror_r): Guarantee a non-empty string.
53496         * tests/test-strerror_r.c (main): Enhance tests to incorporate
53497         recent POSIX rulings and to match our strerror guarantees.
53498         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
53500 2011-05-24  Jim Meyering  <meyering@redhat.com>
53502         test-perror2.c: avoid warning about unused variable
53503         * tests/test-perror2.c (main): Remove declaration of unused "fp".
53505 2011-05-24  Eric Blake  <eblake@redhat.com>
53507         perror: avoid spurious test failure on HP-UX
53508         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
53510         tests: fix logic bug in init.sh
53511         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
53512         shell.
53514 2011-05-24  Jim Meyering  <meyering@redhat.com>
53516         utimensat: do not reference an out-of-scope buffer
53517         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
53518         declared in an inner scope, yet "times" would be dereferenced outside
53519         the scope in which "ts" was valid.
53520         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
53521         of ts[2] "out/up", so that the use of aliased "times" (via
53522         "times = ts;") does not end up referencing an out-of-scope "ts"
53524         opendir-safer.c: don't clobber errno; don't close negative FD
53525         * lib/opendir-safer.c (opendir_safer):
53526         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
53527         file descriptor, and more importantly, don't clobber the
53528         offending errno value with EINVAL.  Before, upon failure
53529         of dup_safer, we would pass the negative file descriptor to
53530         fdopendir, which would clobber errno.
53532 2011-05-23  Bruno Haible  <bruno@clisp.org>
53534         idcache: Fix module description.
53535         * modules/idcache (Include): Set to "idcache.h".
53537 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
53539         gnulib-tool: fix portability problem with MacOS sed
53540         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
53541         before the "}".  Problem reported by Leo in
53542         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
53543         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
53544         sed_extract_condition1, sed_extract_condition2.
53546 2011-05-23  Bruno Haible  <bruno@clisp.org>
53548         hash: Simplify autoconf macro.
53549         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
53551 2011-05-23  Bruno Haible  <bruno@clisp.org>
53553         getugroups: Fix module description.
53554         * modules/getugroups (Include): Set to "getugroups.h".
53556 2011-05-23  Bruno Haible  <bruno@clisp.org>
53558         linkat: Simplify autoconf macro.
53559         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
53561 2011-05-23  Bruno Haible  <bruno@clisp.org>
53562             Eric Blake  <eblake@redhat.com>
53564         linkat, renameat: Update dependencies.
53565         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
53566         * modules/linkat (Depends-on): Likewise. Remove also readlink,
53567         symlinkat.
53569 2011-05-23  Jim Meyering  <meyering@redhat.com>
53571         maint.mk: more tight_scope improvements
53572         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
53573         (_gl_TS_headers): Define only in if-0'd block.
53574         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
53575         sometimes we must *not* use it.  Adjust uses accordingly.
53576         (sc_tight_scope): Use much simpler grep-based test to determine
53577         whether we skip this rule.
53579         maint.mk: generalize/improve the tight-scope rule
53580         * top/maint.mk: Emit a warning when the test is skipped.
53581         (_gl_TS_dir): Add $(srcdir)/ prefix.
53582         (_gl_TS_function_match): Simplify, rather than trying
53583         to enumerate common types.  Otherwise, it would fail to match an
53584         "extern unsigned char const *" declaration in idutils.
53585         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
53586         a way to support use of that type of macro.
53587         (_gl_TS_var_match): Simplify regexp.
53588         (_gl_TS_obj_files): New configurable variable.
53589         (_gl_TS_headers): Likewise.
53591 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
53593         verify: fix bug when gnulib <assert.h> is also included
53594         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
53595         is defined, not if _GL_STATIC_ASSERT_H is not defined.
53596         Perhaps there's a better way, but this fixes the immediate problem.
53597         Problem reported by Bruno Haible in
53598         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
53600 2011-05-22  Bruno Haible  <bruno@clisp.org>
53602         xgetcwd: Simplify autoconf macro.
53603         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
53605 2011-05-22  Bruno Haible  <bruno@clisp.org>
53607         New module 'mktime-internal'.
53608         * modules/mktime-internal: New file.
53609         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
53610         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
53611         mktime_internal as a C macro if libc has __mktime_internal.
53612         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
53613         conditions.
53614         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
53616 2011-05-22  Bruno Haible  <bruno@clisp.org>
53618         timegm: Correct mktime replacement statements.
53619         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
53620         defining mktime as a C macro. This completes a 2009-07-28 commit.
53622 2011-05-22  Bruno Haible  <bruno@clisp.org>
53624         timegm: Simplify autoconf macro.
53625         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
53627 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
53629         clock-time: change to LGPLv2+.
53630         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
53631         BSD-like but we have no mark for that; this is good enough for now.
53633 2011-05-21  Bruno Haible  <bruno@clisp.org>
53635         strerror_r: Fix comments.
53636         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
53638 2011-05-21  Bruno Haible  <bruno@clisp.org>
53640         relocatable-prog-wrapper: Fix possible link error.
53641         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
53642         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
53643         (gl_FUNC_SETENV): ... to here.
53644         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
53645         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
53647 2011-05-21  Bruno Haible  <bruno@clisp.org>
53649         relocatable-prog-wrapper: Assume strerror() exists.
53650         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
53651         m4/strerror.m4.
53652         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
53653         * lib/relocwrapper.c: Remove mention of strerror module.
53654         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
53655         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
53656         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
53657         C macro.
53659 2011-05-21  Bruno Haible  <bruno@clisp.org>
53661         select: Simplify replacement idiom.
53662         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
53663         Win32 platforms.
53664         * lib/sys_select.in.h (select): Simplify accordingly.
53665         * modules/select (Depends-on): Likewise.
53667 2011-05-21  Bruno Haible  <bruno@clisp.org>
53669         mkdir-p: Simplify autoconf macro.
53670         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
53671         gl_FUNC_LCHOWN.
53673 2011-05-21  Eric Blake  <eblake@redhat.com>
53675         strerror_r: avoid clobbering strerror on cygwin
53676         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
53677         fall back instead to sys_errlist.
53678         * modules/strerror (configure.ac): Add witness.
53679         * tests/test-strerror_r.c (main): Enhance test.
53680         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
53681         * tests/test-perror2.c (main): Free memory before exit.
53683 2011-05-21  Bruno Haible  <bruno@clisp.org>
53685         mkdtemp: Use gnulib naming conventions.
53686         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
53687         * modules/mkdtemp (configure.ac): Update.
53689 2011-05-20  Eric Blake  <eblake@redhat.com>
53691         strerror_r: avoid corrupting errno on Solaris
53692         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
53693         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
53695         strerror_r: avoid compiler warning
53696         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
53698         strerror_r: simplify AIX code
53699         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
53701         test-perror: avoid spurious failure on FreeBSD
53702         * modules/perror-tests (Depends-on): Add strerror, now that
53703         strerror_r no longer pulls it in.
53705 2011-05-20  Bruno Haible  <bruno@clisp.org>
53707         strerror_r-posix: Remove unused dependencies.
53708         * modules/strerror_r-posix (Depends-on): Remove strerror.
53709         Reported by Eric Blake.
53711 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53713         intprops: remove assumption about A|B representation
53714         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
53715         is a valid integer if both A and B are.  Although this is true for
53716         all known practical hosts, the C standard doesn't guarantee it,
53717         and the code need not assume it.  Also, this change may work around
53718         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
53719         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
53721 2011-05-20  Eric Blake  <eblake@redhat.com>
53723         perror: work around FreeBSD bug
53724         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
53725         is broken.  Move AC_LIBOBJ...
53726         * modules/perror (configure.ac): Here.
53727         * doc/posix-functions/perror.texi (perror): Document this.
53728         * tests/test-perror2.c (main): Enhance test.
53730         test-perror: check for strerror interactions
53731         * tests/macros.h (STREQ): Add macro.
53732         * modules/perror-tests (Files): Add second test.
53733         * tests/test-perror2.c (main): New file.
53734         * doc/posix-functions/perror.texi (perror): Document glibc bug.
53736         test-perror: rewrite to use init script
53737         * modules/perror-tests (Files): Add init.sh.
53738         * tests/test-perror.sh: Use temporary directory.
53740 2011-05-20  Jim Meyering  <meyering@redhat.com>
53742         maint: replace misused "a" with "an"
53743         * doc/intprops.texi: "a integer"
53744         * doc/regex.texi: "a explanation"
53745         * lib/alignof.h: "a object"
53746         * lib/argmatch.h: "a explanation"
53747         * lib/argp-help.c: "a option" and "a OPTION_DOC"
53748         * lib/stdint.in.h: "a integer"
53749         * lib/userspec.c: "a owner"
53750         * doc/gnulib.texi: Fix "a idea", and reword.
53752 2011-05-19  Jim Meyering  <meyering@redhat.com>
53754         maint: correct misuse of "a" and "an"
53755         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
53756         * lib/argp-help.c: "an docum...": s/an/a/
53757         * lib/argp-parse.c: "An vector": s/An/A/
53758         * lib/execute.c: "an native": s/an/a/
53759         * lib/spawn-pipe.c: Likewise.
53760         * lib/gc.h: "an Gc_rc": s/an/a/
53761         * lib/unigbrk.in.h: "an grapheme": s/an/a/
53762         * lib/fts.c: "an stat.st_dev": s/an/a/
53764 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53766         intprops-tests: work around HP-UX 11.23 cc bug with constants
53767         * tests/test-intprops.c (VERIFY): New macro.
53768         (main): Use it, instead of verify, to work around the compiler bug; see
53769         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
53771         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
53772         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
53773         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
53774         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
53775         (_GL_REMAINDER_OVERFLOW): Use it.
53777         intprops-tests: revert unsigned part of previous change
53778         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
53779         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
53780         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
53781         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
53783 2011-05-19  Bruno Haible  <bruno@clisp.org>
53785         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
53786         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
53787         strerror_r() returned without filling the buffer.
53788         Reported by Eric Blake.
53790 2011-05-19  Eric Blake  <eblake@redhat.com>
53792         strerror_r: guarantee unchanged errno
53793         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
53794         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
53795         failure.
53796         * tests/test-strerror_r.c (main): Enhance test.
53798 2011-05-19  Bruno Haible  <bruno@clisp.org>
53800         strerror_r: Reorder #if blocks.
53801         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
53802         for consistency with the previous commit.
53804 2011-05-19  Bruno Haible  <bruno@clisp.org>
53806         perror: Avoid clobbering the strerror buffer when possible.
53807         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
53808         * lib/strerror.c: Include it.
53809         * modules/strerror (Files): Add lib/strerror-impl.h.
53810         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
53811         (my_strerror): New function, defined through lib/strerror-impl.h.
53812         (perror): Use it instead of strerror.
53813         * modules/perror (Files): Add lib/strerror-impl.h.
53814         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
53816 2011-05-19  Eric Blake  <eblake@redhat.com>
53818         strerror_r: fix on newer cygwin
53819         * lib/strerror_r.c (strerror_r): Cygwin now has
53820         __xpg_strerror_r, use it.
53822 2011-05-19  Bruno Haible  <bruno@clisp.org>
53824         strerror_r: Avoid clobbering the strerror buffer when possible.
53825         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
53826         (sys_nerr, sys_errlist): New declarations.
53827         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
53828         HP-UX, native Win32, IRIX, and 32-bit Solaris.
53829         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
53831 2011-05-19  Bruno Haible  <bruno@clisp.org>
53833         strerror_r: Fix test failure on mingw.
53834         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
53835         EXTEND_STRERROR_R.
53836         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
53837         macros from errno.in.h instead.
53839 2011-05-19  Eric Blake  <eblake@redhat.com>
53841         strerror: relax test for Solaris
53842         * tests/test-strerror.c (main): Permit Solaris behavior.
53843         * tests/test-strerror_r.c (main): Likewise.
53845         strerror: enforce POSIX ruling on strerror(0)
53846         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
53847         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
53848         * lib/strerror_r.c (rpl_strerror_r): Work around it.
53849         * doc/posix-functions/strerror.texi (strerror): Document it.
53850         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
53851         * tests/test-strerror.c (main): Strengthen test.
53852         * tests/test-strerror_r.c (main): Likewise.
53854 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53856         intprop-tests: port to older and more-pedantic compilers
53857         * modules/intprops-tests (Files): Add tests/macros.h.
53858         * tests/test-intprops.c: Include macros.h.
53859         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
53860         it's no longer documented to expand to an integer constant expression.
53861         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
53862         argument is floating point, as it's no longer documented to expand
53863         to an integer constant expression in that case.
53864         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
53865         compiler bugs reported by Bruno Haible.  See
53866         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
53867         (U0, U1): New constants, to work around the same bugs.  Also,
53868         in tests, use e.g., "(unsigned int) 39" rather than "39u".
53870         intprops: work around C compiler bugs
53871         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
53872         bug in Sun C 5.11 2010/08/13 and other compilers; see
53873         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
53875         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
53876         * doc/intprops.texi (Integer Type Determination): Fix
53877         documentation for TYPE_IS_INTEGER: it returns an constant
53878         expression, not an integer constant expression.  Fix doc for
53879         TYPE_SIGNED: it returns an integer constant expression only if its
53880         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
53881         hardly worth documented that way....)
53883 2011-05-18  Bruno Haible  <bruno@clisp.org>
53885         strerror_r: Avoid clobbering the strerror buffer when possible.
53886         * lib/strerror_r.c (strerror_r): Merge the three implementations.
53887         Handle gnulib defined errno values here. When strerror() returns NULL
53888         or an empty string, return EINVAL.
53889         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
53890         gnulib defined errno values here.
53891         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
53893 2011-05-18  Eric Blake  <eblake@redhat.com>
53895         fnmatch: avoid compiler warning
53896         * lib/fnmatch_loop.c (FCT): Use correct type.
53897         Reported by Matthias Bolte.
53899 2011-05-13  Jim Meyering  <meyering@redhat.com>
53901         maint.mk: three new prohibit_<HDR>_without_use rules
53902         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
53903         (sc_prohibit_stdio-safer_without_use): Likewise.
53904         (sc_prohibit_xfreopen_without_use): Likewise.
53906 2011-05-17  Jim Meyering  <meyering@redhat.com>
53908         announce-gen: fail if the NEWS delta is empty
53909         If there's nothing noteworthy in NEWS, then either you forgot
53910         or you shouldn't be releasing.
53911         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
53913 2011-05-17  Pádraig Brady  <P@draigBrady.com>
53915         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
53916         reserved symbols starting with double underscore from the check.
53918 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53920         intprops: add doc
53921         * doc/intprops.texi: New file, documenting intprops.
53922         * doc/gnulib.texi (Particular Modules): Include it.
53924         verify: add doc to gnulib manual and fix example
53925         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
53926         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
53927         (Compile-time Assertions): Fix example so it can't overflow.
53929 2011-05-17  Jim Meyering  <meyering@redhat.com>
53931         warnings.m4: don't usurp save_CPPFLAGS variable name
53932         * m4/warnings.m4: Prefix local temporary variable name with gl_.
53934         doc: fix typo
53935         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
53937 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53938             Bruno Haible  <bruno@clisp.org>
53940         doc: Tweak recent change.
53941         * README (Portability guidelines): Tweak new text.
53942         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
53943         Interix 6.1.
53945 2011-05-16  Eric Blake  <eblake@redhat.com>
53947         inttypes: avoid autoconf warning
53948         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
53949         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53951 2011-05-16  Sam Steingold  <sds@gnu.org>
53952         and Eric Blake  <eblake@redhat.com>
53954         vc-list-files: accept multiple directory operands
53955         * build-aux/vc-list-files: Iterate over all remaining operands.
53957 2011-05-16  Bruno Haible  <bruno@clisp.org>
53959         Fix confusion regarding deprecated modules.
53960         * modules/calloc (Status, Notice): Mark module as deprecated, not
53961         obsolete.
53962         * modules/fnmatch-posix (Status, Notice): Likewise.
53963         * modules/getdate (Status, Notice): Likewise.
53964         * modules/getopt (Status, Notice): Likewise.
53965         * modules/malloc (Status, Notice): Likewise.
53966         * modules/pipe (Status, Notice): Likewise.
53967         * modules/realloc (Status, Notice): Likewise.
53968         * modules/rename-dest-slash (Status, Notice): Likewise.
53969         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
53970         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
53971         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
53972         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
53973         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
53975 2011-05-16  Bruno Haible  <bruno@clisp.org>
53977         doc: List the target platforms.
53978         * doc/gnulib-intro.texi (Target Platforms): New section.
53979         * doc/gnulib.texi (Introduction): Update menu.
53980         * README (Portability guidelines): Refer to the new section. Update
53981         statement about oldest supported environment. Remove rationale why
53982         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
53983         unportable C89 function.
53984         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
53985         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
53987 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53989         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
53991 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53993         intprops-tests: new module
53994         * modules/intprops-tests, tests/test-intprops.c: New files.
53996         intprops: add safe, portable integer overflow checking
53997         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
53998         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
53999         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
54000         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
54001         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
54002         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
54003         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
54004         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
54005         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
54006         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
54007         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
54009 2011-05-12  James Youngman  <jay@gnu.org>
54011         Add a test for glibc's Bugzilla bug #12378.
54012         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
54013         doesn't allow the literal matching of a lone "[" (which is
54014         required by POSIX).
54015         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
54017 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
54019         Sync glibc change fixing Bugzilla bug #12378.
54020         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
54021         beginning and fall back to matching as normal character if the
54022         string ends before the matching ']' is found.  This is what POSIX
54023         requires.
54025 2011-05-13  Eric Blake  <eblake@redhat.com>
54027         getcwd-lgpl: relax test for FreeBSD
54028         * doc/posix-functions/getcwd.texi (getcwd): Document portability
54029         issue.
54030         * tests/test-getcwd-lgpl.c (main): Relax test.
54031         Reported by Matthias Bolte.
54033 2011-05-11  Eric Blake  <eblake@redhat.com>
54035         test-fflush: silence compiler warning
54036         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
54038 2011-05-11  Bruno Haible  <bruno@clisp.org>
54040         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
54041         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
54042         * modules/canonicalize (Depends-on): Add 'nocrash'.
54043         * modules/canonicalize-lgpl (Depends-on): Likewise.
54044         * doc/posix-functions/realpath.texi: Update platforms list.
54045         Reported by Ryan Schmidt <ryandesign@macports.org>.
54047 2011-05-11  Bruno Haible  <bruno@clisp.org>
54049         group-member: Declare function in <unistd.h>.
54050         * lib/unistd.in.h (group_member): New declaration.
54051         * lib/group-member.h: Remove file.
54052         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
54053         * tests/test-unistd-c++.cc: Check signature of group_member.
54054         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
54055         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
54056         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
54057         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
54058         HAVE_GROUP_MEMBER.
54059         * modules/group-member (Files): Remove lib/group-member.h.
54060         (Depends-on): Add unistd. Specify conditions.
54061         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54062         (Include): Change to <unistd.h>.
54063         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
54064         HAVE_GROUP_MEMBER.
54065         * NEWS: Mention the change.
54066         * lib/euidaccess.c: Don't include group-member.h.
54068 2011-05-11  Bruno Haible  <bruno@clisp.org>
54070         group-member: Document module.
54071         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
54072         module.
54074 2011-05-11  Bruno Haible  <bruno@clisp.org>
54076         fclose: Fix mistake earlier today.
54077         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
54079 2011-05-11  Eric Blake  <eblake@redhat.com>
54081         fclose: preserve fflush errors
54082         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
54083         Reported by Jim Meyering.
54085         bootstrap: support a prereq of 'rpcgen -' on RHEL5
54086         * build-aux/bootstrap (check_versions): When no specific version
54087         is required, merely check that the app produces an exit status
54088         that indicates its existence.
54090         maint.mk: drop redundant check
54091         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
54092         the same but better.
54094 2011-05-11  Bruno Haible  <bruno@clisp.org>
54096         fclose: Fix possible link error.
54097         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
54098         unregister_shadow_fd. Improve comments.
54099         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
54100         Eric Blake.
54102 2011-05-11  Jim Meyering  <meyering@redhat.com>
54104         maint.mk: improve "can not" detection and generalize rule name
54105         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
54106         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
54107         Use the same technique as in sc_prohibit_doubled_word, so that
54108         we recognize "can not" also when the words are separated by a newline.
54109         Suggested by Eric Blake.
54110         (perl_filename_lineno_text_): Define.  Factored out of...
54111         (prohibit_doubled_word_): ...here.  Use the new definition.
54112         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
54113         (prohibit_undesirable_word_seq_RE_): New overridable variable.
54114         (ignore_undesirable_word_sequence_RE_): New overridable variable.
54116 2011-05-10  Eric Blake  <eblake@redhat.com>
54118         fclose: avoid double close race when possible
54119         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
54120         all but WINDOWS_SOCKETS.
54122 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
54124         openat: correct new comment
54125         * lib/openat-proc.c (openat_proc_name): Correct the comment.
54127 2011-05-10  Jim Meyering  <meyering@redhat.com>
54129         openat: add comments
54130         * lib/openat-proc.c (openat_proc_name): Add comments,
54131         mostly from Eric Blake.
54133 2011-05-09  Eric Blake  <eblake@redhat.com>
54135         openat: reduce syscalls in first probe of /proc
54136         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
54137         be a directory.  Simplify the probe for .. bugs.
54138         * modules/openat (Depends-on): Drop same-inode.
54139         Reported by Bastien ROUCARIES.
54141 2011-05-09  Jim Meyering  <meyering@redhat.com>
54143         maint.mk: change semantics/name of tight_scope variables
54144         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
54145         Rename variables to align with semantics that make them more useful.
54147         maint.mk: tweak new rule's name not to impinge
54148         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
54149         (sc_tight_scope): Use new rule name rather than $@-0.
54151         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
54152         * top/maint.mk (sc_tight_scope): New rule.
54153         (sc_tight_scope-0): New rule, ifdef'd out.
54154         (_gl_TS_dir): Default.
54155         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
54156         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
54158 2011-05-09  Simon Josefsson  <simon@josefsson.org>
54160         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
54161         Haible <bruno@clisp.org>.
54163 2011-05-08  Bruno Haible  <bruno@clisp.org>
54165         Comments.
54166         * m4/isnanf.m4: Add comment.
54167         * m4/isnanl.m4: Likewise.
54169 2011-05-08  Bruno Haible  <bruno@clisp.org>
54171         glob: Remove obsolete macro.
54172         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
54174 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
54176         intprops: Sun C 5.11 supports __typeof__
54177         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
54178         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
54179         which is new.
54180         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
54182         intprops: switch to usual gnulib indenting and naming
54183         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
54184         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
54186         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
54188 2011-05-08  Jim Meyering  <meyering@redhat.com>
54190         maint.mk: suppress "Entering/Leaving directory" diag in announcement
54191         * top/maint.mk (release-prep): Use make's --no-print-directory
54192         option when generating the announcement.  This eliminates the
54193         pesky "make[2]: Entering/Leaving directory" diagnostics in the
54194         generated announcement template.
54196 2011-05-08  Bruno Haible  <bruno@clisp.org>
54198         tzset: Fix gettimeofday wrapper on Solaris 2.6.
54199         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
54200         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
54202 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
54204         ignore-value, verify: Omit include files from lib_SOURCES.
54205         * modules/ignore-value, modules/verify (Makefile.am):
54206         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
54207         that leads Automake to duplicate use of am__objects_... variables
54208         in Makefile.in.  See
54209         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
54211 2011-05-07  Bruno Haible  <bruno@clisp.org>
54213         fclose: Simplify autoconf macro.
54214         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
54215         defined.
54217 2011-05-07  Bruno Haible  <bruno@clisp.org>
54219         canonicalize-lgpl: Fix autoconf macro ordering bug.
54220         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
54221         gl_STDLIB_H_DEFAULTS.
54223 2011-05-06  Eric Blake  <eblake@redhat.com>
54225         maintainer-makefile: make sc_po_check easier to tune
54226         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
54227         to probe for strings, such as an alternate location for gnulib.
54229         fclose: guarantee behavior on seekable stdin
54230         * modules/fclose (Depends-on): Add fflush.
54231         * doc/posix-functions/fclose.texi (fclose): Document this.
54232         * tests/test-fclose.c (main): Make test for this unconditional.
54234 2011-05-06  Bruno Haible  <bruno@clisp.org>
54236         fflush, fpurge: Relicense under LGPLv2+.
54237         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
54238         * modules/fpurge (License): Likewise.
54239         With permission from Eric Blake and Jim Meyering.
54240         Suggested by Eric Blake.
54242 2011-05-06  Karl Berry  <karl@gnu.org>
54244         * MODULES.html.sh (func_all_modules): remove exit.
54246 2011-05-06  Jim Meyering  <meyering@redhat.com>
54248         maint.mk: use info-gnu@ as the default only for a stable release
54249         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
54250         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
54251         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
54252         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
54254 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
54256         assert-h: new module, which supports C1X-style static_assert
54257         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
54258         * lib/verify.h: Revamp so that this can be copied into assert.h,
54259         while retaining the ability to use it standalone as before.
54260         Rename private identifiers so as not to encroach on the
54261         standard C namespace, since this is now used by assert.h.
54262         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
54263         the old verify_true.
54264         (_GL_VERIFY_TRUE): New macro, with much of the contents of
54265         the old verify_true.  Use _GL_VERIFY_TYPE.
54266         (_GL_VERIFY): New macro, with much of the contents of the old verify.
54267         (static_assert): New macro, if _GL_STATIC_ASSERT_H
54268         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
54269         defined when this file is copied into the replacement assert.h.
54270         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
54271         and _Static_assert is not built in.
54272         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
54273         defined, and use the new macros mentioned above.
54274         * doc/posix-headers/assert.texi: Document this.
54276 2011-05-05  Bruno Haible  <bruno@clisp.org>
54278         fclose, fflush: Respect rules for use of AC_LIBOBJ.
54279         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
54280         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
54281         gl_REPLACE_FCLOSE here.
54282         * modules/fflush (Depends-on): Remove fclose.
54283         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
54284         combination with module 'fclose'.
54286 2011-05-05  Bruno Haible  <bruno@clisp.org>
54288         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
54289         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
54290         gl_FUNC_FFLUSH.
54291         (gl_FUNC_FFLUSH): Use it.
54292         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
54293         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
54294         gl_REPLACE_FSEEKO here.
54296 2011-05-05  Bruno Haible  <bruno@clisp.org>
54298         tzset: Relicense under LGPL.
54299         * modules/tzset (License): Change to LGPL.
54300         No agreement needed; it's a no-op.
54302         strtoimax, strtoumax: Relicense under LGPL.
54303         * modules/strtoimax (License): Change to LGPL.
54304         * modules/strtoumax (License): Likewise.
54305         With permission from Jim Meyering, Paul Eggert:
54306         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
54307         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
54309         getgroups: Relicense under LGPL.
54310         * modules/getgroups (License): Change to LGPL.
54311         With permission from Jim Meyering, Paul Eggert, Eric Blake:
54312         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
54313         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
54314         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
54316         nanosleep: Relicense under LGPL.
54317         * modules/nanosleep (License): Change to LGPL.
54318         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
54319         Haible:
54320         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
54321         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
54322         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
54323         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
54325         futimens: Relicense under LGPL.
54326         * modules/futimens (License): Change to LGPL.
54327         With permission from Eric Blake:
54328         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
54330         fflush: Relicense under LGPL.
54331         * modules/fflush (License): Change to LGPL.
54332         With permission from Eric Blake, Bruno Haible, Jim Meyering:
54333         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
54334         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
54335         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
54337         tmpfile: Relicense under LGPL.
54338         * modules/tmpfile (License): Change to LGPL.
54339         With permission from Ben Pfaff:
54340         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
54342         isfinite: Relicense under LGPL.
54343         * modules/isfinite (License): Change to LGPL.
54344         With permission from Ben Pfaff, Bruno Haible:
54345         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
54346         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
54348         acosl..tanl: Relicense under LGPL.
54349         * modules/acosl (License): Change to LGPL.
54350         * modules/asinl (License): Likewise.
54351         * modules/atanl (License): Likewise.
54352         * modules/cosl (License): Likewise.
54353         * modules/expl (License): Likewise.
54354         * modules/logl (License): Likewise.
54355         * modules/sinl (License): Likewise.
54356         * modules/sqrtl (License): Likewise.
54357         * modules/tanl (License): Likewise.
54358         Source code originally from glibc and Paolo Bonzini. Agreements:
54359         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
54360         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
54362 2011-05-05  Bruno Haible  <bruno@clisp.org>
54364         signal: Define sighandler_t.
54365         * lib/signal.in.h (sighandler_t): New type.
54366         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
54367         whether sighandler_t is defined.
54368         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
54369         * modules/signal (Depends-on): Add extensions.
54370         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
54371         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
54372         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
54374 2011-05-05  Eric Blake  <eblake@redhat.com>
54376         maint: remove useless REPLACE_*_H macros
54377         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
54378         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
54379         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
54380         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
54381         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
54382         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
54383         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
54384         * m4/btowc.m4: Update callers.
54385         * m4/dirfd.m4: Likewise.
54386         * m4/duplocale.m4: Likewise.
54387         * m4/fchdir.m4: Likewise.
54388         * m4/fdopendir.m4: Likewise.
54389         * m4/inet_ntop.m4: Likewise.
54390         * m4/inet_pton.m4: Likewise.
54391         * m4/ioctl.m4: Likewise.
54392         * m4/mbrlen.m4: Likewise.
54393         * m4/mbrtowc.m4: Likewise.
54394         * m4/mbsinit.m4: Likewise.
54395         * m4/mbsnrtowcs.m4: Likewise.
54396         * m4/mbsrtowcs.m4: Likewise.
54397         * m4/poll.m4: Likewise.
54398         * m4/setlocale.m4: Likewise.
54399         * m4/wcrtomb.m4: Likewise.
54400         * m4/wcsnrtombs.m4: Likewise.
54401         * m4/wcsrtombs.m4: Likewise.
54402         * m4/wctob.m4: Likewise.
54403         * m4/wcwidth.m4: Likewise.
54404         * modules/posix_spawn: Likewise.
54405         * modules/posix_spawn_file_actions_addclose: Likewise.
54406         * modules/posix_spawn_file_actions_adddup2: Likewise.
54407         * modules/posix_spawn_file_actions_addopen: Likewise.
54408         * modules/posix_spawn_file_actions_destroy: Likewise.
54409         * modules/posix_spawn_file_actions_init: Likewise.
54410         * modules/posix_spawnattr_destroy: Likewise.
54411         * modules/posix_spawnattr_getflags: Likewise.
54412         * modules/posix_spawnattr_getpgroup: Likewise.
54413         * modules/posix_spawnattr_getschedparam: Likewise.
54414         * modules/posix_spawnattr_getschedpolicy: Likewise.
54415         * modules/posix_spawnattr_getsigdefault: Likewise.
54416         * modules/posix_spawnattr_getsigmask: Likewise.
54417         * modules/posix_spawnattr_init: Likewise.
54418         * modules/posix_spawnattr_setflags: Likewise.
54419         * modules/posix_spawnattr_setpgroup: Likewise.
54420         * modules/posix_spawnattr_setschedparam: Likewise.
54421         * modules/posix_spawnattr_setschedpolicy: Likewise.
54422         * modules/posix_spawnattr_setsigdefault: Likewise.
54423         * modules/posix_spawnattr_setsigmask: Likewise.
54424         * modules/posix_spawnp: Likewise.
54426 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
54428         Add option to do-release-commit-and-tag to specify branch.
54429         * build-aux/do-release-commit-and-tag: Add --branch.
54431 2011-05-03  Bruno Haible  <bruno@clisp.org>
54433         Avoid unnecessary compilation units, through conditional dependencies.
54434         * modules/accept (Depends-on): Add conditions to the dependencies.
54435         * modules/acosl (Depends-on): Likewise.
54436         * modules/argz (Depends-on): Likewise.
54437         * modules/asinl (Depends-on): Likewise.
54438         * modules/atanl (Depends-on): Likewise.
54439         * modules/atoll (Depends-on): Likewise.
54440         * modules/bind (Depends-on): Likewise.
54441         * modules/btowc (Depends-on): Likewise.
54442         * modules/canonicalize-lgpl (Depends-on): Likewise.
54443         * modules/ceil (Depends-on): Likewise.
54444         * modules/ceilf (Depends-on): Likewise.
54445         * modules/ceill (Depends-on): Likewise.
54446         * modules/chdir-long (Depends-on): Likewise.
54447         * modules/chown (Depends-on): Likewise.
54448         * modules/close (Depends-on): Likewise.
54449         * modules/connect (Depends-on): Likewise.
54450         * modules/cosl (Depends-on): Likewise.
54451         * modules/dirfd (Depends-on): Likewise.
54452         * modules/dprintf (Depends-on): Likewise.
54453         * modules/dprintf-posix (Depends-on): Likewise.
54454         * modules/error (Depends-on): Likewise.
54455         * modules/euidaccess (Depends-on): Likewise.
54456         * modules/expl (Depends-on): Likewise.
54457         * modules/faccessat (Depends-on): Likewise.
54458         * modules/fchdir (Depends-on): Likewise.
54459         * modules/fclose (Depends-on): Likewise.
54460         * modules/fcntl (Depends-on): Likewise.
54461         * modules/fdopendir (Depends-on): Likewise.
54462         * modules/fflush (Depends-on): Likewise.
54463         * modules/floor (Depends-on): Likewise.
54464         * modules/floorf (Depends-on): Likewise.
54465         * modules/floorl (Depends-on): Likewise.
54466         * modules/fnmatch (Depends-on): Likewise.
54467         * modules/fopen (Depends-on): Likewise.
54468         * modules/fprintf-posix (Depends-on): Likewise.
54469         * modules/frexp (Depends-on): Likewise.
54470         * modules/frexp-nolibm (Depends-on): Likewise.
54471         * modules/frexpl (Depends-on): Likewise.
54472         * modules/frexpl-nolibm (Depends-on): Likewise.
54473         * modules/fseek (Depends-on): Likewise.
54474         * modules/fsusage (Depends-on): Likewise.
54475         * modules/ftell (Depends-on): Likewise.
54476         * modules/ftello (Depends-on): Likewise.
54477         * modules/futimens (Depends-on): Likewise.
54478         * modules/getcwd (Depends-on): Likewise.
54479         * modules/getcwd-lgpl (Depends-on): Likewise.
54480         * modules/getdelim (Depends-on): Likewise.
54481         * modules/getdomainname (Depends-on): Likewise.
54482         * modules/getgroups (Depends-on): Likewise.
54483         * modules/gethostname (Depends-on): Likewise.
54484         * modules/getline (Depends-on): Likewise.
54485         * modules/getlogin_r (Depends-on): Likewise.
54486         * modules/getopt-posix (Depends-on): Likewise.
54487         * modules/getpeername (Depends-on): Likewise.
54488         * modules/getsockname (Depends-on): Likewise.
54489         * modules/getsockopt (Depends-on): Likewise.
54490         * modules/getsubopt (Depends-on): Likewise.
54491         * modules/getusershell (Depends-on): Likewise.
54492         * modules/glob (Depends-on): Likewise.
54493         * modules/grantpt (Depends-on): Likewise.
54494         * modules/iconv_open (Depends-on): Likewise.
54495         * modules/iconv_open-utf (Depends-on): Likewise.
54496         * modules/inet_ntop (Depends-on): Likewise.
54497         * modules/inet_pton (Depends-on): Likewise.
54498         * modules/ioctl (Depends-on): Likewise.
54499         * modules/isapipe (Depends-on): Likewise.
54500         * modules/isfinite (Depends-on): Likewise.
54501         * modules/isinf (Depends-on): Likewise.
54502         * modules/lchown (Depends-on): Likewise.
54503         * modules/ldexpl (Depends-on): Likewise.
54504         * modules/link (Depends-on): Likewise.
54505         * modules/linkat (Depends-on): Likewise.
54506         * modules/listen (Depends-on): Likewise.
54507         * modules/logl (Depends-on): Likewise.
54508         * modules/lstat (Depends-on): Likewise.
54509         * modules/mbrlen (Depends-on): Likewise.
54510         * modules/mbrtowc (Depends-on): Likewise.
54511         * modules/mbsinit (Depends-on): Likewise.
54512         * modules/mbsnrtowcs (Depends-on): Likewise.
54513         * modules/mbsrtowcs (Depends-on): Likewise.
54514         * modules/mbtowc (Depends-on): Likewise.
54515         * modules/memcmp (Depends-on): Likewise.
54516         * modules/mkdir (Depends-on): Likewise.
54517         * modules/mkdtemp (Depends-on): Likewise.
54518         * modules/mkfifo (Depends-on): Likewise.
54519         * modules/mkfifoat (Depends-on): Likewise.
54520         * modules/mknod (Depends-on): Likewise.
54521         * modules/mkostemp (Depends-on): Likewise.
54522         * modules/mkostemps (Depends-on): Likewise.
54523         * modules/mkstemp (Depends-on): Likewise.
54524         * modules/mkstemps (Depends-on): Likewise.
54525         * modules/mktime (Depends-on): Likewise.
54526         * modules/nanosleep (Depends-on): Likewise.
54527         * modules/open (Depends-on): Likewise.
54528         * modules/openat (Depends-on): Likewise.
54529         * modules/perror (Depends-on): Likewise.
54530         * modules/poll (Depends-on): Likewise.
54531         * modules/popen (Depends-on): Likewise.
54532         * modules/posix_spawn (Depends-on): Likewise.
54533         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
54534         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
54535         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
54536         * modules/posix_spawnp (Depends-on): Likewise.
54537         * modules/pread (Depends-on): Likewise.
54538         * modules/printf-posix (Depends-on): Likewise.
54539         * modules/ptsname (Depends-on): Likewise.
54540         * modules/putenv (Depends-on): Likewise.
54541         * modules/pwrite (Depends-on): Likewise.
54542         * modules/readline (Depends-on): Likewise.
54543         * modules/readlink (Depends-on): Likewise.
54544         * modules/readlinkat (Depends-on): Likewise.
54545         * modules/recv (Depends-on): Likewise.
54546         * modules/recvfrom (Depends-on): Likewise.
54547         * modules/regex (Depends-on): Likewise.
54548         * modules/remove (Depends-on): Likewise.
54549         * modules/rename (Depends-on): Likewise.
54550         * modules/renameat (Depends-on): Likewise.
54551         * modules/rmdir (Depends-on): Likewise.
54552         * modules/round (Depends-on): Likewise.
54553         * modules/roundf (Depends-on): Likewise.
54554         * modules/roundl (Depends-on): Likewise.
54555         * modules/rpmatch (Depends-on): Likewise.
54556         * modules/select (Depends-on): Likewise.
54557         * modules/send (Depends-on): Likewise.
54558         * modules/sendto (Depends-on): Likewise.
54559         * modules/setenv (Depends-on): Likewise.
54560         * modules/setlocale (Depends-on): Likewise.
54561         * modules/setsockopt (Depends-on): Likewise.
54562         * modules/shutdown (Depends-on): Likewise.
54563         * modules/sigaction (Depends-on): Likewise.
54564         * modules/signbit (Depends-on): Likewise.
54565         * modules/sigprocmask (Depends-on): Likewise.
54566         * modules/sinl (Depends-on): Likewise.
54567         * modules/sleep (Depends-on): Likewise.
54568         * modules/snprintf (Depends-on): Likewise.
54569         * modules/snprintf-posix (Depends-on): Likewise.
54570         * modules/socket (Depends-on): Likewise.
54571         * modules/sprintf-posix (Depends-on): Likewise.
54572         * modules/sqrtl (Depends-on): Likewise.
54573         * modules/stat (Depends-on): Likewise.
54574         * modules/strchrnul (Depends-on): Likewise.
54575         * modules/strdup-posix (Depends-on): Likewise.
54576         * modules/strerror (Depends-on): Likewise.
54577         * modules/strerror_r-posix (Depends-on): Likewise.
54578         * modules/strndup (Depends-on): Likewise.
54579         * modules/strnlen (Depends-on): Likewise.
54580         * modules/strptime (Depends-on): Likewise.
54581         * modules/strsep (Depends-on): Likewise.
54582         * modules/strsignal (Depends-on): Likewise.
54583         * modules/strstr-simple (Depends-on): Likewise.
54584         * modules/strtod (Depends-on): Likewise.
54585         * modules/strtoimax (Depends-on): Likewise.
54586         * modules/strtok_r (Depends-on): Likewise.
54587         * modules/strtoumax (Depends-on): Likewise.
54588         * modules/symlink (Depends-on): Likewise.
54589         * modules/symlinkat (Depends-on): Likewise.
54590         * modules/tanl (Depends-on): Likewise.
54591         * modules/tcgetsid (Depends-on): Likewise.
54592         * modules/tmpfile (Depends-on): Likewise.
54593         * modules/trunc (Depends-on): Likewise.
54594         * modules/truncf (Depends-on): Likewise.
54595         * modules/truncl (Depends-on): Likewise.
54596         * modules/uname (Depends-on): Likewise.
54597         * modules/unlink (Depends-on): Likewise.
54598         * modules/unlockpt (Depends-on): Likewise.
54599         * modules/unsetenv (Depends-on): Likewise.
54600         * modules/usleep (Depends-on): Likewise.
54601         * modules/utimensat (Depends-on): Likewise.
54602         * modules/vasprintf (Depends-on): Likewise.
54603         * modules/vdprintf (Depends-on): Likewise.
54604         * modules/vdprintf-posix (Depends-on): Likewise.
54605         * modules/vfprintf-posix (Depends-on): Likewise.
54606         * modules/vprintf-posix (Depends-on): Likewise.
54607         * modules/vsnprintf (Depends-on): Likewise.
54608         * modules/vsnprintf-posix (Depends-on): Likewise.
54609         * modules/vsprintf-posix (Depends-on): Likewise.
54610         * modules/wcrtomb (Depends-on): Likewise.
54611         * modules/wcscasecmp (Depends-on): Likewise.
54612         * modules/wcscspn (Depends-on): Likewise.
54613         * modules/wcsdup (Depends-on): Likewise.
54614         * modules/wcsncasecmp (Depends-on): Likewise.
54615         * modules/wcsnrtombs (Depends-on): Likewise.
54616         * modules/wcspbrk (Depends-on): Likewise.
54617         * modules/wcsrtombs (Depends-on): Likewise.
54618         * modules/wcsspn (Depends-on): Likewise.
54619         * modules/wcsstr (Depends-on): Likewise.
54620         * modules/wcstok (Depends-on): Likewise.
54621         * modules/wcswidth (Depends-on): Likewise.
54622         * modules/wctob (Depends-on): Likewise.
54623         * modules/wctomb (Depends-on): Likewise.
54624         * modules/wctype (Depends-on): Likewise.
54625         * modules/wcwidth (Depends-on): Likewise.
54626         * modules/write (Depends-on): Likewise.
54628 2011-05-03  Bruno Haible  <bruno@clisp.org>
54630         Support for conditional dependencies.
54631         * doc/gnulib.texi (Module description): Document the syntax of
54632         conditional dependencies.
54633         * gnulib-tool: New option --conditional-dependencies.
54634         (func_usage): Document it.
54635         (cond_dependencies): New variable.
54636         (func_get_automake_snippet_conditional,
54637         func_get_automake_snippet_unconditional): New functions, extracted from
54638         func_get_automake_snippet.
54639         (func_get_automake_snippet): Use them.
54640         (sed_first_32_chars): New variable.
54641         (func_module_shellfunc_name): New function.
54642         (func_module_shellvar_name): New function.
54643         (func_module_conditional_name): New function.
54644         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
54645         func_cond_module_condition): New functions.
54646         (func_modules_transitive_closure): Add support for conditional
54647         dependencies.
54648         (func_emit_lib_Makefile_am): For a conditional module, enclose the
54649         conditional automake snippet in an automake conditional.
54650         (func_emit_autoconf_snippets): Emit shell functions that contain the
54651         code for conditional modules.
54652         (func_import, func_create_testdir): Update specification.
54654 2011-05-03  Eric Blake  <eblake@redhat.com>
54656         test-getaddrinfo: report error information
54657         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
54659 2011-05-03  Jim Meyering  <meyering@redhat.com>
54661         bootstrap: avoid build failure when $GZIP is set
54662         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
54663         program name.  If defined at all, it is supposed to list gzip options.
54664         Reported by Alan Curry in http://debbugs.gnu.org/8609
54666 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
54668         readme-release: new module with release instructions
54669         * modules/readme-release: New module.
54670         * top/README-release: New file, from coreutils, grep, diffutils.
54671         * MODULES.html.sh (Support for maintaining and releasing): Add it.
54673 2011-05-02  Eric Blake  <eblake@redhat.com>
54675         fflush: also replace fclose when fixing fflush
54676         * modules/fflush (Depends-on): Add fclose.
54677         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
54678         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
54679         memstreams with no backing fd.
54680         * doc/posix-functions/fclose.texi (fclose): Document the use of
54681         fflush module to fix the bug.
54682         * tests/test-fclose.c (main): Relax test when fclose is used in
54683         isolation.
54685         fclose: add some tests
54686         * modules/fclose-tests: New test module.
54687         * tests/test-fclose.c: New file.
54688         * doc/posix-functions/fclose.texi (fclose): Document the bug.
54690         fclose: reduced dependencies
54691         * modules/fclose (Depends-on): Switch from fflush/fseeko to
54692         simpler lseek.
54693         * lib/fclose.c (rpl_fclose): Likewise.
54694         Reported by Simon Josefsson.
54696         exit: drop remaining clients
54697         * modules/argmatch (Depends-on): Replace exit with stdlib.
54698         * modules/copy-file (Depends-on): Likewise.
54699         * modules/execute (Depends-on): Likewise.
54700         * modules/exitfail (Depends-on): Likewise.
54701         * modules/obstack (Depends-on): Likewise.
54702         * modules/pagealign_alloc (Depends-on): Likewise.
54703         * modules/pipe-filter-gi (Depends-on): Likewise.
54704         * modules/pipe-filter-ii (Depends-on): Likewise.
54705         * modules/savewd (Depends-on): Likewise.
54706         * modules/spawn-pipe (Depends-on): Likewise.
54707         * modules/wait-process (Depends-on): Likewise.
54708         * modules/xsetenv (Depends-on): Likewise.
54709         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
54710         * modules/git-merge-changelog (Depends-on): Likewise.
54711         * modules/long-options (Depends-on): Likewise.
54712         * modules/pt_chown (Depends-on): Likewise.
54713         * modules/sysexits (Depends-on): Likewise.
54715         freading: relax license from LGPLv3+ to LGPLv2+
54716         * modules/freading (License): Relax LGPL version.
54718 2011-05-02  Bruno Haible  <bruno@clisp.org>
54720         fchdir: Remove unused dependencies.
54721         * modules/fchdir (Depends-on): Remove include_next.
54723 2011-05-02  Bruno Haible  <bruno@clisp.org>
54725         gnulib-tool: Refactor.
54726         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
54727         from func_emit_autoconf_snippets.
54728         (func_emit_autoconf_snippets): Use it.
54730 2011-05-02  Simon Josefsson  <simon@josefsson.org>
54732         * NEWS: Document removal of 'exit'.
54733         * modules/exit: Remove file.
54735 2011-05-01  Bruno Haible  <bruno@clisp.org>
54737         Update DEPENDENCIES.
54738         * DEPENDENCIES (gettext): Recommend the newest release.
54739         Reported by Simon Josefsson.
54741 2011-05-01  Bruno Haible  <bruno@clisp.org>
54743         gnulib-tool: Reduce code duplication.
54744         * gnulib-tool (func_emit_autoconf_snippets): New function.
54745         (func_import, func_create_testdir): Use it.
54747 2011-04-30  Eric Blake  <eblake@redhat.com>
54749         fclose: don't fail on non-seekable input stream
54750         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
54751         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
54752         since fflush is allowed to fail in that case.
54754 2011-04-30  Bruno Haible  <bruno@clisp.org>
54756         dup3: cleanup
54757         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
54759 2011-04-30  Bruno Haible  <bruno@clisp.org>
54761         netdb: Make it work in C++ mode.
54762         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
54763         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
54764         module.
54765         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
54766         gl_MODULE_INDICATOR_FOR_TESTS.
54767         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
54768         * modules/netdb-c++-tests: New file.
54769         * tests/test-netdb-c++.cc: New file.
54771 2011-04-30  Bruno Haible  <bruno@clisp.org>
54773         New modules 'vfscanf', 'vscanf'.
54774         * modules/vfscanf: New file.
54775         * modules/vscanf: New file.
54776         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
54777         here.
54778         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
54779         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
54781 2011-04-30  Bruno Haible  <bruno@clisp.org>
54783         passfd: Add comments.
54784         * lib/passfd.c: Add comments about platforms.
54786 2011-04-30  Bruno Haible  <bruno@clisp.org>
54788         sys_uio: Make <sys/uio.h> self-contained.
54789         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
54790         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
54792 2011-04-30  Bruno Haible  <bruno@clisp.org>
54794         sys_socket: Ensure 'struct iovec' definition.
54795         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
54796         <sys/socket.h>.
54797         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
54799 2011-04-30  Bruno Haible  <bruno@clisp.org>
54801         sys_uio: Protect definition of 'struct iovec'.
54802         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
54803         it as a C struct.
54805 2011-04-30  Bruno Haible  <bruno@clisp.org>
54807         manywarnings: fix indentation
54808         * m4/manywarnings.m4: Indent by 2 spaces consistently.
54810 2011-04-30  Pádraig Brady  <P@draigBrady.com>
54812         manywarnings: add -Wno-missing-field-initializers if needed.
54813         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
54814         option if it's needed to allow initialization with { 0, }
54816 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
54818         announce-gen: cosmetic improvement
54819         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
54821 2011-04-29  Jim Meyering  <meyering@redhat.com>
54823         vc-list-files: indent with spaces, not TABs
54824         * build-aux/vc-list-files: Convert leading TABs to spaces,
54825         to match the style of most other files in gnulib.
54827         announce-gen: indent with spaces, not TABs
54828         * build-aux/announce-gen: Convert all TABs to spaces, to match
54829         the style of most other files in gnulib.
54831 2011-04-29  Eric Blake  <eblake@redhat.com>
54833         quotearg: avoid uninitialized variable use
54834         * lib/quotearg.c (quoting_options_from_style): Initialize
54835         remaining fields, and ensure that custom styles are only used via
54836         quoting_options rather than quoting_style.
54838 2011-04-29  Jim Meyering  <meyering@redhat.com>
54840         maint.mk: remove unused VC-tag variable
54841         * top/maint.mk (VC-tag): Remove unused variable.
54843 2011-04-29  Bruno Haible  <bruno@clisp.org>
54845         netdb: fix gai_strerror replacements
54846         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
54847         * modules/netdb: Substitute it.
54849 2011-04-29  Jim Meyering  <meyering@redhat.com>
54851         test-getcwd.c: avoid new set-but-not-used warning
54852         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
54853         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
54854         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
54855         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
54857         test-hash.c: avoid a new shadowing warning
54858         * tests/test-hash.c (main): Don't shadow "dup".
54860 2011-04-28  Eric Blake  <eblake@redhat.com>
54862         getaddrinfo: fix gai_strerror signature
54863         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
54864         and work around mingw with UNICODE defined.
54865         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
54866         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
54867         * modules/netdb (Makefile.am): Substitute it.
54868         * lib/netdb.in.h (gai_strerror): Declare replacement.
54869         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
54870         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
54871         the fix.
54873         getsockopt: avoid compiler warning
54874         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
54875         Reported by Matthias Bolte.
54877         tests: drop unused link dependency
54878         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
54879         * modules/dirent-safer-tests (Makefile.am): Likewise.
54880         * modules/fdopendir-tests (Makefile.am): Likewise.
54881         * modules/mkfifoat-tests (Makefile.am): Likewise.
54882         * modules/openat-safer-tests (Makefile.am): Likewise.
54883         * modules/openat-tests (Makefile.am): Likewise.
54884         * modules/readlinkat-tests (Makefile.am): Likewise.
54885         * modules/symlinkat-tests (Makefile.am): Likewise.
54886         * modules/linkat-tests (Makefile.am): Likewise.
54887         (Depends-on): Switch to filenamecat-lgpl.
54888         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
54889         LIBINTL.
54890         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
54891         * tests/test-linkat.c (main): Don't require xalloc.
54893         hash, mgetgroups: drop xalloc dependency
54894         * lib/hash.c (includes): Adjust includes.
54895         * lib/mgetgroups.c (includes): Likewise.
54896         (xgetgroups): Move...
54897         * lib/xgetgroups.c: ...to new file.
54898         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
54899         * modules/xgetgroups: New file, split from...
54900         * modules/mgetgroups: ...here.
54901         (Depends-on): Add xalloc-oversized.
54902         * modules/hash (Depends-on): Likewise.
54903         * modules/hash-tests (Depends-on): Drop xalloc.
54904         (test_hash_LDADD): Drop unused library.
54905         * tests/test-hash.c (main): Break xalloc dependency.
54906         (includes): Drop unused include.
54908         xalloc-oversized: new module
54909         * modules/xalloc-oversized: New module.
54910         * modules/xalloc (Depends-on): Add it.
54911         * lib/xalloc.h (xalloc_oversized): Move...
54912         * lib/xalloc-oversized.h: ...into new file.
54914         utimecmp: drop dependency on xmalloc
54915         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
54916         due to memory pressure.
54917         * modules/utimecmp (Depends-on): Drop xalloc.
54919 2011-04-27  Eric Blake  <eblake@redhat.com>
54921         getcwd: fix mingw bugs
54922         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
54923         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
54924         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
54926 2011-04-27  Bruno Haible  <bruno@clisp.org>
54928         mkstemps: Ensure declaration on MacOS X 10.5.
54929         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
54930         * doc/glibc-functions/mkstemps.texi: Document header file problem on
54931         MacOS X.
54933 2011-04-27  Bruno Haible  <bruno@clisp.org>
54935         mkstemp: More documentation.
54936         * doc/posix-functions/mkstemp.texi: Document header file problem on
54937         MacOS X.
54939 2011-04-27  Bruno Haible  <bruno@clisp.org>
54941         mkstemp: Tweak configure message when cross-compiling.
54942         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
54943         result as a guess.
54945 2011-04-27  Bruno Haible  <bruno@clisp.org>
54947         clean-temp: Clarify what it does.
54948         * lib/clean-temp.h: Add more comments.
54949         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
54950         module.
54951         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
54952         * doc/glibc-functions/mkstemps.texi: Likewise.
54953         * doc/glibc-functions/mkostemps.texi: Likewise.
54955 2011-04-27  Eric Blake  <eblake@redhat.com>
54957         fchdir: avoid extra chdir and fix test
54958         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
54959         getcwd-lgpl.
54960         * lib/fchdir.c (get_name): Any absolute name will do; it does not
54961         have to be canonical.
54962         (canonicalize_file_name): Drop unused macro.
54963         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
54965         filenamecat-lgpl: fix licence
54966         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
54967         when it was first created.
54969         linkat, renameat: add missing dependency
54970         * modules/linkat (Depends-on): Require getcwd-lgpl.
54971         * modules/renameat (Depends-on): Likewise.
54973         tests: reduce dependencies
54974         * tests/test-linkat.c (main): Use lighter-weight getcwd.
54975         * tests/test-renameat.c (main): Likewise.
54976         * modules/linkat-tests (Depends-on): Relax dependency.
54977         * modules/renameat-tests (Depends-on): Likewise.
54978         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
54979         dependency explicit.
54981         save-cwd: reduce default dependency
54982         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
54983         * lib/save-cwd.c: Update comments.
54984         * NEWS: Document the semantic change.
54986         getcwd: enhance tests
54987         * tests/test-getcwd-lgpl.c: New file, taken from...
54988         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
54989         repeat long path stress tests from m4 probe.
54990         * modules/getcwd-lgpl-tests: New module.
54991         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
54992         * m4/getcwd-abort-bug.m4: Update comment.
54993         * m4/getcwd-path-max.m4: Likewise.
54995         getcwd-lgpl: new module
54996         * modules/getcwd-lgpl: New module.
54997         * lib/getcwd-lgpl.c: New file.
54998         * doc/posix-functions/getcwd.texi (getcwd): Document it.
54999         * MODULES.html.sh (lacking POSIX:2008): Likewise.
55000         * modules/getcwd (configure.ac): Set C witness.
55001         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
55003         getcwd: tweak comments
55004         * m4/getcwd-abort-bug.m4: Fix comments.
55005         * m4/getcwd-path-max.m4: Likewise.
55006         * m4/getcwd.m4: Likewise.
55008 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
55009         and Eric Blake  <eblake@redhat.com>
55011         mkstemp: replace if system version uses wrong permissions
55012         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
55013         read/write mode bits set in file created by mkstemp.
55014         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
55016 2011-04-27  Eric Blake  <eblake@redhat.com>
55018         passfd: avoid compiler warning
55019         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
55020         Reported by Laine Stump.
55022 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
55024         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
55025         required by the NetBSD (and perhaps other 4.4BSD derived) join.
55027 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
55028         and Eric Blake  <eblake@redhat.com>
55030         mkstemp: mention clean-temp module
55031         * lib/mkstemp.c: Add comment.
55032         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
55034 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
55036         inttypes: also provide default values for 32-bit tests
55037         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
55038         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
55040 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
55042         strtoumax: remove dependency on strtoimax
55043         This is like the strtoull change of yesterday.
55044         * modules/strtoumax (Files): Add lib/strtoimax.c.
55045         (Depends-on): Remove strtoimax and add verify.
55047         inttypes-incomplete: new module
55048         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
55049         all but the PRI* and SCN* parts of gl_INTTYPES_H.
55050         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
55051         of gl_INTTYPES_H.
55052         (gl_INTTYPES_H): Rewrite in terms of these new macros.
55053         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
55054         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
55055         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
55056         * modules/strtoumax, modules/xstrtol (Depends-on):
55057         Depend on inttypes-incomplete, not inttypes.
55058         * modules/inttypes-incomplete: New module, containing the contents
55059         of the old modules/inttypes module, except that the Files: section
55060         omits m4/inttypes-pri.m4, and the configure.ac section invokes
55061         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
55062         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
55063         (Depends-on): Depend only on inttypes-incomplete.
55064         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
55066         inttypes: omit now-redundant strtoimax and strtoumax work
55067         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
55068         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
55070         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
55071         This supports apps that need pointers to strtoimax and strtoumax,
55072         and ports to HP-UX 11.00 64.bit, which has macros that expand to
55073         nonexistent functions.  See
55074         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
55075         et seq.
55076         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
55077         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
55078         a macro.
55079         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
55081 2011-04-25  Simon Josefsson  <simon@josefsson.org>
55083         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
55085 2011-04-25  Bruno Haible  <bruno@clisp.org>
55087         strtol, strtoul: Mark modules as obsolete.
55088         * modules/strtol (Status, Notice): New sections.
55089         * modules/strtoul (Status, Notice): New sections.
55091 2011-04-25  Bruno Haible  <bruno@clisp.org>
55093         strtod: Remove check for strtod, unless supporting old platforms.
55094         * modules/strtod-obsolete: New file.
55095         * m4/strtod-obsolete.m4: New file.
55096         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
55097         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
55098         * modules/strtod (Depends-on): Add strtod-obsolete.
55099         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
55101 2011-04-25  Bruno Haible  <bruno@clisp.org>
55103         strcase: Make module obsolete.
55104         * modules/strcase (Status, Notice): New sections.
55106 2011-04-25  Bruno Haible  <bruno@clisp.org>
55108         dup2: Remove check for dup2, unless supporting old obsolete platforms.
55109         * modules/dup2-obsolete: New file.
55110         * m4/dup2-obsolete.m4: New file.
55111         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
55112         gl_FUNC_DUP2_OBSOLETE is not also defined.
55113         * modules/dup2 (Depends-on): Add dup2-obsolete.
55114         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
55116 2011-04-25  Bruno Haible  <bruno@clisp.org>
55118         strnlen: Avoid memchr related link error on old obsolete platforms.
55119         * modules/memchr-obsolete: New file.
55120         * m4/memchr-obsolete.m4: New file.
55121         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
55122         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
55123         * modules/memchr (Depends-on): Add memchr-obsolete.
55124         * modules/strnlen (Depends-on): Likewise.
55125         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
55127 2011-04-25  Jim Meyering  <meyering@redhat.com>
55129         maint.mk: makefile_at_at_check extend and clean up
55130         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
55131         in addition to */Makefile.am.
55132         Exempt legitimate uses of @VAR@ notation, e.g.,
55133         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
55134         Remove obsolete coreutils-specific comment.
55135         Prompted by discussion here:
55136         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
55138 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55140         strtoul: remove dependency on strtol
55141         This is so that 'configure' need not check for strtol merely because
55142         the application needs strtoul.
55143         * modules/strtoul (Files): Add lib/strtol.c.
55144         (Depends-on): Remove strtol.
55146         strtoull: remove dependency on strtoul
55147         This is like the strtoll change.
55148         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
55149         (Depends-on): Remove strtoul.
55151         strtoll: remove dependency on strtol
55152         This is so that 'configure' need not check for strtol merely because
55153         the application needs strtoll.
55154         * modules/strtoll (Files): Add lib/strtol.c.
55155         (Depends-on): Remove strtol.
55157 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
55159         inttypes: Move some configure check to module 'imaxdiv'.
55160         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
55161         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
55162         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
55164 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
55166         inttypes: Move some configure check to module 'imaxabs'.
55167         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
55168         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
55169         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
55171 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
55173         inttypes: Remove configure tests that are not needed since 2009-12-31.
55174         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
55175         gl_cv_header_working_inttypes_h.
55177 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
55179         * modules/strnlen (Depends-on): Remove memchr.
55180         The strnlen implementation doesn't need the memchr module's fixes; see
55181         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
55183         strtol: remove dependency on wchar
55184         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
55185         * modules/strtol (Depends-on): Remove wchar.
55187 2011-04-21  Eric Blake  <eblake@redhat.com>
55189         passfd: fix test regression on Linux
55190         * modules/passfd-tests (configure.ac): Correct socketpair check.
55192         passfd: speed up configure and drop unused code
55193         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
55194         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
55195         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
55196         Instead of probing at configure for unix_scm_rights_bsd44_way,
55197         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
55198         check to a struct member probe.
55199         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
55200         (sendfd, recvfd): Update preprocessor checks.
55201         * modules/passfd (Files): Reflect rename, and drop unused file.
55202         (Depends-on): Drop unused dependency.
55204         passfd: allow compilation on mingw
55205         * modules/sys_socket (Depends-on): Add sys_uio.
55206         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
55207         iovec and a minimal struct msghdr.
55208         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
55209         * tests/test-sys_socket.c (main): Enhance test.
55210         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
55211         guaranteed to provide what we need.
55212         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
55213         * modules/passfd-tests (Depends-on): Add sys_wait.
55214         * tests/test-passfd.c (main): Skip test on mingw, for now.
55215         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
55216         partial 'struct msghdr' implementation.
55218         sys_uio: new module
55219         * modules/sys_uio: New module.
55220         * modules/sys_uio-tests: Likewise.
55221         * lib/sys_uio.in.h: New file.
55222         * m4/sys_uio_h.m4: Likewise.
55223         * tests/test-sys_uio.c: Likewise.
55224         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
55225         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
55227 2011-04-20  Jim Meyering  <meyering@redhat.com>
55229         useless-if-before-free: avoid false-positive
55230         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
55231         disjunct so that it too requires a terminating ";".  Without that,
55232         this script would identify as useless one statement from gcc that
55233         was not:
55234           if (aligned_ptr)
55235             free (((void **) aligned_ptr) [-1]);
55237 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
55239         doc: update users.txt.
55240         * users.txt: Add barcode.
55242 2011-04-19  Bruno Haible  <bruno@clisp.org>
55244         ioctl: Remove link dependency on native Windows.
55245         * lib/fd-hook.h: Renamed from lib/close-hook.h.
55246         (gl_close_fn, gl_ioctl_fn): New types.
55247         (struct fd_hook): Renamed from struct close_hook. Change type of
55248         private_close_fn field. Add private_ioctl_fn field.
55249         (close_hook_fn): Add parameter for primary close method.
55250         (execute_close_hooks, execute_all_close_hooks): Likewise.
55251         (ioctl_hook_fn): New type.
55252         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
55253         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
55254         argument.
55255         (unregister_fd_hook): Renamed from unregister_close_hook.
55256         * lib/fd-hook.c: Renamed from lib/close-hook.c.
55257         Don't include <unistd.h>.
55258         (close): Remove undef.
55259         (anchor): Update.
55260         (execute_close_hooks): Add argument for primary close method.
55261         (execute_all_close_hooks): Likewise.
55262         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
55263         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
55264         argument. Allow each argument to be NULL.
55265         (unregister_fd_hook): Renamed from unregister_close_hook.
55266         * lib/close.c (rpl_close): Pass 'close' function pointer to
55267         execute_all_close_hooks.
55268         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
55269         (primary_ioctl): New function.
55270         (ioctl): Don't call ioctlsocket here. Instead, call
55271         execute_all_ioctl_hooks.
55272         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
55273         close method.
55274         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
55275         (fd_sockets_hook): Renamed from close_sockets_hook.
55276         (gl_sockets_startup, gl_sockets_cleanup): Update.
55277         * modules/fd-hook: Renamed from modules/close-hook. Update.
55278         * modules/close (Depends-on): Add fd-hook, remove close-hook.
55279         * modules/sockets (Depends-on): Likewise.
55280         * modules/ioctl (Depends-on): Add fd-hook.
55281         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
55282         GNULIB_SOCKET.
55284 2011-04-19  Bruno Haible  <bruno@clisp.org>
55286         Move the support of O_NONBLOCK in open() to the 'open' module.
55287         * modules/nonblocking (Depends-on): Remove 'open'.
55288         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
55289         gl_cv_have_open_O_NONBLOCK.
55290         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
55291         O_NONBLOCK support.
55292         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
55294 2011-04-17  Bruno Haible  <bruno@clisp.org>
55296         pipe2: Simplify code.
55297         * lib/pipe2.c (pipe2): Reduce code duplication.
55299 2011-04-17  Bruno Haible  <bruno@clisp.org>
55301         nonblocking: Add comment.
55302         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
55304 2011-04-17  Bruno Haible  <bruno@clisp.org>
55306         nonblocking: Add tests for sockets.
55307         * tests/test-nonblocking-socket.sh: New file.
55308         * tests/test-nonblocking-socket-main.c: New file.
55309         * tests/test-nonblocking-socket-child.c: New file.
55310         * tests/test-nonblocking-socket.h: New file.
55311         * tests/socket-server.h: New file.
55312         * tests/socket-client.h: New file.
55313         * modules/nonblocking-socket-tests: New file.
55314         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
55316 2011-04-17  Bruno Haible  <bruno@clisp.org>
55318         nonblocking: Add tests for pipes.
55319         * tests/test-nonblocking-pipe.sh: New file.
55320         * tests/test-nonblocking-pipe-main.c: New file.
55321         * tests/test-nonblocking-pipe-child.c: New file.
55322         * tests/test-nonblocking-pipe.h: New file.
55323         * tests/test-nonblocking-writer.h: New file.
55324         * tests/test-nonblocking-reader.h: New file.
55325         * tests/test-nonblocking-misc.h: New file.
55326         * modules/nonblocking-pipe-tests: New file.
55327         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
55329 2011-04-16  Bruno Haible  <bruno@clisp.org>
55331         gettext: Clarify the needed programmer actions.
55332         * modules/gettext (Notice): New field.
55333         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55335 2011-04-16  Bruno Haible  <bruno@clisp.org>
55337         strchrnul: Tweak last commit.
55338         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
55339         bug.
55340         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
55341         as in _GL_FUNCDECL_SYS.
55342         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
55343         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
55345 2011-04-15  Eric Blake  <eblake@redhat.com>
55347         strchrnul: work around cygwin bug
55348         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
55349         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
55350         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
55351         * modules/string (Makefile.am): Substitute it.
55352         * lib/string.in.h (strchrnul): Use it.
55354 2011-04-15  Bruno Haible  <bruno@clisp.org>
55356         Don't require lib/stdio-write.c when only module 'stdio' is used.
55357         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
55358         invocation.
55359         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
55361 2011-04-14  Bruno Haible  <bruno@clisp.org>
55363         Support non-blocking pipe I/O in read() on native Windows.
55364         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
55365         (read): New declaration.
55366         * lib/read.c: New file.
55367         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
55368         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
55369         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
55370         vscanf): New declarations.
55371         * lib/stdio-read.c: New file.
55372         * m4/read.m4: New file.
55373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
55374         REPLACE_READ.
55375         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
55376         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
55377         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
55378         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
55379         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
55380         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
55381         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
55382         * modules/read: New file.
55383         * modules/nonblocking (Files): Add lib/stdio-read.c.
55384         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
55385         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
55386         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
55387         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
55388         * modules/pread (Depends-on): Add read.
55389         * modules/safe-read (Depends-on): Likewise.
55390         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
55391         gets, scanf, vfscanf, vscanf): Verify signatures.
55392         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
55393         problem with non-blocking pipes.
55394         * doc/posix-functions/fgetc.texi: Likewise.
55395         * doc/posix-functions/fgets.texi: Likewise.
55396         * doc/posix-functions/fread.texi: Likewise.
55397         * doc/posix-functions/fscanf.texi: Likewise.
55398         * doc/posix-functions/getc.texi: Likewise.
55399         * doc/posix-functions/getchar.texi: Likewise.
55400         * doc/posix-functions/gets.texi: Likewise.
55401         * doc/posix-functions/scanf.texi: Likewise.
55402         * doc/posix-functions/vfscanf.texi: Likewise.
55403         * doc/posix-functions/vscanf.texi: Likewise.
55405 2011-04-14  Bruno Haible  <bruno@clisp.org>
55407         Support non-blocking pipe I/O in write() on native Windows.
55408         * lib/write.c (rpl_write): Split a write request that failed merely
55409         because the byte count was larger than the pipe buffer's size.
55410         * doc/posix-functions/write.texi: Mention the problem with large byte
55411         counts.
55413 2011-04-14  Bruno Haible  <bruno@clisp.org>
55415         wchar: Ensure that wchar_t gets defined on uClibc.
55416         * lib/wchar.in.h: On uClibc, include <stddef.h>.
55417         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
55419 2011-04-13  Bruno Haible  <bruno@clisp.org>
55421         safe-write, full-read: Avoid unnecessary compilation units.
55422         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
55423         (Depends-on): Remove safe-read. Add ssize_t.
55424         * modules/full-read (Files): Add lib/full-write.c.
55425         (Depends-on): Add full-write.
55427 2011-04-13  Bruno Haible  <bruno@clisp.org>
55429         Support non-blocking pipe I/O and SIGPIPE in pwrite().
55430         * modules/pwrite (Depends-on): Add 'write'.
55432 2011-04-13  Bruno Haible  <bruno@clisp.org>
55434         Support non-blocking pipe I/O in write() on native Windows.
55435         * lib/unistd.in.h (write): Enable replacement also if
55436         GNULIB_UNISTD_H_NONBLOCKING is 1.
55437         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
55438         (rpl_write): When failing to write on a non-blocking pipe, change
55439         errno from ENOSPC to EAGAIN.
55440         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
55441         putchar, puts, vfprintf, vprintf): Enable replacement also if
55442         GNULIB_STDIO_H_NONBLOCKING is 1.
55443         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
55444         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
55445         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
55446         CALL_WITH_SIGPIPE_EMULATION.
55447         (CALL_WITH_SIGPIPE_EMULATION): Use them.
55448         * m4/nonblocking.m4: New file.
55449         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
55450         for non-blocking I/O support.
55451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55452         GNULIB_UNISTD_H_NONBLOCKING.
55453         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
55454         required for non-blocking I/O support.
55455         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
55456         * modules/nonblocking (Files): Add m4/nonblocking.m4,
55457         lib/stdio-write.c, m4/asm-underscore.m4.
55458         (Depends-on): Add stdio, unistd.
55459         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
55460         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
55461         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
55462         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
55463         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
55464         problem with non-blocking pipes.
55465         * doc/posix-functions/fputc.texi: Likewise.
55466         * doc/posix-functions/fputs.texi: Likewise.
55467         * doc/posix-functions/fwrite.texi: Likewise.
55468         * doc/posix-functions/printf.texi: Likewise.
55469         * doc/posix-functions/putc.texi: Likewise.
55470         * doc/posix-functions/putchar.texi: Likewise.
55471         * doc/posix-functions/puts.texi: Likewise.
55472         * doc/posix-functions/vfprintf.texi: Likewise.
55473         * doc/posix-functions/vprintf.texi: Likewise.
55474         * doc/posix-functions/write.texi: Likewise.
55476 2011-04-10  Jim Meyering  <meyering@redhat.com>
55478         maint.mk: prohibit doubled words
55479         Detect them also when they're separated by a newline.
55480         There are 3 ways to customize it:
55481           - disable the test on a per file basis, as usual with rules using
55482             $(VC_LIST_EXCEPT)
55483           - replace the default doubled-word-selecting regexp (affects all files)
55484           - ignore a particular file-vs-doubled-word match
55485         I nearly used that last one to ignore the "is is" match in
55486         coreutils' NEWS file, since the text was "ls -is is ..."
55487         To do that, I would have added this line to cfg.mk:
55488           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
55489         but it would have ignored any "is is" match in NEWS.
55490         Low probability, but still...
55491         Instead, I changed the text, slightly:
55492           -  ls -is is now consistent with ls -lis in ignoring values returned
55493           +  "ls -is" is now consistent with ls -lis in ignoring values returned
55494         * top/maint.mk (prohibit_double_word_RE_): Provide default.
55495         (prohibit_doubled_word_): Define.
55496         (sc_prohibit_doubled_word): New rule.
55497         (sc_prohibit_the_the): Remove.  Subsumed by the above.
55499 2011-04-10  Jim Meyering  <meyering@redhat.com>
55501         maint: fix doubled-word typo in comment
55502         * m4/gethostname.m4: s/is is/it is/
55503         * m4/getdomainname.m4: Likewise.
55505 2011-04-10  Jim Meyering  <meyering@redhat.com>
55507         maint: remove doubled word: s/it it/it/
55508         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
55510 2011-04-10  Jim Meyering  <meyering@redhat.com>
55512         maint.mk: remove useless semicolon and backslash
55513         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
55514         semicolon and backslash.
55516 2011-04-10  Bruno Haible  <bruno@clisp.org>
55518         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
55519         * modules/stdint-tests (Depends-on): Add wchar.
55521 2011-04-10  Jim Meyering  <meyering@redhat.com>
55523         maint: remove doubled words in comments, e.g., s/a a/a/
55524         * lib/strptime.c (day_of_the_week): s/the the/the/
55525         * tests/test-chown.h (test_chown): s/a a/a/
55527         test-chown.h: correct a cast
55528         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
55529         when the destination is a stat.st_gid.
55531 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
55533         getaddrinfo: Fix test for sa_len member.
55534         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
55535         include <sys/types.h> before <sys/socket.h>.
55537 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55539         maint: change "can not" to "cannot"
55540         * doc/posix-functions/iconv.texi (iconv): This one crossed line
55541         boundaries.
55543 2011-04-09  Jim Meyering  <meyering@redhat.com>
55545         maint: change "a a" to "a"
55546         * tests/test-lchown.h (test_lchown): s/a a/a/
55548         maint.mk: prohibit \<the the\>
55549         * top/maint.mk (sc_prohibit_the_the): New rule.
55551         maint: fix "the the" in comment
55552         * lib/count-one-bits.h: s/the the/the/
55554         maint: change "can not" to "cannot"
55555         But do not change the occurrences in maintain.texi or in
55556         build-aux/po/Makefile.in.in, which I presume comes from gettext.
55557         * doc/gnulib-tool.texi: s/can not/cannot/
55558         * doc/posix-functions/accept.texi (accept): Likewise.
55559         * doc/posix-functions/socket.texi (socket): Likewise.
55560         * lib/mbrtowc.c: Likewise.
55562         maint.mk: prohibit use of "can not"
55563         * top/maint.mk (sc_prohibit_can_not): New rule.
55564         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
55566 2011-04-09  Bruno Haible  <bruno@clisp.org>
55568         careadlinkat: Guard against misuse of careadlinkatcwd.
55569         * lib/careadlinkat.c: Include <stdlib.h>.
55570         (careadlinkatcwd): Check that the fd argument is as expected.
55572 2011-04-09  Bruno Haible  <bruno@clisp.org>
55574         careadlinkat: Use common coding style.
55575         * lib/careadlinkat.c: Move gnulib includes after system includes.
55577 2011-04-09  Bruno Haible  <bruno@clisp.org>
55579         careadlinkat: Clarify specification.
55580         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
55581         (careadlinkatcwd): Add comment.
55582         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
55584 2011-04-09  Bruno Haible  <bruno@clisp.org>
55586         areadlinkat: Avoid link error on many platforms.
55587         * modules/areadlinkat (Depends-on): Add areadlink.
55589 2011-04-09  Bruno Haible  <bruno@clisp.org>
55591         allocator, careadlinkat: Fix double-inclusion guard.
55592         * lib/allocator.h: Fix double-inclusion guard.
55593         * lib/careadlinkat.h: Likewise.
55595 2011-04-09  Bruno Haible  <bruno@clisp.org>
55597         relocatable-prog-wrapper: Update after module 'areadlink' changed.
55598         * lib/relocwrapper.c: Update dependencies hierarchy.
55599         * build-aux/install-reloc: Update list of files to be compiled.
55600         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
55601         lib/allocator.[hc].
55603 2011-04-08  Eric Blake  <eblake@redhat.com>
55605         strftime: silence gnulib-tool warning
55606         * modules/strftime-tests (Depends-on): Drop automatic dependency.
55608 2011-04-08  Bruno Haible  <bruno@clisp.org>
55610         verify: Fix syntax error with GCC 4.6 in C++ mode.
55611         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
55612         (HAVE_STATIC_ASSERT): New macro.
55613         (verify_true, verify): Use 'static_assert' if it is supported and
55614         '_Static_assert' is not supported.
55616 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
55618         allocator: New module.
55619         * modules/allocator, lib/allocator.c: New files.
55620         * lib/allocator.h (stdlib_allocator): New decl.
55621         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
55622         Remove.  Do not include <stdlib.h>.
55623         (careadlinkat): Use stdlib_allocator instead of rolling our own.
55624         * modules/careadlinkat (Files): Remove lib/allocator.h.
55625         (Depends-on): Add allocator.
55627         stdlib: let modules use system malloc, realloc
55628         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
55629         if !_GL_USE_STDLIB_ALLOC.
55630         (malloc, realloc): Limit this change to a smaller scope.
55632         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
55633         (malloc, realloc): Don't #undef; no longer needed.
55634         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
55635         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
55636         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
55637         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
55638         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
55639         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
55640         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
55641         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
55643         careadlinkat: rename members to avoid problem
55644         * lib/allocator.h (struct allocator): Rename members from
55645         malloc/realloc to allocate/reallocate, to avoid problems if malloc
55646         and realloc are #define'd.  Reported by Eric Blake in
55647         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
55648         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
55650 2011-04-08  Eric Blake  <eblake@redhat.com>
55652         nonblocking: reduce dependency
55653         * tests/test-nonblocking.c: Only test sockets when in use.
55654         * modules/nonblocking-tests (Depends-on): Drop socket.
55655         (Makefile.am): Link even if sockets are not present.
55656         * modules/pipe2-tests (Makefile.am): Likewise.
55657         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
55659         pipe2: fix O_NONBLOCK support on mingw
55660         * modules/pipe2 (Depends-on): Add nonblocking.
55661         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
55662         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
55663         * tests/test-nonblocking.c (main): Likewise.
55664         * modules/pipe2-tests (Makefile.am): Avoid link failure.
55666         fcntl-h: fix O_ACCMODE on cygwin
55667         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
55668         * lib/fcntl.in.h (O_ACCMODE): Fix it.
55670         pipe-filter: drop O_NONBLOCK workarounds
55671         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
55672         * modules/pipe-filter-ii (Depends-on): Likewise.
55673         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
55675         nonblocking: provide O_NONBLOCK for mingw
55676         * modules/nonblocking (Depends-on): Add open.
55677         (configure.ac): Set new witness macro.
55678         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
55679         * modules/fcntl-h (Makefile.am): Substitute it.
55680         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
55681         nonblocking module is in use.
55682         * lib/nonblocking.c: Adjust portability test.
55683         * lib/open.c (open): Don't let native open see gnulib flag.
55684         * tests/test-fcntl-h.c (main): Enhance test.
55685         * tests/test-open.h (test_open): Likewise.
55686         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
55688         careadlinkat: fix compilation error on mingw
55689         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
55690         within struct allocator.
55692 2011-04-06  Eric Blake  <eblake@redhat.com>
55694         binary-io: relicense under LGPLv2+
55695         * modules/binary-io (License): Relax to LGPLv2+.
55696         Requested for libvirt, and required by pipe2.
55698 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
55700         verify: use _Static_assert if available
55701         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
55702         (verify_true, verify): Use it if available.  This generates better
55703         diagnostics with GCC 4.6.0 and later.
55705 2011-04-05  Bruno Haible  <bruno@clisp.org>
55707         Remove leftover generated .h files after config.status changed.
55709         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
55710         GL_GENERATE_ALLOCA_H.
55711         * modules/alloca-opt (Makefile.am): Remove alloca.h if
55712         GL_GENERATE_ALLOCA_H evaluates to false.
55714         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
55715         GL_GENERATE_ARGZ_H.
55716         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
55717         evaluates to false.
55719         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
55720         GL_GENERATE_BYTESWAP_H.
55721         * modules/byteswap (Makefile.am): Remove byteswap.h if
55722         GL_GENERATE_BYTESWAP_H evaluates to false.
55724         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
55725         GL_GENERATE_ERRNO_H.
55726         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
55727         evaluates to false.
55729         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
55730         GL_GENERATE_FLOAT_H.
55731         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
55732         evaluates to false.
55734         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
55735         GL_GENERATE_FNMATCH_H.
55736         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
55737         GL_GENERATE_FNMATCH_H evaluates to false.
55739         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
55740         GL_GENERATE_GLOB_H.
55741         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
55742         evaluates to false.
55744         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
55745         automake conditional GL_GENERATE_ICONV_H.
55746         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
55747         evaluates to false.
55749         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
55750         GL_GENERATE_NETINET_IN_H.
55751         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
55752         GL_GENERATE_NETINET_IN_H evaluates to false.
55754         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
55755         conditional GL_GENERATE_PTHREAD_H.
55756         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
55757         * modules/pthread (Makefile.am): Remove pthread.h if
55758         GL_GENERATE_PTHREAD_H evaluates to false.
55760         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
55761         GL_GENERATE_SCHED_H.
55762         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
55763         evaluates to false.
55765         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
55766         conditional GL_GENERATE_SELINUX_CONTEXT_H.
55767         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
55768         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
55770         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
55771         GL_GENERATE_STDARG_H.
55772         * modules/stdarg (Makefile.am): Remove stdarg.h if
55773         GL_GENERATE_STDARG_H evaluates to false.
55775         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
55776         GL_GENERATE_STDBOOL_H.
55777         * modules/stdbool (Makefile.am): Remove stdbool.h if
55778         GL_GENERATE_STDBOOL_H evaluates to false.
55780         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
55781         conditional GL_GENERATE_STDDEF_H.
55782         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
55783         * modules/stddef (Makefile.am): Remove stddef.h if
55784         GL_GENERATE_STDDEF_H evaluates to false.
55786         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
55787         GL_GENERATE_STDINT_H.
55788         * modules/stdint (Makefile.am): Remove stdint.h if
55789         GL_GENERATE_STDINT_H evaluates to false.
55791         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
55792         GL_GENERATE_SYSEXITS_H.
55793         * modules/sysexits (Makefile.am): Remove sysexits.h if
55794         GL_GENERATE_SYSEXITS_H evaluates to false.
55796         Reported by Karl Berry and Ralf Wildenhues.
55798 2011-04-05  Bruno Haible  <bruno@clisp.org>
55800         Ensure to rebuild generated .h files when config.status has changed.
55801         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
55802         config.status.
55803         * modules/ctype (Makefile.am): Likewise.
55804         * modules/dirent (Makefile.am): Likewise.
55805         * modules/errno (Makefile.am): Likewise.
55806         * modules/fcntl-h (Makefile.am): Likewise.
55807         * modules/float (Makefile.am): Likewise.
55808         * modules/getopt-posix (Makefile.am): Likewise.
55809         * modules/glob (Makefile.am): Likewise.
55810         * modules/iconv-h (Makefile.am): Likewise.
55811         * modules/inttypes (Makefile.am): Likewise.
55812         * modules/langinfo (Makefile.am): Likewise.
55813         * modules/locale (Makefile.am): Likewise.
55814         * modules/math (Makefile.am): Likewise.
55815         * modules/netdb (Makefile.am): Likewise.
55816         * modules/netinet_in (Makefile.am): Likewise.
55817         * modules/poll-h (Makefile.am): Likewise.
55818         * modules/pthread (Makefile.am): Likewise.
55819         * modules/pty (Makefile.am): Likewise.
55820         * modules/sched (Makefile.am): Likewise.
55821         * modules/search (Makefile.am): Likewise.
55822         * modules/selinux-h (Makefile.am): Likewise.
55823         * modules/signal (Makefile.am): Likewise.
55824         * modules/spawn (Makefile.am): Likewise.
55825         * modules/stdarg (Makefile.am): Likewise.
55826         * modules/stdbool (Makefile.am): Likewise.
55827         * modules/stddef (Makefile.am): Likewise.
55828         * modules/stdint (Makefile.am): Likewise.
55829         * modules/stdio (Makefile.am): Likewise.
55830         * modules/stdlib (Makefile.am): Likewise.
55831         * modules/string (Makefile.am): Likewise.
55832         * modules/strings (Makefile.am): Likewise.
55833         * modules/sys_file (Makefile.am): Likewise.
55834         * modules/sys_ioctl (Makefile.am): Likewise.
55835         * modules/sys_select (Makefile.am): Likewise.
55836         * modules/sys_socket (Makefile.am): Likewise.
55837         * modules/sys_stat (Makefile.am): Likewise.
55838         * modules/sys_time (Makefile.am): Likewise.
55839         * modules/sys_times (Makefile.am): Likewise.
55840         * modules/sys_utsname (Makefile.am): Likewise.
55841         * modules/sys_wait (Makefile.am): Likewise.
55842         * modules/sysexits (Makefile.am): Likewise.
55843         * modules/termios (Makefile.am): Likewise.
55844         * modules/time (Makefile.am): Likewise.
55845         * modules/unistd (Makefile.am): Likewise.
55846         * modules/wchar (Makefile.am): Likewise.
55847         * modules/wctype-h (Makefile.am): Likewise.
55848         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
55850 2011-04-05  Bruno Haible  <bruno@clisp.org>
55852         pipe2: Relicense under LGPLv2+.
55853         * modules/pipe2 (License): Change to LGPLv2+.
55854         Requested by Eric Blake, for libvirt.
55856 2011-04-05  Bruce Korb  <bkorb@gnu.org>
55858         bootstrap: compute gnulib_extra_files after updating build_aux
55859         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
55860         change build_aux or also supply gnulib_extra_files.  Handle correctly.
55862 2011-04-05  Eric Blake  <eblake@redhat.com>
55864         bootstrap: preserve git whitelist item sorting
55865         * build-aux/bootstrap (sort_patterns): New function.
55866         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
55868 2011-04-05  Simon Josefsson  <simon@josefsson.org>
55870         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
55871         sc_space_tab check.
55873 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
55875         areadlink, areadlinkat: rewrite in terms of careadlinkat
55876         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
55877         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
55878         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
55879         (malloc, realloc): Remove #undefs.
55880         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
55881         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
55882         readlink, ssize_t, stdint, unistd.
55883         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
55884         areadlink, stdint.
55886         careadlinkat: new module
55887         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
55888         * modules/careadlinkat: New files, written by me with
55889         a review and feedback from Ben Pfaff in
55890         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
55892 2011-04-01  Bruno Haible  <bruno@clisp.org>
55894         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
55895         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
55896         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
55897         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
55898         Reported by Bruce Korb <bruce.korb@gmail.com>.
55900 2011-04-01  Bruno Haible  <bruno@clisp.org>
55902         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
55903         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
55904         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
55905         * modules/wcpcpy (Depends-on): Add extensions.
55906         * modules/wcpncpy (Depends-on): Likewise.
55907         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
55908         systems.
55909         * doc/posix-functions/wcpncpy.texi: Likewise.
55910         * doc/posix-functions/wcwidth.texi: Likewise.
55912 2011-03-31  Eric Blake  <eblake@redhat.com>
55914         nonblocking: fix mingw test failures
55915         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
55916         non-blocking flag on regular file.
55917         (get_nonblocking_flag): Set errno on invalid fd.
55918         * tests/test-nonblocking.c (main): Avoid test failure on
55919         directories if fchdir is not active.
55920         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
55922 2011-03-31  Bruno Haible  <bruno@clisp.org>
55924         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
55925         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
55926         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
55927         Reported by Simon Josefsson <simon@josefsson.org>.
55929 2011-03-31  Bruno Haible  <bruno@clisp.org>
55930         and Eric Blake  <eblake@redhat.com>
55932         nonblocking: new module
55933         * modules/nonblocking: New module.
55934         * modules/nonblocking-tests: Likewise.
55935         * lib/nonblocking.h: New file.
55936         * lib/nonblocking.c: Likewise.
55937         * tests/test-nonblocking.c: New test.
55938         * lib/ioctl.c (ioctl) [mingw]: Update comment.
55940 2011-03-30  Bruno Haible  <bruno@clisp.org>
55942         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
55943         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
55944         instead of 'printf' format for GCC >= 4.4.
55945         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
55946         (fprintf, printf, vfprintf, vprintf): Declare with
55947         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
55948         the system's vfprintf() function.
55949         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
55951 2011-03-30  Eric Blake  <eblake@redhat.com>
55953         passfd: fix scoping bug
55954         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
55955         before sendmsg/recvmsg.
55957         passfd: standardize coding conventions
55958         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
55959         can be learned at compile time.
55960         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
55961         ifdefs.
55962         (sendfd, recvfd): Follow gnulib code conventions.
55964         passfd: fix incorrect sendmsg arguments
55965         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
55966         incorrect msg_controllen value.
55967         * modules/passfd-tests (Depends-on): Check for alarm.
55968         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
55969         Reported by Bastien ROUCARIES.
55971 2011-03-30  Bruno Haible  <bruno@clisp.org>
55973         c-strcasestr: Relicense under LGPLv2+.
55974         * modules/c-strcasestr (License): Change to LGPLv2+.
55975         Requested by Eric Blake, for libvirt.
55977 2011-03-30  Simon Josefsson  <simon@josefsson.org>
55979         * users.txt: Add libidn2.  Fix libtasn1 link.
55981 2011-03-30  Jim Meyering  <meyering@redhat.com>
55983         tests: readlink* ("",... fails with EINVAL on newer kernels
55984         readlink and readlinkat have typically failed with ENOENT for
55985         the invalid, empty file name,  "".  However, with the advent
55986         of linux-2.6.39, they fail with EINVAL.
55987         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
55988         when operating on the empty file name.
55989         * tests/test-readlink.h (test_readlink): Likewise.
55991 2011-03-29  Bruno Haible  <bruno@clisp.org>
55993         Relicense some modules under LGPLv2+, for libidn2.
55994         * modules/array-mergesort (License): Change to LGPLv2+.
55995         * modules/c-strcaseeq (License): Likewise.
55996         * modules/striconveh (License): Likewise.
55997         * modules/striconveha (License): Likewise.
55998         * modules/uniconv/base (License): Likewise.
55999         * modules/uniconv/u8-conv-from-enc (License): Likewise.
56000         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
56001         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
56002         * modules/unictype/base (License): Likewise.
56003         * modules/unictype/bidiclass-of (License): Likewise.
56004         * modules/unictype/category-M (License): Likewise.
56005         * modules/unictype/category-none (License): Likewise.
56006         * modules/unictype/category-of (License): Likewise.
56007         * modules/unictype/category-test (License): Likewise.
56008         * modules/unictype/category-test-withtable (License): Likewise.
56009         * modules/unictype/combining-class (License): Likewise.
56010         * modules/unictype/joiningtype-of (License): Likewise.
56011         * modules/unictype/scripts (License): Likewise.
56012         * modules/uninorm/base (License): Likewise.
56013         * modules/uninorm/canonical-decomposition (License): Likewise.
56014         * modules/uninorm/composition (License): Likewise.
56015         * modules/uninorm/decompose-internal (License): Likewise.
56016         * modules/uninorm/decomposition-table (License): Likewise.
56017         * modules/uninorm/nfc (License): Likewise.
56018         * modules/uninorm/nfd (License): Likewise.
56019         * modules/uninorm/u32-normalize (License): Likewise.
56020         * modules/unistr/base (License): Likewise.
56021         * modules/unistr/u32-cpy (License): Likewise.
56022         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
56023         * modules/unistr/u32-to-u8 (License): Likewise.
56024         * modules/unistr/u32-uctomb (License): Likewise.
56025         * modules/unistr/u8-check (License): Likewise.
56026         * modules/unistr/u8-mblen (License): Likewise.
56027         * modules/unistr/u8-mbtouc (License): Likewise.
56028         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
56029         * modules/unistr/u8-mbtoucr (License): Likewise.
56030         * modules/unistr/u8-prev (License): Likewise.
56031         * modules/unistr/u8-strlen (License): Likewise.
56032         * modules/unistr/u8-to-u32 (License): Likewise.
56033         * modules/unistr/u8-uctomb (License): Likewise.
56034         * modules/unitypes (License): Likewise.
56035         Requested by Simon Josefsson.
56037 2011-03-29  Simon Josefsson  <simon@josefsson.org>
56039         lib-symbol-visibility: Add a notice.
56040         * modules/lib-symbol-visibility (Notice): New field.
56042 2011-03-29  Bruno Haible  <bruno@clisp.org>
56044         getaddrinfo: Doc fix.
56045         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
56046         section "fixed in Gnulib".
56048 2011-03-28  Simon Josefsson  <simon@josefsson.org>
56050         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
56051         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
56053 2011-03-26  Bruno Haible  <bruno@clisp.org>
56055         unictype/property-byname: Reduce the number of load-time relocations.
56056         * lib/unictype/pr_byname.c: Include <stdlib.h>.
56057         (UC_PROPERTY_INDEX_*): New enumeration values.
56058         (uc_property_byname): Convert an index from the lookup table to an
56059         uc_property_t.
56060         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
56061         values.
56063 2011-03-26  Bruno Haible  <bruno@clisp.org>
56065         unictype/property-byname: Allow omitted word separators and aliases.
56066         * lib/unictype/pr_byname.gperf: Add property names without word
56067         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
56068         for 'space'.
56070 2011-03-26  Bruno Haible  <bruno@clisp.org>
56072         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
56073         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
56074         also hyphens to space.
56075         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
56076         without spaces.
56077         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
56079 2011-03-26  Bruno Haible  <bruno@clisp.org>
56081         unictype/joiningtype-byname: Recognize long names as well.
56082         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
56083         a long name.
56084         * lib/unictype/joiningtype_byname.c: Include <string.h>,
56085         unictype/joiningtype_byname.h.
56086         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
56087         * lib/unictype/joiningtype_byname.gperf: New file.
56088         * modules/unictype/joiningtype-byname (Files): Add
56089         lib/unictype/joiningtype_byname.gperf.
56090         (Depends-on): Add gperf.
56091         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
56092         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
56093         long names.
56095         Tests for module 'unictype/joiningtype-longname'.
56096         * modules/unictype/joiningtype-longname-tests: New file.
56097         * tests/unictype/test-joiningtype_longname.c: New file.
56099         New module 'unictype/joiningtype-longname'.
56100         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
56101         * lib/unictype/joiningtype_longname.c: New file.
56102         * modules/unictype/joiningtype-longname: New file.
56103         * modules/unictype/joiningtype-all (Depends-on): Add
56104         unictype/joiningtype-longname.
56106 2011-03-26  Bruno Haible  <bruno@clisp.org>
56108         unictype/bidiclass-byname: Recognize long names as well.
56109         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
56110         name.
56111         * lib/unictype/bidi_byname.c: Include <string.h>,
56112         unictype/bidi_byname.h.
56113         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
56114         * lib/unictype/bidi_byname.gperf: New file.
56115         * modules/unictype/bidiclass-byname (Files): Add
56116         lib/unictype/bidi_byname.gperf.
56117         (Depends-on): Add gperf.
56118         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
56119         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
56120         long names.
56122         Tests for module 'unictype/bidiclass-longname'.
56123         * modules/unictype/bidiclass-longname-tests: New file.
56124         * tests/unictype/test-bidi_longname.c: New file.
56126         New module 'unictype/bidiclass-longname'.
56127         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
56128         * lib/unictype/bidi_longname.c: New file.
56129         * modules/unictype/bidiclass-longname: New file.
56130         * modules/unictype/bidiclass-all (Depends-on): Add
56131         unictype/bidiclass-longname.
56133 2011-03-26  Bruno Haible  <bruno@clisp.org>
56135         unictype/bidi*: Rename modules.
56136         * modules/unictype/bidiclass-all: Renamed from
56137         modules/unictype/bidicategory-all.
56138         * modules/unictype/bidiclass-name: Renamed from
56139         modules/unictype/bidiclass-name.
56140         (Description): Update.
56141         * modules/unictype/bidiclass-name-tests: Renamed from
56142         modules/unictype/bidicategory-name-tests.
56143         * modules/unictype/bidiclass-byname: Renamed from
56144         modules/unictype/bidicategory-byname.
56145         (Description): Update.
56146         * modules/unictype/bidiclass-byname-tests: Renamed from
56147         modules/unictype/bidicategory-byname-tests.
56148         * modules/unictype/bidiclass-of: Renamed from
56149         modules/unictype/bidicategory-of.
56150         (Description): Update.
56151         * modules/unictype/bidiclass-of-tests: Renamed from
56152         modules/unictype/bidicategory-of-tests.
56153         * modules/unictype/bidiclass-test: Renamed from
56154         modules/unictype/bidicategory-test.
56155         (Description): Update.
56156         * modules/unictype/bidiclass-test-tests: Renamed from
56157         modules/unictype/bidicategory-test-tests.
56158         * modules/unictype/bidicategory-all: New file, a simple redirection.
56159         * modules/unictype/bidicategory-name: Likewise.
56160         * modules/unictype/bidicategory-byname: Likewise.
56161         * modules/unictype/bidicategory-of: Likewise.
56162         * modules/unictype/bidicategory-test: Likewise.
56163         * modules/unictype/property-bidi-* (Dependencies): Update.
56164         * lib/unictype/bidi_*.c: Update comment.
56166 2011-03-26  Bruno Haible  <bruno@clisp.org>
56168         unictype/bidi*: Rename functions, part 2.
56169         * modules/unictype/bidicategory-name (configure.ac): Update required
56170         libunistring version.
56171         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
56173 2011-03-25  Bruno Haible  <bruno@clisp.org>
56175         New module 'unictype/combining-class-all'.
56176         * modules/unictype/combining-class-all: New file.
56178         Tests for module 'unictype/combining-class-byname'.
56179         * modules/unictype/combining-class-byname-tests: New file.
56180         * tests/unictype/test-combiningclass_byname.c: New file.
56182         New module 'unictype/combining-class-byname'.
56183         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
56184         * lib/unictype/combiningclass_byname.c: New file.
56185         * lib/unictype/combiningclass_byname.gperf: New file.
56186         * modules/unictype/combining-class-byname: New file.
56188         Tests for module 'unictype/combining-class-longname'.
56189         * modules/unictype/combining-class-longname-tests: New file.
56190         * tests/unictype/test-combiningclass_longname.c: New file.
56192         New module 'unictype/combining-class-longname'.
56193         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
56194         * lib/unictype/combiningclass_longname.c: New file.
56195         * modules/unictype/combining-class-longname: New file.
56197         Tests for module 'unictype/combining-class-name'.
56198         * modules/unictype/combining-class-name-tests: New file.
56199         * tests/unictype/test-combiningclass_name.c: New file.
56201         New module 'unictype/combining-class-name'.
56202         * lib/unictype.in.h (uc_combining_class_name): New declaration.
56203         * lib/unictype/combiningclass_name.c: New file.
56204         * modules/unictype/combining-class-name: New file.
56206 2011-03-25  Bruno Haible  <bruno@clisp.org>
56208         unictype/combining-class: Rename source files.
56209         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
56210         of unictype/combining.h.
56211         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
56212         Update.
56213         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
56214         * modules/unictype/combining-class (Description): Fix.
56215         (Files, Makefile.am): Update.
56216         * tests/unictype/test-combiningclass.c: Renamed from
56217         tests/unictype/test-combining.c.
56218         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
56220 2011-03-25  Bruno Haible  <bruno@clisp.org>
56222         unictype: Update list of canonical combining classes.
56223         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
56225 2011-03-25  Bruno Haible  <bruno@clisp.org>
56227         unictype/category-byname: Recognize long names as well.
56228         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
56229         a long name.
56230         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
56231         unictype/categ_byname.h.
56232         (UC_CATEGORY_INDEX_*): New enumeration values.
56233         (uc_general_category_byname): Use uc_general_category_lookup and
56234         convert from index to value.
56235         * lib/unictype/categ_byname.gperf: New file.
56236         * modules/unictype/category-byname (Files): Add
56237         lib/unictype/categ_byname.gperf.
56238         (Depends-on): Add gperf.
56239         (Makefile.am): Add rule for generating unictype/categ_byname.h.
56240         * tests/unictype/test-categ_byname.c (main): Test the recognition of
56241         long names.
56243         Tests for module 'unictype/category-longname'.
56244         * modules/unictype/category-longname-tests: New file.
56245         * tests/unictype/test-categ_longname.c: New file.
56247         New module 'unictype/category-longname'.
56248         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
56249         * lib/unictype/categ_longname.c: New file.
56250         * modules/unictype/category-longname: New file.
56251         * modules/unictype/category-all (Depends-on): Add it.
56253 2011-03-25  Bruno Haible  <bruno@clisp.org>
56255         Tests for module 'unictype/category-LC'.
56256         * modules/unictype/category-LC-tests: New file.
56257         * tests/unictype/test-categ_LC.c: New file, automatically generated.
56259         New module 'unictype/category-LC'.
56260         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
56261         (UC_CATEGORY_LC): New declaration.
56262         (UC_CASED_LETTER): New macro.
56263         * lib/gen-uni-tables.c (is_category_LC): New function.
56264         (output_categories): Also handle category LC.
56265         (UC_CATEGORY_MASK_LC): New enumeration value.
56266         (general_category_byname): Also handle category LC.
56267         * lib/unictype/categ_LC.c: New file.
56268         * lib/unictype/categ_LC.h: New file, automatically generated.
56269         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
56270         category LC.
56271         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
56272         * modules/unictype/category-LC: New file.
56273         * modules/unictype/category-byname (Depends-on): Add
56274         unictype/category-LC.
56275         * modules/unictype/category-all (Depends-on): Likewise.
56277 2011-03-25  Eric Blake  <eblake@redhat.com>
56279         xmalloc: revert yesterday's regression
56280         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
56281         realloc's underlying behavior (allowing allocation of zero-size
56282         objects, especially if malloc-gnu is also in use).
56284 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
56286         maint.mk: add missing version to VC-tag
56287         * top/maint.mk: git tag was missing actual tag name; add it.
56289         valgrind: do leak checking, and exit with code 1 on error (not 0)
56290         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
56291         to VALGRIND.
56293 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
56295         posix-modules: say what it does.
56296         * posix-modules: Add a line to the --help output saying what it does.
56298 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
56300         xmalloc: Do not leak if underlying realloc is C99 compatible.
56301         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
56302         This avoids a leak on C99-based systems.  See
56303         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
56305 2011-03-24  Eric Blake  <eblake@redhat.com>
56307         realloc: document portability problem
56308         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
56309         passing 0 size to realloc.
56311 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
56313         doc: update users.txt
56314         * users.txt: Add cvsps, tmpwatch
56316 2011-03-23  Matt Rice  <ratmice@gmail.com>
56318         doc: update users.txt
56319         * users.txt: Add gdb.
56321 2011-03-23  Jim Meyering  <meyering@redhat.com>
56323         doc: update users.txt
56324         Looking through matches up to the following URL (there are still
56325         several more pages), I found several projects that use gnulib:
56326         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
56327         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
56328         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
56330 2011-03-22  Bruno Haible  <bruno@clisp.org>
56332         unictype/bidi*: Rename functions.
56333         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
56334         uc_bidi_class, uc_is_bidi_class): New declarations.
56335         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
56336         uc_bidi_category_byname.
56337         (uc_bidi_category_byname): New function.
56338         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
56339         u_bidi_category_name.
56340         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
56341         (uc_bidi_category_name): New function.
56342         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
56343         uc_bidi_category.
56344         (uc_bidi_category): New function.
56345         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
56346         uc_is_bidi_category. Invoke uc_bidi_class.
56347         (uc_is_bidi_category): New function.
56348         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
56349         instead of uc_bidi_category_byname.
56350         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
56351         instead of uc_bidi_category_name.
56352         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
56353         uc_bidi_category.
56354         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
56355         instead of uc_is_bidi_category.
56357 2011-03-21  Bruno Haible  <bruno@clisp.org>
56359         New module 'unictype/joininggroup-all'.
56360         * modules/unictype/joininggroup-all: New file.
56362         Tests for module 'unictype/joininggroup-of'.
56363         * modules/unictype/joininggroup-of-tests: New file.
56364         * tests/unictype/test-joininggroup_of.c: New file.
56365         * tests/unictype/test-joininggroup_of.h: New file, automatically
56366         generated by gen-uni-tables.
56368         New module 'unictype/joininggroup-of'.
56369         * modules/unictype/joininggroup-of: New file.
56370         * lib/unictype/joininggroup_of.c: New file.
56371         * lib/unictype/joininggroup_of.h: New file, automatically generated by
56372         gen-uni-tables.
56374         Tests for module 'unictype/joininggroup-byname'.
56375         * modules/unictype/joininggroup-byname-tests: New file.
56376         * tests/unictype/test-joininggroup_byname.c: New file.
56378         New module 'unictype/joininggroup-byname'.
56379         * modules/unictype/joininggroup-byname: New file.
56380         * lib/unictype/joininggroup_byname.c: New file.
56381         * lib/unictype/joininggroup_byname.gperf: New file.
56383         Tests for module 'unictype/joininggroup-name'.
56384         * modules/unictype/joininggroup-name-tests: New file.
56385         * tests/unictype/test-joininggroup_name.c: New file.
56387         New module 'unictype/joininggroup-name'.
56388         * modules/unictype/joininggroup-name: New file.
56389         * lib/unictype/joininggroup_name.c: New file.
56390         * lib/unictype/joininggroup_name.h: New file.
56392         New module 'unictype/joiningtype-all'.
56393         * modules/unictype/joiningtype-all: New file.
56395         Tests for module 'unictype/joiningtype-of'.
56396         * modules/unictype/joiningtype-of-tests: New file.
56397         * tests/unictype/test-joiningtype_of.c: New file.
56398         * tests/unictype/test-joiningtype_of.h: New file, automatically
56399         generated by gen-uni-tables.
56401         New module 'unictype/joiningtype-of'.
56402         * modules/unictype/joiningtype-of: New file.
56403         * lib/unictype/joiningtype_of.c: New file.
56404         * lib/unictype/joiningtype_of.h: New file, automatically generated by
56405         gen-uni-tables.
56407         Tests for module 'unictype/joiningtype-byname'.
56408         * modules/unictype/joiningtype-byname-tests: New file.
56409         * tests/unictype/test-joiningtype_byname.c: New file.
56411         New module 'unictype/joiningtype-byname'.
56412         * modules/unictype/joiningtype-byname: New file.
56413         * lib/unictype/joiningtype_byname.c: New file.
56415         Tests for module 'unictype/joiningtype-name'.
56416         * modules/unictype/joiningtype-name-tests: New file.
56417         * tests/unictype/test-joiningtype_name.c: New file.
56419         New module 'unictype/joiningtype-name'.
56420         * modules/unictype/joiningtype-name: New file.
56421         * lib/unictype/joiningtype_name.c: New file.
56423         unictype: Add support for Arabic shaping properties.
56424         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
56425         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
56426         declarations.
56427         (UC_JOINING_GROUP_*): New enumeration values.
56428         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
56429         declarations.
56430         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
56431         (unicode_joining_type): New variable.
56432         (UC_JOINING_GROUP_*): New enumeration values.
56433         (unicode_joining_group): New variable.
56434         (fill_arabicshaping, joining_type_as_c_identifier,
56435         output_joining_type_test, output_joining_type,
56436         joining_group_as_c_identifier, output_joining_group_test,
56437         output_joining_group): New functions.
56438         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
56439         fill_arabicshaping and output_joining_type_test, output_joining_type,
56440         output_joining_group_test, output_joining_group.
56441         Reported by Simon Josefsson.
56443 2011-03-21  Jim Meyering  <meyering@redhat.com>
56445         strftime: fix a bug in yesterday's change
56446         * lib/strftime.c (add): Accommodate width's initial value of -1.
56447         Otherwise, nstrftime would copy uninitialized data into
56448         the result buffer.
56450 2011-03-21  Jim Meyering  <meyering@redhat.com>
56452         tests: add strftime-tests module
56453         * tests/test-strftime.c: New file.
56454         * modules/strftime-tests: New module.
56456 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
56458         strftime: don't assume a byte count fits in 'int'
56459         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
56460         found this problem by static analysis, using gcc -Wstrict-overflow
56461         (GCC 4.5.2, x86-64).  This reported an optimization that depended
56462         on an integer overflow having undefined behavior, but it turns out
56463         that the argument is a size, which might not fit in 'int' anyway,
56465 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
56467         stdio: don't require ignore_value around fwrite
56469         This patch works around libc bug 11959
56470         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
56471         Without this patch, applications must often write
56472         ignore_value (fwrite (...)) even though the ignore_value is
56473         not helpful here.  It's common to write many objects, using
56474         fwrite/printf/etc., and then use ferror to detect output error.
56476         I considered making this patch optional, but decided against it,
56477         because libc is obviously being inconsistent here: there is no
56478         reason libc should insist that user code must inspect fwrite
56479         return's value without also insisting that it inspect printf's,
56480         putchar's, etc.  If user code wants to have a strict style where
56481         all these functions' values are checked (so that ferror need not
56482         be checked), we could add support for that style in a new gnulib
56483         module, but in the meantime it's better to be consistent and to
56484         support common usage.
56486         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
56487         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
56488         that we are compiling in checking mode, and if not C++, and
56489         if not already wrapping fwrite for some other reason.
56490         (fwrite): #define to rpl_fwrite if the latter is defined.
56492 2011-03-20  Bruno Haible  <bruno@clisp.org>
56494         verror: Fix compilation error introduced on 2011-02-13.
56495         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
56496         instead of __attribute__.
56497         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56499 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
56500             Bruno Haible  <bruno@clisp.org>
56502         socklen: do not depend on sys_socket
56503         While trying to modify Emacs to use gnulib's socklen module,
56504         I discovered a circular dependency: socklen depends on sys_socket
56505         and vice versa.  Emacs can use socklen, but it does not need
56506         sys_socket because it has its own substitute for sys/socket.h.
56507         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
56508         gl_TYPE_SOCKLEN_T.
56509         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
56510         gl_PREREQ_SYS_H_SOCKET.
56511         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
56512         gl_PREREQ_SYS_H_SOCKET.
56513         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
56514         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
56515         * modules/socklen (Depends-on): Do not depend on sys_socket.
56516         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
56518 2011-03-20  Jim Meyering  <meyering@redhat.com>
56520         maint.mk: sort file names *after* new transformation
56521         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
56522         prefix would have led to an unwarranted failure in GNU parted.
56523         Sort after that transformation.
56525 2011-03-19  Jim Meyering  <meyering@redhat.com>
56527         maint.mk: fix po-file syntax-check rule
56528         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
56529         Patch by Bruno Haible.
56531 2011-03-19  Bruno Haible  <bruno@clisp.org>
56533         socklen: Update comment.
56534         * m4/socklen.m4: Update comment about platforms.
56536 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56537             Bruno Haible  <bruno@clisp.org>
56539         inet_ntop, inet_pton: Simplify.
56540         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
56541         documented to provide socklen_t and we already depend on sys_socket.
56542         * modules/inet_pton (Depends-on): Likewise.
56543         * lib/arpa_inet.in.h: Adjust comment.
56545 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56546             Bruno Haible  <bruno@clisp.org>
56548         netdb: Simplify.
56549         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
56550         documented to provide socklen_t and we already depend on sys_socket.
56551         * lib/netdb.in.h: Adjust comment.
56553 2011-03-19  Bruno Haible  <bruno@clisp.org>
56555         sys_socket, netdb: Document problem with socklen_t.
56556         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
56557         platforms.
56558         * doc/posix-headers/netdb.texi: Likewise.
56560 2011-03-18  Eric Blake  <eblake@redhat.com>
56562         maint.mk: let po check work in VPATH build
56563         * top/maint.mk (po_file): Allow cfg.mk override.
56564         (sc_po_check): Allow VPATH use.
56565         Reported by Jiri Denemark.
56567 2011-03-16  Jim Meyering  <meyering@redhat.com>
56569         maint.mk: allow fine-grained syntax-check exclusion via Make variables
56570         Before, you would have had to create one .x-sc_ file per rule in order
56571         to exempt offending files.  Now, you may instead use a Make variable --
56572         usually defined in cfg.mk -- whose name identifies the affected rule.
56573         * top/maint.mk (_sc_excl): Define.
56574         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
56575         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
56577 2011-03-13  Bruno Haible  <bruno@clisp.org>
56579         ignore-value tests: Avoid warnings.
56580         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
56581         empty for gcc < 3.4.
56583 2011-03-13  Bruno Haible  <bruno@clisp.org>
56585         passfd: Fix link error on Solaris.
56586         * modules/passfd (Description): Correct.
56587         (Depends-on): Add socketlib.
56588         (Link): New section.
56589         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
56591 2011-03-13  Bruno Haible  <bruno@clisp.org>
56593         passfd: Fix link error on AIX 5.2.
56594         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
56596 2011-03-13  Bruno Haible  <bruno@clisp.org>
56598         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
56599         * lib/sys_socket.in.h: Include <stddef.h>.
56600         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
56601         CMSG_FIRSTHDR. Remove unused variable.
56603 2011-03-13  Bruno Haible  <bruno@clisp.org>
56605         passfd: Fix compilation error on OpenBSD.
56606         * lib/passfd.c: Include <sys/uio.h>.
56608 2011-03-13  Bruno Haible  <bruno@clisp.org>
56610         passfd test: Fix warnings.
56611         * tests/test-passfd.c: Include <sys/wait.h>.
56612         (main): Fix typo.
56614 2011-03-13  Bruno Haible  <bruno@clisp.org>
56616         passfd module, part 4, tweaks.
56617         * tests/test-passfd.c: Reorder includes.
56618         (main): Fix perror and printf calls.
56620 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
56622         passfd module, part 4.
56623         * modules/passfd-tests: New file.
56624         * tests/test-passfd.c: New file.
56626 2011-03-13  Jim Meyering  <meyering@redhat.com>
56628         Makefile: rely on GNU make; derive syntax-check rule names
56629         Rather than requiring that each sc_ rule be listed as a dependent
56630         of "check", use features of GNU make to derive the list.
56631         * Makefile (syntax-check-rules): Define.
56632         (check): Depend on the new variable, not the hard-coded list.
56634 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
56635             Bruno Haible  <bruno@clisp.org>
56637         passfd module, part 3.
56638         * lib/passfd.h (recvfd): Add a flags argument.
56639         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
56640         (recvfd): Add a flags argument.
56641         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
56642         exists.
56643         * modules/passfd (Depends-on): Add cloexec.
56644         Suggested by Eric Blake.
56646 2011-03-13  Bruno Haible  <bruno@clisp.org>
56648         passfd module, part 2, tweaks.
56649         * modules/passfd (Files): Reorder.
56650         (Depends-on): Remove errno.
56651         (Include): Remove <sys/socket.h>, <sys/un.h>.
56652         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
56653         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
56654         specification header. Include <sys/socket.h> always. Don't include
56655         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
56656         (sendfd): Clarify that it sets errno when it fails.
56657         (recvfd): Fix specification.
56659 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
56661         passfd module, part 2.
56662         * modules/passfd: New file.
56663         * lib/passfd.h: New file.
56664         * lib/passfd.c: New file.
56666 2011-03-12  Bruno Haible  <bruno@clisp.org>
56668         wcswidth, mbswidth: Avoid integer overflow.
56669         * lib/wcswidth.c: Include <limits.h>.
56670         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
56671         * lib/mbswidth.c: Include <limits.h>.
56672         (mbsnwidth): Avoid 'int' overflow.
56673         Reported by Jim Meyering.
56675 2011-03-12  Bruno Haible  <bruno@clisp.org>
56677         futimens, utimensat: Avoid endless recursion on Solaris 10.
56678         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
56679         Solaris.
56680         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
56681         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
56683 2011-03-11  Jim Meyering  <meyering@redhat.com>
56685         maint.mk: relax a regexp to accommodate other formatting styles
56686         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
56687         between "ngettext" and the following "(".
56689 2011-03-11  Pádraig Brady  <P@draigBrady.com>
56691         maint.mk: suppress a false positive warning
56692         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
56693         diagnostics are marked with ngettext.
56695 2011-03-10  Eric Blake  <eblake@redhat.com>
56697         wchar: add explicit dependencies, for Tru64
56698         * modules/mbmemcasecoll (Depends-on): Add wchar.
56699         * modules/mbtowc (Depends-on): Likewise.
56700         * modules/vasnprintf (Depends-on): Likewise.
56701         * modules/unistdio/u-printf-args (Depends-on): Likewise.
56702         * modules/wctomb (Depends-on): Likewise.
56703         Reported by Peter O'Gorman.
56705 2011-03-08  Bruno Haible  <bruno@clisp.org>
56707         passfd module, part 1, tweaks.
56708         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
56709         Improve indentation. Improve AC_MSG_CHECKING messages.
56710         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
56711         gl_SOCKET_FAMILIES.
56713 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
56715         passfd module, part 1.
56716         * m4/afunix.m4: New file.
56717         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
56718         sockets.
56720 2011-03-08  Bruno Haible  <bruno@clisp.org>
56722         regex-quote: New API.
56723         * lib/regex-quote.h: Include <stdbool.h>.
56724         (struct regex_quote_spec): New type.
56725         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
56726         New declarations.
56727         (regex_quote_length, regex_quote_copy, regex_quote): Take a
56728         'const struct regex_quote_spec *' argument.
56729         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
56730         (pcre_special): New constant.
56731         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
56732         New functions.
56733         (regex_quote_length, regex_quote_copy, regex_quote): Take a
56734         'const struct regex_quote_spec *' argument.
56735         * modules/regex-quote (Depends-on): Add stdbool.
56736         * tests/test-regex-quote.c (check): Update for new API. Add test for
56737         anchored results.
56738         * NEWS: Mention the API change.
56739         Reported by Reuben Thomas and Eric Blake.
56741 2011-03-06  Bruno Haible  <bruno@clisp.org>
56743         regex-quote: Fix creation of POSIX extended regular expressions.
56744         * lib/regex-quote.c (ere_special): Add grouping and alternation
56745         operators.
56747 2011-03-05  Bruno Haible  <bruno@clisp.org>
56749         doc: Improve doc regarding autopoint vs. gnulib.
56750         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
56751         disable autopoint while running autoreconf.
56752         Suggested by Ralf Wildenhues.
56754 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56756         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
56757         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
56759 2011-03-03  Bruce Korb  <bkorb@gnu.org>
56761         parse-duration: remove xalloc.h dependency
56762         * lib/parse-duration.c (parse_period): handle NULL return from
56763         strdup instead of calling xstrdup().
56764         * modules/parse-duration: remove "xalloc" dependency
56766 2011-03-03  Matthew Booth  <mbooth@redhat.com>
56768         bootstrap: honor m4_base when running aclocal
56769         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
56771 2011-03-02  Jim Meyering  <meyering@redhat.com>
56773         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
56774         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
56775         on request from Matt Booth.
56777 2011-03-01  Eric Blake  <eblake@redhat.com>
56779         test-link: work on Hurd
56780         * tests/test-link.h (test_link): Hurd rejects linking directories
56781         with EISDIR instead of the POSIX-mandated EPERM.
56783 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
56785         stdio: simplify by moving files to printf-posix, sigpipe
56786         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
56787         since this symbol is needed only if printf is replaced.
56788         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
56789         Require gl_ASM_SYMBOL_PREFIX.
56790         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
56791         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
56792         (Depends-on): Add 'raise'.
56793         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
56794         * modules/stdio (Files): Remove lib/stdio-write.c,
56795         m4/asm-underscore.m4.
56796         (Depends-on): Remove 'raise'.
56798         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
56799         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
56800         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
56801         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
56803 2011-02-28  Bruno Haible  <bruno@clisp.org>
56805         localcharset: Assume ANSI C behaviour of free().
56806         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
56807         calling free().
56808         Suggested by Simon Josefsson <simon@josefsson.org>.
56810 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
56811             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
56812             Bruno Haible  <bruno@clisp.org>  (tiny change)
56814         On Cygwin, use /proc file system instead of win32 API.
56815         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
56816         Win32 file names.
56817         (DllMain): Simplify by removing Cygwin specific code.
56818         (find_shared_library_fullname): Use Linux specific implementation also
56819         for Cygwin.
56820         (get_shared_library_fullname): Update accordingly.
56821         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
56822         Win32 file names.
56823         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
56824         Cygwin specific code.
56826 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
56827             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
56829         Fix OpenMP flag detection for various Fortran compilers.
56830         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
56831         OpenMP-conditional compilation construct, to force compile
56832         failure with missing OpenMP flag.
56833         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
56835 2011-02-25  Eric Blake  <eblake@redhat.com>
56837         strstr: expand test coverage
56838         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
56839         compilation.
56840         * tests/test-memmem.c (main): Duplicate tests.
56841         * tests/test-strcasestr.c (main): Likewise.
56842         * tests/test-c-strcasestr.c (main): Likewise.
56844 2011-02-25  Jim Meyering  <meyering@redhat.com>
56846         maint.mk: detect missing-NL-at-EOF, too
56847         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
56848         it also detects when a file lacks a newline at EOF.
56849         (require_exactly_one_NL_at_EOF_): Renamed from
56850         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
56851         since people may well have .x-sc_... file names tied to the
56852         existing name.  Suggested by Eric Blake.
56854 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56856         dirname: move m4/dos.m4 functionality into lib/dosname.h
56858         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
56859         extracts symbols from it, puts them into config.h; but it's much
56860         easier to use the symbols directly.  filename.h already does this,
56861         but it disagrees with dos.m4 in some respects.  This patch
56862         introduces a different include file dosname.h that packages up
56863         dos.m4, and then later we can work on merging filename.h and
56864         dosname.h.  Applications that need only the easy-to-configure
56865         symbols should consider including dosname.h rather than dirname.h.
56866         * NEWS: Mention incompatible changes.
56867         * m4/dos.m4: Remove.
56868         * lib/dosname.h, modules/dosname: New files.
56869         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
56870         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
56871         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
56872         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
56873         Include dosname.h, not dirname.h.
56874         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
56875         Include dosname.h, for definitions of symbols like ISSLASH
56876         that used to be in config.h.
56877         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
56878         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
56879         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
56880         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
56881         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
56882         * modules/rmdir (Files): Likewise.
56883         * modules/stat (Files): Likewise.
56884         * modules/unlink (Files): Likewise.
56885         * modules/dirname-lgpl (Depends-on): Add dosname.
56886         * modules/lstat (Depends-on): Likewise.
56887         * modules/openat (Depends-on): Likewise.
56888         * modules/rmdir (Depends-on): Likewise.
56889         * modules/savewd (Depends-on): Likewise.
56890         * modules/stat (Depends-on): Likewise.
56891         * modules/unlink (Depends-on): Likewise.
56892         * modules/openat (Depends-on): Remove dirname-lgpl.
56893         * modules/savewd (Depends-on): Likewise.
56894         * tests/test-dirname.c: Do not use removed symbols like
56895         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
56896         the remaining symbols, e.g., ISSLASH ('\\').
56898 2011-02-25  Eric Blake  <eblake@redhat.com>
56900         strstr: revert patches that introduced bug and pessimization
56901         * lib/str-two-way.h: Add another reference.
56902         (two_way_short_needle, two_way_long_needle): Revert changes from
56903         2011-02-24; they pessimize search speed.
56904         (critical_factorization): Partially revert changes from
56905         2010-06-22; they violate the requirement that the left half of the
56906         needle be smaller than the period of the needle.
56908 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
56910         filenamecat: remove unnecessary dependency on dirname-lgpl
56911         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
56912         is no direct dependency, just an indirect one via filenamecat-lgpl.
56914         remove: remove unnecessary use of m4/dos.m4
56915         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
56916         * modules/remove (FILES): Remove m4/dos.m4.
56918         * lib/openat-proc.c: Don't include dirname.h; not needed.
56920         backupfile: remove unnecessary use of m4/dos.m4
56921         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
56922         of its symbols are used by the backupfile code.  backupfile.c does
56923         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
56924         for the rare case of programs that want all their backup file
56925         names to live within 8+3 limits, and dos.m4 doesn't address that.
56926         * modules/backupfile (Files): Remove m4/dos.m4.
56928 2011-02-24  Jim Meyering  <meyering@redhat.com>
56930         strstr: fix a bug whereby strstr would mistakenly return NULL
56931         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
56932         in period calculation.
56933         (two_way_long_needle): Likewise.
56934         The original problem was reported by Mike Stump in
56935         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
56936         Ralf Wildenhues provided the short needle and haystack.
56937         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
56938         Add a more involved test to trigger the bug in two_way_long_needle.
56940 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
56942         gnulib-tool: remove use of bold display in help screen
56943         * gnulib-tool (func_usage): Do not use bold display anymore in the
56944         help screen.  That was just meant to be a temporary emphasis for a
56945         backward-incompatible change.
56947 2011-02-23  Bruno Haible  <bruno@clisp.org>
56949         Fix misindentation of preprocessor directives.
56950         * lib/argp-namefrob.h: Reindent preprocessor directives.
56951         * lib/getopt_int.h (struct _getopt_data): Likewise.
56952         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
56953         * lib/vasnprintf.c (decode_long_double): Likewise.
56954         * tests/test-argmatch.c: Insert blank lines, for clarity.
56955         * tests/test-exclude.c: Likewise.
56957 2011-02-22  Bruno Haible  <bruno@clisp.org>
56959         ioctl: Fix for MacOS X in 64-bit mode.
56960         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
56961         value.
56962         Suggested by Eric Blake.
56963         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
56965 2011-02-22  Jim Meyering  <meyering@redhat.com>
56967         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
56968         * Makefile (sc_cpp_indent_check): Don't limit the check to files
56969         in lib/.
56971 2011-02-22  Eric Blake  <eblake@redhat.com>
56973         maint: avoid any CDPATH issue
56974         * Makefile (sc_cpp_indent_check): Anchor cd argument.
56976         maint: adjust cpp indentation for my modules, as well
56977         * Makefile (sc_cpp_indent_check): Add my name.
56978         * lib/fbufmode.c: Filter through cppi.
56979         * lib/fpurge.c: Likewise.
56980         * lib/freadable.c: Likewise.
56981         * lib/freading.c: Likewise.
56982         * lib/fwritable.c: Likewise.
56983         * lib/fwriting.c: Likewise.
56984         * lib/sigaction.c: Likewise.
56986 2011-02-22  Jim Meyering  <meyering@redhat.com>
56988         maint: adjust cpp indentation to reflect nesting depth
56989         I.e., in a block of code that begins with an unnested "#if",
56990         put one space between the "#" in column 1 and following token.
56991         For example,
56992         -#include <sys/vfs.h>
56993         +# include <sys/vfs.h>
56994         Do this only in .c files that are part of a module I maintain.
56995         * lib/linkat.c: Filter through cppi.
56996         * lib/nanosleep.c: Likewise.
56997         * lib/openat.c: Likewise.
56998         * lib/openat-die.c: Likewise.
56999         * lib/dup3.c: Likewise.
57000         * lib/fchownat.c: Likewise.
57001         * lib/flock.c: Likewise.
57002         * lib/fsync.c: Likewise.
57003         * lib/fts.c: Likewise.
57004         * lib/getpass.c: Likewise.
57005         * lib/gettimeofday.c: Likewise.
57006         * lib/userspec.c: Likewise.
57007         * Makefile (sc_cpp_indent_check): New rule, to check this.
57009 2011-02-22  Bruno Haible  <bruno@clisp.org>
57011         New module 'wctomb'.
57012         * lib/stdlib.in.h (wctomb): New declaration.
57013         * lib/wctomb.c: New file.
57014         * lib/wctomb-impl.h: New file.
57015         * m4/wctomb.m4: New file.
57016         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
57017         REPLACE_WCTOMB.
57018         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
57019         REPLACE_WCTOMB.
57020         * modules/wctomb: New file.
57021         * tests/test-stdlib-c++.cc: Test signature of wctomb.
57022         * doc/posix-functions/wctomb.texi: Mention the new module.
57023         * modules/wctob (Depends-on): Add wctomb.
57025 2011-02-22  Bruno Haible  <bruno@clisp.org>
57027         New module 'mbtowc'.
57028         * lib/stdlib.in.h (mbtowc): New declaration.
57029         * lib/mbtowc.c: New file.
57030         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
57031         * m4/mbtowc.m4: New file.
57032         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
57033         REPLACE_MBTOWC.
57034         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
57035         REPLACE_MBTOWC.
57036         * modules/mbtowc: New file.
57037         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
57038         * doc/posix-functions/mbtowc.texi: Mention the new module.
57039         * modules/btowc (Depends-on): Add mbtowc.
57041 2011-02-22  Bruno Haible  <bruno@clisp.org>
57043         wcrtomb: Add more tests for native Windows platforms.
57044         * tests/test-wcrtomb-w32-1.sh: New file.
57045         * tests/test-wcrtomb-w32-2.sh: New file.
57046         * tests/test-wcrtomb-w32-3.sh: New file.
57047         * tests/test-wcrtomb-w32-4.sh: New file.
57048         * tests/test-wcrtomb-w32-5.sh: New file.
57049         * tests/test-wcrtomb-w32.c: New file.
57050         * modules/wcrtomb-tests (Files): Add them.
57051         (Makefile.am): Arrange to run these tests.
57052         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
57053         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
57055 2011-02-20  Bruno Haible  <bruno@clisp.org>
57057         wcrtomb: Enhance test.
57058         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
57060 2011-02-20  Bruno Haible  <bruno@clisp.org>
57062         mbrtowc: Tiny optimization.
57063         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
57065 2011-02-20  Jim Meyering  <meyering@redhat.com>
57067         test-exclude.c: remove unmatched #endif
57068         * tests/test-exclude.c: Remove stray #endif, left over from
57069         the change of a week ago.
57071 2011-02-19  Jim Meyering  <meyering@redhat.com>
57073         git-version-gen: skip "-dirty" check when appropriate
57074         * build-aux/git-version-gen: Don't run any git commands when the
57075         version string comes from .tarball-version.  Prior to this, we
57076         would run git update-index --refresh even from a just-unpacked
57077         tarball directory, and that could affect a .git/ directory in a
57078         parent of the build directory.  Reported by Mike Frysinger.
57080 2011-02-19  Bruno Haible  <bruno@clisp.org>
57082         unictype/property-byname: Reduce the size of the 'data' segment.
57083         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
57085 2011-02-19  Bruno Haible  <bruno@clisp.org>
57087         unictype/scripts: Reduce the size of the 'data' segment.
57088         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
57089         '%pic'.
57090         * lib/unictype/scripts_byname.gperf: Regenerated.
57092 2011-02-19  Bruno Haible  <bruno@clisp.org>
57094         stdint: Update documentation.
57095         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
57097 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
57099         stdint: omit redundant check for wchar.h
57100         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
57101         always tests whether wchar.h exists, so remove the now-redundant test.
57103 2011-02-18  Bruno Haible  <bruno@clisp.org>
57105         stdint: Cut dependency to module 'wchar'.
57106         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
57107         include the necessary prerequisites.
57108         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
57109         * modules/stdint (Depends-on): Remove wchar.
57110         (Makefile.am): Substitute HAVE_WCHAR_H.
57111         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
57113 2011-02-18  Eric Blake  <eblake@redhat.com>
57115         longlong: skip, rather than fail, on cross-compilation
57116         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
57117         when cross-compiling; regression from 2011-02-16.
57119 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
57121         * NEWS: Mention 2011-02-08 change to stdlib.
57123 2011-02-17  Bruno Haible  <bruno@clisp.org>
57125         getloadavg: Add comments about platforms.
57126         * m4/getloadavg.m4: Add comment.
57127         * lib/getloadavg.c: Likewise.
57129 2011-02-17  Bruno Haible  <bruno@clisp.org>
57131         getloadavg: Fix link error on Solaris 2.6.
57132         * modules/getloadavg (Link): New section.
57133         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
57134         linking test-getloadavg.
57135         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
57136         getloadavg.
57138 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
57140         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
57141         It was 'int', but this doesn't match the IRIX 6.5 manual.
57142         Suggested by Bruno Haible in
57143         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
57145 2011-02-17  Bruno Haible  <bruno@clisp.org>
57147         havelib: Fix comments.
57148         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
57149         change.
57151 2011-02-17  Bruno Haible  <bruno@clisp.org>
57153         havelib: Update config.rpath.
57154         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
57156 2011-02-17  Bruno Haible  <bruno@clisp.org>
57158         getloadavg test: Add some plausibility checks.
57159         * tests/test-getloadavg.c (check_avg): Print a warning when the value
57160         is improbable.
57162 2011-02-16  Eric Blake  <eblake@redhat.com>
57164         maintainer-makefile: make syntax-check a no-op from tarballs
57165         * top/maint.mk (no-vc-detected): New rule.
57166         (local-checks-available): Use it to avoid hanging if someone tries
57167         'make syntax-check' from a tarball.  Also append to any non-syntax
57168         checks already defined in cfg.mk.
57170 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
57172         longlong: tune, particularly for common case of c99
57174         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
57175         or running anything if c99, or if unsigned long long int does not
57176         work.  In either case, we know the answer without further tests.
57177         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
57178         it at most once, and use its results for both long long int and
57179         unsigned long long int.  This is more likely to be efficient in
57180         the common case where the program wants to check for both long
57181         long int and unsigned long long int.
57182         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
57183         since the answer is already known.
57185 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
57187         getloadavg: set errno
57188         * lib/getloadavg.c: Set errno when returning -1.  If no other
57189         error number looks appropriate, set it to ENOSYS if the getloadavg
57190         looks like it can't possibly ever work, ENOTSUP otherwise.
57191         Suggested by Bruno Haible in
57192         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
57194         getloadavg: trim unused parts and speed up 'configure'
57195         * NEWS: Document this.
57196         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
57197         always compiled if getloadavg is absent.
57198         Move test code to ...
57199         * tests/test-getloadavg.c: New file, containing previous
57200         contents of test from lib/getloadavg.c.  It also contains
57201         suggestions by Bruno Haible in
57202         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
57203         * modules/getloadavg-tests: New file.
57204         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
57205         Do tests in the same order as they're needed for getloadavg.c.
57206         Omit setgid-related tests that generate symbols KMEM_GROUP,
57207         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
57208         Do only the tests that are needed to see whether the system has
57209         getloadavg, moving the other tests into ...
57210         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
57211         NLIST_NAME_UNION; nobody should be using it.  Do not define
57212         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
57213         relevant, as the user of this module shouldn't care how getloadavg
57214         is implemented.
57216         getloadavg: omit unused var
57217         * lib/getloadavg.c (getloadavg): Omit unused local variable.
57219 2011-02-15  Jim Meyering  <meyering@redhat.com>
57221         doc: update users.txt
57222         * users.txt: Update iwhd's URL.
57224 2011-02-13  Bruno Haible  <bruno@clisp.org>
57226         Consistent macro naming for macros that use GCC __attribute__.
57227         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
57228         _ATTRIBUTE_NONNULL_.
57229         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
57230         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
57231         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
57232         ATTRIBUTE_DEPRECATED.
57233         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
57234         ATTRIBUTE_NORETURN.
57235         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
57236         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
57237         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
57238         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
57239         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
57240         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
57241         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
57242         ATTRIBUTE_SENTINEL.
57243         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
57244         ATTRIBUTE_RETURN_CHECK.
57245         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
57246         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
57247         ATTRIBUTE_NORETURN.
57248         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
57249         Reported by Paul Eggert.
57251 2011-02-13  Bruno Haible  <bruno@clisp.org>
57253         Don't interfere with a program's definition of __attribute__.
57254         * lib/argp.h (__attribute__): Remove definition.
57255         (_GL_ATTRIBUTE_FORMAT): New macro.
57256         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
57257         * lib/argp-fmtstream.h (__attribute__): Remove definition.
57258         (_GL_ATTRIBUTE_FORMAT): New macro.
57259         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
57260         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
57261         GCC 3 or newer.
57262         * lib/error.h (__attribute__): Remove definition.
57263         (_GL_ATTRIBUTE_FORMAT): New macro.
57264         (error, error_at_line): Use it.
57265         * lib/hash.h (__attribute__): Remove definition.
57266         (ATTRIBUTE_WUR): Update definition. Define always.
57267         * lib/openat.h (__attribute__): Remove definition.
57268         (ATTRIBUTE_NORETURN): Update definition. Define always.
57269         * lib/sigpipe-die.h (__attribute__): Remove definition.
57270         (ATTRIBUTE_NORETURN): Update definition. Define always.
57271         * lib/vasnprintf.h (__attribute__): Remove definition.
57272         (_GL_ATTRIBUTE_FORMAT): New macro.
57273         (asnprintf, vasnprintf): Use it.
57274         * lib/xalloc.h (__attribute__): Remove definition.
57275         (ATTRIBUTE_NORETURN): Update definition. Define always.
57276         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
57277         * lib/xmemdup0.h (__attribute__): Remove definition.
57278         (ATTRIBUTE_NORETURN): Update definition. Define always.
57279         * lib/xprintf.h (__attribute__): Remove definition.
57280         (_GL_ATTRIBUTE_FORMAT): New macro.
57281         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
57282         * lib/xstrtol.h (__attribute__): Remove definition.
57283         (ATTRIBUTE_NORETURN): Update definition. Define always.
57284         * lib/xvasprintf.h (__attribute__): Remove definition.
57285         (_GL_ATTRIBUTE_FORMAT): New macro.
57286         (xasprintf, xvasprintf): Use it.
57287         * tests/test-argmatch.c (__attribute__): Remove definition.
57288         (ATTRIBUTE_NORETURN): Update definition. Define always.
57289         * tests/test-exclude.c (__attribute__): Remove definition.
57290         (ATTRIBUTE_NORETURN): Update definition. Define always.
57291         Reported by Paul Eggert.
57293 2011-02-13  Bruno Haible  <bruno@clisp.org>
57295         mbrtowc: Add more tests for native Windows platforms.
57296         * tests/test-mbrtowc-w32-1.sh: New file.
57297         * tests/test-mbrtowc-w32-2.sh: New file.
57298         * tests/test-mbrtowc-w32-3.sh: New file.
57299         * tests/test-mbrtowc-w32-4.sh: New file.
57300         * tests/test-mbrtowc-w32-5.sh: New file.
57301         * tests/test-mbrtowc-w32.c: New file.
57302         * modules/mbrtowc-tests (Files): Add them.
57303         (Makefile.am): Arrange to run these tests.
57304         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
57305         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
57307 2011-02-13  Bruno Haible  <bruno@clisp.org>
57309         mbrtowc: Work around native Windows bug.
57310         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
57311         guess when no suitable locale for testing was found.
57312         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
57314 2011-02-13  Bruno Haible  <bruno@clisp.org>
57316         mbsinit: Work around mingw bug.
57317         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
57318         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
57319         Windows.
57320         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
57322 2011-02-13  Bruno Haible  <bruno@clisp.org>
57324         mbsinit: Don't crash for a NULL argument.
57325         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
57326         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
57328 2011-02-13  Bruno Haible  <bruno@clisp.org>
57330         Don't interfere with a program's definition of __attribute__.
57331         * lib/stdio.in.h (__attribute__): Remove definition.
57332         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
57333         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
57334         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
57335         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
57336         * lib/string.in.h (__attribute__): Remove definition.
57337         Reported by Paul Eggert.
57339 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
57341         stdlib: don't get in the way of non-GCC __attribute__
57342         See thread starting at
57343         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
57344         Revert previous stdlib change, installing the following instead:
57345         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
57346         to get in the way of a non-GCC compiler that supports __attribute__.
57347         (_GL_ATTRIBUTE_RETURN): New macro.
57348         (_Exit): Use it instead of __attribute__.
57350 2011-02-12  Bruno Haible  <bruno@clisp.org>
57352         quotearg test: Avoid test failure on mingw.
57353         * tests/test-quotearg.sh: Convert the locale identifier from native
57354         Windows syntax to Unix syntax.
57356 2011-02-12  Bruno Haible  <bruno@clisp.org>
57358         setlocale: Prefer gnulib's override over libintl's override.
57359         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
57360         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
57361         GNULIB_defined_setlocale is set.
57363 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
57365         stdlib: support non-GCC __attribute__
57367         Fix a serious and tricky problem encountered when attempting to
57368         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
57369         5.5, but it crashed due to memory corruption on Solaris 10 with
57370         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
57371         bits that are otherwise zero.  This tagging is optional inside
57372         Emacs but is preferred and is used when __attribute__ ((__aligned
57373         (8))) works, as it does with both recent-enough GCC and with Sun C
57374         5.11.  However, Sun C 5.11 is not GCC and does not #define
57375         __GNUC__ and __GNUC_MINOR__.
57377         When I added the getloadavg module to Emacs, it brought in
57378         stdlib.in.h, which contained this fragment:
57380            #ifndef __attribute__
57381            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
57382            #  define __attribute__(Spec)   /* empty */
57383            # endif
57384            #endif
57386         When files that include <stdlib.h> were compiled with Sun C 5.11,
57387         the above code disabled __attribute__ ((__aligned (8))), which
57388         caused variables to not be properly aligned, which eventually led
57389         to the pointer corruption mentioned above.  (This was a bit hard
57390         to diagnose, unfortunately.)
57392         Several "#define __attribute__(X) /* empty */" code snippets need
57393         to be eradicated from Gnulib to work with non-GCC compilers that
57394         support __attribute__.  The Autoconf way to do this is to test for
57395         each kind of attribute that we want support for, and selectively
57396         enable that in source code.
57398         Fix this problem just for stdlib.h, by adding a test for the
57399         __noreturn__ attribute, and change stdlib.in.h to use that test
57400         when needed.  This technique can be easily generalized to the
57401         other *.in.h files and attributes, and a similar technique can be
57402         used for *.h and *.c files.  This patch is enough to solve the
57403         problem for Emacs + getloadavg, and I thought I'd publish it for
57404         feedback before undertaking further, similar fixes in other
57405         modules.
57407         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
57408         because it's not needed for stdlib.h.  It merely substitutes the
57409         value directly into stdlib.h.  We may well need to #define it, or
57410         similar symbols, for other modules, but it's nice to also have an
57411         option to not #define it for applications like Emacs that do not
57412         need it.
57414         * lib/stdlib.in.h (__attribute__): Do not #define.
57415         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
57416         be defined only if the _Exit module is also used.
57417         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
57418         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
57419         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
57420         platforms.
57421         * modules/_Exit (Files): Add m4/attribute.m4.
57422         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
57423         * m4/attribute.m4: New file.
57425 2011-02-12  Bruno Haible  <bruno@clisp.org>
57427         wcsrtombs: Work around bug on native Windows.
57428         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
57429         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
57430         instead of len.
57431         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
57433 2011-02-12  Bruno Haible  <bruno@clisp.org>
57435         mbsrtowcs: Work around bug on native Windows.
57436         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
57437         against mingw bug.
57438         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
57440 2011-02-12  Bruno Haible  <bruno@clisp.org>
57442         Avoid setlocale bugs in tests.
57443         * modules/btowc (Dependencies): Add setlocale.
57444         * modules/c-strcase (Dependencies): Likewise.
57445         * modules/mbmemcasecmp (Dependencies): Likewise.
57446         * modules/mbmemcasecoll (Dependencies): Likewise.
57447         * modules/mbrtowc (Dependencies): Likewise.
57448         * modules/mbscasecmp (Dependencies): Likewise.
57449         * modules/mbscasestr (Dependencies): Likewise.
57450         * modules/mbschr (Dependencies): Likewise.
57451         * modules/mbscspn (Dependencies): Likewise.
57452         * modules/mbsinit (Dependencies): Likewise.
57453         * modules/mbsncasecmp (Dependencies): Likewise.
57454         * modules/mbsnrtowcs (Dependencies): Likewise.
57455         * modules/mbspbrk (Dependencies): Likewise.
57456         * modules/mbspcasecmp (Dependencies): Likewise.
57457         * modules/mbsrchr (Dependencies): Likewise.
57458         * modules/mbsrtowcs (Dependencies): Likewise.
57459         * modules/mbsspn (Dependencies): Likewise.
57460         * modules/mbsstr (Dependencies): Likewise.
57461         * modules/nl_langinfo (Dependencies): Likewise.
57462         * modules/quotearg (Dependencies): Likewise.
57463         * modules/unicase/locale-language (Dependencies): Likewise.
57464         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
57465         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
57466         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
57467         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
57468         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
57469         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
57470         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
57471         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
57472         * modules/vasnprintf-posix (Dependencies): Likewise.
57473         * modules/wcrtomb (Dependencies): Likewise.
57474         * modules/wcsnrtombs (Dependencies): Likewise.
57475         * modules/wcsrtombs (Dependencies): Likewise.
57477 2011-02-12  Bruno Haible  <bruno@clisp.org>
57479         setlocale: Workaround native Windows bug.
57480         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
57481         succeeds but sets LC_CTYPE to "C", report a failure.
57482         * tests/test-setlocale2.sh: New file.
57483         * tests/test-setlocale2.c: New file.
57484         * modules/setlocale-tests (Files): Add the new files.
57485         (Makefile.am): Enable test-setlocale2.sh test.
57486         * doc/posix-functions/setlocale.texi: Mention workaround.
57488 2011-02-11  Bruno Haible  <bruno@clisp.org>
57490         Tests for module 'setlocale'.
57491         * modules/setlocale-tests: New file.
57492         * tests/test-setlocale1.sh: New file.
57493         * tests/test-setlocale1.c: New file.
57495         New module 'setlocale'.
57496         * lib/locale.in.h (setlocale): New declaration.
57497         * lib/setlocale.c: New file, based on
57498         gettext/gettext-runtime/intl/setlocale.c.
57499         * m4/setlocale.m4: New file.
57500         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
57501         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
57502         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
57503         REPLACE_SETLOCALE.
57504         * modules/setlocale: New file.
57505         * tests/test-locale-c++.cc: Test the declaration of setlocale.
57506         * doc/posix-functions/setlocale.texi: Mention the new module.
57508 2011-02-11  Bruno Haible  <bruno@clisp.org>
57510         Prepare for locale dependent tests on mingw.
57511         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
57512         because it has the wrong locale encoding.
57513         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
57514         French_France.1252 instead of "fr".
57515         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
57516         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
57517         because it has the wrong locale encoding.
57518         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
57519         native Windows, try Turkish_Turkey.65001.
57520         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
57521         Chinese_China.54936.
57523         Prepare for locale dependent tests on mingw.
57524         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
57525         differently.
57526         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
57527         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
57528         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57529         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57531 2011-02-11  Eric Blake  <eblake@redhat.com>
57533         strptime: avoid compiler warnings
57534         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
57535         compiler warnings about dead code.
57536         Reported by Daniel P. Berrange.
57538 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
57540         doc: update users.txt
57541         * users.txt: Add rcs.
57543 2011-02-10  John W. Eaton  <jwe@gnu.org>
57545         doc: update users.txt
57546         * users.txt: Add octave.
57548 2011-02-10  Jim Meyering  <meyering@redhat.com>
57550         doc: update users.txt
57551         * users.txt: Add iwhd.
57553 2011-02-09  Bruno Haible  <bruno@clisp.org>
57555         gnulib-tool: Make copyright notice adjustment more robust.
57556         * gnulib-tool (func_import): In sed_transform_main_lib_file,
57557         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
57558         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
57559         License".
57560         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
57562 2011-02-06  Bruno Haible  <bruno@clisp.org>
57564         New module 'towctrans'.
57565         * modules/towctrans: New file.
57566         * lib/wctype.in.h (towctrans): New declaration.
57567         * lib/towctrans.c: New file.
57568         * lib/towctrans-impl.h: New file.
57569         * m4/towctrans.m4: New file.
57570         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
57571         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
57572         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
57573         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
57574         * doc/posix-functions/towctrans.texi: Mention the new module.
57576 2011-02-06  Bruno Haible  <bruno@clisp.org>
57578         New module 'wctrans'.
57579         * modules/wctrans: New file.
57580         * lib/wctype.in.h (wctrans): New declaration.
57581         * lib/wctrans.c: New file.
57582         * lib/wctrans-impl.h: New file.
57583         * m4/wctrans.m4: New file.
57584         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
57585         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
57586         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
57587         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
57588         * doc/posix-functions/wctrans.texi: Mention the new module.
57590 2011-02-06  Bruno Haible  <bruno@clisp.org>
57592         New module 'iswctype'.
57593         * modules/iswctype: New file.
57594         * lib/wctype.in.h (iswctype): New declaration.
57595         * lib/iswctype.c: New file.
57596         * lib/iswctype-impl.h: New file.
57597         * m4/iswctype.m4: New file.
57598         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
57599         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
57600         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
57601         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
57602         * doc/posix-functions/iswctype.texi: Mention the new module and the
57603         HP-UX 11.00 problem.
57605 2011-02-06  Bruno Haible  <bruno@clisp.org>
57607         New module 'wctype'.
57608         * modules/wctype: Change to represent the wctype() substitute.
57609         * lib/wctype.in.h (wctype): New declaration.
57610         * lib/wctype.c: New file.
57611         * lib/wctype-impl.h: New file.
57612         * m4/wctype.m4: New file.
57613         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
57614         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
57615         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
57616         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
57617         * doc/posix-functions/wctype.texi: Mention the new module and the
57618         HP-UX 11.00 problem.
57620 2011-02-06  Bruno Haible  <bruno@clisp.org>
57622         wctype-h: Ensure wctype_t and wctrans_t are defined.
57623         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
57624         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
57625         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
57626         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
57627         HAVE_WCTRANS_T.
57628         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
57630 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
57632         flock: fix license typo
57634         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
57635         omitted.
57637 2011-02-08  Bruno Haible  <bruno@clisp.org>
57639         Split large sed scripts, for HP-UX sed.
57640         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
57641         to avoid HP-UX limit of 99 commands, in the near future.
57642         * modules/stdlib (Makefile.am): Likewise.
57643         * modules/unistd (Makefile.am): Likewise.
57644         * modules/wchar (Makefile.am): Likewise.
57645         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57646         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
57647         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
57649 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
57650             Bruno Haible  <bruno@clisp.org>
57652         stdlib: improve random_r modularization
57653         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
57654         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
57655         you also need the random_r module to get this material right.
57656         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
57657         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
57658         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
57660 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
57662         stdlib: don't depend on stdint
57663         * lib/stdlib.in.h: Don't include <stdint.h> merely because
57664         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
57665         be independent of whether stdint.h is needed.
57666         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
57667         here, instead of ...
57668         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
57669         struct random_data should be using the random_r module, not just
57670         the stdlib module (which wouldn't make sense: what package needs
57671         just struct random_data without also needing random_r?).
57672         * modules/stdlib (Depends-on): Remove stdint.
57674         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
57675         See the thread rooted at
57676         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
57677         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
57678         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
57679         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
57680         __VMS)); previously it was always included (via fcntl--.h).
57681         (getloadavg): Do not use c_strtod.  Instead, approximate it by
57682         hand; this is good enough for load averages.  Also, do not use
57683         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
57684         flags directly if available and don't bother otherwise.  (Packages
57685         that need the extra reliability should use the modules that define
57686         these flags on older platforms that lack them.)
57687         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
57688         fcntl-safer.
57690 2011-02-08  Jim Meyering  <meyering@redhat.com>
57692         di-set.h, ino-map.h: add multiple-inclusion guard
57693         Technically, the guard is required only for ino-map.h, due to its
57694         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
57695         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
57696         * lib/ino-map.h: Likewise.
57698 2011-02-06  Bruno Haible  <bruno@clisp.org>
57700         iswblank: Ensure declaration on glibc systems.
57701         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
57702         * modules/iswblank (Dependencies): Add 'extensions'.
57703         * doc/posix-functions/iswblank.texi: Document the glibc problem.
57705 2011-02-06  Bruno Haible  <bruno@clisp.org>
57707         New module 'iswblank'.
57708         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
57709         * modules/iswblank: New file.
57710         * modules/wctype-h (Files): Remove lib/iswblank.c.
57711         (Makefile.am): Substitute GNULIB_ISWBLANK.
57712         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
57713         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
57714         (gl_WCTYPE_H_DEFAULTS): New macro.
57715         (gl_WCTYPE_H): Require it. Remove iswblank related code.
57716         * modules/iswblank-tests: New file.
57717         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
57718         * tests/test-wctype-h.c (main): Remove iswblank tests.
57719         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
57720         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
57721         of 'wctype-h'.
57722         * NEWS: Mention the change.
57723         * modules/mbchar (Depends-on): Add iswblank.
57725 2011-02-08  Bruno Haible  <bruno@clisp.org>
57727         di-set tests: Refactor.
57728         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
57729         unnecessary includes.
57730         (ASSERT): Remove macro.
57731         (main): Make C90 compliant by avoiding variable declaration after
57732         statement.
57733         * modules/di-set-tests (Files): Add tests/macros.h.
57735 2011-02-08  Bruno Haible  <bruno@clisp.org>
57737         ino-map tests: Refactor.
57738         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
57739         unnecessary includes.
57740         (ASSERT): Remove macro.
57741         (main): Make C90 compliant by avoiding variable declaration after
57742         statement.
57743         * modules/ino-map-tests (Files): Add tests/macros.h.
57745 2011-02-08  Jim Meyering  <meyering@redhat.com>
57747         di-set: add "const" to a cast
57748         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
57749         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
57751 2011-02-06  Bruno Haible  <bruno@clisp.org>
57753         Rename module 'wctype' to 'wctype-h'.
57754         * modules/wctype-h: Renamed from modules/wctype.
57755         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
57756         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
57757         (Files, Depends-on, Makefile.am): Update.
57758         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
57759         (Files, Makefile.am): Update.
57760         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
57761         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
57762         * doc/posix-headers/wctype.texi: Update.
57763         * doc/posix-functions/iswalnum.texi: Update.
57764         * doc/posix-functions/iswalpha.texi: Update.
57765         * doc/posix-functions/iswblank.texi: Update.
57766         * doc/posix-functions/iswcntrl.texi: Update.
57767         * doc/posix-functions/iswdigit.texi: Update.
57768         * doc/posix-functions/iswgraph.texi: Update.
57769         * doc/posix-functions/iswlower.texi: Update.
57770         * doc/posix-functions/iswprint.texi: Update.
57771         * doc/posix-functions/iswpunct.texi: Update.
57772         * doc/posix-functions/iswspace.texi: Update.
57773         * doc/posix-functions/iswupper.texi: Update.
57774         * doc/posix-functions/iswxdigit.texi: Update.
57775         * doc/posix-functions/towlower.texi: Update.
57776         * doc/posix-functions/towupper.texi: Update.
57777         * NEWS: Mention the change.
57778         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
57779         * modules/mbchar (Dependencies): Likewise.
57780         * modules/mbswidth (Dependencies): Likewise.
57781         * modules/quotearg (Dependencies): Likewise.
57782         * modules/regex (Dependencies): Likewise.
57783         * modules/wcscasecmp (Dependencies): Likewise.
57784         * modules/wcsncasecmp (Dependencies): Likewise.
57785         * modules/wcwidth (Dependencies): Likewise.
57787 2011-02-06  Bruno Haible  <bruno@clisp.org>
57789         New module 'wcswidth'.
57790         * modules/wcswidth: New file.
57791         * lib/wchar.in.h (wcswidth): New declaration.
57792         * lib/wcswidth.c: New file.
57793         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
57794         * m4/wcswidth.m4: New file.
57795         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
57796         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
57797         REPLACE_WCSWIDTH.
57798         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
57799         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
57800         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
57801         * doc/posix-functions/wcswidth.texi: Mention the new module.
57803 2011-02-06  Bruno Haible  <bruno@clisp.org>
57805         New module 'wcstok'.
57806         * modules/wcstok: New file.
57807         * lib/wchar.in.h (wcstok): New declaration.
57808         * lib/wcstok.c: New file.
57809         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
57810         * m4/wcstok.m4: New file.
57811         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
57812         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
57813         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
57814         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
57815         * doc/posix-functions/wcstok.texi: Mention the new module.
57817 2011-02-06  Bruno Haible  <bruno@clisp.org>
57819         New module 'wcsstr'.
57820         * modules/wcsstr: New file.
57821         * lib/wchar.in.h (wcsstr): New declaration.
57822         * lib/wcsstr.c: New file.
57823         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
57824         * m4/wcsstr.m4: New file.
57825         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
57826         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
57827         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
57828         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
57829         * doc/posix-functions/wcsstr.texi: Mention the new module.
57831 2011-02-06  Bruno Haible  <bruno@clisp.org>
57833         New module 'wcspbrk'.
57834         * modules/wcspbrk: New file.
57835         * lib/wchar.in.h (wcspbrk): New declaration.
57836         * lib/wcspbrk.c: New file.
57837         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
57838         * m4/wcspbrk.m4: New file.
57839         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
57840         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
57841         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
57842         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
57843         * doc/posix-functions/wcspbrk.texi: Mention the new module.
57845 2011-02-06  Bruno Haible  <bruno@clisp.org>
57847         New module 'wcsspn'.
57848         * modules/wcsspn: New file.
57849         * lib/wchar.in.h (wcsspn): New declaration.
57850         * lib/wcsspn.c: New file.
57851         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
57852         * m4/wcsspn.m4: New file.
57853         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
57854         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
57855         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
57856         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
57857         * doc/posix-functions/wcsspn.texi: Mention the new module.
57859 2011-02-06  Bruno Haible  <bruno@clisp.org>
57861         New module 'wcscspn'.
57862         * modules/wcscspn: New file.
57863         * lib/wchar.in.h (wcscspn): New declaration.
57864         * lib/wcscspn.c: New file.
57865         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
57866         * m4/wcscspn.m4: New file.
57867         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
57868         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
57869         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
57870         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
57871         * doc/posix-functions/wcscspn.texi: Mention the new module.
57873 2011-02-06  Bruno Haible  <bruno@clisp.org>
57875         New module 'wcsrchr'.
57876         * modules/wcsrchr: New file.
57877         * lib/wchar.in.h (wcsrchr): New declaration.
57878         * lib/wcsrchr.c: New file.
57879         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
57880         * m4/wcsrchr.m4: New file.
57881         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
57882         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
57883         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
57884         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
57885         * doc/posix-functions/wcsrchr.texi: Mention the new module.
57887 2011-02-06  Bruno Haible  <bruno@clisp.org>
57889         New module 'wcschr'.
57890         * modules/wcschr: New file.
57891         * lib/wchar.in.h (wcschr): New declaration.
57892         * lib/wcschr.c: New file.
57893         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
57894         * m4/wcschr.m4: New file.
57895         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
57896         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
57897         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
57898         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
57899         * doc/posix-functions/wcschr.texi: Mention the new module.
57901 2011-02-06  Bruno Haible  <bruno@clisp.org>
57903         New module 'wcsdup'.
57904         * modules/wcsdup: New file.
57905         * lib/wchar.in.h (wcsdup): New declaration.
57906         * lib/wcsdup.c: New file.
57907         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
57908         * m4/wcsdup.m4: New file.
57909         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
57910         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
57911         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
57912         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
57913         * doc/posix-functions/wcsdup.texi: Mention the new module.
57915 2011-02-06  Bruno Haible  <bruno@clisp.org>
57917         New module 'wcsxfrm'.
57918         * modules/wcsxfrm: New file.
57919         * lib/wchar.in.h (wcsxfrm): New declaration.
57920         * lib/wcsxfrm.c: New file.
57921         * lib/wcsxfrm-impl.h: New file.
57922         * m4/wcsxfrm.m4: New file.
57923         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
57924         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
57925         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
57926         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
57927         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
57929 2011-02-06  Bruno Haible  <bruno@clisp.org>
57931         New module 'wcscoll'.
57932         * modules/wcscoll: New file.
57933         * lib/wchar.in.h (wcscoll): New declaration.
57934         * lib/wcscoll.c: New file.
57935         * lib/wcscoll-impl.h: New file.
57936         * m4/wcscoll.m4: New file.
57937         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
57938         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
57939         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
57940         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
57941         * doc/posix-functions/wcscoll.texi: Mention the new module.
57943 2011-02-06  Bruno Haible  <bruno@clisp.org>
57945         New module 'wcsncasecmp'.
57946         * modules/wcsncasecmp: New file.
57947         * lib/wchar.in.h (wcsncasecmp): New declaration.
57948         * lib/wcsncasecmp.c: New file.
57949         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
57950         * m4/wcsncasecmp.m4: New file.
57951         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
57952         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
57953         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
57954         HAVE_WCSNCASECMP.
57955         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
57956         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
57958 2011-02-06  Bruno Haible  <bruno@clisp.org>
57960         New module 'wcscasecmp'.
57961         * modules/wcscasecmp: New file.
57962         * lib/wchar.in.h (wcscasecmp): New declaration.
57963         * lib/wcscasecmp.c: New file.
57964         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
57965         * m4/wcscasecmp.m4: New file.
57966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
57967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
57968         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
57969         HAVE_WCSCASECMP.
57970         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
57971         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
57973 2011-02-05  Bruno Haible  <bruno@clisp.org>
57975         New module 'wcsncmp'.
57976         * modules/wcsncmp: New file.
57977         * lib/wchar.in.h (wcsncmp): New declaration.
57978         * lib/wcsncmp.c: New file.
57979         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
57980         * m4/wcsncmp.m4: New file.
57981         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
57982         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
57983         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
57984         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
57985         * doc/posix-functions/wcsncmp.texi: Mention the new module.
57987 2011-02-05  Bruno Haible  <bruno@clisp.org>
57989         New module 'wcscmp'.
57990         * modules/wcscmp: New file.
57991         * lib/wchar.in.h (wcscmp): New declaration.
57992         * lib/wcscmp.c: New file.
57993         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
57994         * m4/wcscmp.m4: New file.
57995         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
57996         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
57997         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
57998         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
57999         * doc/posix-functions/wcscmp.texi: Mention the new module.
58001 2011-02-05  Bruno Haible  <bruno@clisp.org>
58003         New module 'wcsncat'.
58004         * modules/wcsncat: New file.
58005         * lib/wchar.in.h (wcsncat): New declaration.
58006         * lib/wcsncat.c: New file.
58007         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
58008         * m4/wcsncat.m4: New file.
58009         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
58010         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
58011         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
58012         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
58013         * doc/posix-functions/wcsncat.texi: Mention the new module.
58015 2011-02-05  Bruno Haible  <bruno@clisp.org>
58017         New module 'wcscat'.
58018         * modules/wcscat: New file.
58019         * lib/wchar.in.h (wcscat): New declaration.
58020         * lib/wcscat.c: New file.
58021         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
58022         * m4/wcscat.m4: New file.
58023         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
58024         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
58025         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
58026         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
58027         * doc/posix-functions/wcscat.texi: Mention the new module.
58029 2011-02-05  Bruno Haible  <bruno@clisp.org>
58031         New module 'wcpncpy'.
58032         * modules/wcpncpy: New file.
58033         * lib/wchar.in.h (wcpncpy): New declaration.
58034         * lib/wcpncpy.c: New file.
58035         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
58036         * m4/wcpncpy.m4: New file.
58037         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
58038         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
58039         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
58040         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
58041         * doc/posix-functions/wcpncpy.texi: Mention the new module.
58043 2011-02-05  Bruno Haible  <bruno@clisp.org>
58045         New module 'wcsncpy'.
58046         * modules/wcsncpy: New file.
58047         * lib/wchar.in.h (wcsncpy): New declaration.
58048         * lib/wcsncpy.c: New file.
58049         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
58050         * m4/wcsncpy.m4: New file.
58051         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
58052         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
58053         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
58054         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
58055         * doc/posix-functions/wcsncpy.texi: Mention the new module.
58057 2011-02-05  Bruno Haible  <bruno@clisp.org>
58059         New module 'wcpcpy'.
58060         * modules/wcpcpy: New file.
58061         * lib/wchar.in.h (wcpcpy): New declaration.
58062         * lib/wcpcpy.c: New file.
58063         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
58064         * m4/wcpcpy.m4: New file.
58065         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
58066         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
58067         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
58068         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
58069         * doc/posix-functions/wcpcpy.texi: Mention the new module.
58071 2011-02-05  Bruno Haible  <bruno@clisp.org>
58073         New module 'wcscpy'.
58074         * modules/wcscpy: New file.
58075         * lib/wchar.in.h (wcscpy): New declaration.
58076         * lib/wcscpy.c: New file.
58077         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
58078         * m4/wcscpy.m4: New file.
58079         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
58080         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
58081         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
58082         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
58083         * doc/posix-functions/wcscpy.texi: Mention the new module.
58085 2011-02-05  Bruno Haible  <bruno@clisp.org>
58087         New module 'wcsnlen'.
58088         * modules/wcsnlen: New file.
58089         * lib/wchar.in.h (wcsnlen): New declaration.
58090         * lib/wcsnlen.c: New file.
58091         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
58092         * m4/wcsnlen.m4: New file.
58093         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
58094         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
58095         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
58096         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
58097         * doc/posix-functions/wcsnlen.texi: Mention the new module.
58099 2011-02-05  Bruno Haible  <bruno@clisp.org>
58101         New module 'wcslen'.
58102         * modules/wcslen: New file.
58103         * lib/wchar.in.h (wcslen): New declaration.
58104         * lib/wcslen.c: New file.
58105         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
58106         * m4/wcslen.m4: New file.
58107         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
58108         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
58109         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
58110         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
58111         * doc/posix-functions/wcslen.texi: Mention the new module.
58113 2011-02-05  Bruno Haible  <bruno@clisp.org>
58115         New module 'wmemset'.
58116         * modules/wmemset: New file.
58117         * lib/wchar.in.h (wmemset): New declaration.
58118         * lib/wmemset.c: New file.
58119         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
58120         * m4/wmemset.m4: New file.
58121         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
58122         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
58123         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
58124         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
58125         * doc/posix-functions/wmemset.texi: Mention the new module.
58127 2011-02-05  Bruno Haible  <bruno@clisp.org>
58129         New module 'wmemmove'.
58130         * modules/wmemmove: New file.
58131         * lib/wchar.in.h (wmemmove): New declaration.
58132         * lib/wmemmove.c: New file.
58133         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
58134         * m4/wmemmove.m4: New file.
58135         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
58136         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
58137         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
58138         HAVE_WMEMMOVE.
58139         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
58140         * doc/posix-functions/wmemmove.texi: Mention the new module.
58142 2011-02-05  Bruno Haible  <bruno@clisp.org>
58144         New module 'wmemcpy'.
58145         * modules/wmemcpy: New file.
58146         * lib/wchar.in.h (wmemcpy): New declaration.
58147         * lib/wmemcpy.c: New file.
58148         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
58149         * m4/wmemcpy.m4: New file.
58150         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
58151         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
58152         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
58153         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
58154         * doc/posix-functions/wmemcpy.texi: Mention the new module.
58156 2011-02-05  Bruno Haible  <bruno@clisp.org>
58158         New module 'wmemcmp'.
58159         * modules/wmemcmp: New file.
58160         * lib/wchar.in.h (wmemcmp): New declaration.
58161         * lib/wmemcmp.c: New file.
58162         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
58163         * m4/wmemcmp.m4: New file.
58164         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
58165         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
58166         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
58167         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
58168         * doc/posix-functions/wmemcmp.texi: Mention the new module.
58170 2011-02-07  Jim Meyering  <meyering@redhat.com>
58172         di-set, ino-map: new modules, from coreutils
58173         * lib/di-set.c: New file.
58174         * lib/di-set.h: Likewise.
58175         * lib/ino-map.c: Likewise.
58176         * lib/ino-map.h: Likewise.
58177         * modules/di-set: Likewise.
58178         * modules/di-set-tests: Likewise.
58179         * modules/ino-map: Likewise.
58180         * modules/ino-map-tests: Likewise.
58181         * tests/test-di-set.c: Likewise.
58182         * tests/test-ino-map.c: Likewise.
58184 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
58186         getloadavg: merge minor changes from Emacs
58188         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
58189         (getloadavg): Use memset, not bzero.
58191         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
58192         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
58193         clash (bug#86).
58195 2010-11-14  Bruno Haible  <bruno@clisp.org>
58197         Allow multiple gnulib generated replacements to coexist.
58198         * lib/getopt.in.h (struct option): Avoid identical redefinition.
58199         * lib/inttypes.in.h (imaxdiv_t): Likewise.
58200         * lib/langinfo.in.h (nl_item): Likewise.
58201         * lib/math.in.h (_NaN, NAN): Likewise.
58202         * lib/netdb.in.h (struct addrinfo): Likewise.
58203         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
58204         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
58205         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
58206         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
58207         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
58208         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
58209         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
58210         pthread_mutexattr_init, pthread_mutexattr_settype,
58211         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
58212         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
58213         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
58214         pthread_spin_trylock, pthread_spin_unlock): Likewise.
58215         * lib/sched.in.h (struct sched_param): Likewise.
58216         * lib/se-selinux.in.h (security_class_t, security_context_t,
58217         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
58218         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
58219         lsetfilecon, fsetfilecon, security_check_context,
58220         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
58221         Likewise.
58222         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
58223         Likewise.
58224         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
58225         _gl_function_taking_int_returning_void_t, union sigval,
58226         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
58227         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
58228         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
58229         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
58230         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
58231         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
58232         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
58233         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
58234         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
58235         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
58236         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
58237         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
58238         socklen_t, rpl_fd_isset): Likewise.
58239         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
58240         * lib/sys_time.in.h (struct timeval): Likewise.
58241         * lib/sys_times.in.h (struct tms): Likewise.
58242         * lib/sys_utsname.in.h (struct utsname):
58243         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
58244         * lib/unistd.in.h (getpagesize): Likewise.
58245         * lib/wchar.in.h (mbstate_t): Likewise.
58246         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58247         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
58248         towlower, towupper): Likewise.
58249         Reported by Sam Steingold <sds@gnu.org>.
58251 2011-02-05  Eric Blake  <eblake@redhat.com>
58253         unsetenv: work around Haiku issues
58254         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
58255         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
58257 2010-12-30  Bruce Korb  <bkorb@gnu.org>
58259         libposix: avoid calling error() within libposix
58260         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
58261         is defined.
58263 2011-02-05  Eric Blake  <eblake@redhat.com>
58265         strerror_r-posix: port to cygwin
58266         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
58267         implementation.
58268         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
58269         * tests/test-strerror_r.c (main): Fix test.
58270         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
58271         issue.
58273 2011-02-05  Bruno Haible  <bruno@clisp.org>
58275         New module 'wmemchr'.
58276         * modules/wmemchr: New file.
58277         * lib/wchar.in.h (wmemchr): New declaration.
58278         * lib/wmemchr.c: New file.
58279         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
58280         * m4/wmemchr.m4: New file.
58281         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
58282         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
58283         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
58284         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
58285         * doc/posix-functions/wmemchr.texi: Mention the new module.
58287 2011-02-04  Eric Blake  <eblake@redhat.com>
58289         fdopendir: detect FreeBSD bug
58290         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
58291         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
58293 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58295         stdbool: do not define HAVE_STDBOOL_H
58296         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
58297         AC_HEADER_STDBOOL.  All uses changed.  Do not define
58298         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
58299         imported from the latest Autoconf git.  It was motivated by Emacs,
58300         which uses gnulib but does not need HAVE_STDBOOL_H.
58302 2011-02-04  Bruno Haible  <bruno@clisp.org>
58304         wcsnrtombs: Prepare for new module wwcsnrtombs.
58305         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
58306         * lib/wcsnrtombs.c: Include it.
58307         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
58309         wcsrtombs: Prepare for new module wwcsrtombs.
58310         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
58311         * lib/wcsrtombs.c: Include it.
58312         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
58314         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
58315         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
58316         * lib/mbsnrtowcs.c: Include it.
58317         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
58319         mbsrtowcs: Prepare for new module mbsrtowwcs.
58320         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
58321         * lib/mbsrtowcs.c: Include it.
58322         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
58324 2011-02-04  Bruno Haible  <bruno@clisp.org>
58326         vasnprintf: Reduce use of malloc for small format strings.
58327         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
58328         (arguments): Add room for the first 7 arguments.
58329         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
58330         (char_directives, u8_directives, u16_directives, u32_directives): Add
58331         room for the first 7 directives.
58332         * lib/printf-parse.c: Include <string.h>.
58333         (PRINTF_PARSE): Change memory handling code so that it uses the first
58334         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
58335         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
58336         Reported by Pádraig Brady <P@draigbrady.com>.
58338 2011-01-31  Eric Blake  <eblake@redhat.com>
58340         dup2: work around Haiku bug
58341         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
58342         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
58343         * doc/posix-functions/dup2.texi (dup2): Document the bug.
58344         * tests/test-dup2.c (main): Enhance test.
58346 2011-01-31  Simon Josefsson  <simon@josefsson.org>
58348         doc: off_t is not available in eglibc 2.11.2 stdio.h.
58349         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
58350         declared by eglibc 2.11.2.
58351         * lib/stdio.in.h: Likewise.
58353 2011-01-31  Eric Blake  <eblake@redhat.com>
58355         ignore-value: add missing test dependency
58356         * tests/test-ignore-value.c: Revert previous change; stdio.h
58357         provides off_t.
58358         * modules/ignore-value-tests (Depends-on): Add missing dependency.
58360 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
58362         mktime: clarify long_int width checking
58363         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
58364         the top level, to make it clearer that the assumption about
58365         long_int width is being checked.  See
58366         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
58368 2011-01-30  Simon Josefsson  <simon@josefsson.org>
58370         ignore-value: Fix self-test.
58371         * tests/test-ignore-value.c: Include sys/types.h for off_t.
58373 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
58375         TYPE_MAXIMUM: avoid theoretically undefined behavior
58376         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
58377         negative number, which the C Standard says has undefined behavior.
58378         In practice this is not a problem, but might as well do it by the book.
58379         Reported by Rich Felker and Eric Blake; see
58380         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
58381         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
58382         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
58383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
58384         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
58385         * m4/stdint.m4 (gl_STDINT_H): Likewise.
58386         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
58388         mktime: #undef mktime before #defining it
58389         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
58391         mktime: systematically normalize tm_isdst comparisons
58392         * lib/mktime.c (isdst_differ): New function.
58393         (__mktime_internal): Use it systematically for all isdst comparisons.
58394         This completes the fix for libc BZ #6723, and removes the need for
58395         normalizing tm_isdst.  See
58396         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
58397         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
58399         mktime: fix some integer overflow issues and sidestep the rest
58401         This was prompted by a bug report by Benjamin Lindner for MinGW
58402         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
58403         His bug is due to signed integer overflow (0 - INT_MIN), and I
58404         I scanned through mktime.c looking for other integer overflow
58405         problems, fixing all the bugs I found.
58407         Although the C Standard says the resulting code is still not safe
58408         in the presence of integer overflow, in practice it should be good
58409         enough for all real-world two's-complement implementations, except
58410         for debugging environments that deliberately trap on integer
58411         overflow (e.g., gcc -ftrapv).
58413         * lib/mktime.c (WRAPV): New macro.
58414         (SHR): Also check that long_int and time_t shift right in the
58415         usual way, before using the fast-but-unportable method.
58416         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
58417         used.  The code already assumed two's complement, so there's
58418         no need to test for alternatives.  All uses removed.
58419         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
58420         the C standard.  Problem reported by Rich Felker in
58421         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
58422         (twos_complement_arithmetic): Also check long_int and time_t.
58423         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
58424         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
58425         (__mktime_internal): Avoid integer overflow with unary subtraction
58426         in two instances where -1 - X is an adequate replacement for -X,
58427         since the calculations are approximate.
58429 2011-01-29  Eric Blake  <eblake@redhat.com>
58431         mktime: avoid infinite loop
58432         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
58433         type; behavior is still undefined but portable to all known targets.
58434         Reported by Rich Felker.
58436 2011-01-29  Simon Josefsson  <simon@josefsson.org>
58438         rename, unlink, same-inode: Relicense.
58439         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
58440         * modules/unlink (License): Likewise.
58441         * modules/same-inode (License): Likewise.
58443 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
58445         mktime: avoid problems on NetBSD 5 / i386
58446         * lib/mktime.c (long_int): New type.  This works around a problem
58447         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
58448         but time_t is 64 bits, and where I expect the existing code is
58449         wrong in some cases.
58450         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
58451         (ydhms_diff): Bring back the compile-time check for wide-enough
58452         year and yday.
58454         mktime: fix misspelling in comment
58455         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
58456         This merges all recent glibc changes of importance.
58458 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58460         move-if-change: cope with concurrent mv of identical file.
58461         * build-aux/move-if-change (CMPPROG): Accept environment
58462         variable as an override for `cmp'.
58463         (usage): Document CMPPROG.
58464         Adjust comparison to drop stdout.  Cope with failure of mv if
58465         the target file exists and is identical to the source, for
58466         parallel builds.
58467         Report from H.J. Lu against binutils in PR binutils/12283.
58469 2011-01-28  Bruce Korb  <bkorb@gnu.org>
58471         * users.txt: Mention sharutils.
58473 2011-01-28  Simon Josefsson  <simon@josefsson.org>
58475         * users.txt: Mention OATH Toolkit.
58477 2011-01-27  Bruno Haible  <bruno@clisp.org>
58479         Prepare for supporting FreeBSD 10.
58480         * build-aux/config.libpath: Remove handling of freebsd1*.
58482 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
58484         Prepare for supporting FreeBSD 10.
58485         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
58486         match FreeBSD 10.0.
58488 2011-01-27  Bruno Haible  <bruno@clisp.org>
58490         vma-iter, get-rusage-as: Add OpenBSD support.
58491         * modules/vma-iter (configure.ac): Test for mquery.
58492         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
58493         * lib/vma-iter.c: Include <sys/mman.h>.
58494         (vma_iterate): Add an implementation based on mquery().
58495         * lib/resource-ext.h (get_rusage_as): Update comments.
58496         * lib/get-rusage-as.c: Likewise.
58497         * lib/get-rusage-data.c: Likewise.
58499 2011-01-26  Karl Berry  <karl@gnu.org>
58501         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
58502         variables to make it easier to override the makeinfo program used.
58504 2011-01-26  Eric Blake  <eblake@redhat.com>
58506         fcntl: work around Haiku F_DUPFD bugs
58507         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
58508         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
58509         cloexec bit on duplication.
58510         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
58512 2011-01-26  Bruno Haible  <bruno@clisp.org>
58514         Enable memory leak tests on AIX.
58515         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
58516         * tests/test-fprintf-posix3.c (main): Likewise.
58518 2011-01-26  Bruno Haible  <bruno@clisp.org>
58520         Tests for module 'get-rusage-data'.
58521         * modules/get-rusage-data-tests: New file.
58522         * tests/test-get-rusage-data.c: New file.
58524         New module 'get-rusage-data'.
58525         * lib/resource-ext.h (get_rusage_data): New declaration.
58526         * lib/get-rusage-data.c: New file.
58527         * modules/get-rusage-data: New file.
58529 2011-01-25  Bruno Haible  <bruno@clisp.org>
58531         get-rusage-as: Allow for easier testing.
58532         * lib/resource-ext.h (get_rusage_as): Add comment.
58533         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
58534         (main): New function for interactive testing.
58536 2011-01-25  Bruno Haible  <bruno@clisp.org>
58538         vma-iter: Treat Haiku like BeOS.
58539         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
58540         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
58542 2011-01-25  Eric Blake  <eblake@redhat.com>
58544         c-stack: fix regression on cygwin when libsigsegv is present
58545         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
58547 2011-01-24  Bruno Haible  <bruno@clisp.org>
58549         vma-iter: Avoid empty intervals.
58550         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
58551         on an empty interval.
58553 2011-01-24  Jim Meyering  <meyering@redhat.com>
58555         u64: remove unnecessary #include
58556         * lib/u64.h: Don't include <stddef.h>.  It was not used.
58558 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58560         Allow the user to avoid the HAVE_RAW_DECL_* macros.
58561         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
58563 2011-01-23  Bruno Haible  <bruno@clisp.org>
58565         New module 'vma-iter'.
58566         * lib/vma-iter.h: New file.
58567         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
58568         * modules/vma-iter: New file.
58569         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
58570         for get_rusage_as_via_iterator.
58571         (vma_iterate_callback): New function.
58572         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
58573         * modules/get-rusage-as (Depends-on): Add vma-iter.
58575 2011-01-23  Bruno Haible  <bruno@clisp.org>
58577         uninorm: Tweak includes.
58578         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
58579         Reported by Jim Meyering.
58581 2011-01-23  Bruno Haible  <bruno@clisp.org>
58583         get-rusage-as: Improve on NetBSD.
58584         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
58585         /proc, like on FreeBSD.
58587 2011-01-23  Jim Meyering  <meyering@redhat.com>
58589         xreadlink.h: remove unnecessary #include
58590         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
58592         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
58593         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
58595 2011-01-23  Bruno Haible  <bruno@clisp.org>
58597         get-rusage-as: Fix bug.
58598         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
58599         original limit when aborting the first loop.
58601 2011-01-23  Bruno Haible  <bruno@clisp.org>
58603         wctype: Ensure valid C syntax.
58604         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
58605         unconditionally, instead of gl_NEXT_HEADERS conditionally.
58607 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
58609         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
58610         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
58611         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
58612         as they are needed only for configure's test case.
58613         This removes two unnecessary symbols from config.h.
58615         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
58616         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
58617         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
58618         AC_CHECK_HEADERS_ONCE on a header that we also invoke
58619         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
58620         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
58621         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
58622         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
58623         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58624         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
58625         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
58626         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58627         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
58628         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
58629         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
58630         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
58631         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
58632         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
58634 2011-01-21  Eric Blake  <eblake@redhat.com>
58636         maintainer-makefile: work with older git for submodule check
58637         * top/maint.mk (public-submodule-commit): Rewrite to avoid
58638         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
58639         Reported by Matthias Bolte.
58641         bootstrap: minor portability fixes
58642         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
58643         (usage): Omit leading capital and trailing . on help phrases, per
58644         GNU Coding Standards.
58645         (check_versions, top level): Prefix messages with script name.
58647 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
58649         bootstrap: support --no-git option
58650         * build-aux/bootstrap: Add --no-git option, to be used when
58651         --gnulib-srcdir points to the exact desired checkout.
58653 2011-01-21  Eric Blake  <eblake@redhat.com>
58655         strerror_r-posix: work with glibc 2.13
58656         * lib/strerror_r.c (strerror_r): Fix return type.
58658 2011-01-21  Pádraig Brady  <P@draigBrady.com>
58659             Bruno Haible  <bruno@clisp.org>
58661         uN_strstr: New unit tests.
58662         * modules/unistr/u8-strstr-tests: New file.
58663         * modules/unistr/u16-strstr-tests: New file.
58664         * modules/unistr/u32-strstr-tests: New file.
58665         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
58666         * tests/unistr/test-u8-strstr.c: New file.
58667         * tests/unistr/test-u16-strstr.c: New file.
58668         * tests/unistr/test-u32-strstr.c: New file.
58670 2011-01-21  Pádraig Brady  <P@draigBrady.com>
58671             Bruno Haible  <bruno@clisp.org>
58673         Make uN_strstr functions O(n) worst-case.
58674         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
58675         16-bit and 32-bit unit cases, use the unibyte algorithm from
58676         lib/mbsstr.c.
58677         * lib/unistr/u8-strstr.c: Include <string.h>.
58678         (UNIT_IS_UINT8_T): New macro.
58679         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
58680         (U_STRLEN, U_STRNLEN): New macros.
58681         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
58682         (U_STRLEN, U_STRNLEN): New macros.
58683         * modules/unistr/u8-strstr (Depends-on): Add strstr.
58684         (configure.ac): Update required libunistring version.
58685         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
58686         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
58687         malloca.
58688         (configure.ac): Update required libunistring version.
58689         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
58690         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
58691         malloca.
58692         (configure.ac): Update required libunistring version.
58694 2011-01-21  Pádraig Brady  <P@draigBrady.com>
58695             Bruno Haible  <bruno@clisp.org>
58697         Prepare for faster uN_strstr functions.
58698         * lib/str-kmp.h: Support definable UNITs.
58699         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
58700         needle_len argument.
58701         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
58702         * lib/mbscasestr.c (mbscasestr): Likewise.
58704 2011-01-21  Pádraig Brady  <P@draigBrady.com>
58706         malloca-tests: make faster by unsetting MALLOC_PERTURB_
58707         * tests/test-malloca.c (main): Unset the environment variable
58708         to greatly speed up the test.
58709         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
58710         * modules/malloca-tests: Depend on unsetenv.
58712 2011-01-21  Pádraig Brady  <P@draigBrady.com>
58714         ignore-value: remove stdint dependency
58715         * lib/ignore-value.h: Remove <stdint.h>
58716         * modules/ignore-value: Remove stdint dependency.
58718 2011-01-21  Jim Meyering  <meyering@redhat.com>
58720         maint.mk: adjust variable name to be consistent with other gl_ vars
58721         * top/maint.mk (gl_public_submodule_commit): Rename the variable
58722         to be lower case.
58724 2011-01-20  Jim Meyering  <meyering@redhat.com>
58726         maint.mk: make "check" depend on public-submodule-commit by default
58727         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
58729 2011-01-20  Bruno Haible  <bruno@clisp.org>
58731         mbfile, mbiter: Complete change from 2008-12-21.
58732         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
58733         * m4/mbiter.m4 (gl_MBITER): Likewise.
58735 2011-01-20  Jim Meyering  <meyering@redhat.com>
58737         init.sh: insert space between each function name and "()"
58738         * tests/init.sh: Make it a little easier to see that a function's
58739         name is "warn_", and not "warn" when looking at the first part of
58740         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
58742 2011-01-20  Jim Meyering  <meyering@redhat.com>
58744         mountlist: clean up code formatting
58745         * lib/mountlist.c (read_file_system_list): Split a long line,
58746         correct bracing style, use NULL in place of "(struct statfs *)0",
58747         don't parenthesize return value, add spaces around "=" and after
58748         ";-in-for-stmt".
58750 2011-01-14  Markus Duft  <mduft@gentoo.org>
58752         mountlist: add support for Interix
58753         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
58754         Apply statvfs to all entries of /dev/fs.
58755         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
58756         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
58758 2011-01-20  Jim Meyering  <meyering@redhat.com>
58760         maint.mk: improve the public-submodule-commit rule
58761         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
58762         to suppress printing of its commands... unless V=1.
58763         Add git submodule's --quiet option to suppress printing of e.g.,
58764         "Entering gnulib" output.
58765         "cd" into $(srcdir) before running git submodule.
58767 2011-01-20  Bruno Haible  <bruno@clisp.org>
58769         include_next: Fix bug introduced on 2011-01-18.
58770         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
58771         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
58772         ac_cv_header_... variable if the second argument is not 'check'.
58773         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
58774         gl_NEXT_HEADERS_INTERNAL.
58776 2011-01-20  Bruno Haible  <bruno@clisp.org>
58778         Allow the user to avoid the GNULIB_TEST_* macros.
58779         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
58780         Suggested by Paul Eggert.
58782 2011-01-14  Jim Meyering  <meyering@redhat.com>
58784         bootstrap: avoid failure when there is no .gitmodules file
58785         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
58786         has been assigned to, even when its value is the empty string.
58787         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
58788         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
58789         Reported by John W. Eaton <jwe@gnu.org>.
58791 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
58793         assume <ctype.h>, ..., <time.h> exist
58794         For years gnulib has been assuming the existence of the headers
58795         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
58796         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
58797         them, since they don't appear to be needed.
58798         * README (Portability guidelines): Document this.
58799         * lib/flock.c: Assume <fcntl.h> exists.
58800         * lib/regex_internal.h: Assume <locale.h> exists.
58801         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
58802         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
58803         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
58804         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
58805         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
58806         * m4/regex.m4 (gl_REGEX): Likewise.
58807         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
58808         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
58809         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
58810         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
58811         * tests/test-argp.c: Likewise.
58812         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
58814         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
58815         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
58816         AA_APPLE_UNIVERSAL_BUILD.  See
58817         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
58818         * NEWS: Document this.
58820 2011-01-19  Eric Blake  <eblake@redhat.com>
58822         c-stack: assume stack overflow if SA_SIGINFO unsupported
58823         * lib/c-stack.c (SIGACTION_WORKS): Rename...
58824         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
58825         sigaction will work.
58826         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
58827         behavior match Linux.
58828         * tests/test-c-stack.c (main): Prefer NULL for pointers.
58830         stdbool-tests: accommodate Haiku
58831         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
58833         binary-io: fix O_TEXT on Haiku
58834         * modules/binary-io (Depends-on): Add fcntl-h.
58835         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
58836         than blindly undefining O_TEXT.
58837         Reported by Scott McCreary.
58839 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
58841         include_next: do not check for standard headers like stddef.h
58843         I found this problem when modifying Emacs to use gnulib.
58844         I noticed that it added HAVE_STDDEF_H to config.h, even though
58845         gnulib always assumes <stddef.h> exists as per README and this
58846         symbol is unnecessary.
58847         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
58848         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
58849         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
58850         faster for headers like stddef.h that are known to exist.
58851         (gl_CHECK_NEXT_HEADERS): Use it.
58852         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
58853         rather than gl_CHECK_NEXT_HEADERS.
58854         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
58855         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
58857 2011-01-18  Eric Blake  <eblake@redhat.com>
58859         ansi-c++-opt: skip C++ dependency style if C++ is unused
58860         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
58861         tests when we know C++ compilation is not desired.
58862         Reported by Scott McCreary.
58864 2011-01-18  Bruno Haible  <bruno@clisp.org>
58866         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
58867         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
58868         (main): Perform test also when getrlimit and setrlimit don't exist or
58869         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
58870         limiting the address space size using setrlimit, compare the address
58871         space size before and after the test.
58872         * tests/test-dprintf-posix2.c: Likewise.
58873         * tests/test-fprintf-posix3.sh: Update skip messages.
58874         * tests/test-dprintf-posix2.sh: Likewise.
58875         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
58876         * modules/dprintf-posix-tests (Depends-on): Likewise.
58877         Reported by Bruce Korb <bkorb@gnu.org> and
58878         Gary V. Vaughan <gary@gnu.org>.
58880 2011-01-18  Bruno Haible  <bruno@clisp.org>
58882         get-rusage-as: Improvement for Cygwin.
58883         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
58884         areas that are merely reserved.
58886 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
58888         strftime: remove dependencies on multibyte modules
58890         strftime depended on mbrlen, mbsinit, and wchar, but these modules
58891         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
58892         only if __osf__ is defined, and I suspect OSF doesn't need these
58893         other modules.  If my guess is wrong, we'll need to come up with a
58894         variant of strftime that doesn't need the multibyte modules.
58896         I discovered this problem when attempting modify Emacs to use the
58897         strftime module.  With the previous gnulib, this caused Emacs to
58898         need 31 new files, ranging from lib/config.charset to
58899         m4/wint_t.m4.  This was overkill and I expect would be offputting
58900         to the Emacs maintainers.  After this change, only 6 new files are
58901         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
58902         stdbool.m4, and tm_gmtoff.m4.
58904         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
58905         Suggested by Bruno Haible in
58906         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
58907         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
58908         and do not check for wchar.h.
58909         * modules/strftime (Files): Remove m4/mbstate_t.m4.
58910         (Depends-on): Remove mbrlen, mbsinit, wchar.
58912 2011-01-18  Bruno Haible  <bruno@clisp.org>
58914         Tests for module 'get-rusage-as'.
58915         * modules/get-rusage-as-tests: New file.
58916         * tests/test-get-rusage-as.c: New file.
58918         New module 'get-rusage-as'.
58919         * modules/get-rusage-as: New file.
58920         * lib/resource-ext.h: New file.
58921         * lib/get-rusage-as.c: New file.
58923 2011-01-17  Eric Blake  <eblake@redhat.com>
58925         sigaction: relax license from LGPLv3+ to LGPLv2+
58926         * modules/sigaction (License): Relax to LGPLv2+.
58928 2011-01-14  Bruno Haible  <bruno@clisp.org>
58930         filemode: Make function declarations usable in C++ mode.
58931         * lib/filemode.h: Enclose function declarations in extern "C" block.
58932         Reported by John W. Eaton <jwe@gnu.org>.
58934 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
58936         save-cwd: no longer include "xgetcwd.h"
58937         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
58938         This avoids a compilation failure in projects that use save-cwd
58939         without also using the xgetcwd module.
58941 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
58943         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
58944         This is so that a program like Emacs, which needs only dtoastr,
58945         does not have to bother with distributing and compiling ftoastr
58946         and ldtoastr.
58947         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
58948         * modules/dtoastr, modules/ldtoastr: New files.
58949         * modules/ftoastr: Now works just for 'float'.
58950         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
58951         (Makefile.am): Remove ftoastr.h (not needed and no effect),
58952         dtoastr.c, ldtoastr.c.
58954 2011-01-11  Jim Meyering  <meyering@redhat.com>
58956         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
58957         There is no need to work around the lack of the fchdir function,
58958         since gnulib can now provide a replacement when required.
58959         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
58960         * modules/save-cwd (Depends-on): Add fchdir.
58962 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
58964         openat, save-cwd: avoid xmalloc
58966         This removes a direct (but undocumented) dependency of openat on
58967         xalloc, along with an indirect dependency via save-cwd.  It also
58968         removes a dependency of save-cwd on xgetcwd, and thereby
58969         indirectly on xalloc.  This change causes the openat substitute
58970         to fall back on save_cwd when memory is tight, and for save_cwd to
58971         fail instead of dying when memory is tight, but that's good enough.
58972         Problem and initial idea for fix reported by Bastien Roucaries in
58973         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
58975         * lib/openat-proc.c: Include stdlib.h (for malloc), not
58976         xalloc.h (for xmalloc).
58977         (openat_proc_name): Use malloc, not xmalloc.
58978         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
58979         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
58981         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
58982         This avoids heap allocation for file names whose lengths are in
58983         the range 512..1023, with the upper bound increasing to at most
58984         4031 depending on the platform's PATH_MAX.  (We do not want
58985         pathmax.h here as it might supply a non-constant PATH_MAX.)
58986         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
58987         Perhaps they should be moved to malloca.h?
58988         (OPENAT_BUFFER_SIZE): Use them.
58990 2011-01-10  Bruno Haible  <bruno@clisp.org>
58992         doc: Update users.txt.
58993         * users.txt: Add recutils.
58995 2011-01-09  Karl Berry  <karl@gnu.org>
58997         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
58999         * doc/configmake.texi: New file.
59000         * doc/gnulib.texi: Include it.
59001         * modules/configmake: Move documentation from here.
59003 2011-01-09  Bruno Haible  <bruno@clisp.org>
59005         Update to Unicode 6.0.0.
59006         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
59007         (get_lbp): Update for Unicode 6.0.0.
59008         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
59009         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
59010         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
59011         U+11001, U+11038..U+11046. Remove U+06DE.
59012         (uc_width): Fix bounds of planes.
59013         * tests/uniwidth/test-uc_width2.sh: Same updates as in
59014         lib/uniwidth/width.c.
59015         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
59016         trailing whitespace removed.
59017         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
59018         without comments, but with the original copyright notice.
59019         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
59020         * lib/unicase/ignorable.h: Likewise.
59021         * lib/unicase/tocasefold.h: Likewise.
59022         * lib/unicase/tolower.h: Likewise.
59023         * lib/unicase/totitle.h: Likewise.
59024         * lib/unicase/toupper.h: Likewise.
59025         * lib/unictype/bidi_of.h: Likewise.
59026         * lib/unictype/blocks.h: Likewise.
59027         * lib/unictype/categ_C.h: Likewise.
59028         * lib/unictype/categ_Cn.h: Likewise.
59029         * lib/unictype/categ_L.h: Likewise.
59030         * lib/unictype/categ_Ll.h: Likewise.
59031         * lib/unictype/categ_Lm.h: Likewise.
59032         * lib/unictype/categ_Lo.h: Likewise.
59033         * lib/unictype/categ_Lu.h: Likewise.
59034         * lib/unictype/categ_M.h: Likewise.
59035         * lib/unictype/categ_Mc.h: Likewise.
59036         * lib/unictype/categ_Me.h: Likewise.
59037         * lib/unictype/categ_Mn.h: Likewise.
59038         * lib/unictype/categ_N.h: Likewise.
59039         * lib/unictype/categ_Nd.h: Likewise.
59040         * lib/unictype/categ_No.h: Likewise.
59041         * lib/unictype/categ_P.h: Likewise.
59042         * lib/unictype/categ_Po.h: Likewise.
59043         * lib/unictype/categ_S.h: Likewise.
59044         * lib/unictype/categ_Sc.h: Likewise.
59045         * lib/unictype/categ_Sk.h: Likewise.
59046         * lib/unictype/categ_Sm.h: Likewise.
59047         * lib/unictype/categ_So.h: Likewise.
59048         * lib/unictype/categ_of.h: Likewise.
59049         * lib/unictype/combining.h: Likewise.
59050         * lib/unictype/ctype_alnum.h: Likewise.
59051         * lib/unictype/ctype_alpha.h: Likewise.
59052         * lib/unictype/ctype_graph.h: Likewise.
59053         * lib/unictype/ctype_lower.h: Likewise.
59054         * lib/unictype/ctype_print.h: Likewise.
59055         * lib/unictype/ctype_punct.h: Likewise.
59056         * lib/unictype/ctype_upper.h: Likewise.
59057         * lib/unictype/decdigit.h: Likewise.
59058         * lib/unictype/digit.h: Likewise.
59059         * lib/unictype/numeric.h: Likewise.
59060         * lib/unictype/pr_alphabetic.h: Likewise.
59061         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59062         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59063         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59064         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59065         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59066         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59067         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59068         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59069         * lib/unictype/pr_case_ignorable.h: Likewise.
59070         * lib/unictype/pr_cased.h: Likewise.
59071         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
59072         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
59073         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
59074         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
59075         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
59076         * lib/unictype/pr_combining.h: Likewise.
59077         * lib/unictype/pr_composite.h: Likewise.
59078         * lib/unictype/pr_currency_symbol.h: Likewise.
59079         * lib/unictype/pr_decimal_digit.h: Likewise.
59080         * lib/unictype/pr_deprecated.h: Likewise.
59081         * lib/unictype/pr_format_control.h: Likewise.
59082         * lib/unictype/pr_grapheme_base.h: Likewise.
59083         * lib/unictype/pr_grapheme_extend.h: Likewise.
59084         * lib/unictype/pr_grapheme_link.h: Likewise.
59085         * lib/unictype/pr_id_continue.h: Likewise.
59086         * lib/unictype/pr_id_start.h: Likewise.
59087         * lib/unictype/pr_ideographic.h: Likewise.
59088         * lib/unictype/pr_lowercase.h: Likewise.
59089         * lib/unictype/pr_math.h: Likewise.
59090         * lib/unictype/pr_numeric.h: Likewise.
59091         * lib/unictype/pr_other_alphabetic.h: Likewise.
59092         * lib/unictype/pr_other_id_continue.h: Likewise.
59093         * lib/unictype/pr_other_math.h: Likewise.
59094         * lib/unictype/pr_punctuation.h: Likewise.
59095         * lib/unictype/pr_sentence_terminal.h: Likewise.
59096         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59097         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59098         * lib/unictype/pr_unified_ideograph.h: Likewise.
59099         * lib/unictype/pr_uppercase.h: Likewise.
59100         * lib/unictype/pr_xid_continue.h: Likewise.
59101         * lib/unictype/pr_xid_start.h: Likewise.
59102         * lib/unictype/scripts.h: Likewise.
59103         * lib/unictype/scripts_byname.gperf: Likewise.
59104         * lib/unictype/sy_java_ident.h: Likewise.
59105         * lib/unigbrk/gbrkprop.h: Likewise.
59106         * lib/unilbrk/lbrkprop1.h: Likewise.
59107         * lib/unilbrk/lbrkprop2.h: Likewise.
59108         * lib/uninorm/decomposition-table2.h: Likewise.
59109         * lib/uniwbrk/wbrkprop.h: Likewise.
59110         * tests/unicase/test-cased.c: Likewise.
59111         * tests/unicase/test-ignorable.c: Likewise.
59112         * tests/unicase/test-uc_tolower.c: Likewise.
59113         * tests/unicase/test-uc_totitle.c: Likewise.
59114         * tests/unicase/test-uc_toupper.c: Likewise.
59115         * tests/unictype/test-categ_C.c: Likewise.
59116         * tests/unictype/test-categ_Cn.c: Likewise.
59117         * tests/unictype/test-categ_L.c: Likewise.
59118         * tests/unictype/test-categ_Ll.c: Likewise.
59119         * tests/unictype/test-categ_Lm.c: Likewise.
59120         * tests/unictype/test-categ_Lo.c: Likewise.
59121         * tests/unictype/test-categ_Lu.c: Likewise.
59122         * tests/unictype/test-categ_M.c: Likewise.
59123         * tests/unictype/test-categ_Mc.c: Likewise.
59124         * tests/unictype/test-categ_Me.c: Likewise.
59125         * tests/unictype/test-categ_Mn.c: Likewise.
59126         * tests/unictype/test-categ_N.c: Likewise.
59127         * tests/unictype/test-categ_Nd.c: Likewise.
59128         * tests/unictype/test-categ_No.c: Likewise.
59129         * tests/unictype/test-categ_P.c: Likewise.
59130         * tests/unictype/test-categ_Po.c: Likewise.
59131         * tests/unictype/test-categ_S.c: Likewise.
59132         * tests/unictype/test-categ_Sc.c: Likewise.
59133         * tests/unictype/test-categ_Sk.c: Likewise.
59134         * tests/unictype/test-categ_Sm.c: Likewise.
59135         * tests/unictype/test-categ_So.c: Likewise.
59136         * tests/unictype/test-ctype_alnum.c: Likewise.
59137         * tests/unictype/test-ctype_alpha.c: Likewise.
59138         * tests/unictype/test-ctype_graph.c: Likewise.
59139         * tests/unictype/test-ctype_lower.c: Likewise.
59140         * tests/unictype/test-ctype_print.c: Likewise.
59141         * tests/unictype/test-ctype_punct.c: Likewise.
59142         * tests/unictype/test-ctype_upper.c: Likewise.
59143         * tests/unictype/test-decdigit.h: Likewise.
59144         * tests/unictype/test-digit.h: Likewise.
59145         * tests/unictype/test-numeric.h: Likewise.
59146         * tests/unictype/test-pr_alphabetic.c: Likewise.
59147         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59148         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
59149         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
59150         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59151         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59152         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59153         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59154         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59155         * tests/unictype/test-pr_case_ignorable.c: Likewise.
59156         * tests/unictype/test-pr_cased.c: Likewise.
59157         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
59158         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
59159         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
59160         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
59161         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
59162         * tests/unictype/test-pr_combining.c: Likewise.
59163         * tests/unictype/test-pr_composite.c: Likewise.
59164         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59165         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59166         * tests/unictype/test-pr_deprecated.c: Likewise.
59167         * tests/unictype/test-pr_format_control.c: Likewise.
59168         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59169         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59170         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59171         * tests/unictype/test-pr_id_continue.c: Likewise.
59172         * tests/unictype/test-pr_id_start.c: Likewise.
59173         * tests/unictype/test-pr_ideographic.c: Likewise.
59174         * tests/unictype/test-pr_lowercase.c: Likewise.
59175         * tests/unictype/test-pr_math.c: Likewise.
59176         * tests/unictype/test-pr_numeric.c: Likewise.
59177         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59178         * tests/unictype/test-pr_other_id_continue.c: Likewise.
59179         * tests/unictype/test-pr_other_math.c: Likewise.
59180         * tests/unictype/test-pr_punctuation.c: Likewise.
59181         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59182         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59183         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59184         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59185         * tests/unictype/test-pr_uppercase.c: Likewise.
59186         * tests/unictype/test-pr_xid_continue.c: Likewise.
59187         * tests/unictype/test-pr_xid_start.c: Likewise.
59188         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
59189         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
59190         changes.
59191         * lib/unictype/categ_Cc.h: Likewise.
59192         * lib/unictype/categ_Cf.h: Likewise.
59193         * lib/unictype/categ_Co.h: Likewise.
59194         * lib/unictype/categ_Cs.h: Likewise.
59195         * lib/unictype/categ_Lt.h: Likewise.
59196         * lib/unictype/categ_Nl.h: Likewise.
59197         * lib/unictype/categ_Pc.h: Likewise.
59198         * lib/unictype/categ_Pd.h: Likewise.
59199         * lib/unictype/categ_Pe.h: Likewise.
59200         * lib/unictype/categ_Pf.h: Likewise.
59201         * lib/unictype/categ_Pi.h: Likewise.
59202         * lib/unictype/categ_Ps.h: Likewise.
59203         * lib/unictype/categ_Z.h: Likewise.
59204         * lib/unictype/categ_Zl.h: Likewise.
59205         * lib/unictype/categ_Zp.h: Likewise.
59206         * lib/unictype/categ_Zs.h: Likewise.
59207         * lib/unictype/ctype_blank.h: Likewise.
59208         * lib/unictype/ctype_cntrl.h: Likewise.
59209         * lib/unictype/ctype_digit.h: Likewise.
59210         * lib/unictype/ctype_space.h: Likewise.
59211         * lib/unictype/ctype_xdigit.h: Likewise.
59212         * lib/unictype/mirror.h: Likewise.
59213         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59214         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59215         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59216         * lib/unictype/pr_bidi_control.h: Likewise.
59217         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59218         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59219         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59220         * lib/unictype/pr_bidi_pdf.h: Likewise.
59221         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59222         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59223         * lib/unictype/pr_dash.h: Likewise.
59224         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59225         * lib/unictype/pr_diacritic.h: Likewise.
59226         * lib/unictype/pr_extender.h: Likewise.
59227         * lib/unictype/pr_hex_digit.h: Likewise.
59228         * lib/unictype/pr_hyphen.h: Likewise.
59229         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59230         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59231         * lib/unictype/pr_ignorable_control.h: Likewise.
59232         * lib/unictype/pr_iso_control.h: Likewise.
59233         * lib/unictype/pr_join_control.h: Likewise.
59234         * lib/unictype/pr_left_of_pair.h: Likewise.
59235         * lib/unictype/pr_line_separator.h: Likewise.
59236         * lib/unictype/pr_logical_order_exception.h: Likewise.
59237         * lib/unictype/pr_non_break.h: Likewise.
59238         * lib/unictype/pr_not_a_character.h: Likewise.
59239         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59240         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59241         * lib/unictype/pr_other_id_start.h: Likewise.
59242         * lib/unictype/pr_other_lowercase.h: Likewise.
59243         * lib/unictype/pr_other_uppercase.h: Likewise.
59244         * lib/unictype/pr_paired_punctuation.h: Likewise.
59245         * lib/unictype/pr_paragraph_separator.h: Likewise.
59246         * lib/unictype/pr_pattern_syntax.h: Likewise.
59247         * lib/unictype/pr_pattern_white_space.h: Likewise.
59248         * lib/unictype/pr_private_use.h: Likewise.
59249         * lib/unictype/pr_quotation_mark.h: Likewise.
59250         * lib/unictype/pr_radical.h: Likewise.
59251         * lib/unictype/pr_soft_dotted.h: Likewise.
59252         * lib/unictype/pr_space.h: Likewise.
59253         * lib/unictype/pr_titlecase.h: Likewise.
59254         * lib/unictype/pr_variation_selector.h: Likewise.
59255         * lib/unictype/pr_white_space.h: Likewise.
59256         * lib/unictype/pr_zero_width.h: Likewise.
59257         * lib/unictype/sy_c_ident.h: Likewise.
59258         * lib/unictype/sy_c_whitespace.h: Likewise.
59259         * lib/unictype/sy_java_whitespace.h: Likewise.
59260         * lib/uninorm/composition-table.gperf: Likewise.
59261         * lib/uninorm/decomposition-table1.h: Likewise.
59262         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
59263         LB8.
59264         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59265         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59266         * modules/unictype/*: Bump version number of expected libunistring
59267         version.
59269 2011-01-09  Bruno Haible  <bruno@clisp.org>
59271         Update to Unicode 5.2.0.
59272         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
59273         trailing whitespace removed.
59275 2011-01-09  Bruno Haible  <bruno@clisp.org>
59277         New Unicode character properties, from Unicode 5.2.0.
59278         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
59279         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
59280         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
59281         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
59282         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
59283         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
59284         uc_is_property_cased, uc_is_property_case_ignorable,
59285         uc_is_property_changes_when_lowercased,
59286         uc_is_property_changes_when_uppercased,
59287         uc_is_property_changes_when_titlecased,
59288         uc_is_property_changes_when_casefolded,
59289         uc_is_property_changes_when_casemapped): New declarations.
59290         * lib/unictype/pr_byname.gperf: Add the new properties.
59291         * modules/unictype/property-byname (Depends-on): Depend on the new
59292         properties modules.
59293         * modules/unictype/property-all (Depends-on): Likewise.
59294         * MODULES.html.sh (Unicode string functions): Add
59295         unictype/property-case-ignorable, unictype/property-cased,
59296         unictype/property-changes-when-casefolded,
59297         unictype/property-changes-when-casemapped,
59298         unictype/property-changes-when-lowercased,
59299         unictype/property-changes-when-titlecased,
59300         unictype/property-changes-when-uppercased.
59302         New module 'unictype/property-changes-when-casemapped'.
59303         * modules/unictype/property-changes-when-casemapped: New file.
59304         * lib/unictype/pr_changes_when_casemapped.c: New file.
59305         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
59306         generated by gen-uni-tables.
59307         * modules/unictype/property-changes-when-casemapped-tests: New file.
59308         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
59309         automatically generated by gen-uni-tables.
59311         New module 'unictype/property-changes-when-casefolded'.
59312         * modules/unictype/property-changes-when-casefolded: New file.
59313         * lib/unictype/pr_changes_when_casefolded.c: New file.
59314         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
59315         generated by gen-uni-tables.
59316         * modules/unictype/property-changes-when-casefolded-tests: New file.
59317         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
59318         automatically generated by gen-uni-tables.
59320         New module 'unictype/property-changes-when-titlecased'.
59321         * modules/unictype/property-changes-when-titlecased: New file.
59322         * lib/unictype/pr_changes_when_titlecased.c: New file.
59323         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
59324         generated by gen-uni-tables.
59325         * modules/unictype/property-changes-when-titlecased-tests: New file.
59326         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
59327         automatically generated by gen-uni-tables.
59329         New module 'unictype/property-changes-when-uppercased'.
59330         * modules/unictype/property-changes-when-uppercased: New file.
59331         * lib/unictype/pr_changes_when_uppercased.c: New file.
59332         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
59333         generated by gen-uni-tables.
59334         * modules/unictype/property-changes-when-uppercased-tests: New file.
59335         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
59336         automatically generated by gen-uni-tables.
59338         New module 'unictype/property-changes-when-lowercased'.
59339         * modules/unictype/property-changes-when-lowercased: New file.
59340         * lib/unictype/pr_changes_when_lowercased.c: New file.
59341         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
59342         generated by gen-uni-tables.
59343         * modules/unictype/property-changes-when-lowercased-tests: New file.
59344         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
59345         automatically generated by gen-uni-tables.
59347         New module 'unictype/property-case-ignorable'.
59348         * modules/unictype/property-case-ignorable: New file.
59349         * lib/unictype/pr_case_ignorable.c: New file.
59350         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
59351         by gen-uni-tables.
59352         * modules/unictype/property-case-ignorable-tests: New file.
59353         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
59354         generated by gen-uni-tables.
59356         New module 'unictype/property-cased'.
59357         * modules/unictype/property-cased: New file.
59358         * lib/unictype/pr_cased.c: New file.
59359         * lib/unictype/pr_cased.h: New file, automatically generated by
59360         gen-uni-tables.
59361         * modules/unictype/property-cased-tests: New file.
59362         * tests/unictype/test-pr_cased.c: New file, automatically generated by
59363         gen-uni-tables.
59365 2011-01-09  Bruno Haible  <bruno@clisp.org>
59367         Update to Unicode 5.2.0.
59368         * lib/gen-uni-tables.c (output_predicate, output_category,
59369         output_combclass, output_bidi_category, output_decimal_digit_test,
59370         output_decimal_digit, output_digit_test, output_digit,
59371         output_numeric_test, output_numeric, output_mirror, output_scripts,
59372         output_scripts_byname, output_blocks, output_ident_category): Fix
59373         comment header.
59374         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
59375         get_wbp.
59376         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
59377         items.
59378         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
59379         Changes_When_Lowercased, Changes_When_Uppercased,
59380         Changes_When_Titlecased, Changes_When_Casefolded,
59381         Changes_When_Casemapped.
59382         (is_property_alphabetic, is_property_default_ignorable_code_point):
59383         Update for Unicode 5.2.0.
59384         (is_property_cased, is_property_case_ignorable,
59385         is_property_changes_when_lowercased,
59386         is_property_changes_when_uppercased,
59387         is_property_changes_when_titlecased,
59388         is_property_changes_when_casefolded,
59389         is_property_changes_when_casemapped): New functions.
59390         (output_properties): Output also the properties cased, case_ignorable,
59391         changes_when_lowercased, changes_when_uppercased,
59392         changes_when_titlecased, changes_when_casefolded,
59393         changes_when_casemapped.
59394         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
59395         Unicode TR#11 revision 17 -> 19.
59396         (LBP_CP): New enumeration value.
59397         (LBP_*): Adjust values accordingly.
59398         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
59399         TR#14 revision 22 -> 24.
59400         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
59401         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
59402         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
59403         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
59404         is_WBP_MIDLETTER.
59405         (output_composition_tables): Allow for 24 bits instead of 16 bits in
59406         the code1 and code2 of each composition rule.
59407         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
59408         * lib/unicase/ignorable.h: Likewise.
59409         * lib/unicase/tocasefold.h: Likewise.
59410         * lib/unicase/tolower.h: Likewise.
59411         * lib/unicase/totitle.h: Likewise.
59412         * lib/unicase/toupper.h: Likewise.
59413         * lib/unictype/bidi_of.h: Likewise.
59414         * lib/unictype/blocks.h: Likewise.
59415         * lib/unictype/categ_C.h: Likewise.
59416         * lib/unictype/categ_Cf.h: Likewise.
59417         * lib/unictype/categ_Cn.h: Likewise.
59418         * lib/unictype/categ_L.h: Likewise.
59419         * lib/unictype/categ_Ll.h: Likewise.
59420         * lib/unictype/categ_Lm.h: Likewise.
59421         * lib/unictype/categ_Lo.h: Likewise.
59422         * lib/unictype/categ_Lu.h: Likewise.
59423         * lib/unictype/categ_M.h: Likewise.
59424         * lib/unictype/categ_Mc.h: Likewise.
59425         * lib/unictype/categ_Mn.h: Likewise.
59426         * lib/unictype/categ_N.h: Likewise.
59427         * lib/unictype/categ_Nd.h: Likewise.
59428         * lib/unictype/categ_Nl.h: Likewise.
59429         * lib/unictype/categ_No.h: Likewise.
59430         * lib/unictype/categ_P.h: Likewise.
59431         * lib/unictype/categ_Pd.h: Likewise.
59432         * lib/unictype/categ_Po.h: Likewise.
59433         * lib/unictype/categ_S.h: Likewise.
59434         * lib/unictype/categ_Sc.h: Likewise.
59435         * lib/unictype/categ_So.h: Likewise.
59436         * lib/unictype/categ_of.h: Likewise.
59437         * lib/unictype/combining.h: Likewise.
59438         * lib/unictype/ctype_alnum.h: Likewise.
59439         * lib/unictype/ctype_alpha.h: Likewise.
59440         * lib/unictype/ctype_graph.h: Likewise.
59441         * lib/unictype/ctype_lower.h: Likewise.
59442         * lib/unictype/ctype_print.h: Likewise.
59443         * lib/unictype/ctype_punct.h: Likewise.
59444         * lib/unictype/ctype_upper.h: Likewise.
59445         * lib/unictype/decdigit.h: Likewise.
59446         * lib/unictype/digit.h: Likewise.
59447         * lib/unictype/numeric.h: Likewise.
59448         * lib/unictype/pr_alphabetic.h: Likewise.
59449         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59450         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59451         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59452         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59453         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59454         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59455         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59456         * lib/unictype/pr_combining.h: Likewise.
59457         * lib/unictype/pr_composite.h: Likewise.
59458         * lib/unictype/pr_currency_symbol.h: Likewise.
59459         * lib/unictype/pr_dash.h: Likewise.
59460         * lib/unictype/pr_decimal_digit.h: Likewise.
59461         * lib/unictype/pr_deprecated.h: Likewise.
59462         * lib/unictype/pr_diacritic.h: Likewise.
59463         * lib/unictype/pr_extender.h: Likewise.
59464         * lib/unictype/pr_grapheme_base.h: Likewise.
59465         * lib/unictype/pr_grapheme_extend.h: Likewise.
59466         * lib/unictype/pr_grapheme_link.h: Likewise.
59467         * lib/unictype/pr_id_continue.h: Likewise.
59468         * lib/unictype/pr_id_start.h: Likewise.
59469         * lib/unictype/pr_ideographic.h: Likewise.
59470         * lib/unictype/pr_ignorable_control.h: Likewise.
59471         * lib/unictype/pr_logical_order_exception.h: Likewise.
59472         * lib/unictype/pr_lowercase.h: Likewise.
59473         * lib/unictype/pr_numeric.h: Likewise.
59474         * lib/unictype/pr_other_alphabetic.h: Likewise.
59475         * lib/unictype/pr_punctuation.h: Likewise.
59476         * lib/unictype/pr_sentence_terminal.h: Likewise.
59477         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59478         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59479         * lib/unictype/pr_unified_ideograph.h: Likewise.
59480         * lib/unictype/pr_uppercase.h: Likewise.
59481         * lib/unictype/pr_xid_continue.h: Likewise.
59482         * lib/unictype/pr_xid_start.h: Likewise.
59483         * lib/unictype/pr_zero_width.h: Likewise.
59484         * lib/unictype/scripts.h: Likewise.
59485         * lib/unictype/scripts_byname.gperf: Likewise.
59486         * lib/unictype/sy_java_ident.h: Likewise.
59487         * lib/unigbrk/gbrkprop.h: Likewise.
59488         * lib/unilbrk/lbrkprop1.h: Likewise.
59489         * lib/unilbrk/lbrkprop2.h: Likewise.
59490         * lib/unilbrk/lbrktables.h: Likewise.
59491         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
59492         LBP_CP. Implement rule LB30.
59493         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
59494         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
59495         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
59496         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
59497         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
59498         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
59499         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
59500         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
59501         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
59502         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
59503         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
59504         bits instead of 16 bits in the code1 and code2 of each composition
59505         rule.
59506         (uc_composition): Update for Unicode 5.2.0.
59507         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
59508         * lib/uninorm/decomposition-table2.h: Likewise.
59509         * lib/uniwbrk/wbrkprop.h: Likewise.
59510         * tests/unicase/test-cased.c: Likewise.
59511         * tests/unicase/test-ignorable.c: Likewise.
59512         * tests/unicase/test-uc_tolower.c: Likewise.
59513         * tests/unicase/test-uc_totitle.c: Likewise.
59514         * tests/unicase/test-uc_toupper.c: Likewise.
59515         * tests/unictype/test-categ_C.c: Likewise.
59516         * tests/unictype/test-categ_Cf.c: Likewise.
59517         * tests/unictype/test-categ_Cn.c: Likewise.
59518         * tests/unictype/test-categ_L.c: Likewise.
59519         * tests/unictype/test-categ_Ll.c: Likewise.
59520         * tests/unictype/test-categ_Lm.c: Likewise.
59521         * tests/unictype/test-categ_Lo.c: Likewise.
59522         * tests/unictype/test-categ_Lu.c: Likewise.
59523         * tests/unictype/test-categ_M.c: Likewise.
59524         * tests/unictype/test-categ_Mc.c: Likewise.
59525         * tests/unictype/test-categ_Mn.c: Likewise.
59526         * tests/unictype/test-categ_N.c: Likewise.
59527         * tests/unictype/test-categ_Nd.c: Likewise.
59528         * tests/unictype/test-categ_Nl.c: Likewise.
59529         * tests/unictype/test-categ_No.c: Likewise.
59530         * tests/unictype/test-categ_P.c: Likewise.
59531         * tests/unictype/test-categ_Pd.c: Likewise.
59532         * tests/unictype/test-categ_Po.c: Likewise.
59533         * tests/unictype/test-categ_S.c: Likewise.
59534         * tests/unictype/test-categ_Sc.c: Likewise.
59535         * tests/unictype/test-categ_So.c: Likewise.
59536         * tests/unictype/test-ctype_alnum.c: Likewise.
59537         * tests/unictype/test-ctype_alpha.c: Likewise.
59538         * tests/unictype/test-ctype_graph.c: Likewise.
59539         * tests/unictype/test-ctype_lower.c: Likewise.
59540         * tests/unictype/test-ctype_print.c: Likewise.
59541         * tests/unictype/test-ctype_punct.c: Likewise.
59542         * tests/unictype/test-ctype_upper.c: Likewise.
59543         * tests/unictype/test-decdigit.h: Likewise.
59544         * tests/unictype/test-digit.h: Likewise.
59545         * tests/unictype/test-numeric.h: Likewise.
59546         * tests/unictype/test-pr_alphabetic.c: Likewise.
59547         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59548         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59549         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
59550         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59551         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59552         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59553         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59554         * tests/unictype/test-pr_combining.c: Likewise.
59555         * tests/unictype/test-pr_composite.c: Likewise.
59556         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59557         * tests/unictype/test-pr_dash.c: Likewise.
59558         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59559         * tests/unictype/test-pr_deprecated.c: Likewise.
59560         * tests/unictype/test-pr_diacritic.c: Likewise.
59561         * tests/unictype/test-pr_extender.c: Likewise.
59562         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59563         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59564         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59565         * tests/unictype/test-pr_id_continue.c: Likewise.
59566         * tests/unictype/test-pr_id_start.c: Likewise.
59567         * tests/unictype/test-pr_ideographic.c: Likewise.
59568         * tests/unictype/test-pr_ignorable_control.c: Likewise.
59569         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
59570         * tests/unictype/test-pr_lowercase.c: Likewise.
59571         * tests/unictype/test-pr_numeric.c: Likewise.
59572         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59573         * tests/unictype/test-pr_punctuation.c: Likewise.
59574         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59575         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59576         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59577         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59578         * tests/unictype/test-pr_uppercase.c: Likewise.
59579         * tests/unictype/test-pr_xid_continue.c: Likewise.
59580         * tests/unictype/test-pr_xid_start.c: Likewise.
59581         * tests/unictype/test-pr_zero_width.c: Likewise.
59582         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
59583         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
59584         changed behaviour: line breaking is now disallowed between a letter
59585         or '=' and '('.
59586         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59587         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59588         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59589         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
59590         * tests/uniwidth/test-uc_width2.sh: Same updates as in
59591         lib/uniwidth/width.c.
59592         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
59593         without comments, but with the original copyright notice.
59594         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
59595         changes.
59596         * lib/unictype/categ_Cc.h: Likewise.
59597         * lib/unictype/categ_Co.h: Likewise.
59598         * lib/unictype/categ_Cs.h: Likewise.
59599         * lib/unictype/categ_Lt.h: Likewise.
59600         * lib/unictype/categ_Me.h: Likewise.
59601         * lib/unictype/categ_Pc.h: Likewise.
59602         * lib/unictype/categ_Pe.h: Likewise.
59603         * lib/unictype/categ_Pf.h: Likewise.
59604         * lib/unictype/categ_Pi.h: Likewise.
59605         * lib/unictype/categ_Ps.h: Likewise.
59606         * lib/unictype/categ_Sk.h: Likewise.
59607         * lib/unictype/categ_Sm.h: Likewise.
59608         * lib/unictype/categ_Z.h: Likewise.
59609         * lib/unictype/categ_Zl.h: Likewise.
59610         * lib/unictype/categ_Zp.h: Likewise.
59611         * lib/unictype/categ_Zs.h: Likewise.
59612         * lib/unictype/ctype_blank.h: Likewise.
59613         * lib/unictype/ctype_cntrl.h: Likewise.
59614         * lib/unictype/ctype_digit.h: Likewise.
59615         * lib/unictype/ctype_space.h: Likewise.
59616         * lib/unictype/ctype_xdigit.h: Likewise.
59617         * lib/unictype/mirror.h: Likewise.
59618         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59619         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59620         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59621         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59622         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59623         * lib/unictype/pr_bidi_control.h: Likewise.
59624         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59625         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59626         * lib/unictype/pr_bidi_pdf.h: Likewise.
59627         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59628         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59629         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59630         * lib/unictype/pr_format_control.h: Likewise.
59631         * lib/unictype/pr_hex_digit.h: Likewise.
59632         * lib/unictype/pr_hyphen.h: Likewise.
59633         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59634         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59635         * lib/unictype/pr_iso_control.h: Likewise.
59636         * lib/unictype/pr_join_control.h: Likewise.
59637         * lib/unictype/pr_left_of_pair.h: Likewise.
59638         * lib/unictype/pr_line_separator.h: Likewise.
59639         * lib/unictype/pr_math.h: Likewise.
59640         * lib/unictype/pr_non_break.h: Likewise.
59641         * lib/unictype/pr_not_a_character.h: Likewise.
59642         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59643         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59644         * lib/unictype/pr_other_id_continue.h: Likewise.
59645         * lib/unictype/pr_other_id_start.h: Likewise.
59646         * lib/unictype/pr_other_lowercase.h: Likewise.
59647         * lib/unictype/pr_other_math.h: Likewise.
59648         * lib/unictype/pr_other_uppercase.h: Likewise.
59649         * lib/unictype/pr_paired_punctuation.h: Likewise.
59650         * lib/unictype/pr_paragraph_separator.h: Likewise.
59651         * lib/unictype/pr_pattern_syntax.h: Likewise.
59652         * lib/unictype/pr_pattern_white_space.h: Likewise.
59653         * lib/unictype/pr_private_use.h: Likewise.
59654         * lib/unictype/pr_quotation_mark.h: Likewise.
59655         * lib/unictype/pr_radical.h: Likewise.
59656         * lib/unictype/pr_soft_dotted.h: Likewise.
59657         * lib/unictype/pr_space.h: Likewise.
59658         * lib/unictype/pr_titlecase.h: Likewise.
59659         * lib/unictype/pr_variation_selector.h: Likewise.
59660         * lib/unictype/pr_white_space.h: Likewise.
59661         * lib/unictype/sy_c_ident.h: Likewise.
59662         * lib/unictype/sy_c_whitespace.h: Likewise.
59663         * lib/unictype/sy_java_whitespace.h: Likewise.
59664         * modules/uni*/*: Bump version number of expected libunistring version.
59665         Reported by Simon Josefsson.
59667 2011-01-09  Karl Heuer  <kwzh@gnu.org>
59669         useless-if-before-free: fix typo in --help and make the internal,
59670         automatic version date update process work once again.
59671         --help output contained a NUL character instead of the
59672         backslash-zero that was intended.  Also, the "must lie within
59673         the first 8 lines" line is on line 9, and hence not getting
59674         automatically updated.
59675         * build-aux/useless-if-before-free: Fix the former by adding a
59676         backslash, and the latter by condensing the three lines of what-it-does
59677         to a single line, leaving one line of slack for the future.
59679 2011-01-09  Bruno Haible  <bruno@clisp.org>
59681         uniwidth/width: Fix width of U+1D173..U+1D17A.
59682         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
59683         symbolic_width, output_width_property_test): New functions.
59684         (main): Invoke output_nonspacing_property, output_width_property_test.
59685         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
59686         U+1D173..U+1D17A.
59687         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
59688         1.
59689         * modules/uniwidth/*: Bump version number of expected libunistring
59690         version.
59691         * modules/unilbrk/*: Likewise.
59693 2011-01-08  Bruno Haible  <bruno@clisp.org>
59695         uninorm tests: Preserve copyright of Unicode data file.
59696         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
59697         Mention modifications.
59699 2011-01-08  Bruno Haible  <bruno@clisp.org>
59701         gen-uni-tables: Prepare for Unicode 5.2.0.
59702         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
59703         (debug_output_lbp, output_lbp): Update.
59705 2011-01-08  Bruno Haible  <bruno@clisp.org>
59707         unilbrk: Clarify gen-uni-tables.c code.
59708         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
59709         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
59710         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
59712 2011-01-07  Bruno Haible  <bruno@clisp.org>
59714         strtod: Restore errno when successfully parsing Infinity or NaN.
59715         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
59716         restore the original errno.
59718 2011-01-07  Bruno Haible  <bruno@clisp.org>
59720         remove test: Avoid failure on HP-UX 11.
59721         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
59723 2011-01-07  Bruno Haible  <bruno@clisp.org>
59725         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
59726         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
59727         error code.
59729 2011-01-07  Pádraig Brady  <P@draigBrady.com>
59731         ignore-value: fixup comments, and add Eric Blake
59732         as an author since he rewrote the macros.
59733         * lib/ignore-value.h (ignore_value):  State that
59734         we now support aggregates.  Also specify exactly
59735         when the GCC warn_unused_result feature was added.
59737 2011-01-06  Eric Blake  <eblake@redhat.com>
59739         ignore-value: support aggregate types
59740         * lib/ignore-value.h (ignore_value): Provide separate gcc
59741         definition.
59742         * modules/ignore-value-tests: New test module.
59743         * tests/test-ignore-value.c: New test.
59745         maint.mk: improve sc_prohibit_strcmp regex
59746         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
59747         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
59748         definition of STRNEQ.
59750         signal: work around Haiku issue with SIGBUS
59751         * lib/siglist.h: Add comment.
59752         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
59753         strsignal's favoring of SIGSEGV.
59754         * tests/test-signal.c (main): Avoid test failure.
59755         * doc/posix-headers/signal.texi (signal.h): Document the issue.
59756         Reported by Scott McCreary.
59758         maint.mk: add pre-release check to ensure submodule commits are public
59759         * top/maint.mk (public-submodule-commit): New rule.
59760         (submodule-checks): New variable.
59761         (alpha beta stable): Depend on the variable.
59763 2011-01-05  Pádraig Brady  <P@draigBrady.com>
59764         and Jim Meyering  <meyering@redhat.com>
59766         ignore-value: make ignore_value more generic; deprecate ignore_ptr
59767         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
59768         (ATTRIBUTE_DEPRECATED): Define.
59769         (_ignore_case): New function.
59770         (ignore_value): New macro, to replace the old function.
59771         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
59772         * modules/ignore-value (Depends-on): Add stdint.
59774 2011-01-04  Eric Blake  <eblake@redhat.com>
59776         doc: regenerate INSTALL
59777         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
59778         @firstparagraphindent support, now that autoconf dropped it.
59779         (INSTALL_PRELUDE): Reinstate old macro.
59780         * doc/install.texi: Resync from autoconf.
59781         * doc/INSTALL: Reflect recent autoconf update.
59782         * doc/INSTALL.ISO: Likewise.
59783         * doc/INSTALL.UTF-8: Likewise.
59784         Reported by Karl Berry.
59786 2011-01-04  Bruce Korb  <address@hidden>
59788         git-version-gen: avoid a sub-shell
59789         * build-aux/git-version-gen: Redirect stderr in `...` via
59790         "exec 2>...", rather than via an added sub-shell.
59792 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
59794         git-version-gen: use (...) rather than sh -c '...'
59795         * build-aux/git-version-gen: Rather than hard-coding a shell's name
59796         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
59798 2011-01-03  Jim Meyering  <meyering@redhat.com>
59800         git-version-gen: convert leading TABs to spaces
59801         * build-aux/git-version-gen: Expand leading TABs.
59803         git-version-gen: handle failed "git rev-list"
59804         * build-aux/git-version-gen: Rather than leaking a "fatal" error
59805         from git and proceeding as if it had succeeded but printed no SHA1
59806         checksums, suppress the diagnostic and handle the failure.
59807         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
59809         git-version-gen: include command name in one more diagnostic
59810         * build-aux/git-version-gen: When the required .tarball-version file
59811         was missing or unreadable, you might see the diagnostic from "cat",
59812         but no trace of the name of the invoking script.  Now, you still see
59813         the diagnostic from cat, but also get one from "git-version-gen: ".
59814         Inspired by a patch from Bruce Korb.
59816         update-copyright: adjust test to match changed code
59817         * tests/test-update-copyright.sh: Change test's expected output
59818         to match new actual output.
59820 2011-01-02  Bruno Haible  <bruno@clisp.org>
59822         getlogin_r: Avoid test failure on HP-UX 11.
59823         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
59824         ERANGE when the second argument is zero.
59825         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
59826         portability problem.
59828 2011-01-02  Bruce Korb  <bkorb@gnu.org>
59830         * build-aux/update-copyright: doc Simon's changes
59832 2011-01-02  Simon Josefsson  <simon@josefsson.org>
59834         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
59835         environment variable.
59837 2011-01-02  Bruno Haible  <bruno@clisp.org>
59839         unigbrk: Avoid gcc warnings.
59840         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
59841         unused variable.
59842         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
59843         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
59844         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
59845         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
59846         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
59847         Change type of first argument to 'const char *'.
59848         (main): Remove unused variable.
59849         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
59850         type of first argument to 'const char *'.
59851         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
59852         Likewise.
59853         (main): Change type of variable 's'.
59854         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
59855         to 'int'.
59857 2011-01-02  Bruno Haible  <bruno@clisp.org>
59859         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
59860         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
59861         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
59862         bug.
59863         * lib/pwrite.c: Undo 2010-12-31 patch.
59864         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
59866 2011-01-02  Bruno Haible  <bruno@clisp.org>
59868         pread: Fix test whether it works.
59869         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
59871 2011-01-02  Bruno Haible  <bruno@clisp.org>
59873         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
59874         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
59875         ends in "6". Don't require a specific month name. Try also the locale
59876         names found on HP-UX 11 and Solaris 7.
59878 2011-01-02  Bruno Haible  <bruno@clisp.org>
59880         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
59881         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
59882         C linkage.
59883         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
59885 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
59887         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
59888         for consistency, since the "cluster" term is not used elsewhere.
59889         * lib/unigbrk.in.h: Update name.
59890         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
59891         * lib/unigbrk/u16-grapheme-next.c: Update name.
59892         * lib/unigbrk/u16-grapheme-prev.c: Update name.
59893         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
59894         * lib/unigbrk/u32-grapheme-next.c: Update name.
59895         * lib/unigbrk/u32-grapheme-prev.c: Update name.
59896         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
59897         * lib/unigbrk/u8-grapheme-next.c: Update name.
59898         * lib/unigbrk/u8-grapheme-prev.c: Update name.
59899         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
59900         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
59901         Suggested by Bruno Haible.
59903 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
59905         Remove module 'u8-grapheme-len' as too redundant with
59906         'u8-grapheme-next'.
59907         * modules/unigbrk/u8-grapheme-len: Delete file.
59908         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
59909         * lib/unigbrk.in.h: Remove prototype for deleted function.
59910         * lib/unigbrk/u8-grapheme-len.c: Delete file.
59911         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
59913         Remove module 'u16-grapheme-len' as too redundant with
59914         'u16-grapheme-next'.
59915         * modules/unigbrk/u16-grapheme-len: Delete file.
59916         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
59917         * lib/unigbrk.in.h: Remove prototype for deleted function.
59918         * lib/unigbrk/u16-grapheme-len.c: Delete file.
59919         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
59921         Remove module 'u32-grapheme-len' as too redundant with
59922         'u32-grapheme-next'.
59923         * modules/unigbrk/u32-grapheme-len: Delete file.
59924         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
59925         * lib/unigbrk.in.h: Remove prototype for deleted function.
59926         * lib/unigbrk/u32-grapheme-len.c: Delete file.
59927         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
59929         Suggested by Bruno Haible.
59931 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
59933         * unigbrk.in.h: Fix typo: "ben" => "been".
59934         Reported by Bruno Haible.
59936 2011-01-01  Jim Meyering  <meyering@redhat.com>
59938         maint: update almost all copyright ranges to include 2011
59939         Run the new "make update-copyright" rule.
59941 2011-01-01  Jim Meyering  <meyering@redhat.com>
59943         maint: update-copyright: exempt doc/INSTALL*
59944         * Makefile (update-copyright): Also exclude doc/INSTALL*,
59945         since they are generated.  Suggested by Bruno Haible.
59947 2011-01-01  Jim Meyering  <meyering@redhat.com>
59949         maint: refine the update-copyright rule
59950         * Makefile (update-copyright): Also exclude any file that includes
59951         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
59952         code that merely generates the comment.
59954 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
59956         New module 'u8-grapheme-len'.
59957         * modules/unigbrk/u8-grapheme-len: New file.
59958         * modules/unigbrk/u8-grapheme-len-tests: New file.
59959         * lib/unigbrk.in.h: Add prototype for new function.
59960         * lib/unigbrk/u8-grapheme-len.c: New file.
59961         * tests/unigbrk/test-u8-grapheme-len.c: New file.
59963         New module 'u16-grapheme-len'.
59964         * modules/unigbrk/u16-grapheme-len: New file.
59965         * modules/unigbrk/u16-grapheme-len-tests: New file.
59966         * lib/unigbrk.in.h: Add prototype for new function.
59967         * lib/unigbrk/u16-grapheme-len.c: New file.
59968         * tests/unigbrk/test-u16-grapheme-len.c: New file.
59970         New module 'u32-grapheme-len'.
59971         * modules/unigbrk/u32-grapheme-len: New file.
59972         * modules/unigbrk/u32-grapheme-len-tests: New file.
59973         * lib/unigbrk.in.h: Add prototype for new function.
59974         * lib/unigbrk/u32-grapheme-len.c: New file.
59975         * tests/unigbrk/test-u32-grapheme-len.c: New file.
59977         New module 'u8-grapheme-next'.
59978         * modules/unigbrk/u8-grapheme-next: New file.
59979         * modules/unigbrk/u8-grapheme-next-tests: New file.
59980         * lib/unigbrk.in.h: Add prototype for new function.
59981         * lib/unigbrk/u8-grapheme-next.c: New file.
59982         * tests/unigbrk/test-u8-grapheme-next.c: New file.
59984         New module 'u16-grapheme-next'.
59985         * modules/unigbrk/u16-grapheme-next: New file.
59986         * modules/unigbrk/u16-grapheme-next-tests: New file.
59987         * lib/unigbrk.in.h: Add prototype for new function.
59988         * lib/unigbrk/u16-grapheme-next.c: New file.
59989         * tests/unigbrk/test-u16-grapheme-next.c: New file.
59991         New module 'u32-grapheme-next'.
59992         * modules/unigbrk/u32-grapheme-next: New file.
59993         * modules/unigbrk/u32-grapheme-next-tests: New file.
59994         * lib/unigbrk.in.h: Add prototype for new function.
59995         * lib/unigbrk/u32-grapheme-next.c: New file.
59996         * tests/unigbrk/test-u32-grapheme-next.c: New file.
59998         New module 'u8-grapheme-prev'.
59999         * modules/unigbrk/u8-grapheme-prev: New file.
60000         * modules/unigbrk/u8-grapheme-prev-tests: New file.
60001         * lib/unigbrk.in.h: Add prototype for new function.
60002         * lib/unigbrk/u8-grapheme-prev.c: New file.
60003         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
60005         New module 'u16-grapheme-prev'.
60006         * modules/unigbrk/u16-grapheme-prev: New file.
60007         * modules/unigbrk/u16-grapheme-prev-tests: New file.
60008         * lib/unigbrk.in.h: Add prototype for new function.
60009         * lib/unigbrk/u16-grapheme-prev.c: New file.
60010         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
60012         New module 'u32-grapheme-prev'.
60013         * modules/unigbrk/u32-grapheme-prev: New file.
60014         * modules/unigbrk/u32-grapheme-prev-tests: New file.
60015         * lib/unigbrk.in.h: Add prototype for new function.
60016         * lib/unigbrk/u32-grapheme-prev.c: New file.
60017         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
60019         New module 'u8-grapheme-breaks'.
60020         * modules/unigbrk/u8-grapheme-breaks: New file.
60021         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
60022         * lib/unigbrk.in.h: Add prototype for new function.
60023         * lib/unigbrk/u8-grapheme-breaks.c: New file.
60024         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
60026         New module 'u16-grapheme-breaks'.
60027         * modules/unigbrk/u16-grapheme-breaks: New file.
60028         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
60029         * lib/unigbrk.in.h: Add prototype for new function.
60030         * lib/unigbrk/u16-grapheme-breaks.c: New file.
60031         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
60033         New module 'u32-grapheme-breaks'.
60034         * modules/unigbrk/u32-grapheme-breaks: New file.
60035         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
60036         * lib/unigbrk.in.h: Add prototype for new function.
60037         * lib/unigbrk/u32-grapheme-breaks.c: New file.
60038         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
60040         New module 'ulc-grapheme-breaks'.
60041         * modules/unigbrk/ulc-grapheme-breaks: New file.
60042         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
60043         * m4/locale-ar.m4: New file.
60044         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
60045         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
60046         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
60048 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
60050         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
60051         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
60052         modified how this file was generated before I initially submitted
60053         the module, but failed to regenerate it.  This meant that several
60054         of the level2 entries were wrong.
60055         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
60056         Remove the division-by-2 that is folded into the table now that
60057         gbrkprop.h has been regenerated properly.  Now -1 entries are
60058         handled correctly.
60060         New module 'unigbrk/uc-gbrk-prop-tests'.
60061         * modules/unigbrk/uc-gbrk-prop-tests: New file.
60062         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
60063         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
60064         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
60066 2011-01-01  Bruno Haible  <bruno@clisp.org>
60068         Avoid use of hexadecimal escapes.
60069         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
60070         instead of hexadecimal escapes.
60072 2011-01-01  Jim Meyering  <meyering@redhat.com>
60074         maint: new rule to update copyright year ranges
60075         * Makefile (update-copyright): New rule.
60077         maint: indent with TABs in Makefile
60078         * Makefile: Expand leading sequences of spaces to TABs
60080         version-etc: update the copyright year it reports
60081         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
60083 2010-12-31  Bruno Haible  <bruno@clisp.org>
60085         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
60086         * lib/isfinite.c (zerof, zerod, zerol): New variables.
60087         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
60088         zero.
60090 2010-12-31  Bruno Haible  <bruno@clisp.org>
60092         pwrite: Work around HP-UX 11.11 bug.
60093         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
60094         works and set REPLACE_PWRITE if not.
60095         * lib/pwrite.c (pwrite): Add an implementation that uses the system
60096         function.
60097         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
60099 2010-12-31  Bruno Haible  <bruno@clisp.org>
60101         pread: Work around HP-UX 11 bugs.
60102         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
60103         and set REPLACE_PREAD if not.
60104         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
60106 2010-12-31  Eric Blake  <eblake@redhat.com>
60108         nl_langinfo: fix YESEXPR on Irix 6.5
60109         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
60110         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
60111         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
60112         it.
60114 2010-12-31  Bruno Haible  <bruno@clisp.org>
60116         iconv: Document HP-UX 11 bug.
60117         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
60119 2010-12-31  Bruno Haible  <bruno@clisp.org>
60121         ldexpl: Fix link error on HP-UX 11.
60122         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
60123         LDEXPL_LIBM, using $ISNANL_LIBM.
60125 2010-12-31  Eric Blake  <eblake@redhat.com>
60127         ftello: avoid compilation failure with SunStudio c89
60128         * lib/ftello.c (ftello): Use lseek, not llseek.
60130         tests: avoid failing coreutils tests on cygwin
60131         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
60132         (create_exe_shims_): Return 0 when skipping.
60134 2010-12-31  Bruno Haible  <bruno@clisp.org>
60136         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
60137         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
60139 2010-12-31  Bruno Haible  <bruno@clisp.org>
60141         waitpid: Fix link error in C++ mode.
60142         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
60144 2010-12-31  Bruno Haible  <bruno@clisp.org>
60146         isnan: Use GCC built-ins when possible.
60147         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
60148         __builtin_isnan.
60149         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
60150         (isnan): Define using GCC built-ins for GCC >= 4.0.
60152 2010-12-31  Bruno Haible  <bruno@clisp.org>
60154         isnand: Fix mistake.
60155         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
60156         __builtin_isnand.
60158 2010-12-31  Bruno Haible  <bruno@clisp.org>
60160         open: Avoid C++ error on HP-UX 11.
60161         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
60163 2010-12-31  Bruno Haible  <bruno@clisp.org>
60165         time_r: Add missing declarations on HP-UX 11.
60166         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
60167         instead of HAVE_LOCALTIME_R.
60168         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
60169         HAVE_LOCALTIME_R always.
60170         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
60171         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
60172         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
60173         HAVE_LOCALTIME_R.
60174         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
60175         * doc/posix-functions/localtime_r.texi: Likewise.
60177 2010-12-29  Eric Blake  <eblake@redhat.com>
60179         mountlist: tweak previous commit
60180         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
60181         Reported by Paul Eggert.
60183         mountlist: fix local drive detection on cygwin
60184         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
60185         that works for cygwin.
60187 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60189         ftoastr, snprintf: ftoastr + snprintf module
60190         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
60191         since the snprintf module now should be good enough here.
60192         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
60193         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
60194         and gl_MODULE_INDICATOR([snprintf]), but the former enables
60195         GNULIB_SNPRINTF only for the test directory, and the latter
60196         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
60197         seems to suffice by itself.
60199 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60201         alloca: one step towards thread-safety
60202         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
60203         need for a static variable.  All callers changed.  This does not
60204         make the alloca replacement thread-safe, but it's one step.
60206         tests: minor indenting change
60207         * tests/init.sh: Sync from coreutils housekeeping patch
60208         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
60209         to keep lines within 80 columns.
60211 2010-12-28  Jim Meyering  <meyering@redhat.com>
60213         regex: don't infloop on persistent failing calloc
60214         * lib/regexec.c (build_trtable): Return failure indication upon
60215         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
60216         In glibc, this was fixed for version 2.13:
60217         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
60219 2010-12-28  Bruno Haible  <bruno@clisp.org>
60220             Paul Eggert <eggert@cs.ucla.edu>
60222         linkat: Make implementation robust against system behaviour variations.
60223         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
60224         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
60225         way, and to -2 if it needs a generic runtime test.
60226         * lib/linkat.c (solaris_optimized_link_immediate,
60227         solaris_optimized_link_follow): New functions.
60228         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
60229         (check_same_link): Use it.
60231 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
60233         New module 'unigbrk/base'.
60234         * modules/unigbrk/base: New file.
60235         * lib/unigbrk.in.h: New file.
60237         New module 'unigbrk/uc-gbrk-prop'.
60238         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
60239         * modules/unigbrk/uc-gbrk-prop: New file.
60240         * lib/unigbrk/gbrkprop.h: New file.
60241         * lib/unigbrk/uc-gbrk-prop.c: New file.
60243         New module 'unigbrk/uc-is-grapheme-break'.
60244         * modules/unigbrk/uc-is-grapheme-break: New file.
60245         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
60246         * lib/unigbrk/uc-is-grapheme-break.c: New file.
60247         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
60248         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
60249         * tests/unigbrk/GraphemeBreakTest.txt: New file.
60251         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
60253 2010-12-27  Bruno Haible  <bruno@clisp.org>
60255         linkat test: Avoid failure on Solaris 11 2010-11.
60256         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
60258 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
60260         utimens: work around glibc rounding bug on more platforms
60261         * lib/utimens.c (fdutimens): Work around rounding bug even if
60262         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
60263         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
60265 2010-12-27  Bruno Haible  <bruno@clisp.org>
60267         select tests: Improve comments.
60268         * tests/test-select.c (do_select): Add comments.
60270 2010-12-27  Bruno Haible  <bruno@clisp.org>
60272         select tests: Safer way of handling timeout.
60273         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
60274         at every invocation.
60276 2010-12-27  Bruno Haible  <bruno@clisp.org>
60278         select tests: Use 'bool' where appropriate.
60279         * tests/test-select.c (connect_to_socket): Change argument type to
60280         'bool'.
60282 2010-12-27  Bruno Haible  <bruno@clisp.org>
60284         select tests: Use existing modules.
60285         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
60286         (configure.ac): Don't test for unistd.h.
60287         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
60288         declared in <unistd.h>.
60290 2010-12-27  Bruno Haible  <bruno@clisp.org>
60292         mbrtowc: Work around a Solaris 7 bug.
60293         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
60294         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
60295         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
60296         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
60297         MBRTOWC_NULL_ARG1_BUG.
60298         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
60299         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
60300         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
60301         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
60303 2010-12-27  Jim Meyering  <meyering@redhat.com>
60305         read-file.c: tweak syntax
60306         * lib/read-file.c (fread_file): Remove space after "*" in function
60307         definitions.
60309 2010-12-27  Bruno Haible  <bruno@clisp.org>
60311         times test: Avoid gcc warnings on OSF/1.
60312         * tests/test-times.c (main): Cast printf arguments from clock_t to
60313         'long int'.
60315 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
60317         utimens: work around glibc rounding bug on older Linux kernels
60318         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
60319         on Linux with a glibc whose utimes might not work, then work
60320         around a longstanding glibc bug involving rounding rather than
60321         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
60322         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
60324 2010-12-26  Bruno Haible  <bruno@clisp.org>
60326         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
60327         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
60328         _GL_CXXALIAS_SYS.
60329         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60331 2010-12-26  Bruno Haible  <bruno@clisp.org>
60333         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
60334         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
60335         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
60336         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
60337         looking for the declaration.
60338         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
60339         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
60340         problem.
60341         * doc/posix-functions/inet_pton.texi: Likewise.
60343 2010-12-26  Bruno Haible  <bruno@clisp.org>
60345         arpa_inet: Use the common idioms with C++ support.
60346         * lib/arpa_inet.in.h: Include c++defs.h.
60347         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
60348         support.
60349         * modules/arpa_inet (Depends-on): Add c++defs.
60350         (Makefile.am): Substitute the contents of c++defs.h.
60351         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
60352         * modules/arpa_inet-c++-tests: New file.
60353         * tests/test-arpa_inet-c++.cc: New file.
60355 2010-12-25  Bruno Haible  <bruno@clisp.org>
60357         Fix more C++ link errors on Solaris 8.
60358         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
60359         $(LIB_EACCESS).
60360         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
60361         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
60362         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
60363         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
60364         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
60366 2010-12-25  Bruno Haible  <bruno@clisp.org>
60368         printf-posix: Fix link error when a non-GCC compiler is used.
60369         * lib/stdio.in.h (printf): When not using GCC, override printf
60370         correctly.
60371         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60373 2010-12-25  Bruno Haible  <bruno@clisp.org>
60375         strerror_r-posix: Update doc.
60376         * doc/posix-functions/strerror_r.texi: Update doc about the return
60377         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
60379 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60381         utimens: simplify the logic of the previous change
60382         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
60383         This should not affect whether the test succeeds or fails.
60385         utimens: configure better on hosts with NFS clock skew
60386         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
60387         uses the clock of the local host.  It might use the clock of the
60388         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
60389         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
60391 2010-12-25  Bruno Haible  <bruno@clisp.org>
60393         ptsname test: Avoid failure on Solaris.
60394         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
60395         open a pseudo-terminal; don't use BSD-style ptys.
60396         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
60398 2010-12-25  Bruno Haible  <bruno@clisp.org>
60400         ptsname: Avoid ERANGE failure on some systems.
60401         * lib/ptsname.c (buffer): Increase size.
60403 2010-12-25  Bruno Haible  <bruno@clisp.org>
60405         rename, renameat: Avoid test failures at NFS mounted locations.
60406         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
60407         so that subsequent mkdir calls succeed.
60409 2010-12-25  Bruno Haible  <bruno@clisp.org>
60411         iswblank: Fix C++ link error on Solaris 8.
60412         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
60413         _GL_FUNCDECL_SYS.
60415 2010-12-25  Bruno Haible  <bruno@clisp.org>
60417         unistd: Fix C++ link error on Solaris 8.
60418         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
60420 2010-12-25  Bruno Haible  <bruno@clisp.org>
60422         readlink doc: Mention an old glibc bug.
60423         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
60425 2010-12-25  Bruno Haible  <bruno@clisp.org>
60427         fcntl-h: Fix for use of C++ on glibc systems.
60428         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
60429         also on glibc systems in C++ mode.
60430         Reported by Gary V. Vaughan <gary@gnu.org>.
60432 2010-12-25  Bruno Haible  <bruno@clisp.org>
60434         roundl-ieee: Make it work on OSF/1 5.1 with cc.
60435         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
60437 2010-12-25  Bruno Haible  <bruno@clisp.org>
60439         truncl-ieee: Make it work on OSF/1 5.1 with cc.
60440         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
60441         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
60442         test whether truncl works according to ISO C 99 with IEC 60559.
60443         * m4/truncl-ieee.m4: New file.
60444         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
60445         m4/signbit.m4.
60446         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
60448 2010-12-25  Bruno Haible  <bruno@clisp.org>
60450         ceill-ieee: Make it work on OSF/1 5.1 with cc.
60451         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
60452         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
60453         test whether ceill works according to ISO C 99 with IEC 60559.
60454         * m4/ceill-ieee.m4: New file.
60455         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
60456         m4/signbit.m4.
60457         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
60459 2010-12-25  Bruno Haible  <bruno@clisp.org>
60461         Ensure all prerequisites of <wchar.h> are included.
60462         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
60463         before <wchar.h>.
60464         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
60465         gl_MBRLEN_NUL_RETVAL): Likewise.
60466         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
60467         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
60468         AC_FUNC_MBRTOWC): Likewise.
60469         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
60470         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60471         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
60472         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
60473         Likewise.
60474         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
60475         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
60476         (gl_WCHAR_H): Improve comments.
60477         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
60479 2010-12-25  Bruno Haible  <bruno@clisp.org>
60481         strtok_r: Fix C syntax error in autoconf macro.
60482         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
60483         characters in test program.
60485 2010-12-24  Bruno Haible  <bruno@clisp.org>
60487         ceil, trunc, round: Fix gcc warnings.
60488         * lib/ceil.c (MIN): Undefine before redefining.
60489         * lib/trunc.c (MIN): Likewise.
60490         * lib/round.c (MIN): Likewise.
60491         Include <math.h> first.
60493 2010-12-24  Bruno Haible  <bruno@clisp.org>
60495         select tests: Avoid failures on OSF/1 5.1.
60496         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
60497         failure of closing the last socket; it may fail with ECONNRESET.
60499 2010-12-24  Eric Blake  <eblake@redhat.com>
60501         stdint: avoid HP-UX 10.20 preprocessor bug
60502         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
60503         than #if.
60504         * tests/test-floor2.c (main): Likewise.
60505         Reported by Peter O'Gorman.
60507         pipe: make obsoletion transition easier
60508         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
60509         * modules/pipe (Files): Include revived file.
60510         (Include): Drop reference, to mirror getdate's behavior.
60512 2010-12-24  Bruno Haible  <bruno@clisp.org>
60514         sys_socket: Hide mismatch of declarations on NonStop Kernel.
60515         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
60516         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
60517         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60519 2010-12-24  Bruno Haible  <bruno@clisp.org>
60521         gethostname: Ensure declaration on NonStop Kernel.
60522         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
60523         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60525 2010-12-24  Bruno Haible  <bruno@clisp.org>
60527         sys_select: Ensure all necessary types on NonStop Kernel.
60528         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
60529         include <sys/time.h>.
60530         * doc/posix-headers/sys_select.texi: Mention that it's missing on
60531         NonStop Kernel.
60532         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60534 2010-12-24  Bruno Haible  <bruno@clisp.org>
60536         sys_select: Remove unneeded include.
60537         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
60538         have <sys/select.h>.
60540 2010-12-24  Bruno Haible  <bruno@clisp.org>
60542         gethostname: Provide a fallback for HOST_NAME_MAX.
60543         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
60544         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
60545         instead.
60546         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60548 2010-12-24  Bruno Haible  <bruno@clisp.org>
60550         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
60551         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
60552         (SA_RESTART): Likewise.
60553         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60555 2010-12-24  Bruno Haible  <bruno@clisp.org>
60557         signal: Define NSIG.
60558         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
60559         * tests/test-signal.c (nsig): New variable.
60560         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60562 2010-12-24  Bruno Haible  <bruno@clisp.org>
60564         rename, renameat: Avoid test failures on OSF/1 5.1.
60565         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
60566         alternative error codes.
60567         * tests/test-renameat.c (main): Likewise.
60569 2010-12-24  Bruno Haible  <bruno@clisp.org>
60571         *printf: Detect large precisions bug on Solaris 10/SPARC.
60572         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
60573         by Paul Eggert.
60574         * tests/test-snprintf-posix.h (test_function): Add this test code here
60575         too.
60576         * tests/test-sprintf-posix.h (test_function): Likewise.
60577         * tests/test-vasnprintf-posix.c (test_function): Likewise.
60578         * tests/test-vasprintf-posix.c (test_function): Likewise.
60579         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
60580         around by gnulib.
60581         * doc/posix-functions/printf.texi: Likewise.
60582         * doc/posix-functions/snprintf.texi: Likewise.
60583         * doc/posix-functions/sprintf.texi: Likewise.
60584         * doc/posix-functions/vfprintf.texi: Likewise.
60585         * doc/posix-functions/vprintf.texi: Likewise.
60586         * doc/posix-functions/vsnprintf.texi: Likewise.
60587         * doc/posix-functions/vsprintf.texi: Likewise.
60588         * doc/posix-functions/dprintf.texi: Undo last commit.
60589         * doc/posix-functions/vdprintf.texi: Likewise.
60591 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60593         tests: port test-fdutimensat.c to Solaris 8
60594         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
60595         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
60596         On Solaris 8, it fails with errno == ENOSYS, because there is no
60597         futimens (so it can't use the fd), and there is no lutimens (so it
60598         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
60600         vsnprintf: make more consistent with snprintf; doc fixes
60602         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
60603         the byte count return problem was promoted from the snprintf-posix
60604         to the snprintf module.
60605         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
60606         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
60607         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
60608         * tests/test-snprintf.c (main): Check the byte count returned.
60609         * tests/test-vsnprintf.c (main): Likewise.
60611 2010-12-23  Eric Blake  <eblake@redhat.com>
60613         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
60614         * modules/sigpipe (License): Relax license.
60616 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
60618         doc: document Solaris printf bug with large float precisions
60619         * doc/posix-functions/dprintf.texi (dprintf):
60620         * doc/posix-functions/fprintf.texi (fprintf):
60621         * doc/posix-functions/printf.texi (printf):
60622         * doc/posix-functions/snprintf.texi (snprintf):
60623         * doc/posix-functions/sprintf.texi (sprintf):
60624         * doc/posix-functions/vdprintf.texi (vdprintf):
60625         * doc/posix-functions/vfprintf.texi (vfprintf):
60626         * doc/posix-functions/vprintf.texi (vprintf):
60627         * doc/posix-functions/vsnprintf.texi (vsnprintf):
60628         * doc/posix-functions/vsprintf.texi (vsprintf):
60629         Mention that these functions mishandle large floating point
60630         precisions on Solaris 10.  The same bug is also present in Solaris
60631         8, and I assume earlier.  This causes "cd gnulib-tests; make
60632         check" to fail on Solaris 8 (and I assume, later) when building
60633         the latest coreutils, in test-vasprintf-posix's call to
60634         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
60635         the wide flavors (e.g., wprintf) so this patch just updates the
60636         documentation for the narrow ones.
60638         test-posixtm.c: add two tests
60639         * tests/test-posixtm.c: Add two tests, to highlight the
60640         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
60641         around this bug; this is merely to document it.
60643 2010-12-22  Bruno Haible  <bruno@clisp.org>
60645         getlogin_r: Work around portability problem on OSF/1.
60646         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
60647         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
60648         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
60649         test for a truncated result.
60650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
60651         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
60652         * modules/getlogin_r (Depends-on): Add memchr.
60653         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
60655 2010-12-22  Bruno Haible  <bruno@clisp.org>
60657         ptsname: Avoid test failure on OSF/1 5.1.
60658         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
60659         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
60660         (same_slave): New function.
60661         (main): Use it to compare ptsname's result with the expected file name.
60663 2010-12-22  Bruno Haible  <bruno@clisp.org>
60665         Port extended stdio modules to HP NonStop Kernel.
60666         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
60667         macros.
60668         * lib/fbufmode.c: Update comments.
60669         * lib/fflush.c: Likewise.
60670         * lib/fpurge.c: Likewise.
60671         * lib/freadable.c: Likewise.
60672         * lib/freadahead.c: Likewise.
60673         * lib/freading.c: Likewise.
60674         * lib/freadptr.c: Likewise.
60675         * lib/freadseek.c: Likewise.
60676         * lib/fseeko.c: Likewise.
60677         * lib/fseterr.c: Likewise.
60678         * lib/fwritable.c: Likewise.
60679         * lib/fwriting.c: Likewise.
60680         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
60682 2010-12-22  Bruno Haible  <bruno@clisp.org>
60684         ttyname_r: Work around bug on OSF/1 5.1.
60685         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
60686         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
60687         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
60688         present.
60689         * lib/ttyname_r.c (ttyname_r): Update comments.
60691 2010-12-22  Bruno Haible  <bruno@clisp.org>
60693         round: Implement result sign according to IEEE 754.
60694         * lib/round.c (MIN, MINUS_ZERO): New macros.
60695         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
60696         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
60697         * tests/test-round-ieee.c (main): Likewise.
60698         * tests/test-roundl-ieee.c (main): Likewise.
60700         trunc: Implement result sign according to IEEE 754.
60701         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
60702         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
60703         * tests/test-trunc2.c: Include minus-zero.h.
60704         (MINUS_ZERO): New macro.
60705         (trunc_reference): Keep in sync with lib/trunc.c.
60706         * tests/test-truncf2.c: Include minus-zero.h.
60707         (MINUS_ZERO): New macro.
60708         (truncf_reference): Keep in sync with lib/trunc.c.
60709         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
60710         * tests/test-trunc-ieee.c (main): Likewise.
60711         * tests/test-truncl-ieee.c (main): Likewise.
60713         ceil: Implement result sign according to IEEE 754.
60714         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
60715         (FUNC): Return -0.0 for -1 < x < 0.
60716         * tests/test-ceil2.c: Include minus-zero.h.
60717         (MINUS_ZERO): New macro.
60718         (ceil_reference): Keep in sync with lib/ceil.c.
60719         * tests/test-ceilf2.c: Include minus-zero.h.
60720         (MINUS_ZERO): New macro.
60721         (ceilf_reference): Keep in sync with lib/ceil.c.
60722         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
60723         * tests/test-ceil-ieee.c (main): Likewise.
60724         * tests/test-ceill-ieee.c (main): Likewise.
60726         floor: Implement result sign according to IEEE 754.
60727         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
60728         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
60729         * tests/test-floorf2.c (floorf_reference): Likewise.
60730         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
60731         * tests/test-floor-ieee.c (main): Likewise.
60732         * tests/test-floorl-ieee.c (main): Likewise.
60734 2010-12-22  Bruno Haible  <bruno@clisp.org>
60736         getaddrinfo: Update doc.
60737         * doc/posix-functions/gai_strerror.texi: Return type is also different
60738         on AIX and HP-UX.
60740 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
60742         getaddrinfo, inet_ntop: Update doc for Solaris.
60743         * doc/posix-functions/gai_strerror.texi: Return type is also an
60744         issue on Solaris 9 and earlier.
60745         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
60746         on Solaris 10 and earlier.
60748 2010-12-21  Bruno Haible  <bruno@clisp.org>
60750         New module 'roundl-ieee'.
60751         * modules/roundl-ieee: New file.
60752         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
60753         test whether roundl works according to ISO C 99 with IEC 60559.
60754         * m4/roundl-ieee.m4: New file.
60755         * modules/roundl-ieee-tests: New file.
60756         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
60757         * tests/test-roundl.c (main): Remove signbit tests.
60758         * modules/roundl-tests (Depends-on): Remove signbit.
60759         * doc/posix-functions/roundl.texi: Mention the new module.
60761 2010-12-21  Bruno Haible  <bruno@clisp.org>
60763         New module 'truncl-ieee'.
60764         * modules/truncl-ieee: New file.
60765         * modules/truncl-ieee-tests: New file.
60766         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
60767         * tests/test-truncl.c (main): Remove signbit tests.
60768         * modules/truncl-tests (Depends-on): Remove signbit.
60769         * doc/posix-functions/truncl.texi: Mention the new module.
60771 2010-12-21  Bruno Haible  <bruno@clisp.org>
60773         New module 'ceill-ieee'.
60774         * modules/ceill-ieee: New file.
60775         * modules/ceill-ieee-tests: New file.
60776         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
60777         * tests/test-ceill.c (main): Remove signbit tests.
60778         * modules/ceill-tests (Depends-on): Remove signbit.
60779         * doc/posix-functions/ceill.texi: Mention the new module.
60781 2010-12-21  Bruno Haible  <bruno@clisp.org>
60783         New module 'floorl-ieee'.
60784         * modules/floorl-ieee: New file.
60785         * modules/floorl-ieee-tests: New file.
60786         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
60787         * tests/test-floorl.c (main): Remove signbit tests.
60788         * modules/floorl-tests (Depends-on): Remove signbit.
60789         * doc/posix-functions/floorl.texi: Mention the new module.
60791 2010-12-21  Bruno Haible  <bruno@clisp.org>
60793         New module 'round-ieee'.
60794         * modules/round-ieee: New file.
60795         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
60796         whether round works according to ISO C 99 with IEC 60559.
60797         * m4/round-ieee.m4: New file.
60798         * modules/round-ieee-tests: New file.
60799         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
60800         * tests/test-round1.c (main): Remove signbit tests.
60801         * modules/round-tests (Depends-on): Remove 'signbit'.
60802         * doc/posix-functions/round.texi: Mention the new module.
60804 2010-12-21  Bruno Haible  <bruno@clisp.org>
60806         New module 'trunc-ieee'.
60807         * modules/trunc-ieee: New file.
60808         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
60809         whether trunc works according to ISO C 99 with IEC 60559.
60810         * m4/trunc-ieee.m4: New file.
60811         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
60812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
60813         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
60814         * modules/trunc-ieee-tests: New file.
60815         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
60816         * tests/test-trunc1.c (main): Remove signbit tests.
60817         * modules/trunc-tests (Depends-on): Remove 'signbit'.
60818         * doc/posix-functions/trunc.texi: Mention the new module.
60820 2010-12-21  Bruno Haible  <bruno@clisp.org>
60822         New module 'ceil-ieee'.
60823         * modules/ceil-ieee: New file.
60824         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
60825         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
60826         ISO C 99 with IEC 60559.
60827         * m4/ceil-ieee.m4: New file.
60828         * modules/ceil (Files): Add lib/ceil.c.
60829         (Depends-on): Add 'float'.
60830         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
60831         * lib/math.in.h (ceil): New declaration.
60832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
60833         REPLACE_CEIL.
60834         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
60835         * modules/ceil-ieee-tests: New file.
60836         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
60837         * tests/test-math-c++.cc: Check the signature of 'ceil'.
60838         * doc/posix-functions/ceil.texi: Mention the new module.
60840 2010-12-21  Bruno Haible  <bruno@clisp.org>
60842         New module 'floor-ieee'.
60843         * modules/floor-ieee: New file.
60844         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
60845         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
60846         ISO C 99 with IEC 60559.
60847         * m4/floor-ieee.m4: New file.
60848         * modules/floor (Files): Add lib/floor.c.
60849         (Depends-on): Add 'float'.
60850         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
60851         * lib/math.in.h (floor): New declaration.
60852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
60853         REPLACE_FLOOR.
60854         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
60855         * modules/floor-ieee-tests: New file.
60856         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
60857         * tests/test-math-c++.cc: Check the signature of 'floor'.
60858         * doc/posix-functions/floor.texi: Mention the new module.
60860 2010-12-21  Bruno Haible  <bruno@clisp.org>
60862         New module 'roundf-ieee'.
60863         * modules/roundf-ieee: New file.
60864         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
60865         test whether roundf works according to ISO C 99 with IEC 60559.
60866         * m4/roundf-ieee.m4: New file.
60867         * modules/roundf-ieee-tests: New file.
60868         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
60869         * tests/test-roundf1.c (main): Remove signbit tests.
60870         * modules/roundf-tests (Depends-on): Remove 'signbit'.
60871         * doc/posix-functions/roundf.texi: Mention the new module.
60873 2010-12-21  Bruno Haible  <bruno@clisp.org>
60875         New module 'truncf-ieee'.
60876         * modules/truncf-ieee: New file.
60877         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
60878         test whether truncf works according to ISO C 99 with IEC 60559.
60879         * m4/truncf-ieee.m4: New file.
60880         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
60881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
60882         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
60883         * modules/truncf-ieee-tests: New file.
60884         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
60885         * tests/test-truncf1.c (main): Remove signbit tests.
60886         * modules/truncf-tests (Depends-on): Remove 'signbit'.
60887         * doc/posix-functions/truncf.texi: Mention the new module.
60889 2010-12-21  Bruno Haible  <bruno@clisp.org>
60891         New module 'ceilf-ieee'.
60892         * modules/ceilf-ieee: New file.
60893         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
60894         test whether ceilf works according to ISO C 99 with IEC 60559.
60895         * m4/ceilf-ieee.m4: New file.
60896         * modules/ceilf-ieee-tests: New file.
60897         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
60898         * tests/test-ceilf1.c (main): Remove signbit tests.
60899         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
60900         * doc/posix-functions/ceilf.texi: Mention the new module.
60902 2010-12-21  Bruno Haible  <bruno@clisp.org>
60904         New module 'floorf-ieee'.
60905         * modules/floorf-ieee: New file.
60906         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
60907         test whether floorf works according to ISO C 99 with IEC 60559.
60908         * m4/floorf-ieee.m4: New file.
60909         * modules/floorf-ieee-tests: New file.
60910         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
60911         * tests/test-floorf1.c (main): Remove signbit tests.
60912         * modules/floorf-tests (Depends-on): Remove 'signbit'.
60913         * doc/posix-functions/floorf.texi: Mention the new module.
60915 2010-12-21  Bruno Haible  <bruno@clisp.org>
60917         Support for minus zero in autoconf macros.
60918         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
60919         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
60920         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
60921         * tests/minus-zero.h: Update comments.
60923 2010-12-21  Bruno Haible  <bruno@clisp.org>
60925         Tests for module 'ceil'.
60926         * modules/ceil-tests: New file.
60927         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
60928         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
60930 2010-12-21  Bruno Haible  <bruno@clisp.org>
60932         Tests for module 'floor'.
60933         * modules/floor-tests: New file.
60934         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
60935         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
60937 2010-12-21  Bruno Haible  <bruno@clisp.org>
60939         math: Fix indentation.
60940         * lib/math.in.h (floorf): Fix indentation.
60942 2010-12-21  Bruno Haible  <bruno@clisp.org>
60944         Fix cross-compilation guesses on Solaris.
60945         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
60946         not match "solaris2.10".
60947         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
60948         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
60949         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
60951 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
60953         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
60954         This fixes a problem observed with the latest coreutils snapshot
60955         that caused a test to fail on Solaris 8.  src/csplit.c's call
60956         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
60957         earlier, instead of returning the number of bytes that would have
60958         been generated; this causes csplit to incorrectly report memory
60959         exhaustion.
60960         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
60961         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
60962         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
60963         comments to match.
60964         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
60965         Fix typo in matching older versions of Solaris: "solaris2.10"
60966         is matched by the shell pattern "solaris2.[0-9]*".  This matters
60967         only for guessing while cross-compiling.
60968         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
60970 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
60972         ftoastr: fix comment again
60973         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
60974         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
60975         Also, simplify example a bit by using flags = 0.
60977 2010-12-20  Bruno Haible  <bruno@clisp.org>
60979         round*, trunc*: Update documentation regarding glibc.
60980         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
60981         * doc/posix-functions/round.texi: Likewise.
60982         * doc/posix-functions/roundl.texi: Likewise.
60983         * doc/posix-functions/truncf.texi: Likewise.
60984         * doc/posix-functions/trunc.texi: Likewise.
60985         * doc/posix-functions/truncl.texi: Likewise.
60987 2010-12-20  Bruno Haible  <bruno@clisp.org>
60989         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
60990         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
60991         * doc/posix-functions/round.texi: Likewise.
60992         * doc/posix-functions/roundl.texi: Likewise.
60994 2010-12-20  Bruno Haible  <bruno@clisp.org>
60996         ttyname_r: Add missing declaration on HP-UX 11.
60997         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
60998         HAVE_TTYNAME_R.
60999         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
61000         declared. Set HAVE_TTYNAME_R always.
61001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
61002         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
61003         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
61004         HAVE_TTYNAME_R.
61005         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
61007 2010-12-20  Bruno Haible  <bruno@clisp.org>
61009         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
61010         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
61011         * doc/posix-functions/getlogin_r.texi: Likewise.
61012         * tests/test-getlogin.c: Include <errno.h>.
61013         (main): Avoid test failure on HP-UX 11.11.
61014         * tests/test-getlogin_r.c (main): Likewise.
61016 2010-12-20  Bruno Haible  <bruno@clisp.org>
61018         getlogin_r: Add missing declaration on HP-UX 11.
61019         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
61020         declared also when it exists as a function.
61021         * doc/posix-functions/getlogin_r.texi: Document this workaround.
61023 2010-12-20  Bruno Haible  <bruno@clisp.org>
61025         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
61026         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
61027         through wcrtomb.
61029 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
61031         ftoastr: fix comment
61032         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
61033         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
61035 2010-12-19  Bruno Haible  <bruno@clisp.org>
61037         isnan: Ensure it is a macro.
61038         * lib/math.in.h (isnan): Define as a macro if not already a macro.
61039         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
61040         Solaris.
61042 2010-12-19  Bruno Haible  <bruno@clisp.org>
61044         ldexpl test: Fix link error on OSF/1 5.1.
61045         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
61047 2010-12-19  Bruno Haible  <bruno@clisp.org>
61049         wctype: Make it work in C++ mode on OSF/1 5.1.
61050         * lib/wctype.in.h (iswblank): Declare but not define here.
61051         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
61052         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
61053         * modules/wctype (Files): Add lib/iswblank.c.
61055 2010-12-19  Bruno Haible  <bruno@clisp.org>
61057         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
61058         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
61059         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
61061 2010-12-19  Bruno Haible  <bruno@clisp.org>
61063         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
61064         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
61065         _POSIX_PII_SOCKET.
61066         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
61067         * doc/posix-functions/recvfrom.texi: Likewise.
61068         * doc/posix-functions/send.texi: Likewise.
61069         * doc/posix-functions/sendto.texi: Likewise.
61071 2010-12-19  Bruno Haible  <bruno@clisp.org>
61073         tcgetsid: Add missing declaration on OSF/1 5.1.
61074         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
61075         HAVE_TCGETSID.
61076         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
61077         Don't set HAVE_TCGETSID.
61078         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
61079         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
61080         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
61081         HAVE_TCGETSID.
61082         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
61084 2010-12-19  Bruno Haible  <bruno@clisp.org>
61086         stdio: Fix problem with popen() declaration on OSF/1 5.1.
61087         * lib/stdio.in.h: During the include_next statement, let recursive
61088         includes of this file include only the system header file.
61090 2010-12-19  Bruno Haible  <bruno@clisp.org>
61092         iconv_open: Fix regression from 2010-12-04.
61093         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
61094         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
61096 2010-12-19  Bruno Haible  <bruno@clisp.org>
61098         stdbool test: Avoid a gcc warning.
61099         * tests/test-stdbool.c (main): Fail if e1 is false.
61100         Reported by Jim Meyering.
61102 2010-12-19  Jim Meyering  <meyering@redhat.com>
61104         setenv: restore to working order
61105         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
61106         mistakenly removed.
61107         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
61108         HAVE_SETENV.
61109         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
61110         HAVE_SETENV.
61112 2010-12-19  Bruno Haible  <bruno@clisp.org>
61114         Document some different function declarations on OSF/1 5.1.
61115         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
61116         * doc/posix-functions/inet_ntop.texi: Likewise.
61117         * doc/posix-functions/gethostname.texi: Likewise.
61118         * lib/unistd.in.h (gethostname): Update comment.
61120 2010-12-19  Bruno Haible  <bruno@clisp.org>
61122         doc: Mention vasprintf-posix module.
61123         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
61124         the 'vasprintf-posix' module.
61125         * doc/glibc-functions/vasprintf.texi: Likewise.
61127 2010-12-19  Bruno Haible  <bruno@clisp.org>
61129         unsetenv: Add missing declaration on OSF/1 5.1.
61130         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
61131         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
61132         Don't set HAVE_UNSETENV. In the test program, set _BSD.
61133         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
61134         not HAVE_UNSETENV.
61135         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
61136         HAVE_UNSETENV.
61137         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
61139 2010-12-19  Bruno Haible  <bruno@clisp.org>
61141         setenv: Add missing declaration on OSF/1 5.1.
61142         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
61143         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
61144         declared. Don't set HAVE_SETENV.
61145         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
61146         not HAVE_SETENV.
61147         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
61148         HAVE_SETENV.
61149         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
61151 2010-12-19  Bruno Haible  <bruno@clisp.org>
61153         nl_langinfo tests: Avoid gcc warning.
61154         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
61156 2010-12-19  Bruno Haible  <bruno@clisp.org>
61158         mknod: Avoid error in C++ mode on OSF/1 with GCC.
61159         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
61160         _GL_CXXALIAS_SYS.
61162 2010-12-19  Bruno Haible  <bruno@clisp.org>
61164         stdbool: Relax test.
61165         * tests/test-stdbool.c (e): Don't require that casts from a variable's
61166         address to 'bool' work in static initializer, for compilers other than
61167         GCC.
61169 2010-12-19  Bruno Haible  <bruno@clisp.org>
61171         ftello: Add missing declaration on OSF/1 5.1.
61172         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
61173         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
61174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
61175         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
61176         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
61178 2010-12-19  Bruno Haible  <bruno@clisp.org>
61180         fseeko: Add missing declaration on OSF/1 5.1.
61181         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
61182         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
61183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
61184         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
61185         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
61187 2010-12-19  Bruno Haible  <bruno@clisp.org>
61189         fchdir: Add missing declaration on OSF/1 5.1.
61190         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
61191         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
61192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
61193         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
61194         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
61196 2010-12-19  Bruno Haible  <bruno@clisp.org>
61198         relocatable-prog-wrapper: Separate from relocatable-prog.
61199         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
61200         uninstall-relocwrapper rule here.
61201         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
61202         Reported by Ian Beckwith <ianb@erislabs.net>.
61204 2010-12-19  Bruno Haible  <bruno@clisp.org>
61206         unistr/u8-mbsnlen: Add missing dependency.
61207         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
61208         Reported by Ian Beckwith <ianb@erislabs.net>.
61210 2010-12-19  Bruno Haible  <bruno@clisp.org>
61212         iconv: Make it possible again to use this module without 'iconv-h'.
61213         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
61214         if it is not defined.
61215         Reported by Ian Beckwith <ianb@erislabs.net>.
61217 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61219         acl: port to Solaris 8 when copying from tmpfs to ufs
61220         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
61221         error number.  Problem observed on Solaris 8 with latest
61222         coreutils, with "mv A B", where A is on a tmpfs file system and B
61223         is on a ufs file system.  This caused coreutils' mv/part-symlink
61224         test to fail.
61226         tests: set fail=0 at start
61227         * tests/init.sh (setup_): Move fail=0 initialization here ...
61228         (mktempd_): ... from here, so that tests can rely on fail being
61229         set to 0 initially.  This fixes a problem in coreutils; see:
61230         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
61232 2010-12-18  Bruno Haible  <bruno@clisp.org>
61234         memmem-simple: Stylistic changes.
61235         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
61236         Fix preprocessor directive indentation.
61238 2010-12-15  Pádraig Brady  <P@draigBrady.com>
61240         memmem, memmem-simple: reorganize and expand empty needle check
61241         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
61242         functional checks to memmem-simple so that one has a fully functional
61243         memmem by using just this module.
61244         Restrict the performance only check to the memmem module.
61245         Also expand the empty needle check to ensure the correct
61246         pointer is returned, not just a non NULL pointer.
61247         * doc/glibc-functions/memmem.texi: Rearrange the portability
61248         documentation to correlate with the rearranged checks.
61249         Clarify exactly how the memmem and memmem-simple modules
61250         relate to each other.
61252 2010-12-15  Pádraig Brady  <P@draigBrady.com>
61253             Bruno Haible  <bruno@clisp.org>
61255         Improve cross-compilation guesses for uClibc.
61256         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
61257         that uClibc does not have the glibc bug.
61258         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
61259         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
61261 2010-12-14  Eric Blake  <eblake@redhat.com>
61263         configmake: provide fallbacks for oldest supported autotools
61264         * m4/configmake.m4: New file.
61265         * modules/configmake (Files): Ship it.
61266         (configure.ac): Use it to guarantee fallbacks.
61268 2010-12-13  Pádraig Brady  <P@draigBrady.com>
61270         read-file: Improve handling of large files
61271         * lib/read-file.c (fread_file): Minimize realloc()s
61272         for regular files, and better manage sizes around SIZE_MAX.
61274 2010-12-13  Eric Blake  <eblake@redhat.com>
61276         cloexec, fcntl: relax license
61277         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
61278         consent from all contributors.
61279         * modules/fcntl (License): Likewise.
61281 2010-12-10  Bruno Haible  <bruno@clisp.org>
61283         Tests for module 'pipe-posix'.
61284         * modules/pipe-posix-tests: New file.
61285         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
61287 2010-12-10  Bruno Haible  <bruno@clisp.org>
61289         pipe-posix: Make it work in C++ mode.
61290         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
61291         (pipe): Use common idiom, not a macro definition.
61292         * lib/pipe.c: New file.
61293         * m4/pipe.m4: New file.
61294         * modules/pipe-posix (Description): Enhance.
61295         (Files): Add lib/pipe.c, m4/pipe.m4.
61296         (configure.ac): Invoke gl_FUNC_PIPE.
61297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
61298         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
61299         * tests/test-unistd-c++.cc: Check the signature of pipe.
61301 2010-12-10  Bruno Haible  <bruno@clisp.org>
61303         Rename module 'pipe' to 'spawn-pipe'.
61304         * modules/spawn-pipe: New file, renamed from modules/pipe.
61305         (Files, configure.ac, Makefile.am): Update.
61306         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
61307         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
61308         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
61309         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
61310         "spawn-pipe.h" instead of "pipe.h".
61311         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
61312         to gl_SPAWN_PIPE.
61313         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
61314         (Files, Makefile.am): Update.
61315         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
61316         Update.
61317         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
61318         Include "spawn-pipe.h" instead of "pipe.h".
61319         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
61320         * lib/javacomp.c: Likewise.
61321         * lib/javaversion.c: Likewise.
61322         * lib/pipe-filter-gi.c: Likewise.
61323         * lib/pipe-filter-ii.c: Likewise.
61324         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
61325         * modules/javacomp (Depends-on): Likewise.
61326         * modules/javaversion (Depends-on): Likewise.
61327         * modules/pipe-filter-gi (Depends-on): Likewise.
61328         * modules/pipe-filter-ii (Depends-on): Likewise.
61329         * MODULES.html.sh (Executing programs): Update.
61330         * NEWS: Mention the change.
61332 2010-12-10  Eric Blake  <eblake@redhat.com>
61334         pipe-posix: new module
61335         * modules/pipe-posix: New file.
61336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
61337         (gl_UNISTD_H): Check for declaration.
61338         * modules/unistd (Makefile.am): Substitute it.
61339         * lib/unistd.in.h (pipe): Provide it for mingw.
61340         * doc/posix-functions/pipe.texi (pipe): Update documentation.
61341         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
61343 2010-12-07  Bruno Haible  <bruno@clisp.org>
61345         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
61346         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
61347         u8_strcmp_gnu.
61348         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
61350 2010-12-06  Bruno Haible  <bruno@clisp.org>
61352         Update internal documentation.
61353         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
61355 2010-12-04  Bruno Haible  <bruno@clisp.org>
61357         Put more information about failed tests into the test return codes.
61358         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
61359         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
61360         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
61361         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
61362         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
61363         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61364         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61365         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
61366         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
61367         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61368         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
61369         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61370         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
61371         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61372         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
61373         returns a bit mask.
61374         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
61375         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
61376         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
61377         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
61378         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
61379         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
61380         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
61381         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
61382         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
61383         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
61384         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
61385         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
61386         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
61387         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
61388         * m4/link.m4 (gl_FUNC_LINK): Likewise.
61389         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
61390         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
61391         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
61392         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
61393         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
61394         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61395         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
61396         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
61397         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
61398         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
61399         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
61400         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
61401         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
61402         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
61403         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
61404         gl_PRINTF_PRECISION): Likewise.
61405         * m4/regex.m4 (gl_REGEX): Likewise.
61406         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
61407         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
61408         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
61409         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
61410         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61411         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
61412         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
61413         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
61414         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
61415         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61416         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
61417         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
61418         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
61419         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
61420         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
61421         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
61422         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
61423         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
61424         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61425         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
61426         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
61427         enumerated value.
61428         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
61430 2010-12-04  Bruno Haible  <bruno@clisp.org>
61432         Update for Solaris 11 2010-11.
61433         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
61434         Express, released in November 2010.
61436 2010-12-04  Bruno Haible  <bruno@clisp.org>
61438         nproc: Relax license.
61439         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
61440         and Paul Eggert.
61441         Requested by Ludovic Courtès <ludo@gnu.org>.
61443 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61445         utimecmp: fine-grained src to nearby coarse-grained dest
61447         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
61448         and the source is on a file system with higher-resolution time
61449         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
61450         not work, and the time stamps are close together, the algorithm to
61451         determine the exact resolution from the read-back mtime was buggy:
61452         it had a "!=" where it should have had an "==".  This bug has been
61453         in the code ever since it was introduced to gnulib.
61454         Problem reported by Dan Jacobson in
61455         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
61457 2010-11-30  Bruno Haible  <bruno@clisp.org>
61459         strerror_r-posix: Fix autoconf test.
61460         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
61462 2010-11-28  Bruno Haible  <bruno@clisp.org>
61463             Paul Eggert  <eggert@cs.ucla.edu>
61465         Tests for module 'getdomainname'.
61466         * modules/getdomainname-tests: New file.
61467         * tests/test-getdomainname.c: New file, based on
61468         tests/test-gethostname.c.
61470 2010-11-28  Bruno Haible  <bruno@clisp.org>
61471             Paul Eggert  <eggert@cs.ucla.edu>
61473         getdomainname: Use the system function when possible.
61474         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
61475         (getdomainname): Replace if needed. Provide the declaration if it is
61476         missing. Don't use _GL_CXXALIAS_SYS_CAST.
61477         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
61478         (getdomainname): When the system has getdomainname, call the system
61479         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
61480         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
61481         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
61482         found in libnsl. Look for the declaration also in <netdb.h>. Replace
61483         the function if its second argument is of type 'int' or if it is found
61484         in libnsl.
61485         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
61486         <sys/systeminfo.h> and sysinfo().
61487         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
61488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
61489         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
61490         HAVE_GETDOMAINNAME.
61491         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
61492         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
61493         * doc/glibc-functions/getdomainname.texi: Document the problems with
61494         the getdomainname declaration.
61496 2010-11-28  Bruno Haible  <bruno@clisp.org>
61498         sys_socket: Ensure ss_family field on AIX.
61499         * lib/sys_socket.in.h (ss_family): New macro definition.
61500         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
61501         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
61502         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
61503         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
61504         * modules/sys_socket (Makefile.am): Substitute
61505         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
61506         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
61508 2010-11-27  Bruno Haible  <bruno@clisp.org>
61510         readline: Improve configure output.
61511         * m4/readline.m4 (gl_FUNC_READLINE): Make the
61512         "checking for readline..." result understandable.
61514 2010-11-27  Bruno Haible  <bruno@clisp.org>
61516         *printf-posix: Detect a bug on Solaris 10/x86.
61517         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
61518         for floating-point output.
61519         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
61520         directive.
61521         * tests/test-snprintf-posix.h (test_function): Likewise.
61522         * tests/test-sprintf-posix.h (test_function): Likewise.
61523         * tests/test-vasprintf-posix.c (test_function): Likewise.
61524         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
61525         * doc/posix-functions/printf.texi: Likewise.
61526         * doc/posix-functions/snprintf.texi: Likewise.
61527         * doc/posix-functions/sprintf.texi: Likewise.
61528         * doc/posix-functions/vfprintf.texi: Likewise.
61529         * doc/posix-functions/vprintf.texi: Likewise.
61530         * doc/posix-functions/vsnprintf.texi: Likewise.
61531         * doc/posix-functions/vsprintf.texi: Likewise.
61532         * doc/glibc-functions/obstack_printf.texi: Likewise.
61533         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
61535 2010-11-27  Bruno Haible  <bruno@clisp.org>
61537         Fix link error when module libunistring-optional is in use.
61538         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
61539         * modules/striconveha-tests (Makefile.am): Likewise.
61541 2010-11-27  Bruno Haible  <bruno@clisp.org>
61543         regex: Mention link dependencies.
61544         * modules/regex (Link): New section.
61545         * modules/rpmatch (Link): Likewise.
61546         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
61548 2010-11-27  Bruno Haible  <bruno@clisp.org>
61550         ftoastr: Fix compilation error on Solaris.
61551         * lib/ftoastr.c: Include <config.h>.
61553 2010-11-27  Bruno Haible  <bruno@clisp.org>
61555         getloadavg: Update documentation.
61556         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
61558 2010-11-27  Bruno Haible  <bruno@clisp.org>
61560         sys_socket: Fix test whether the functions are declared.
61561         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
61562         not <sys/select.h>.
61564 2010-11-27  Bruno Haible  <bruno@clisp.org>
61566         getpass: Make sure to get system declaration on some platforms.
61567         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
61568         gl_USE_SYSTEM_EXTENSIONS.
61569         * modules/getpass (Depends-on): Add extensions.
61571 2010-11-26  Bruno Haible  <bruno@clisp.org>
61573         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
61574         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
61575         'iconv' module is present.
61576         (ICONV_CONST): New macro.
61577         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
61578         ICONV_CONST.
61579         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
61580         set ICONV_CONST.
61581         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
61582         here.
61583         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
61584         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
61585         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
61586         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
61587         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
61588         present.
61590 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61592         ftoastr: comment fix
61593         * lib/ftoastr.c: "little" -> "little or no" in comment
61595 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
61597         stdint: port to GCC 4.3 + OSX + Octave
61598         On this platform, stdint.h is buggy and defines int64_t to long
61599         long int.  The replacement defined it to long int, causing
61600         problems with C++ style name mangling.  Instead, trust the system
61601         definition if INT64_MAX is defined, and likewise for the unsigned
61602         variant.   Problem reported by Jarno Rajahalme in
61603         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
61604         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
61605         and don't mess with int64_t and INT64_MAX in this case.
61606         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
61608 2010-11-24  Bruno Haible  <bruno@clisp.org>
61610         doc: Corrections regarding MacOS X 10.4 and 10.5.
61611         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
61612         MacOS X.
61613         Reported by Simon Josefsson.
61615 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
61617         Uninstall ".bin" files installed by relocwrapper.
61618         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
61619         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
61620         unless it is already there.
61622 2010-11-21  Bruno Haible  <bruno@clisp.org>
61624         Update for NetBSD 5.0.
61625         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
61626         NetBSD; the test fails on NetBSD 5.0.
61627         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
61628         about NetBSD.
61630 2010-11-21  Bruno Haible  <bruno@clisp.org>
61632         Update for HP-UX 11.23 and HP-UX 11.31.
61633         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
61634         HP-UX.
61636 2010-11-21  Bruno Haible  <bruno@clisp.org>
61638         Update for MacOS X 10.5.
61639         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
61640         MacOS X; the test fails on MacOS X 10.5.8.
61641         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
61642         about MacOS X.
61644 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
61646         bootstrap: add bootstrap_sync option.
61647         See discussion at
61648         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
61649         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
61650         * build-aux/bootstrap: Accept --bootstrap-sync to update
61651         bootstrap if it is not identical to the local gnulib's
61652         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
61653         enable this by default.  Accept --no-bootstrap-sync to disable
61654         it.
61656 2010-11-20  Bruno Haible  <bruno@clisp.org>
61658         Ensure that <features.h> is included before __GLIBC__ is tested.
61659         * lib/printf-parse.h: Include <features.h>.
61660         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
61661         Reported by Mike Frysinger <vapier@gentoo.org>.
61663         Ensure that <features.h> is included before __GLIBC__ is tested.
61664         * lib/wchar.in.h: Include <features.h>.
61665         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
61666         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
61667         Reported by Mike Frysinger <vapier@gentoo.org>.
61669         Ensure that <features.h> is included before __GLIBC__ is tested.
61670         * lib/arpa_inet.in.h: Include <features.h>.
61671         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
61672         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
61673         Reported by Mike Frysinger <vapier@gentoo.org>.
61675         Ensure that <features.h> is included before __GLIBC__ is tested.
61676         * build-aux/link-warning.h: Include <features.h>.
61677         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
61678         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
61679         Reported by Mike Frysinger <vapier@gentoo.org>.
61681         Ensure that <features.h> is included before __GLIBC__ is tested.
61682         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
61683         Reported by Mike Frysinger <vapier@gentoo.org>.
61685 2010-11-20  Bruno Haible  <bruno@clisp.org>
61687         memmem: Fix autoconf test.
61688         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
61690 2010-11-20  Bruno Haible  <bruno@clisp.org>
61692         Port to uClibc.
61693         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
61694         * lib/fcntl.in.h: Likewise.
61695         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
61696         * lib/mbrtowc.c (mbrtowc): Likewise.
61697         * lib/relocatable.c (find_shared_library_fullname): Likewise.
61698         * lib/strerror_r.c: Likewise.
61699         * lib/unistr/u8-strnlen.c: Likewise.
61700         * lib/vasnprintf.c (decimal_point_char): Likewise.
61701         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
61702         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
61703         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
61704         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
61705         * tests/test-sigaction.c (handler, main): Likewise.
61706         * lib/freading.h: Treat uClibc like a non-glibc platform.
61707         * lib/freading.c: Likewise.
61708         * lib/gettext.h: Likewise.
61709         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
61710         Likewise.
61711         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
61712         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
61713         * lib/propername.c (proper_name_utf8): Likewise.
61714         * lib/spawn.in.h: Likewise.
61715         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
61716         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
61717         mem_cd_iconveh_internal): Likewise.
61718         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
61719         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
61720         strstr, strcasestr): Likewise.
61721         * lib/unicodeio.c (unicode_to_mb): Likewise.
61722         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
61723         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
61724         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
61725         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
61726         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
61727         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
61728         * lib/unistr/u8-stpncpy.c: Likewise.
61729         * lib/vasnprintf.c (VASNPRINTF): Likewise.
61730         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
61731         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61732         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61733         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
61734         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
61735         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
61736         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
61737         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
61738         Likewise.
61739         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
61740         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61741         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
61742         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61743         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61744         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
61745         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61746         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
61747         * tests/test-getopt.h (OPTIND_MIN): Likewise.
61748         * tests/test-striconveha.c (main): Likewise.
61749         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61750         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
61751         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
61752         * doc/posix-functions/getline.texi: Likewise.
61753         Reported by Mike Frysinger <vapier@gentoo.org>.
61755 2010-11-20  Bruno Haible  <bruno@clisp.org>
61757         nproc: Fix condition.
61758         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
61759         HAVE_PTHREAD_AFFINITY_NP.
61761 2010-11-20  Bruno Haible  <bruno@clisp.org>
61763         Fix a comment.
61764         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
61766 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
61768         ftoastr: don't assume snprintf
61769         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
61770         Implement a subset of snprintf here, by using sprintf safely.
61771         * modules/ftoastr (Depends-on): Remove snprintf.
61773 2010-11-19  Jim Meyering  <meyering@redhat.com>
61775         test-rename.h: fix compilation failure
61776         * tests/test-rename.h (test_rename): Add omitted "}".
61778 2010-11-17  Jim Meyering  <meyering@redhat.com>
61780         maint.mk: add a URL discussing the no-@acronym policy
61781         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
61783 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
61785         ftoastr: depend on snprintf, improve comments
61786         * lib/ftoastr.c: Also mention Loitsch's draft.
61787         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
61788         needed in the current implementation, but it might simplify
61789         speeding up the code later.
61790         * modules/ftoastr: Depend on snprintf; this improves portability.
61791         Suggested by Bruno Haible in the same email.
61793         ftoastr: port to hosts lacking strtof and strtold
61794         Problem reported by Bruno Haible in
61795         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
61796         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
61797         environment and strtold (and presumably strtof) are not available.
61798         * modules/ftoastr (Files): Add m4/c-strtod.m4.
61799         (configure.ac): Require gl_C99_STRTOLD.
61801 2010-11-18  Bruno Haible  <bruno@clisp.org>
61803         c-strtold: Avoid link error on AIX 7.
61804         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
61805         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
61806         (gl_C_STRTOLD): Test whether strtold_l exists.
61807         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61809 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
61811         intprops: new macro INT_BITS_STRLEN_BOUND
61812         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
61813         ftoastr.h.  This exposes an internal of intprops.h that was formerly
61814         not exposed.  Also, it uses a slightly tighter bound than before;
61815         though this makes no practical difference, we might as well be as
61816         tight as we easily can.
61818         ftoastr: new module, for lossless conversion of floats to short strings
61819         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
61820         * modules/ftoastr: New files.
61822 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61824         bootstrap: port to Solaris sed
61825         * build-aux/bootstrap (get_version): Port to Solaris sed.
61826         See Ralf Wildenhues's note in
61827         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
61829 2010-11-14  Jim Meyering  <meyering@redhat.com>
61831         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
61832         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
61833         and move definition closer to sole use.
61835 2010-11-13  Jim Meyering  <meyering@redhat.com>
61837         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
61838         Now we require at least autoconf-2.59, which means the work-around
61839         is no longer needed.
61840         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
61841         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
61842         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61843         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
61844         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
61846 2010-11-13  Bruno Haible  <bruno@clisp.org>
61848         rename, renameat: Avoid test failures at NFS mounted locations.
61849         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
61850         functions.
61851         (test_rename): Use assert_nonexistent.
61852         * tests/test-rename.c: Include <dirent.h>.
61853         * tests/test-renameat.c: Likewise.
61854         Reported by Gary V. Vaughan <gary@gnu.org>.
61856         rename, renameat: Document Linux bug with NFS
61857         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
61858         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
61859         * doc/posix-functions/renameat.texi: Likewise.
61860         Suggested by Eric Blake.
61862 2010-11-13  Bruno Haible  <bruno@clisp.org>
61864         rename test: Add comments.
61865         * tests/test-rename.h (test_rename): Add structure and comments.
61867 2010-11-13  Eric Blake  <eblake@redhat.com>
61869         maintainer-makefile: cover a few more files
61870         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
61871         scripts generated within C files, for libvirt.
61873 2010-11-13  Bruno Haible  <bruno@clisp.org>
61875         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
61876         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
61877         character, return the number of bytes that belong together, not always
61878         1.
61879         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
61880         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
61881         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
61882         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
61883         number of bytes of an invalid character.
61884         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
61885         (main): Invoke it.
61886         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
61887         results.
61888         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
61889         malformed byte sequences.
61890         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
61891         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
61892         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
61893         Reported by Ben Pfaff and Paolo Bonzini.
61895 2010-11-13  Bruno Haible  <bruno@clisp.org>
61897         openat: Work around glibc bug with fchownat() and empty file names.
61898         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
61899         (gl_FUNC_FCHOWNAT): Invoke it.
61900         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
61901         * doc/posix-functions/fchownat.texi: Document the glibc bug.
61902         Reported by Gary V. Vaughan <gary@gnu.org>.
61904 2010-11-13  Bruno Haible  <bruno@clisp.org>
61906         openat: Ensure autoconf macro ordering.
61907         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
61908         gl_USE_SYSTEM_EXTENSIONS.
61909         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
61911 2010-11-13  Bruno Haible  <bruno@clisp.org>
61913         Update comments.
61914         * lib/unistr/u8-check.c: Update file name in comments.
61915         * lib/unistr/u8-mblen.c: Likewise.
61916         * lib/unistr/u8-prev.c: Likewise.
61917         * lib/unistr/u8-strmblen.c: Likewise.
61918         * lib/unistr/u8-strmbtouc.c: Likewise.
61920 2010-11-13  Jim Meyering  <meyering@redhat.com>
61922         tests: avoid test failure on Solaris 10 due to lack of PATH export
61923         * tests/test-update-copyright.sh: Don't forget to export PATH.
61925         init.sh: ensure that IFS is defined, just in case...
61926         * tests/init.sh (setup_): Ensure that IFS is defined,
61927         so that saving and restoring it works as expected.  This
61928         appears to be useful at least for an old version of dash
61929         from a long time ago (RH 6).  See here for details:
61930         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
61932         maint.mk: tighten "test a == b" check
61933         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
61934         test to files that contain something like #!/bin/sh.
61935         Without this, coreutils would get two false positives in
61936         the comments of C source files.
61938 2010-11-12  Eric Blake  <eblake@redhat.com>
61940         bootstrap: fix typo in previous attempt
61941         * build-aux/bootstrap (buildreq): Correct the grouping.
61942         Reported by Paul Eggert.
61944         maintainer-makefile: prohibit test x == x
61945         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
61946         Based on a report by Matthias Bolte.
61948         bootstrap: allow FreeBSD gzip
61949         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
61950         which has no '.' and goes to stderr.
61951         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
61952         Reported by Matthias Bolte.
61954         maintainer-makefile: check for i18n setup
61955         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
61956         will likely work.
61958 2010-11-12  Bruno Haible  <bruno@clisp.org>
61960         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
61961         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
61962         * lib/nanosleep.c (nanosleep): Likewise.
61964 2010-11-11  Bruno Haible  <bruno@clisp.org>
61966         fcntl-h: Fix for use of C++ on glibc systems.
61967         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
61968         also on glibc systems in C++ mode.
61969         Reported by Gary V. Vaughan <gary@gnu.org>.
61971 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
61973         mknod: avoid false failure with dash
61974         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
61976 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
61978         unlink: Fix "is it should" typo in diagnostic.
61979         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
61980         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
61982 2010-11-11  Bruno Haible  <bruno@clisp.org>
61984         Tests for module 'strerror_r-posix'.
61985         * modules/strerror_r-posix-tests: New file.
61986         * tests/test-strerror_r.c: New file.
61987         * tests/test-string-c++.cc: Check the signature of strerror_r.
61989         New module 'strerror_r-posix'.
61990         * lib/string.in.h (strerror_r): New declaration.
61991         * lib/strerror_r.c: New file.
61992         * m4/strerror_r.m4: New file.
61993         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
61994         of strerror_r.
61995         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
61996         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
61997         * modules/strerror_r-posix: New file.
61998         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
61999         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
62000         * doc/posix-functions/strerror_r.texi: Mention the new module and the
62001         portability problems.
62003 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
62005         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
62006         line is also considered for output. Quoted function name in shell
62007         command, so temporary files for functions like MyClass::operator()
62008         are removed correctly without errors.
62010 2010-11-09  Bruno Haible  <bruno@clisp.org>
62012         * doc/posix-functions/strerror.texi: List more failing platforms.
62014         * doc/posix-functions/strerror.texi: Add a comment.
62016 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62018         fdopendir: fix bug on MacOS X when low on file descriptors
62020         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
62021         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
62022         All callers changed.
62023         (fdopendir): Invoke save_cwd at the top level, not after using
62024         multiple dup() calls to use up file descriptors.  Then retry
62025         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
62026         less than the maximum number of open file descriptors, because
62027         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
62028         on Mac OS X 10.6.4 for tar 1.24
62029         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
62030         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
62031         and for tar 1.25
62032         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
62034 2010-11-07  Bruno Haible  <bruno@clisp.org>
62036         vasnprintf: Support I flag on glibc systems.
62037         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
62038         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
62039         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
62040         snprintf function.
62041         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
62042         glibc systems.
62043         * tests/test-vasnprintf-posix3.c: New file.
62044         * modules/vasnprintf-posix-tests (Files): Add it.
62045         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
62047 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62049         [html] Fix copy/paste bug: Use unique name for compiler warnings.
62050         * MODULES.html.sh: For compiler warnings, use name
62051         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
62053 2010-11-05  Eric Blake  <eblake@redhat.com>
62055         ceil, floor: avoid spurious failure with icc
62056         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
62057         [denormals-as-zero] when optimizing without -mieee-fp option.
62058         * tests/test-floorf2.c (floorf_reference): Likewise.
62059         * tests/test-ceilf1.c (dummy): New function.
62060         (main): Use it to outsmart icc's optimization.
62061         * tests/test-floorf1.c (dummy, main): Likewise.
62063         tests: require working signbit
62064         * modules/ceilf-tests (Depends-on): Add signbit.
62065         * modules/ceill-tests (Depends-on): Likewise.
62066         * modules/floorf-tests (Depends-on): Likewise.
62067         * modules/floorl-tests (Depends-on): Likewise.
62068         * modules/round-tests (Depends-on): Likewise.
62069         * modules/roundf-tests (Depends-on): Likewise.
62070         * modules/roundl-tests (Depends-on): Likewise.
62071         * modules/trunc-tests (Depends-on): Likewise.
62072         * modules/truncf-tests (Depends-on): Likewise.
62073         * modules/truncl-tests (Depends-on): Likewise.
62075         strtod: work around icc bug
62076         * lib/strtod.c (minus_zero): Define to working value.
62077         (strtod): Use it to avoid icc bug.
62079         copysign: enhance tests
62080         * modules/copysign-tests (Files): Add minus-zero.h.
62081         * tests/test-copysign.c (main): Also test zeros.
62083 2010-11-04  Eric Blake  <eblake@redhat.com>
62085         ceil, floor, round, trunc: enhance tests of -0
62086         * tests/test-ceilf1.c (main): Ensure correct sign of result.
62087         * tests/test-ceill.c (main): Likewise.
62088         * tests/test-floorf1.c (main): Likewise.
62089         * tests/test-floorl.c (main): Likewise.
62090         * tests/test-round1.c (main): Likewise.
62091         * tests/test-roundf1.c (main): Likewise.
62092         * tests/test-roundl.c (main): Likewise.
62093         * tests/test-trunc1.c (main): Likewise.
62094         * tests/test-truncf1.c (main): Likewise.
62095         * tests/test-truncl.c (main): Likewise.
62097 2010-11-04  Eric Blake  <eblake@redhat.com>
62099         frexp, tests: work around ICC bug with -zero
62100         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
62101         works with more compilers.
62102         * tests/minus-zero.h: New file.
62103         * modules/ceilf-tests (Files): Include it.
62104         * modules/ceill-tests (Files): Likewise.
62105         * modules/floorf-tests (Files): Likewise.
62106         * modules/floorl-tests (Files): Likewise.
62107         * modules/frexp-nolibm-tests (Files): Likewise.
62108         * modules/frexp-tests (Files): Likewise.
62109         * modules/frexpl-nolibm-tests (Files): Likewise.
62110         * modules/frexpl-tests (Files): Likewise.
62111         * modules/isnan-tests (Files): Likewise.
62112         * modules/isnand-nolibm-tests (Files): Likewise.
62113         * modules/isnand-tests (Files): Likewise.
62114         * modules/isnanf-nolibm-tests (Files): Likewise.
62115         * modules/isnanf-tests (Files): Likewise.
62116         * modules/isnanl-nolibm-tests (Files): Likewise.
62117         * modules/isnanl-tests (Files): Likewise.
62118         * modules/round-tests (Files): Likewise.
62119         * modules/roundf-tests (Files): Likewise.
62120         * modules/roundl-tests (Files): Likewise.
62121         * modules/ldexpl-tests (Files): Likewise.
62122         * modules/signbit-tests (Files): Likewise.
62123         * modules/snprintf-posix-tests (Files): Likewise.
62124         * modules/sprintf-posix-tests (Files): Likewise.
62125         * modules/strtod-tests (Files): Likewise.
62126         * modules/trunc-tests (Files): Likewise.
62127         * modules/truncf-tests (Files): Likewise.
62128         * modules/truncl-tests (Files): Likewise.
62129         * modules/vsnprintf-posix-tests (Files): Likewise.
62130         * modules/vsprintf-posix-tests (Files): Likewise.
62131         * modules/vasnprintf-posix-tests (Files): Likewise.
62132         * modules/vasprintf-posix-tests (Files): Likewise.
62133         * tests/test-ceilf1.c (main): Use it.
62134         * tests/test-ceill.c (main): Likewise.
62135         * tests/test-floorf1.c (main): Likewise.
62136         * tests/test-floorl.c (main): Likewise.
62137         * tests/test-frexp.c (main): Likewise.
62138         * tests/test-frexpl.c (main): Likewise.
62139         * tests/test-isnan.c (main): Likewise.
62140         * tests/test-isnand.h (main): Likewise.
62141         * tests/test-isnanf.h (main): Likewise.
62142         * tests/test-isnanl.h (main): Likewise.
62143         * tests/test-ldexpl.c (main): Likewise.
62144         * tests/test-round.c (main): Likewise.
62145         * tests/test-roundf.c (main): Likewise.
62146         * tests/test-roundl.c (main): Likewise.
62147         * tests/test-signbit.c (test_signbitf, test_signbitd)
62148         (test_signbitl): Likewise.
62149         * tests/test-snprintf-posix.h (test_function): Likewise.
62150         * tests/test-sprintf-posix.h (test_function): Likewise.
62151         * tests/test-strtod.c (main): Likewise.
62152         * tests/test-trunc1.c (main): Likewise.
62153         * tests/test-truncf1.c (main): Likewise.
62154         * tests/test-truncl.c (main): Likewise.
62156         isnanl: work around icc bug
62157         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
62159 2010-11-03  Eric Blake  <eblake@redhat.com>
62161         tests: fix compiler warnings
62162         * tests/test-getopt.h (test_getopt): Fix condition.
62163         * tests/test-getopt_long.h (test_getopt_long): Likewise.
62164         * tests/test-pipe2.c (main): Likewise.
62165         * tests/test-quotearg-simple.c (main): Avoid icc warning.
62167         utimens: fix broken m4 test
62168         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
62170 2010-10-28  Bruno Haible  <bruno@clisp.org>
62172         posix_spawn*, getdtablesize: Relax license.
62173         * modules/posix_spawn (License): Change to LGPLv2+.
62174         * modules/posix_spawnp (License): Likewise.
62175         * modules/posix_spawn-internal (License): Likewise.
62176         * modules/posix_spawnattr_init (License): Likewise.
62177         * modules/posix_spawnattr_getflags (License): Likewise.
62178         * modules/posix_spawnattr_setflags (License): Likewise.
62179         * modules/posix_spawnattr_getpgroup (License): Likewise.
62180         * modules/posix_spawnattr_setpgroup (License): Likewise.
62181         * modules/posix_spawnattr_getschedparam (License): Likewise.
62182         * modules/posix_spawnattr_setschedparam (License): Likewise.
62183         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
62184         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
62185         * modules/posix_spawnattr_getsigdefault (License): Likewise.
62186         * modules/posix_spawnattr_setsigdefault (License): Likewise.
62187         * modules/posix_spawnattr_getsigmask (License): Likewise.
62188         * modules/posix_spawnattr_setsigmask (License): Likewise.
62189         * modules/posix_spawnattr_destroy (License): Likewise.
62190         * modules/posix_spawn_file_actions_init (License): Likewise.
62191         * modules/posix_spawn_file_actions_addclose (License): Likewise.
62192         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
62193         * modules/posix_spawn_file_actions_addopen (License): Likewise.
62194         * modules/posix_spawn_file_actions_destroy (License): Likewise.
62195         * modules/getdtablesize (License): Likewise.
62196         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
62198 2010-10-26  Bruno Haible  <bruno@clisp.org>
62200         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
62201         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
62202         Cygwin and mingw.
62203         Suggested by Eric Blake.
62205 2010-10-26  Bruno Haible  <bruno@clisp.org>
62207         stdio: Work around compilation error due to renameat() on Solaris 10.
62208         * lib/stdio.in.h: Include <unistd.h> on Solaris.
62209         * lib/renameat.c: Don't include <unistd.h> here.
62210         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
62211         Reported by Paul Eggert and Eric Blake.
62213 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
62215         renameat: port to Solaris 10, which declares renameat in unistd.h
62217         * lib/renameat.c: Include unistd.h before stdio.h, because
62218         Solaris 10 declares renameat in unistd.h.  Problem encountered
62219         when building GNU tar 1.24 on Solaris 10.
62221 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
62223         fdopendir: fix C89 compilation
62224         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
62225         compilers.
62227 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
62229         inttostr: simplify by removing unnecessary redundancy
62230         * lib/anytostr.c: Don't include verify.h.
62231         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
62232         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
62233         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
62234         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
62235         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
62236         Likewise.
62237         * modules/inttostr (Depends-on): Remove 'verify'.
62239 2010-10-23  Bruno Haible  <bruno@clisp.org>
62241         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
62242         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
62243         Reported by Eric Blake.
62245 2010-10-23  Bruno Haible  <bruno@clisp.org>
62247         Tests: Fix LOCALE_JA on MirBSD 10.
62248         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
62249         to an UTF-8 locale.
62250         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
62251         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62252         Reported by Eric Blake.
62254 2010-10-21  Bruno Haible  <bruno@clisp.org>
62256         nl_langinfo test: Avoid test failure on NetBSD 5.
62257         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
62258         Reported by Eric Blake.
62260 2010-10-21  Eric Blake  <eblake@redhat.com>
62262         c-stack: work around libsigsegv 2.8 bug
62263         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
62264         overflow on at least PowerPC64.
62266 2010-10-17  Bruno Haible  <bruno@clisp.org>
62268         userspec: Drop redundant file.
62269         * modules/userspec (Files): Remove lib/inttostr.h.
62271 2010-10-17  Bruno Haible  <bruno@clisp.org>
62273         nl_langinfo tests: Silence some warnings.
62274         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
62275         Reported by Jim Meyering.
62277 2010-10-17  Bruno Haible  <bruno@clisp.org>
62279         Make use of GCC's attribute __alloc_size__.
62280         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
62281         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
62282         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
62283         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
62284         __alloc_size__.
62285         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
62286         Suggested by Jim Meyering.
62288 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
62290         bootstrap: anchor .gitignore entries.
62291         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
62292         with...
62293         (insert_vc_ignore): ... this new function, which prepends `/' to
62294         all .gitignore entries before passing them to
62295         insert_sorted_if_absent.
62297 2010-10-16  Bruno Haible  <bruno@clisp.org>
62299         nextafter: Fix configure check.
62300         * modules/nextafter (configure.ac): Correct expected prototype.
62302 2010-10-16  Bruno Haible  <bruno@clisp.org>
62304         termios: Update documentation.
62305         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
62307 2010-10-16  Bruno Haible  <bruno@clisp.org>
62309         tests: Make them compile with TinyCC.
62310         * tests/test-strstr.c (main): Remove parentheses around array
62311         initializer.
62313 2010-10-15  Eric Blake  <eblake@redhat.com>
62315         ignore-value: make header idempotent
62316         * lib/ignore-value.h: Add double-inclusion guards.
62317         Reported by Stefan Berger.
62319 2010-10-15  Jim Meyering  <meyering@redhat.com>
62321         GNUmakefile: handle "stable" target, not "major"
62322         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
62323         lists in maint.mk and announce-gen.  Without this, "make stable"
62324         would fail to ensure that $(VERSION) is up to date.
62326 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
62328         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
62329         & co.
62331 2010-10-14  Bruno Haible  <bruno@clisp.org>
62333         vasnprintf: Don't set errno to 0.
62334         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
62335         block that sets it to 0.
62336         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
62338 2010-10-14  Bruno Haible  <bruno@clisp.org>
62340         socketlib: Fix.
62341         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
62342         gl_PREREQ_SYS_H_WINSOCK2.
62343         Reported by Ian Beckwith <ianb@erislabs.net>.
62345 2010-10-13  Jim Meyering  <meyering@redhat.com>
62347         test-select-stdin.c: avoid warn_unused_result warnings
62348         * tests/test-select-stdin.c: Include "macros.h".
62349         ASSERT that read and fflush succeed.
62351 2010-10-13  Jim Meyering  <meyering@redhat.com>
62353         git-version-gen: do require git-VC'd files in cwd
62354         * build-aux/git-version-gen: Reject a git version string
62355         if there are no commits associated with the current directory.
62356         This avoids an unlikely false-positive (unrelated dir whose parent
62357         repository also contains a tag matching v*), as pointed out
62358         by Giuseppe Scrivano in
62359         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
62361 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
62363         argv-iter: omit nonconforming declaration
62364         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
62365         enum arg_iter_err declaration, which doesn't conform to C99.
62366         Solaris 10 cc warns about this.
62368 2010-10-13  Eric Blake  <eblake@redhat.com>
62370         termios: fix compilation on mingw
62371         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
62372         (gl_TERMIOS_H): Adjust it on mingw.
62373         * modules/termios (Makefile.am): Substitute new key.
62374         * lib/termios.in.h (includes): Make include_next conditional.
62375         * doc/posix-headers/termios.texi (termios.h): Update
62376         documentation.
62377         Reported by Daniel P. Berrange.
62379 2010-10-13  Jim Meyering  <meyering@redhat.com>
62381         git-version-gen: don't require that .git/ be in the current dir
62382         * build-aux/git-version-gen: Adjust this script so that it works
62383         when run from any working directory beneath the top-level .git/-
62384         containing directory.  Inspired by a patch from Giuseppe Scrivano,
62385         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
62387         test-select: avoid warn_unused_result warnings
62388         * tests/test-select.c: Include "macros.h".
62389         ASSERT that each call to read, write, and pipe succeeds.
62390         While not technically required, also check each "close".
62391         * modules/select-tests (Files): Add tests/macros.h.
62393         test-symlinkat: remove declaration of unused local
62394         * tests/test-symlinkat.c (main): Remove unused local, "buf".
62396         test-inttostr: avoid shadowing warnings
62397         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
62398         and use malloc rather than the stack for the same reason as
62399         mentioned in the comment justifying the other allocation.
62401 2010-10-11  Bruno Haible  <bruno@clisp.org>
62403         stdlib: Allow multiple gnulib generated replacements to coexist.
62404         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
62405         Reported by Sam Steingold <sds@gnu.org>.
62407 2010-10-11  Jim Meyering  <meyering@redhat.com>
62409         fix a documentation typo
62410         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
62412 2010-10-11  Eric Blake  <eblake@redhat.com>
62414         futimens: work around Solaris 11 bug
62415         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
62416         * tests/test-futimens.h (test_futimens): Enhance, rather than
62417         weaken test.
62418         * doc/posix-functions/futimens.texi (futimens): Document the bug.
62420 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62422         Indentation.
62423         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
62424         higher-level operators more to the left.
62426 2010-10-11  Jim Meyering  <meyering@redhat.com>
62428         test-futimens: avoid unwarranted test failure on Solaris 5.11
62429         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
62430         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
62431         because it tries to dereference the NULL name argument.
62433 2010-10-11  Bruno Haible  <bruno@clisp.org>
62435         Indentation.
62436         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
62437         indentation.
62439 2010-10-11  Jim Meyering  <meyering@redhat.com>
62441         spawn.in.h: make indentation consistent with parentheses
62442         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
62443         Make indentation consistent with parentheses.
62445 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
62447         Fix mismatched parens in previous commit
62448         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
62449         parens.
62451 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62453         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
62455         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
62456         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
62457         * lib/malloca.c: Include "verify.h".
62458         (verify1): Remove, replacing with a verify call.
62459         * lib/relocwrapper.c (verify1): Likewise.
62460         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
62461         Likewise.
62462         * modules/malloca (Depends-on): Add 'verify'.
62463         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
62464         * modules/vasnprintf (Depends-on): Add 'verify'.
62465         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62466         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62467         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62468         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62469         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62470         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62471         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62473         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
62475         Formerly the style was sometimes 2*X - 1, because the C standard
62476         was wrongly thought to disallow ?: in integral constant expressions.
62477         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
62478         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
62479         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
62480         * lib/stdint.in.h (_verify_intmax_size): Likewise.
62481         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
62482         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
62483         verify that time_t cannot be floating.
62485 2010-10-08  Eric Blake  <eblake@redhat.com>
62487         time: enforce recent POSIX ruling that time_t is integral
62488         * lib/time.in.h (__time_t_must_be_integral): Detect any
62489         problematic systems, allowing the rest of gnulib to assume POSIX.
62491 2010-10-08  Jim Meyering  <meyering@redhat.com>
62493         fdopendir: fix a bug on systems lacking openat and /proc support
62494         OpenBSD 4.7 is one such system.  The most noticeable effect was
62495         failure of any application making nontrivial use of fts: rm, du,
62496         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
62497           ./rm: traversal failed: `a': Bad file descriptor
62498         Debugging that, you see that even though FD 6 was closed just
62499         prior to the opendir call in fd_clone_opendir, its resulting
62500         dir->dd_fd was 8, rather than the expected value of 6:
62502         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
62503         93                close (fd);
62504         (gdb) n
62505         94                dir = fd_clone_opendir (dupfd);
62506         (gdb) n
62507         95                saved_errno = errno;
62508         (gdb) p dir->dd_fd
62509         $11 = 8
62511         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
62512         The problem is that on OpenBSD, fd_clone_opendir has to resort
62513         to using the old-style save/restore CWD mechanism, due to its
62514         lack of openat/proc support, and *that* would steal the FD (6)
62515         that opendir was supposed to use.
62517         The fix is to squirrel away the desired FD so that save_cwd uses a
62518         different one, and then free the dest FD right before calling opendir.
62519         That guarantees opendir will use the required file descriptor.
62521         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
62523 2010-10-08  Bruno Haible  <bruno@clisp.org>
62525         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
62526         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
62528 2010-10-08  Bruno Haible  <bruno@clisp.org>
62530         nanosleep: Make replacement POSIX compliant.
62531         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
62532         is out of range.
62533         Reported by Jim Meyering.
62535 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62537         bootstrap: add hook for altering gnulib.mk, for Bison
62538         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
62539         the Bison bootstrapping process can rewrite file names and variables
62540         in this file before later parts of 'bootstrap' use the file.
62541         Bison wants to include lib/gnulib.mk from the top-level makefile,
62542         so it needs the file names in this file to be relative to the top
62543         level, not relative to lib; plus it needs variable names to be
62544         rewritten.
62545         (slurp): Use the new function.
62547         bootstrap: reformat for readability
62548         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
62550 2010-10-08  Eric Blake  <eblake@redhat.com>
62552         docs: update cygwin progress
62553         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
62554         1.7.7.
62555         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
62556         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
62557         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
62558         * doc/posix-functions/carg.texi (carg): Likewise.
62559         * doc/posix-functions/cargf.texi (cargf): Likewise.
62560         * doc/posix-functions/casin.texi (casin): Likewise.
62561         * doc/posix-functions/casinf.texi (casinf): Likewise.
62562         * doc/posix-functions/casinh.texi (casinh): Likewise.
62563         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
62564         * doc/posix-functions/catan.texi (catan): Likewise.
62565         * doc/posix-functions/catanf.texi (catanf): Likewise.
62566         * doc/posix-functions/catanh.texi (catanh): Likewise.
62567         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
62568         * doc/posix-functions/ccos.texi (ccos): Likewise.
62569         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
62570         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
62571         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
62572         * doc/posix-functions/cexp.texi (cexp): Likewise.
62573         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
62574         * doc/posix-functions/cimag.texi (cimag): Likewise.
62575         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
62576         * doc/posix-functions/clog.texi (clog): Likewise.
62577         * doc/posix-functions/clogf.texi (clogf): Likewise.
62578         * doc/posix-functions/conj.texi (conj): Likewise.
62579         * doc/posix-functions/conjf.texi (conjf): Likewise.
62580         * doc/posix-functions/cpow.texi (cpow): Likewise.
62581         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
62582         * doc/posix-functions/cproj.texi (cproj): Likewise.
62583         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
62584         * doc/posix-functions/creal.texi (creal): Likewise.
62585         * doc/posix-functions/crealf.texi (crealf): Likewise.
62586         * doc/posix-functions/csin.texi (csin): Likewise.
62587         * doc/posix-functions/csinf.texi (csinf): Likewise.
62588         * doc/posix-functions/csinh.texi (csinh): Likewise.
62589         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
62590         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
62591         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
62592         * doc/posix-functions/ctan.texi (ctan): Likewise.
62593         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
62594         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
62595         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
62596         * doc/posix-headers/complex.texi (complex.h): Likewise.
62598 2010-10-07  Jim Meyering  <meyering@redhat.com>
62600         parse-datetime: avoid compilation failure on OpenBSD 4.7
62601         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
62602         This works around a compilation failure on OpenBSD 4.7:
62603         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
62605 2010-10-07  Eric Blake  <eblake@redhat.com>
62607         docs: update cygwin progress
62608         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
62609         1.7.6.
62610         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
62611         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
62612         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
62613         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
62614         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
62615         Likewise.
62616         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
62617         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
62618         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
62619         Likewise.
62620         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
62621         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
62622         Likewise.
62623         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
62624         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
62625         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
62626         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
62627         Likewise.
62628         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
62629         Likewise.
62630         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
62632         docs: update parse-datetime history
62633         * doc/parse-datetime.texi (Authors of parse_datetime): Better
62634         documentation of this function's history and alternatives.
62636         cygwin: use more robust version check
62637         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
62638         exclude an eventual cygwin 1.9.1.
62639         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
62640         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
62641         (gl_FUNC_STRCASESTR): Likewise.
62642         Reported by Bruno Haible.
62644 2010-10-06  Bruno Haible  <bruno@clisp.org>
62646         string, sys_select: Avoid #including large headers unless necessary.
62647         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
62648         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
62649         OSF/1, BeOS, Haiku.
62650         Reported by Jim Meyering.
62652 2010-10-05  Eric Blake  <eblake@redhat.com>
62654         memmem, strstr, strcasestr: fix bug with long periodic needle
62655         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
62656         periodic needle having false positive.
62657         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
62658         and cygwin 1.7.7.
62659         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
62660         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
62661         (gl_FUNC_STRCASESTR): Likewise.
62662         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
62663         * tests/test-memmem.c (main): Expose the bug.
62664         * tests/test-strcasestr.c (main): Likewise.
62665         * tests/test-strstr.c (main): Likewise.
62666         * tests/test-c-strcasestr.c (main): Likewise.
62667         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
62668         * doc/posix-functions/strstr.texi (strstr): Likewise.
62669         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
62670         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
62672 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62674         parse-datetime: do some more renaming
62675         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
62676         parse_datetime, not get_date.  Mention the renaming.
62677         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
62678         in comments.
62679         * m4/bison.m4: Likewise.
62681 2010-10-05  Eric Blake  <eblake@redhat.com>
62683         parse-datetime: better name than get_date
62684         * NEWS: Reword the deprecation notice.
62685         * modules/get_date: Rename to modules/parse-datetime.
62686         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
62687         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
62688         * lib/get_date.y: Rename to lib/parse-datetime.y.
62689         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
62690         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
62691         * doc/getdate.texi: Provide fallback wrapper.
62692         * lib/getdate.h: Move guts, and wrap...
62693         * lib/parse-datetime.h: ...new file.
62694         * lib/parse-datetime.y (get_date): Rename...
62695         (parse_datetime): ...to this.
62696         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
62697         (gl_PARSE_DATETIME): ...to this.
62698         * doc/posix-functions/getdate.texi (get_date): Provide fallback
62699         documentation.
62700         * modules/getdate (Files): Provide fallback docs and header.
62701         (Notice, Depends-on): Update references.
62702         * tests/test-parse-datetime.c: Likewise.
62703         * DEPENDENCIES: Likewise.
62704         * MODULES.html.sh (Date and time <time.h>): Likewise.
62705         * doc/parse-datetime.texi (Date input formats)
62706         (Authors of parse_datetime): Likewise.
62707         * modules/parse-datetime (Files, configure.ac, Makefile.am)
62708         (Include): Likewise.
62709         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
62710         * gnulib-tool: Likewise.
62711         * m4/bison.m4 (gl_BISON): Likewise.
62712         Suggested by Bruno Haible.
62714 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62716         more ports to Solaris tr, which needs [] around ranges
62717         * gnulib-tool: Solaris tr needs [] around ranges.
62718         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
62719         * tests/test-pipe-filter-gi1.c (main): Likewise.
62720         * tests/test-pipe-filter-ii1.c (main): Likewise.
62722 2010-10-05  Eric Blake  <eblake@redhat.com>
62724         bootstrap: fix Solaris regression
62725         * build-aux/bootstrap (check_versions): Solaris tr still needs []
62726         around ranges.
62727         Reported by Pádraig Brady.
62729         bootstrap: work with pkg-config
62730         * build-aux/bootstrap (check_versions): Also transliterate - in
62731         prerequisite name.
62732         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
62733         prerequisites that were already found, to avoid confusion.
62734         Reported by Justin Clift.
62736         faccessat: remove unused wrappers
62737         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
62738         presence of these wrappers dragged in -lgen on Solaris.
62739         Reported by Clemens Brogi; fix suggested by Paul Eggert.
62741 2010-10-05  Jim Meyering  <meyering@redhat.com>
62743         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
62744         * Makefile (sc_pragma_columns): New syntax-check rule.
62746 2010-10-04  Bruno Haible  <bruno@clisp.org>
62748         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
62749         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
62750         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
62751         Reported by Bruce Korb and Eric Blake.
62753 2010-10-04  Bruno Haible  <bruno@clisp.org>
62755         threadlib: Make option --with-libpth-prefix work.
62756         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
62757         use $LIBPTH, not just -lpth.
62759 2010-10-04  Bruno Haible  <bruno@clisp.org>
62761         Avoid line length limitation from HP NonStop system header files.
62762         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
62763         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
62764         * lib/ctype.in.h: Likewise.
62765         * lib/dirent.in.h: Likewise.
62766         * lib/errno.in.h: Likewise.
62767         * lib/fcntl.in.h: Likewise.
62768         * lib/float.in.h: Likewise.
62769         * lib/getopt.in.h: Likewise.
62770         * lib/iconv.in.h: Likewise.
62771         * lib/inttypes.in.h: Likewise.
62772         * lib/langinfo.in.h: Likewise.
62773         * lib/locale.in.h: Likewise.
62774         * lib/math.in.h: Likewise.
62775         * lib/netdb.in.h: Likewise.
62776         * lib/netinet_in.in.h: Likewise.
62777         * lib/poll.in.h: Likewise.
62778         * lib/pthread.in.h: Likewise.
62779         * lib/pty.in.h: Likewise.
62780         * lib/sched.in.h: Likewise.
62781         * lib/se-selinux.in.h: Likewise.
62782         * lib/search.in.h: Likewise.
62783         * lib/signal.in.h: Likewise.
62784         * lib/spawn.in.h: Likewise.
62785         * lib/stdarg.in.h: Likewise.
62786         * lib/stddef.in.h: Likewise.
62787         * lib/stdint.in.h: Likewise.
62788         * lib/stdio.in.h: Likewise.
62789         * lib/stdlib.in.h: Likewise.
62790         * lib/string.in.h: Likewise.
62791         * lib/strings.in.h: Likewise.
62792         * lib/sys_file.in.h: Likewise.
62793         * lib/sys_ioctl.in.h: Likewise.
62794         * lib/sys_select.in.h: Likewise.
62795         * lib/sys_socket.in.h: Likewise.
62796         * lib/sys_stat.in.h: Likewise.
62797         * lib/sys_time.in.h: Likewise.
62798         * lib/sys_times.in.h: Likewise.
62799         * lib/sys_utsname.in.h: Likewise.
62800         * lib/sys_wait.in.h: Likewise.
62801         * lib/sysexits.in.h: Likewise.
62802         * lib/termios.in.h: Likewise.
62803         * lib/time.in.h: Likewise.
62804         * lib/unistd.in.h: Likewise.
62805         * lib/wchar.in.h: Likewise.
62806         * lib/wctype.in.h: Likewise.
62807         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
62808         * modules/ctype (Makefile.am): Likewise.
62809         * modules/dirent (Makefile.am): Likewise.
62810         * modules/errno (Makefile.am): Likewise.
62811         * modules/fcntl-h (Makefile.am): Likewise.
62812         * modules/float (Makefile.am): Likewise.
62813         * modules/getopt-posix (Makefile.am): Likewise.
62814         * modules/iconv-h (Makefile.am): Likewise.
62815         * modules/inttypes (Makefile.am): Likewise.
62816         * modules/langinfo (Makefile.am): Likewise.
62817         * modules/locale (Makefile.am): Likewise.
62818         * modules/math (Makefile.am): Likewise.
62819         * modules/netdb (Makefile.am): Likewise.
62820         * modules/netinet_in (Makefile.am): Likewise.
62821         * modules/poll-h (Makefile.am): Likewise.
62822         * modules/pthread (Makefile.am): Likewise.
62823         * modules/pty (Makefile.am): Likewise.
62824         * modules/sched (Makefile.am): Likewise.
62825         * modules/search (Makefile.am): Likewise.
62826         * modules/selinux-h (Makefile.am): Likewise.
62827         * modules/signal (Makefile.am): Likewise.
62828         * modules/spawn (Makefile.am): Likewise.
62829         * modules/stdarg (Makefile.am): Likewise.
62830         * modules/stddef (Makefile.am): Likewise.
62831         * modules/stdint (Makefile.am): Likewise.
62832         * modules/stdio (Makefile.am): Likewise.
62833         * modules/stdlib (Makefile.am): Likewise.
62834         * modules/string (Makefile.am): Likewise.
62835         * modules/strings (Makefile.am): Likewise.
62836         * modules/sys_file (Makefile.am): Likewise.
62837         * modules/sys_ioctl (Makefile.am): Likewise.
62838         * modules/sys_select (Makefile.am): Likewise.
62839         * modules/sys_socket (Makefile.am): Likewise.
62840         * modules/sys_stat (Makefile.am): Likewise.
62841         * modules/sys_time (Makefile.am): Likewise.
62842         * modules/sys_times (Makefile.am): Likewise.
62843         * modules/sys_utsname (Makefile.am): Likewise.
62844         * modules/sys_wait (Makefile.am): Likewise.
62845         * modules/sysexits (Makefile.am): Likewise.
62846         * modules/termios (Makefile.am): Likewise.
62847         * modules/time (Makefile.am): Likewise.
62848         * modules/unistd (Makefile.am): Likewise.
62849         * modules/wchar (Makefile.am): Likewise.
62850         * modules/wctype (Makefile.am): Likewise.
62852 2010-10-04  Bruno Haible  <bruno@clisp.org>
62854         read-file tests: Avoid a test failure on NonStop Kernel.
62855         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
62856         a regular file.
62857         Reported by Joachim Schmitz <schmitz@hp.com>.
62859 2010-10-03  Bruno Haible  <bruno@clisp.org>
62861         gnulib-tool: Fixes for --create-testdir with --libtool.
62862         * gnulib-tool (func_get_automake_snippet): Don't augment
62863         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
62864         an executable.
62865         (func_create_testdir): Handle module 'alloca' like func_import.
62866         Reported by Bruce Korb <bruce.korb@gmail.com>.
62868 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62870         Avoid some lines longer than 80 characters.
62871         * lib/stdint.in.h: Break long comment lines.
62872         * lib/math.in.h: Likewise.
62873         (_GL_NUM_UINT_WORDS): New macro, for readability.
62874         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
62875         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
62876         * lib/stdlib.in.h: Likewise.
62877         * lib/spawn.in.h: Likewise.
62878         * lib/sys_socket.in.h: Update an URL.
62879         * lib/sys_stat.in.h: Break long line.
62881 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
62883         Improve pmccabe2html.
62884         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
62885         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
62886         when the sources change. Remove the line in the HTML about "Used
62887         ranges" (which implied that there might be other unused ranges),
62888         rename "Resume" to "Summary" (easier to understand for more users).
62889         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
62890         styles, and some unnecessary blank lines.
62892 2010-10-03  Bruno Haible  <bruno@clisp.org>
62893             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
62895         acl: Add support for ACLs on NonStop Kernel.
62896         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
62897         Check whether the function aclsort() exists.
62898         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
62899         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
62900         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
62901         (acl_nontrivial [HAVE_ACLSORT]: New function.
62902         (file_has_acl): Implement for NonStop Kernel.
62903         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
62904         (qset_acl): Implement for NonStop Kernel.
62905         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
62906         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
62907         (main): Implement for NonStop Kernel.
62908         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
62909         Kernel. Handle this flavor.
62910         * tests/test-set-mode-acl.sh: Likewise.
62911         * tests/test-copy-acl.sh: Likewise.
62912         * tests/test-copy-file.sh: Likewise.
62914 2010-10-03  Bruno Haible  <bruno@clisp.org>
62916         Info about ACLs on NonStop Kernel.
62917         * doc/acl-resources.txt: Add info about NonStop Kernel.
62918         References by Joachim Schmitz <schmitz@hp.com>.
62920 2010-10-02  Bruno Haible  <bruno@clisp.org>
62922         Define missing EDQUOT on NonStop Kernel.
62923         * lib/errno.in.h (EDQUOT): Assign a value if missing.
62924         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
62925         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
62926         missing.
62927         * doc/posix-headers/errno.texi: Mention the NSK bug.
62928         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
62929         Reported by Joachim Schmitz <schmitz@hp.com>.
62931 2010-10-02  Bruno Haible  <bruno@clisp.org>
62933         Update doc for POSIX:2008.
62934         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
62935         Update URL of POSIX specification.
62937 2010-10-02  Bruno Haible  <bruno@clisp.org>
62939         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
62940         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
62941         from gnulib, not from Automake.
62943 2010-10-02  Bruno Haible  <bruno@clisp.org>
62945         New module 'system-posix'.
62946         * modules/system-posix: New file.
62947         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
62948         module is present.
62949         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62950         GNULIB_SYSTEM_POSIX.
62951         * modules/stdlib (Depends-on): Remove sys_wait.
62952         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
62953         * doc/posix-functions/system.texi: Mention the new module.
62954         * doc/posix-headers/stdlib.texi: Likewise.
62955         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
62956         define test_sys_wait_macros to a no-op.
62957         Reported by Sam Steingold <sds@gnu.org>.
62959 2010-09-30  Bruno Haible  <bruno@clisp.org>
62961         More renaming from 'getdate' to 'get_date'.
62962         * doc/get_date.texi: Renamed from doc/getdate.texi.
62963         * modules/get_date (Files): Update.
62964         * MODULES.html.sh (Date and time <time.h>): Update.
62965         * DEPENDENCIES: Update.
62966         * gnulib-tool: Update comment.
62967         * m4/bison.m4 (gl_BISON): Likewise.
62968         * m4/get_date.m4 (gl_GET_DATE): Likewise.
62970 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
62972         bootstrap: support ACLOCAL_FLAGS during aclocal
62973         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
62974         can add additional -I dir for third-party .m4 files.
62976 2010-09-30  Eric Blake  <eblake@redhat.com>
62978         bootstrap: use glibtoolize on MacOS
62979         * build-aux/bootstrap (check_versions): Convert libtool into
62980         libtoolize.
62981         (tool search): Move libtool check earlier, and look for
62982         glibtoolize for MacOS.
62983         (gnulib_tool_options): Auto-add --libtool when appropriate.
62984         Reported by Justin Clift.
62986         poll: fix typo that broke test on MacOS
62987         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
62988         Reported by Justin Clift.
62990         getdate: rename to get_date
62991         Note: getdate.h is not renamed, to minimize client impact.
62992         * modules/getdate: Mark obsolete.  Move old contents...
62993         * modules/get_date: ...to new module name.
62994         * modules/getdate-tests: Move...
62995         * modules/get_date-tests: ...here.
62996         * m4/getdate.m4: Move...
62997         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
62998         * lib/getdate.y: Move...
62999         * lib/get_date.y: ...here.
63000         * tests/test-getdate.c: Move...
63001         * tests/test-get_date.c: ...here.
63002         * doc/posix-functions/getdate.texi (getdate): Update name.
63003         * NEWS: Mention the change.
63005 2010-09-29  Bruno Haible  <bruno@clisp.org>
63007         Separate the module 'waitpid' from the module 'sys_wait'.
63008         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
63009         present.
63010         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
63011         gl_MODULE_INDICATOR_FOR_TESTS.
63012         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
63013         * modules/sys_wait (Depends-on): Remove waitpid.
63014         (Makefile.am): Substitute GNULIB_WAITPID.
63015         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
63016         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
63017         signature only if the 'waitpid' module is present.
63018         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
63019         * NEWS: Mention the change.
63020         * modules/grantpt (Depends-on): Add waitpid.
63021         * modules/wait-process (Depends-on): Likewise.
63023 2010-09-29  Bruno Haible  <bruno@clisp.org>
63025         More tests for module 'sys_wait'.
63026         * modules/sys_wait-c++-tests: New file.
63027         * tests/test-sys_wait-c++.cc: New file.
63028         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
63029         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
63031 2010-09-29  Bruno Haible  <bruno@clisp.org>
63033         New module 'waitpid'.
63034         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
63035         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
63036         Don't include <process.h>.
63037         (waitpid): Declare only, using modern idiom.
63038         * m4/waitpid.m4: New file.
63039         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
63040         * modules/waitpid: New file.
63041         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
63042         (Makefile.am): Update.
63043         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
63045 2010-09-28  Bruno Haible  <bruno@clisp.org>
63047         poll: Assume ANSI C.
63048         * lib/poll.c (poll): Use an ANSI C declaration.
63050 2010-09-28  Bruno Haible  <bruno@clisp.org>
63052         poll-h: Create poll.h on all platforms.
63053         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
63054         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
63055         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
63056         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
63057         (gl_REPLACE_POLL_H): Don't set POLL_H.
63058         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
63059         * modules/poll-h (Depends-on): Add include_next.
63060         (Makefile.am): Create poll.h unconditionally. Substitute also
63061         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
63063 2010-09-28  Bruno Haible  <bruno@clisp.org>
63065         Tests for module 'poll-h'.
63066         * modules/poll-h-c++-tests: New file.
63067         * tests/test-poll-h-c++.cc: New file.
63069         Tests for module 'poll-h'.
63070         * modules/poll-h-tests: New file.
63071         * tests/test-poll-h.c: New file.
63073 2010-09-28  Bruno Haible  <bruno@clisp.org>
63075         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
63076         * modules/poll-h (Depends-on): Add 'extensions'.
63078 2010-09-28  Bruno Haible  <bruno@clisp.org>
63080         New module 'poll-h'.
63081         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
63082         (poll): Use modern idiom.
63083         * modules/poll-h: New file.
63084         * modules/poll (Files): Remove lib/poll.in.h.
63085         (Depends-on): Add poll-h.
63086         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
63087         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
63088         * m4/poll_h.m4: New file.
63089         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
63090         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
63091         and invoke gl_REPLACE_POLL_H.
63092         * lib/poll.c: Use common idiom.
63093         * tests/test-poll.c: Likewise.
63094         * doc/posix-headers/poll.texi: Mention the poll-h module.
63095         Suggested by Eric Blake.
63097 2010-09-26  Bruno Haible  <bruno@clisp.org>
63099         sys_wait: Implement WSTOPSIG.
63100         * lib/sys_wait.in.h (WSTOPSIG): New macro.
63101         Reported by Simon Josefsson.
63103 2010-09-26  Simon Josefsson  <simon@josefsson.org>
63105         stdlib, sys_wait: Avoid compilation error on mingw.
63106         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
63108 2010-09-26  Bruno Haible  <bruno@clisp.org>
63110         stdlib tests: Avoid code duplication.
63111         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
63112         * modules/sys_wait-tests (Files): Likewise.
63113         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
63114         * tests/test-stdlib.c: Include test-sys_wait.h.
63115         (main): Invoke test_sys_wait_macros.
63116         * tests/test-sys_wait.c: Include test-sys_wait.h.
63117         (main): Invoke test_sys_wait_macros.
63119 2010-09-25  Simon Josefsson  <simon@josefsson.org>
63121         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
63122         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
63123         sure Windows sockets are working before calling getaddrinfo.
63124         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
63125         * doc/gnulib.texi (Windows sockets): Fix typo.
63127 2010-09-25  Bruno Haible  <bruno@clisp.org>
63129         Tests for module 'regex-quote'.
63130         * modules/regex-quote-tests: New file.
63131         * tests/test-regex-quote.c: New file.
63133         New module 'regex-quote'.
63134         * lib/regex-quote.h: New file.
63135         * lib/regex-quote.c: New file.
63136         * modules/regex-quote: New file.
63137         Suggested by Reuben Thomas <rrt@sc3d.org>.
63139 2010-09-24  Bruno Haible  <bruno@clisp.org>
63141         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
63142         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
63144 2010-09-23  Bruno Haible  <bruno@clisp.org>
63146         setenv: Relax license.
63147         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
63148         Blake.
63149         Requested by Eric Blake.
63151 2010-09-22  Bruno Haible  <bruno@clisp.org>
63153         termios: Relax license.
63154         * modules/termios (License): Change to LGPLv2+.
63155         Requested by Eric Blake.
63157 2010-09-22  Bruno Haible  <bruno@clisp.org>
63159         threadlib: Allow the package to change the default to 'no'.
63160         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
63161         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
63162         Reported by Paul Eggert.
63164 2010-09-22  Pádraig Brady  <P@draigbrady.com>
63165             Bruno Haible  <bruno@clisp.org>
63167         Fix endless loop in mbmemcasecoll.
63168         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
63169         byte.
63170         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
63172 2010-09-22  Bruno Haible  <bruno@clisp.org>
63174         Tests for module 'memcoll'.
63175         * modules/memcoll-tests: New file.
63176         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
63178         memcoll, xmemcoll: Clarify size vs. length.
63179         * modules/memcoll.c (memcoll0): Clarify specification.
63180         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
63181         passed to collate_error.
63183 2010-09-22  Bruno Haible  <bruno@clisp.org>
63185         Tests for module 'memcasecmp'.
63186         * modules/memcasecmp-tests: New file.
63187         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
63189 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63191         * lib/pthread.in.h: Add split double-inclusion guard, and include
63192         system <pthread.h> if there is one.  Use @@-style as in other
63193         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
63194         pthread.h doesn't.
63195         (pthread_mutexattr_destroy, pthread_mutexattr_init):
63196         (pthread_mutexattr_settype, pthread_mutex_trylock):
63197         New static inline functions, if there's no system <pthread.h>.
63198         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
63199         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
63200         Approximate with mutexes if the system lacks spinlocks, as in
63201         MacOS.
63202         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
63203         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
63204         @@-style.  Check for spinlocks separately.
63205         (gl_PTHREAD_DEFAULTS): New macro.
63206         * modules/pthread: Redo to use a more typical style for in.h files.
63208 2010-09-21  Eric Blake  <eblake@redhat.com>
63210         net_if: enhance tests
63211         * tests/test-net_if.c (main): Move signature checks earlier.
63212         Print failures to stderr.
63213         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
63214         Document the bug that we do not yet fix.
63216 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
63218         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
63219         about gnulib, not GSS.
63221 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
63223         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
63224         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
63225         for Emacs.
63226         * build-aux/pmccabe2html: Make Makefile.am example code more
63227         cut-and-paste friendly.
63229 2010-09-21  Simon Josefsson  <simon@josefsson.org>
63231         * tests/test-net_if.c: New file.
63232         * modules/net_if-tests: New file.
63234 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
63236         pthread: add pthread_spin_destroy
63237         * lib/pthread.in.h (pthread_spin_destroy): New function.
63239 2010-09-19  Bruno Haible  <bruno@clisp.org>
63241         gnulib-tool: Fix --help output.
63242         * gnulib-tool (func_usage): Fix help message.
63243         Reported by Reuben Thomas <rrt@sc3d.org>.
63245 2010-09-18  Jim Meyering  <meyering@redhat.com>
63247         maint.mk: avoid unexpanded \n in two diagnostics
63248         * top/maint.mk (sc_prohibit_always_true_header_tests):
63249         Don't use a literal \n in a halt=... assignment.  It would not be
63250         expanded, and the two \n bytes would appear in the diagnostic output
63251         rather than the desired newline.  Use halt=$$(printf ... instead.
63252         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
63254 2010-09-18  Bruno Haible  <bruno@clisp.org>
63256         netinet_in: Doc tweak.
63257         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
63258         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
63260 2010-09-18  Jim Meyering  <meyering@redhat.com>
63262         init.sh: correct an outdated comment
63263         * tests/init.sh (create_exe_shims_):  s/function/alias/
63265         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
63266         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
63267         a file named "*.exe" is removed between the glob expansion and the
63268         processing of that oddly named file.
63270 2010-09-17  Eric Blake  <eblake@redhat.com>
63272         mirbsd: add some more support
63273         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
63274         in BSD family.
63275         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
63276         devices as OpenBSD.
63277         * m4/host-os.m4 (mirbsd): Add MirBSD.
63279         tests: fix unportable assumption on sys/wait.h
63280         * tests/test-sys_wait.c (main): Relax test.
63281         * tests/test-stdlib.c (main): Likewise.
63283         init.sh: accommodate directory with no .exes
63284         * tests/init.sh: Accomodate directory containing only scripts.
63286         tests: avoid compiler warning
63287         * tests/test-stdlib.c (main): Use the variable.
63289         fdutimens, fdutimensat: update signature, again
63290         * lib/utimens.h (gl_futimens): Delete, and move signature...
63291         (fdutimens): ...here.
63292         (fdutimensat): Rearrange signature.
63293         (lutimensat): Rename variable for clarity.
63294         * lib/fdutimensat.c (fdutimensat): Update signature.
63295         * lib/utimens.c (fdutimens): Likewise.
63296         (gl_futimens): Delete.
63297         (utimens, lutimens): Update callers.
63298         * lib/futimens.c (futimens): Likewise.
63299         * tests/test-fdutimensat.c: Likewise.
63300         * tests/test-utimens.c: Likewise.
63301         * tests/test-futimens.h: Update comment.
63302         * NEWS: Mention this.
63303         Suggested by Paul Eggert.
63305 2010-09-17  Bruno Haible  <bruno@clisp.org>
63307         Take over the maintenance of some older macros from Autoconf.
63308         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
63309         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
63310         GNU Autoconf.
63311         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
63312         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
63314 2010-09-17  Eric Blake  <eblake@redhat.com>
63316         fdutimensat: drop atflag validation
63317         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
63318         with valid fd, to close a race scenario where futimens is
63319         unsupported and FILE was replaced by a symlink.
63320         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
63321         accordingly.
63322         Suggested by Paul Eggert.
63324 2010-09-16  Bruno Haible  <bruno@clisp.org>
63326         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
63327         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
63329 2010-09-16  Bruno Haible  <bruno@clisp.org>
63331         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
63332         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
63333         login_tty exists.
63334         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
63336 2010-09-16  Bruno Haible  <bruno@clisp.org>
63338         login_tty: Make the replacement code work on BSD systems.
63339         * lib/login_tty.c: Include <sys/ioctl.h>.
63340         (login_tty): Use ioctl TIOCSCTTY when available.
63341         * modules/login_tty (Depends-on): Add sys_ioctl.
63342         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
63344 2010-09-16  Bruno Haible  <bruno@clisp.org>
63346         login_tty: Stricter unit test.
63347         * modules/login_tty-tests (Depends-on): Add tcgetsid.
63348         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
63349         and tcgetsid() after login_tty.
63350         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
63352 2010-09-16  Bruno Haible  <bruno@clisp.org>
63354         New module 'tcgetsid'.
63355         * lib/tcgetsid.c: New file.
63356         * m4/tcgetsid.m4: New file.
63357         * modules/tcgetsid: New file.
63358         * modules/termios (Depends-on): Add c++defs, warn-on-use.
63359         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
63360         GNULIB_TCGETSID, HAVE_TCGETSID.
63361         * lib/termios.in.h: Include <sys/types.h>.
63362         (tcgetsid): New declaration.
63363         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
63364         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
63365         * doc/posix-functions/tcgetsid.texi: Mention the new module.
63366         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
63368 2010-09-16  Bruno Haible  <bruno@clisp.org>
63370         Tests for module 'termios'.
63371         * modules/termios-c++-tests: New file.
63372         * modules/termios-tests: New file.
63373         * tests/test-termios-c++.cc: New file.
63374         * tests/test-termios.c: New file.
63376         New module 'termios'.
63377         * modules/termios: New file.
63378         * lib/termios.in.h: New file.
63379         * m4/termios_h.m4: New file.
63380         * doc/posix-headers/termios.texi: Mention the new module.
63382 2010-09-16  Eric Blake  <eblake@redhat.com>
63384         fdutimensat: add an atflag parameter
63385         * lib/fdutimensat.c (fdutimensat): Add new parameter.
63386         * lib/utimens.h (fdutimensat): Update prototype.
63387         * tests/test-fdutimensat.c: Adjust test to match.
63388         * NEWS: Document the change.
63389         Suggested by Paul Eggert.
63391 2010-09-16  Bruno Haible  <bruno@clisp.org>
63393         Fix typos in comments.
63394         * lib/striconveh.h: Fix typo in comment.
63395         * lib/login_tty.c (login_tty): Likewise.
63397 2010-09-15  Bruno Haible  <bruno@clisp.org>
63399         stdlib: clarify MirBSD WEXITSTATUS bug
63400         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
63401         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
63403 2010-09-15  Eric Blake  <eblake@redhat.com>
63405         stdlib: work around MirBSD WEXITSTATUS bug
63406         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
63407         * modules/stdlib (Depends-on): Add sys_wait.
63408         * tests/test-sys_wait.c (main): Enhance test.
63409         * tests/test-stdlib.c (main): Likewise.
63410         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
63412         docs: mention MacOS issue with WEXITSTATUS(constant)
63413         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
63414         issue.
63415         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
63417         strnlen: add tests
63418         * modules/strnlen-tests: New file.
63419         * tests/test-strnlen.c: Likewise.
63421 2010-09-14  Bruno Haible  <bruno@clisp.org>
63423         unistr/base: Avoid link errors when module 'libunistring' is also used.
63424         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
63425         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
63426         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
63427         Declare also when HAVE_LIBUNISTRING is set.
63428         Reported by Pádraig Brady <P@draigbrady.com>.
63430 2010-09-14  Eric Blake  <eblake@redhat.com>
63432         test-rawmemchr: make more robust
63433         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
63434         (Depends-on, configure.ac): Add needed prerequisites to use it.
63435         * modules/memchr-tests (Files, Depends-on, configure.ac):
63436         Likewise, to avoid implicit reliance on memchr module prereqs.
63437         * tests/test-memchr.c (main): Ensure proper masking.
63438         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
63439         reads.
63441         memchr: detect glibc Alpha bug
63442         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
63443         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
63444         Alpha.
63445         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
63446         * tests/test-memchr.c (main): Enhance test.
63447         Reported by Nelson H. F. Beebe.
63449 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63451         fts, getcwd, glob: audit for dirfd returning -1
63452         * lib/fts.c (opendir): Remove #define; no longer used.
63453         (opendirat): New arg PDIR_FD.  All callers changed.
63454         (fts_build, _opendir2): Use new opendirat to avoid the need for
63455         dirfd, or for checking whether dirfd returns a negative value.
63456         Don't use opendir; always use openat followed by fdopendir.
63457         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
63458         it.
63459         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
63460         returns -1 here.
63461         * modules/fts (Depends-on): Remove dirfd.
63462         * modules/getcwd (Depends-on): Likewise.
63464 2010-09-13  Eric Blake  <eblake@redhat.com>
63466         float: fix broken MirBSD header
63467         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
63468         * doc/posix-headers/float.texi (float.h): Document it.
63470 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63472         fts: use O_NOFOLLOW to avoid race condition when opening a directory
63473         * lib/fts.c (opendirat): New arg extra_flags.
63474         (__opendir2): Use it to avoid following symlinks when opening
63475         a directory, if symlinks are not supposed to be followed.  See
63476         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
63478         fdopendir: preserve argument fd before returning
63479         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
63480         (fdopendir_with_dup, fd_clone_opendir): New static functions.
63481         (fdopendir): Use them, arranging for FD to be open to the same
63482         directory that it was when it started.  (It might be temporarily
63483         closed while fdopendir is running, so this not thread- or
63484         signal-safe.)  Be careful to do the right thing even when file
63485         descriptors are scarce and dup fails with errno == EMFILE.  See
63486         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
63488 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
63490         regex: Pass the system regex if its only problem is 32-bit regoff_t.
63491         * NEWS: Document change.
63492         * m4/regex.m4: Disable test for regoff_t size.
63494 2010-09-13  Jim Meyering  <meyering@redhat.com>
63496         fts: don't operate on an invalid file descriptor after failed dup
63497         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
63498         negative file descriptor.
63500 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
63502         savedir: add streamsavedir, deprecate fdsavedir
63503         * NEWS: Mention deprecation of fdsavedir.
63504         * lib/savedir.c (streamsavedir): New extern function, whose name
63505         ends in "savedir" to be consistent with the others.  This differs
63506         from savedirstream in that it doesn't close its argument.  The
63507         next version of GNU tar will use this instead of fdsavedir, to
63508         avoid some race conditions and conserve file descriptors.
63509         (savedirstream): Reimplement as a wrapper around streamsavedir.
63510         (fdsavedir): Add a comment deprecating this function.  As far as
63511         I know, only GNU tar used it, and GNU tar doesn't need it any more.
63512         * lib/savedir.h (streamsavedir): New decl.
63513         (fdsavedir): Add a comment deprecating this.
63515 2010-09-10  Bruno Haible  <bruno@clisp.org>
63517         langinfo: Fix last commit.
63518         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
63519         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
63520         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
63522 2010-09-10  Bruno Haible  <bruno@clisp.org>
63524         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
63525         * lib/progreloc.c (O_EXEC): Define fallback.
63527 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
63529         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
63530         * NEWS: Document recent changes to fcntl-h.
63531         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
63532         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
63533         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
63534         Similarly for O_SEARCH; this last was already true, but not documented.
63535         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
63536         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
63537         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
63538         Likewise.
63539         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
63540         is zero, not whether it is defined.
63541         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
63542         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
63543         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
63545 2010-09-10  Bruno Haible  <bruno@clisp.org>
63547         langinfo, nl_langinfo: Fix for IRIX 5.3.
63548         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
63549         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
63550         HAVE_LANGINFO_YESEXPR.
63551         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
63552         HAVE_LANGINFO_YESEXPR.
63553         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
63554         HAVE_LANGINFO_T_FMT_AMPM is 0.
63555         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
63556         HAVE_LANGINFO_YESEXPR is 0.
63557         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
63558         NOEXPR.
63559         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
63560         * doc/posix-functions/nl_langinfo.texi: Likewise.
63561         Reported by Eric Blake.
63563 2010-09-10  Bruno Haible  <bruno@clisp.org>
63565         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
63566         * doc/glibc-functions/login_tty.texi: Mention the include file problem
63567         on FreeBSD 8.0 and OpenBSD 4.6.
63568         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
63569         * m4/pty_h.m4 (gl_PTY_H): Likewise.
63570         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
63571         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
63572         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
63573         ac_includes_default.
63574         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
63576 2010-09-09  Eric Blake  <eblake@redhat.com>
63578         strsignal: work around NetBSD bug
63579         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
63580         * lib/string.in.h (includes): Likewise.
63581         * doc/posix-functions/strsignal.texi (strsignal): Document the
63582         bug.
63583         Reported by Nelson H. F. Beebe.
63585         gnulib-tool: work with NetBSD /bin/sh
63586         * gnulib-tool (func_cache_var, func_cache_lookup_module)
63587         (func_get_description, func_get_comment, func_get_status)
63588         (func_get_notice, func_get_applicability, func_get_filelist)
63589         (func_get_dependencies, func_get_autoconf_early_snippet)
63590         (func_get_autoconf_snippet, func_get_automake_snippet)
63591         (func_get_include_directive, func_get_link_directive)
63592         (func_get_license, func_get_maintainer, func_import): Avoid
63593         shell syntax errors from parsing syntax extensions.
63595 2010-09-09  Bruno Haible  <bruno@clisp.org>
63597         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
63598         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
63599         a reliable way to determine whether the 'alias' command works.
63601 2010-09-08  Jim Meyering  <meyering@redhat.com>
63603         init.sh: penalize a set-x-impaired shell; don't disqualify it
63604         * tests/init.sh: Too many shells corrupt application stderr when
63605         you set -x, so we can't afford to disqualify them, since at least
63606         on Irix-6.5, that would disqualify all bourne shells.
63607         Instead, use a two-pass approach.
63608         On the first pass, try to find a shell that meets the stricter
63609         condition that set -x does not corrupt stderr.
63610         If no shell meets the stricter condition, retest each candidate
63611         shell, but without that extra condition.  Finally, when
63612         VERBOSE=yes is requested and set -x might cause trouble, simply
63613         issue a warning and refrain from enabling debug output.
63615 2010-09-08  Eric Blake  <eblake@redhat.com>
63617         unsetenv: fix OpenBSD bug
63618         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
63619         * doc/posix-functions/unsetenv.texi (unsetenv): Update
63620         documentation.
63621         Reported by Jim Meyering.
63623         strtod: work around IRIX 6.5 bug
63624         * lib/strtod.c (strtod): Reparse number on shorter string if
63625         exponent parse was invalid.
63626         * tests/test-strtod.c (main): Add check for "0x1p 2".
63627         Reported by Tom G. Christensen.
63629         getopt: optimize previous patch
63630         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
63631         empty variable.  Speed up awk script.
63632         Reported by Paolo Bonzini.
63634 2010-09-08  Jim Meyering  <meyering@redhat.com>
63636         test.sh: disqualify shells for which set -x corrupts stderr
63637         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
63638         and OpenBSD 4.7.  They make it so with "set -x", environment settings
63639         appear in stderr output.  For example, this command:
63640             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
63641         prints "P=1" on those two systems:
63643 2010-09-08  Bruno Haible  <bruno@clisp.org>
63645         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
63646         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
63647         commands, because some shells ignore redirections when there is an
63648         error in the command lookup.
63649         Reported by Eric Blake.
63651 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
63653         * lib/regex.h: Fix a mention of `regex_compile' (should be
63654         `re_compile_pattern').
63655         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
63656         (re_set_registers): Correct name of parameter in comment.
63658         * doc/regex.texi: Add documentation for missing syntax flags.
63659         Remove commented-out documentation of defunct syntax option
63660         RE_NO_EMPTY_ALTS.
63661         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
63662         Add documentation of re_set_registers.
63663         Document trick to re-use a pattern buffer by setting fastmap manually.
63664         Update documentation of struct re_pattern_buffer per public members.
63665         Uncomment documentation of equivalence class operators and
63666         collating symbol operators, since they are now implemented,
63667         Explain leftmost-longest matching in relation to alternatives.
63668         Tidy documentation of substring matching.
63669         Remove POSIX documentation, which is done better in
63670         glibc, and refer the reader there. Keep BSD API documentation, as
63671         that is not readily available elsewhere.
63673 2010-09-07  Eric Blake  <eblake@redhat.com>
63675         getopt: handle POSIXLY_CORRECT set but not exported
63676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
63677         export state of POSIXLY_CORRECT, due to bash set -o posix.
63678         Reported by Dustin J. Mitchell.
63680 2010-09-05  Bruno Haible  <bruno@clisp.org>
63682         gnulib-tool: Highlight the changed options.
63683         * gnulib-tool (func_usage): Display the --import, --add-import,
63684         --remove-import explanations in bold font.
63686 2010-09-06  Karl Berry  <karl@gnu.org>
63688         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
63690 2010-09-05  Bruno Haible  <bruno@clisp.org>
63692         uniwidth/width: Update comment.
63693         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
63694         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
63696 2010-09-05  Bruno Haible  <bruno@clisp.org>
63698         isinf, isnan: Relax license.
63699         * modules/isinf (License): Change from GPL to LGPL, with consent from
63700         Ben Pfaff.
63701         * modules/isnan (License): Likewise.
63702         Requested by Ludovic Courtès.
63704 2010-09-04  Bruno Haible  <bruno@clisp.org>
63706         gnulib-tool: Help migration from --import to --add-import or --update.
63707         * gnulib-tool: Emit a verbose error message when --import is used
63708         without any module name.
63710 2010-09-04  Bruno Haible  <bruno@clisp.org>
63712         Update doc about gnulib-tool.
63713         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
63714         'gnulib-tool --update' in more detail.
63715         Reported by Eric Blake.
63717 2010-09-04  Bruno Haible  <bruno@clisp.org>
63719         gnulib-tool: Change --import. New options --add/remove-import.
63720         * gnulib-tool: New options --add-import, --remove-import.
63721         (func_usage): Document them.
63722         (have_associative): Define always.
63723         (func_import): In import mode, don't merge the specified settings with
63724         the cached settings. Implement remove-import mode.
63725         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
63726         Explain when to use them versus --import.
63727         (Simple update): Use --add-import instead of --import.
63728         * NEWS: Mention the change.
63730 2010-09-04  Bruno Haible  <bruno@clisp.org>
63732         * doc/gnulib-tool.texi (Initial import): Update paragraph about
63733         separate gnulib.mk.
63735 2010-09-04  Bruno Haible  <bruno@clisp.org>
63737         gnulib-tool: Don't talk about CVS any more.
63738         * gnulib-tool (func_usage, func_import): Write "version control"
63739         instead of CVS.
63741 2010-09-04  Jim Meyering  <meyering@redhat.com>
63743         maint.mk: avoid obscure sc_copyright_check failure in coreutils
63744         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
63745         false positives (whose names may be ill-chosen) when searching
63746         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
63747         would cause a false-positive.
63749         avoid coreutils "make distcheck" failure
63750         Coreutils tests with an absolute build directory name that contains
63751         a space.  Not quoting this directory name caused a failure.
63752         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
63753         * tests/test-vc-list-files-cvs.sh: Likewise.
63755 2010-09-04  Bruno Haible  <bruno@clisp.org>
63757         gnulib-tool: Avoid error when run in a package without Makefile.am.
63758         * gnulib-tool: When collecting the m4dirs in a package that does not
63759         have a Makefile.am, eliminate those directories that contain no
63760         gnulib-cache.m4. Fix expression that counts these directories.
63762 2010-09-04  Bruno Haible  <bruno@clisp.org>
63764         update-copyright test: Improve output when perl is missing or too old.
63765         * tests/test-update-copyright.sh: Move test of Perl version down after
63766         the test whether Perl exists. Provide an explanation relating Perl's
63767         error message to Automake's SKIP: message.
63769 2010-09-04  Bruno Haible  <bruno@clisp.org>
63771         Don't augment PATH in TESTS_ENVIRONMENT.
63772         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
63773         set abs_aux_dir instead of augmenting PATH.
63774         * modules/vc-list-files-tests (Makefile.am): Likewise.
63775         * tests/test-update-copyright.sh: Augment PATH here.
63776         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
63777         path_prepend_.
63778         * tests/test-vc-list-files-git.sh: Likewise.
63780 2010-09-04  Jim Meyering  <meyering@redhat.com>
63782         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
63783         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
63785 2010-09-04  Bruno Haible  <bruno@clisp.org>
63787         strdup: Fix compilation error in C++ mode.
63788         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
63789         the macro.
63791 2010-09-04  Bruno Haible  <bruno@clisp.org>
63793         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
63794         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
63795         macro into a function.
63796         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
63798 2010-09-04  Bruno Haible  <bruno@clisp.org>
63800         Set PATH_SEPARATOR the same way autoconf does.
63801         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
63802         the value of PATH_SEPARATOR the same way autoconf-generated configure
63803         scripts do.
63804         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
63805         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
63807 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
63809         Set PATH_SEPARATOR the same way autoconf does.
63810         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
63811         the same way autoconf-generated configure scripts do.
63812         * posix-modules: Likewise.
63814 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63816         hash: fix safe_hasher const typo
63817         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
63818         const; otherwise, there is a type error later.
63820 2010-09-02  Jim Meyering  <meyering@redhat.com>
63822         test-update-copyright.sh: require perl 5.8.0
63823         * tests/test-update-copyright.sh: Require 5.8.0,
63824         which Tom G. Christensen has confirmed is adequate,
63825         while 5.6.1 is not.
63827 2010-09-02  Eric Blake  <eblake@redhat.com>
63829         tests: init.sh improvements for re-exec'ing with zsh
63830         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
63831         -vx through shell re-exec.
63832         Reported by Tom G. Christensen.
63834         wctype: fix typo in previous commit
63835         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
63836         Reported by Ludovic Courtès.
63838 2010-09-02  Jim Meyering  <meyering@redhat.com>
63840         test-update-copyright.sh: skip test if Perl is too old
63841         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
63842         Reported by Tom G. Christensen.
63844 2010-09-02  Bruno Haible  <bruno@clisp.org>
63846         wctype: Avoid compilation error on IRIX 6.5.30.
63847         * lib/wctype.in.h (iswblank): Declare with a replacement if
63848         REPLACE_ISWBLANK is set.
63849         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
63850         declared. Set REPLACE_ISWBLANK.
63851         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
63852         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
63853         * doc/posix-headers/wctype.texi: Likewise.
63854         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
63856 2010-09-01  Bruno Haible  <bruno@clisp.org>
63858         New module 'socketlib'.
63859         * modules/socketlib: New file.
63860         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
63861         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
63862         * modules/sockets (Depends-on): Add socketlib.
63863         Suggested by Sam Steingold <sds@gnu.org>.
63865 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63867         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
63869         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
63870         when one needs search access to a directory but not read access.
63871         On systems where it is available, it works in some cases where
63872         O_RDONLY does not, namely on directories that are searchable but
63873         not readable, and which need only to be searchable.  If O_SEARCH
63874         is not available, fall back to the traditional method of using
63875         O_RDONLY.
63877         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
63878         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
63879         when opening a directory that needs only to be searchable.
63880         * lib/chdir-safer.c (chdir_no_follow): Likewise.
63881         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
63882         * lib/openat-proc.c (openat_proc_name): Likewise.
63883         * lib/openat.c (openat_needs_fchdir): Likewise.
63884         * lib/save-cwd.c (save_cwd): Likewise.
63885         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
63887 2010-08-28  Bruno Haible  <bruno@clisp.org>
63889         New module 'host-cpu-c-abi'.
63890         * modules/host-cpu-c-abi: New file.
63891         * m4/host-cpu-c-abi.m4: New file, based on part of
63892         clisp/src/m4/general.m4.
63893         Requested by Sam Steingold <sds@gnu.org>.
63895 2010-08-31  Eric Blake  <eblake@redhat.com>
63896         and Jim Meyering  <meyering@redhat.com>
63898         hash: factor, and guard against misbehaving hasher function
63899         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
63900         of table->hasher's return value.  Also protect against a hash value
63901         so large that adding it to table->bucket results in a NULL pointer.
63902         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
63903         Use it in place of open-coded check-and-abort.
63905 2010-08-30  Bruno Haible  <bruno@clisp.org>
63907         hash: silence spurious clang warning
63908         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
63909         Reported by Eric Blake.
63911 2010-08-30  Eric Blake  <eblake@redhat.com>
63913         strstr, memmem, strcasestr: avoid leaked shell message
63914         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
63915         FreeBSD.
63916         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63917         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63919         tests: silence clang warning
63920         * tests/test-malloca.c (do_allocation): Avoid dead store.
63922 2010-08-29  Bruno Haible  <bruno@clisp.org>
63924         gettext: Fix recent mistake.
63925         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
63927 2010-08-29  Bruno Haible  <bruno@clisp.org>
63929         selinux-h: Offer a --without-selinux option.
63930         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
63931         --without-selinux was specified, skip all tests and define
63932         HAVE_SELINUX_SELINUX_H to 0.
63933         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
63934         set LIB_SELINUX to empty.
63935         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
63936         gl_LIBSELINUX. If --without-selinux was specified, replace
63937         selinux/context.h.
63938         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
63940 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63941             Bruno Haible  <bruno@clisp.org>
63943         Make the module 'realloc-gnu' work again on AIX and OSF/1.
63944         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
63945         of HAVE_REALLOC.
63946         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
63947         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
63948         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
63949         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
63951 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63952             Bruno Haible  <bruno@clisp.org>
63954         Make the module 'calloc-gnu' work again on AIX and OSF/1.
63955         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
63956         HAVE_CALLOC.
63957         * lib/xmalloc.c: Update accordingly.
63958         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
63959         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
63960         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
63962 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63963             Bruno Haible  <bruno@clisp.org>
63965         Make the module 'malloc-gnu' work again on AIX and OSF/1.
63966         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
63967         HAVE_MALLOC.
63968         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
63969         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
63970         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
63972 2010-08-29  Bruno Haible  <bruno@clisp.org>
63974         Update modules list.
63975         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
63976         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
63977         (String handling <string.h>): Add astrxfrm.
63978         (File system functions): Add readlinkat.
63980 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63982         Tests for module 'realloc-gnu'.
63983         * modules/realloc-gnu-tests: New file.
63984         * tests/test-realloc-gnu.c: New file.
63986         Tests for module 'calloc-gnu'.
63987         * modules/calloc-gnu-tests: New file.
63988         * tests/test-calloc-gnu.c: New file.
63990         Tests for module 'malloc-gnu'.
63991         * modules/malloc-gnu-tests: New file.
63992         * tests/test-malloc-gnu.c: New file.
63994 2010-08-28  Bruno Haible  <bruno@clisp.org>
63996         Rename module 'realloc' -> 'realloc-gnu'.
63997         * modules/realloc-gnu: New file, copied from modules/realloc.
63998         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
63999         obsolete.
64000         * modules/mgetgroups (Depends-on): Update.
64001         * doc/posix-functions/realloc.texi: Update.
64002         * NEWS: Mention the change.
64004         Rename module 'calloc' -> 'calloc-gnu'.
64005         * modules/calloc-gnu: New file, copied from modules/calloc.
64006         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
64007         obsolete.
64008         * doc/posix-functions/calloc.texi: Update.
64009         * NEWS: Mention the change.
64011         Rename module 'malloc' -> 'malloc-gnu'.
64012         * modules/malloc-gnu: New file, copied from modules/malloc.
64013         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
64014         obsolete.
64015         * modules/argp (Depends-on): Update.
64016         * modules/regex (Depends-on): Update.
64017         * doc/posix-functions/malloc.texi: Update.
64018         * NEWS: Mention the change.
64020 2010-08-28  Eric Blake  <eblake@redhat.com>
64022         pread, pwrite: add missing dependency
64023         * modules/pread (Depends-on): Add extensions.
64024         * modules/pwrite (Depends-on): Likewise.
64026 2010-08-28  Bruno Haible  <bruno@clisp.org>
64028         unistr/u*-strchr: Fix tests dependencies.
64029         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
64030         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
64031         Reported by Ian Beckwith <ianb@erislabs.net>.
64033 2010-08-28  Bruno Haible  <bruno@clisp.org>
64035         read-file: Don't occupy too much unused memory.
64036         * lib/read-file.c (fread_file): Shrink the buffer at the end.
64038 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
64039             Eric Blake  <eblake@redhat.com>
64040             Bruno Haible  <bruno@clisp.org>
64042         read-file: Avoid memory reallocations with regular files.
64043         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
64044         (fread_file): With regular files, use the remaining length as the
64045         initial buffer size.  Check against overflow.
64046         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
64047         sys_stat.
64049 2010-08-28  Bruno Haible  <bruno@clisp.org>
64051         ftello: Relax license.
64052         * modules/ftello (License): Relax to LGPLv2+.
64053         Reported by Eric Blake.
64055 2010-08-28  Bruno Haible  <bruno@clisp.org>
64057         Avoid relocwrapper link errors due to gnulib replacement functions.
64058         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
64059         function.
64060         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64062 2010-08-28  Bruno Haible  <bruno@clisp.org>
64064         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
64065         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
64066         defined.
64067         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
64068         Suggested by Eric Blake.
64070 2010-08-28  Bruno Haible  <bruno@clisp.org>
64072         sys_socket, netdb: Ensure socklen_t gets defined.
64073         * modules/sys_socket (Depends-on): Add socklen.
64074         * modules/netdb (Depends-on): Likewise.
64075         * modules/getaddrinfo (Depends-on): Remove socklen.
64076         * modules/getsockopt (Depends-on): Likewise.
64077         * modules/setsockopt (Depends-on): Likewise.
64078         * tests/test-sys_socket.c: Check that socklen_t is defined.
64079         * tests/test-netdb.c: Likewise.
64080         * m4/socklen.m4: Update comments.
64081         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64083 2010-08-27  Eric Blake  <eblake@redhat.com>
64085         login_tty: add missing dependency
64086         * modules/login_tty (Depends-on): Add pty.
64088 2010-08-26  Eric Blake  <eblake@redhat.com>
64090         lib-symbol-versions: fix m4 quoting
64091         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
64092         format for AC_LINK_IFELSE.
64094         glob: fix compile test
64095         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
64097         btowc: fix missing file
64098         * modules/btowc (Files): Also ship locale-fr.m4.
64100         lseek: fix link test
64101         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
64102         AC_LINK_IFELSE.
64104         include_next: silence autoconf 2.68 warning
64105         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
64106         AC_COMPILE_IFELSE as special.
64107         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
64108         autoconf < 2.68.
64110         acl: fix compilation test
64111         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
64112         AC_COMPILE_IFELSE.
64114 2010-08-26  Bruno Haible  <bruno@clisp.org>
64116         Modernize AC_TRY_RUN invocations.
64117         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
64118         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
64119         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
64120         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
64121         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
64122         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
64123         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
64124         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
64125         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
64126         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
64127         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
64128         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
64129         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
64130         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
64131         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
64132         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
64133         gl_MBRLEN_NUL_RETVAL): Likewise.
64134         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
64135         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
64136         Likewise.
64137         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
64138         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
64139         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
64140         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
64141         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
64142         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
64143         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
64144         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
64145         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
64146         Likewise.
64147         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
64148         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
64149         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64150         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
64151         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
64152         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
64153         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
64154         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
64155         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
64156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64158 2010-08-26  Bruno Haible  <bruno@clisp.org>
64160         Modernize AC_TRY_LINK invocations.
64161         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
64162         AC_TRY_LINK.
64163         * m4/argp.m4 (gl_ARGP): Likewise.
64164         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
64165         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
64166         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64167         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64168         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64169         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
64170         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
64171         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
64172         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64173         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
64174         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64175         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
64176         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
64177         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
64178         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
64179         * m4/hostent.m4 (gl_HOSTENT): Likewise.
64180         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
64181         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
64182         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
64183         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
64184         Likewise.
64185         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
64186         Likewise.
64187         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
64188         Likewise.
64189         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
64190         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
64191         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
64192         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
64193         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
64194         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
64195         * m4/servent.m4 (gl_SERVENT): Likewise.
64196         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
64197         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
64198         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
64199         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
64200         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
64201         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
64202         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
64203         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
64204         * modules/tsearch-tests (configure.ac): Likewise.
64206 2010-08-26  Bruno Haible  <bruno@clisp.org>
64208         Modernize AC_TRY_COMPILE invocations.
64209         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
64210         AC_TRY_COMPILE.
64211         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
64212         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
64213         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
64214         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
64215         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
64216         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
64217         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64218         * m4/lock.m4 (gl_LOCK): Likewise.
64219         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
64220         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64221         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
64222         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
64223         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
64224         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
64225         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
64226         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
64227         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
64228         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
64229         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
64230         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64231         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
64232         extraneous semicolon.
64234 2010-08-26  Jim Meyering  <meyering@redhat.com>
64236         stat-time: relax license LGPL
64237         * modules/stat-time (License): Change from GPL to LGPL,
64238         with consent from all contributors, for use in libguile.
64239         Requested by Ludovic Courtès.
64241 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
64243         poll: return immediately on POLLHUP.
64244         * lib/poll.c (poll): Always set timeout before wait_timeout is
64245         computed.
64247 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64249         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
64250         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
64251         rmdir ("dir/.//"), unlinkat.
64253 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64255         stdbool: avoid spurious failure with modern xlc
64256         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
64258 2010-08-24  Bruno Haible  <bruno@clisp.org>
64260         getloadavg: simplify code
64261         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
64262         gl_have_func. Update comments.
64264 2010-08-24  Eric Blake  <eblake@redhat.com>
64266         getloadavg: don't define SVR4 on cygwin
64267         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
64268         only define SVR4 when -lkvm is required.
64269         Reported by Yaakov Selkowitz.
64271 2010-08-24  Bruno Haible  <bruno@clisp.org>
64273         priv-set: fix comment
64274         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
64276 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64278         priv-set: fix comments
64279         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
64280         to match code, as suggested by David Bartley in:
64281         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
64283 2010-08-23  Eric Blake  <eblake@redhat.com>
64285         stdbool: avoid rejecting clang
64286         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
64287         * tests/test-stdbool.c: Enable more tests if using the system
64288         <stdbool.h> instead of the gnulib replacement.
64289         (main): Move xlc bug test to a runtime test for all compilers.
64290         Reported by Anders Kaseorg.
64292         argz: fix shell quoting issue
64293         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
64294         Reported by Charles Wilson.
64296 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
64297             Erik Faye-Lund <kusmabite@gmail.com>
64299         poll, select: handle ERROR_BROKEN_PIPE.
64300         * lib/poll.c (win32_compute_revents): Return POLLHUP when
64301         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
64302         * lib/select.c (win32_compute_revents): Do not mark a pipe
64303         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
64305 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
64307         fts: allow compilation with C++
64308         * lib/fts_.h: Specify extern "C" linkage with C++.
64310 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64312         Fix gnulib-tool sed script de-commentation for AIX sed.
64313         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
64314         sed.
64316 2010-08-17  Eric Blake  <eblake@redhat.com>
64318         test-stddef: test for (some) offsetof bugs
64319         * tests/test-stddef.c: Enhance test to ensure correct type of
64320         offsetof.
64321         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
64322         that we are not fixing at this time.
64324 2010-08-15  Bruno Haible  <bruno@clisp.org>
64326         stpncpy: Allow stpncpy to be defined as a macro.
64327         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
64328         if it's already correctly declared.
64329         * lib/string.in.h (stpncpy): Undefine before redefining.
64330         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
64332 2010-08-14  Bruno Haible  <bruno@clisp.org>
64334         Rename module 'memxfrm' to 'amemxfrm'.
64335         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
64336         (amemxfrm): Renamed from memxfrm.
64337         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
64338         (amemxfrm): Renamed from memxfrm.
64339         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
64340         * NEWS: Mention the change.
64341         * MODULES.html.sh (String handling <string.h>): Update.
64342         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
64343         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
64344         * lib/unicase/u16-casexfrm.c: Likewise.
64345         * lib/unicase/u32-casexfrm.c: Likewise.
64346         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
64347         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
64348         * lib/uninorm/u16-normxfrm.c: Likewise.
64349         * lib/uninorm/u32-normxfrm.c: Likewise.
64350         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
64351         memxfrm.
64352         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
64353         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
64354         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
64355         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
64356         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
64357         Suggested by Paul Eggert.
64359 2010-08-14  Bruno Haible  <bruno@clisp.org>
64361         Tests for module 'astrxfrm'.
64362         * modules/astrxfrm-tests: New file.
64363         * tests/test-astrxfrm.c: New file.
64365         New module 'astrxfrm'.
64366         * lib/astrxfrm.h: New file.
64367         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
64368         * modules/astrxfrm: New file.
64370 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
64372         regex: Tweak doc.
64373         * doc/regex.texi (Overview): Don't mention regex.c.
64374         (GNU Regular Expression Compiling): Likewise.
64375         (Match-end-of-line Operator): Mention 'not_eol'.
64377 2010-08-14  Brian Gough  <bjg@gnu.org>
64378             Bruno Haible  <bruno@clisp.org>
64380         git-merge-changelog: add doc relating to use with bzr and hg.
64381         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
64383 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
64385         pthread: fix pthread.h creation for srcdir != builddir
64386         * modules/pthread (Makefile.am): Fix the rule to work also in a
64387         non-srcdir build.
64389 2010-08-13  Karl Berry  <karl@gnu.org>
64391         * doc/regex.texi (Predefined Syntaxes): @smallexample.
64392         * doc/posix-*/*: force line break before @url of POSIX
64393         specifications.
64394         Suggested by Werner Lemberg.
64396 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64398         strtod: fix const diagnostic
64399         * lib/strtod.c (strtod): Don't assign const char * to char *,
64400         as this elicits a warning from GCC when warnings are enabled.
64402 2010-08-10  Pádraig Brady  <P@draigbrady.com>
64403         and Eric Blake  <eblake@redhat.com>
64405         copy-acl: ignore ENOTSUP on HP-UX
64406         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
64407         so that it is available for HP-UX.
64408         * lib/copy-acl.c (qcopy_acl): Use it.
64409         Reported by Patrick M. Callahan.
64411 2010-08-10  Eric Blake  <eblake@redhat.com>
64413         open, chown: relax license
64414         * modules/open (License): Change to LGPLv2+, with consent by all
64415         authors, for use in augeas.
64416         * modules/chown (License): Likewise.
64417         * modules/lchown (Likewise): Likewise.
64418         Requested by Adam Stokes.
64420 2010-08-09  Karl Berry  <karl@gnu.org>
64422         * build-aux/ar-lib: new file, import from Automake.
64423         * config/srclist.txt: autocheck for updates.
64425 2010-08-09  Eric Blake  <eblake@redhat.com>
64427         readlinkat: adjust client modules
64428         * modules/areadlinkat (Depends-on): Use readlinkat, not
64429         symlinkat.
64430         * modules/areadlinkat-with-size (Depends-on): Likewise.
64432         mknod: be more vocal about danger of running tests as root
64433         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
64434         root, since that is just asking for problems.
64435         Suggested by Bruno Haible, based on a report by Rainer Tammer.
64437         readlinkat: split into its own module
64438         * modules/symlinkat: Split readlinkat...
64439         * modules/readlinkat: ...into separate module.
64440         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
64441         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
64442         * lib/symlinkat.c (readlinkat): Move...
64443         * lib/readlinkat.c: ...into new file.
64444         * modules/symlinkat-tests: Split readlinkat test...
64445         * modules/readlinkat-tests: ...into separate module.
64446         * tests/test-symlinkat.c: Split...
64447         * tests/test-readlinkat.c: ...into new file.
64448         * NEWS: Document the split.
64449         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
64450         * lib/unistd.in.h (readlinkat): Likewise.
64451         Suggested by Bruno Haible.
64453 2010-08-08  Bruno Haible  <bruno@clisp.org>
64455         memxfrm: Speed up.
64456         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
64457         that usually only one call to strxfrm is necessary for each string
64458         part.
64459         Reported by Paul Eggert <eggert@cs.ucla.edu>.
64461 2010-08-07  Karl Berry  <karl@gnu.org>
64463         * doc/posix-headers/limits.texi,
64464         * doc/posix-functions/malloc.texi,
64465         * doc/posix-functions/strsignal.texi: missing @item.
64466         * doc/ld-version-script.texi: spurious leading i.
64467         * doc/regex.texi (Interval Operators): no commas inside @var.
64469 2010-08-01  Bruno Haible  <bruno@clisp.org>
64471         Integrate the regex documentation.
64472         * doc/gnulib.texi: Define 'cn' index.
64473         (Regular expressions): New a chapter that includes regex.texi and
64474         regexprops-generic.texi.
64475         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
64476         syntax.
64478         Whitespace cleanup.
64479         * doc/regex.texi: Remove trailing spaces.
64481         Add regex documentation.
64482         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
64483         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
64484         Written by Kathy A. Hargreaves and Karl Berry.
64486 2010-08-01  Bruno Haible  <bruno@clisp.org>
64488         link: Update documentation.
64489         * doc/posix-functions/link.texi: Update regarding Solaris.
64491 2010-07-31  Bruno Haible  <bruno@clisp.org>
64493         Update modules list.
64494         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
64495         (String handling <string.h>): Add memcmp2, memxfrm.
64496         (Container data structures): Add xlist, xsublist, xoset.
64497         (Core language properties): Add alignof, unused-parameter.
64498         (Process control, Numeric conversion functions <stdlib.h>): Renamed
64499         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
64500         (Unibyte characters <ctype.h>): New section.
64501         (String handling <string.h>): New section.
64502         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
64503         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
64504         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
64505         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
64506         tan, tanh, tanl, y0, y1, yn.
64507         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
64508         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
64509         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
64510         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
64511         unlockpt, vdprintf, vdprintf-posix.
64512         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
64513         (File system functions): Add concat-filename, sys_file, sys_ioctl,
64514         xconcat-filename.
64515         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
64516         getdtablesize, pipe2, pipe2-safer.
64517         (Security): New section.
64518         (Networking functions): Add accept4.
64519         (Signal handling): Add sigpipe.
64520         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
64521         mbmemcasecoll.
64522         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
64523         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
64524         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
64525         pipe-filter-ii.
64526         (Misc): Add argp-version-etc, login_tty, parse-duration.
64528 2010-07-31  Bruno Haible  <bruno@clisp.org>
64530         Improve doc in MODULES.html.
64531         * modules/linkat (Description): Add the word "function".
64532         * modules/mkfifo (Description): Likewise.
64533         * modules/mknod (Description): Likewise.
64534         * modules/remove (Description): Likewise.
64535         * modules/renameat (Description): Likewise.
64536         * modules/stat (Description): Likewise.
64537         * modules/symlink (Description): Likewise.
64538         * modules/unlink (Description): Likewise.
64540 2010-07-31  Bruno Haible  <bruno@clisp.org>
64542         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
64543         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
64544         option --enable/disable-c++ instead of --enable/disable-cxx.
64545         * NEWS: Mention the change.
64547 2010-07-31  Bruno Haible  <bruno@clisp.org>
64549         readlink, areadlink: Relax test a bit.
64550         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
64551         alternative to ENOTDIR.
64552         * tests/test-areadlink.h (test_areadlink): Likewise.
64553         Reported by Rainer Tammer.
64555 2010-07-31  Bruno Haible  <bruno@clisp.org>
64557         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
64558         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
64559         character, perform the search using U_STRCHR.
64560         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
64561         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
64562         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
64563         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
64564         Suggested by Paolo Bonzini.
64566 2010-07-31  Bruno Haible  <bruno@clisp.org>
64568         unistr/u*-strstr: Fix dependencies.
64569         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
64570         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
64571         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
64573 2010-07-31  Bruno Haible  <bruno@clisp.org>
64575         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
64576         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
64577         the beginning of the loop.
64578         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
64579         cases in 'switch' statement.
64581         unistr/u8-strchr: Fix several bugs.
64582         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
64583         the string. When not found, return NULL, not a pointer near the end.
64585         More tests for unistr/u8-strchr.
64586         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
64587         that the function does not read past the first occurrence of the byte
64588         being searched.
64589         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
64590         * tests/unistr/test-u16-strchr.c (main): New function.
64591         * tests/unistr/test-u32-strchr.c (main): New function.
64593 2010-07-31  Bruno Haible  <bruno@clisp.org>
64595         posix-modules: Ignore backup files of documentation files.
64596         * posix-modules: grep only through files named *.texi.
64598 2010-07-31  Bruno Haible  <bruno@clisp.org>
64600         symlinkat: Fix documentation.
64601         * doc/posix-functions/readlinkat.texi: Fix module name.
64603 2010-07-31  Bruno Haible  <bruno@clisp.org>
64605         fchownat: Replace also when chown has the trailing slash bug.
64606         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
64607         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
64608         introduced on 2010-04-10.
64609         Reported by Rainer Tammer.
64611 2010-07-31  Bruno Haible  <bruno@clisp.org>
64613         linkat: Work around AIX 7.1 bug.
64614         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
64615         whether linkat handles trailing slash correctly. If not, replace linkat
64616         and define LINKAT_TRAILING_SLASH_BUG.
64617         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
64618         check whether (fd1,file1) points to a directory if file1 or file2 ends
64619         in a slash. Code taken from lib/link.c.
64620         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
64621         Reported by Rainer Tammer.
64623 2010-07-31  Bruno Haible  <bruno@clisp.org>
64625         Correctly determine whether pow is available in libc on AIX 7 with xlc.
64626         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
64627         This disables an xlc optimization that was causing wrong test results.
64628         Reported by Rainer Tammer.
64630 2010-07-31  Bruno Haible  <bruno@clisp.org>
64632         iconv: Work around AIX 6.1..7.1 bug.
64633         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
64634         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
64635         cross-compiling, guess no on all versions of AIX.
64636         Reported by Rainer Tammer.
64638 2010-07-31  Bruno Haible  <bruno@clisp.org>
64640         readlink: Relax test a bit.
64641         * tests/test-readlink.h (test_readlink): Allow different errno value
64642         when readlink is called with a file name that ends in / and refers to
64643         a file.
64644         Suggested by Eric Blake.
64645         Reported by Rainer Tammer.
64647 2010-07-31  Bruno Haible  <bruno@clisp.org>
64649         copysign: Does not require -lm on glibc systems.
64650         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
64651         gl_COMMON_DOUBLE_MATHFUNC.
64652         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
64654 2010-07-31  Bruno Haible  <bruno@clisp.org>
64656         duplocale: Work around AIX 7.1 bug.
64657         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
64658         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
64659         * lib/duplocale.c (rpl_duplocale): Update comment.
64660         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
64661         Reported by Rainer Tammer.
64663 2010-07-30  Bruno Haible  <bruno@clisp.org>
64665         dirfd: Avoid link error on AIX 7.1.
64666         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
64667         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
64668         exist, set REPLACE_DIRFD.
64669         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
64670         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
64671         * doc/posix-functions/dirfd.texi: Update.
64672         Reported by Rainer Tammer.
64674 2010-07-30  Eric Blake  <eblake@redhat.com>
64676         strtod: next round of AIX fixes
64677         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
64678         exponent.
64679         * tests/test-strtod.c (main): Enhance tests.
64680         * doc/posix-functions/strtod.texi (strtod): Document next bug.
64681         Reported by Rainer Tammer.
64683         futimens: fix configure check
64684         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
64685         Reported by Bruno Haible.
64687 2010-07-30  Bruno Haible  <bruno@clisp.org>
64689         getline: Update regarding AIX.
64690         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
64691         Reported by Rainer Tammer.
64693 2010-07-30  Bruno Haible  <bruno@clisp.org>
64695         wcwidth: Drop replacement on AIX 7.
64696         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
64697         AIX 7.
64698         Reported by Rainer Tammer.
64700 2010-07-30  Bruno Haible  <bruno@clisp.org>
64702         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
64703         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
64704         a 'char *'.
64705         Reported by Rainer Tammer.
64707 2010-07-30  Bruno Haible  <bruno@clisp.org>
64709         unlink: Update regarding AIX.
64710         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
64711         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
64712         Reported by Rainer Tammer.
64714 2010-07-30  Bruno Haible  <bruno@clisp.org>
64716         symlink: Update regarding AIX.
64717         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
64718         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
64719         Reported by Rainer Tammer.
64721 2010-07-30  Bruno Haible  <bruno@clisp.org>
64723         strndup: Update regarding AIX.
64724         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
64725         AIX 7.
64726         Reported by Rainer Tammer.
64728 2010-07-30  Bruno Haible  <bruno@clisp.org>
64730         stat: Update regarding AIX.
64731         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
64732         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
64733         Reported by Rainer Tammer.
64735 2010-07-30  Bruno Haible  <bruno@clisp.org>
64737         truncl: Fix autoconf test.
64738         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
64739         whether truncl works.
64740         Reported by Rainer Tammer.
64742 2010-07-30  Bruno Haible  <bruno@clisp.org>
64744         round: Update regarding AIX.
64745         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
64746         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
64747         Reported by Rainer Tammer.
64749 2010-07-30  Bruno Haible  <bruno@clisp.org>
64751         rename: Update regarding AIX.
64752         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
64753         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
64754         Reported by Rainer Tammer.
64756 2010-07-30  Bruno Haible  <bruno@clisp.org>
64758         printf.m4: Update regarding AIX.
64759         * m4/printf.m4: Update comments regarding AIX.
64760         Reported by Rainer Tammer.
64762 2010-07-30  Bruno Haible  <bruno@clisp.org>
64764         iconv: Update regarding AIX.
64765         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
64766         AIX 7.
64767         Reported by Rainer Tammer.
64769 2010-07-30  Bruno Haible  <bruno@clisp.org>
64771         getopt: Update regarding AIX.
64772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
64773         no on AIX.
64774         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
64775         Reported by Rainer Tammer.
64777 2010-07-30  Bruno Haible  <bruno@clisp.org>
64779         ldexpl; Update regarding AIX.
64780         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
64781         on AIX 7.
64782         Reported by Rainer Tammer.
64784 2010-07-30  Bruno Haible  <bruno@clisp.org>
64786         frexpl: Update regarding AIX.
64787         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
64788         on AIX 7.
64789         Reported by Rainer Tammer.
64791 2010-07-30  Bruno Haible  <bruno@clisp.org>
64793         open, fopen: Update regarding AIX.
64794         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
64795         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
64796         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
64797         * doc/posix-functions/fopen.texi: Likewise.
64798         Reported by Rainer Tammer.
64800 2010-07-30  Bruno Haible  <bruno@clisp.org>
64802         chown: Update doc regarding AIX.
64803         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
64804         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
64805         Reported by Rainer Tammer.
64807 2010-07-30  Eric Blake  <eblake@redhat.com>
64809         strtod: fix bug in replacement function on AIX
64810         * lib/strtod.c (strtod): Special case broken "0x" parse in
64811         underlying strtod.
64812         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
64813         * doc/posix-functions/strtod.texi (strtod): Likewise.
64814         Reported by Rainer Tammer.
64816 2010-07-30  Bruno Haible  <bruno@clisp.org>
64818         mbrlen: Fix cross-compilation guess for AIX.
64819         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
64820         guess. Leftover from 2008-12-22.
64822 2010-07-30  Bruno Haible  <bruno@clisp.org>
64824         mbrtowc: Fix cross-compilation guess for AIX.
64825         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
64826         guess. Leftover from 2008-12-21.
64828 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
64830         init.sh: work around trap limitation of some shells
64831         * tests/init.sh (setup_): Move exit trap outside of shell function.
64833 2010-07-29  Eric Blake  <eblake@redhat.com>
64835         strtod: aid debugging
64836         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
64837         understanding why strtod is rejected.
64839 2010-07-28  Bruno Haible  <bruno@clisp.org>
64841         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
64842         * lib/unistr/u8-chr.c: Include <string.h>.
64843         * tests/unistr/test-u8-chr.c: Likewise.
64844         * tests/unistr/test-u16-chr.c: Likewise.
64845         * tests/unistr/test-u32-chr.c: Likewise.
64846         * tests/unistr/test-u8-strchr.c: Likewise.
64847         * tests/unistr/test-u16-strchr.c: Likewise.
64848         * tests/unistr/test-u32-strchr.c: Likewise.
64849         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
64850         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
64851         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
64852         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
64854 2010-07-28  Bruno Haible  <bruno@clisp.org>
64856         Use spaces for indentation, not tabs.
64857         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
64859 2010-07-27  Bruno Haible  <bruno@clisp.org>
64861         mbspcasecmp: Fix function specification.
64862         * lib/string.in.h (mbspcasecmp): Fix specification comment.
64863         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
64864         Reported by Eric Blake <eblake@redhat.com>.
64866 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
64868         timespec: use cast and not conditional, as truncation isn't possible
64869         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
64870         instead of a conditional.  Comment about the situation in more detail.
64871         This undoes most of the 2009-10-29 patch.
64873 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
64875         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
64876         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
64877         * lib/unistr/u8-strchr.c: Likewise.
64878         * modules/unistr/u8-chr: Depend on memchr.
64880         unistr/u*-strchr: add tests
64881         * modules/unistr/u8-strchr-tests: New file.
64882         * modules/unistr/u16-strchr-tests: New file.
64883         * modules/unistr/u32-strchr-tests: New file.
64884         * tests/unistr/test-strchr.h: New file.
64885         * tests/unistr/test-u8-strchr.c: New file.
64886         * tests/unistr/test-u16-strchr.c: New file.
64887         * tests/unistr/test-u32-strchr.c: New file.
64889         unistr/u*-chr: test multibyte sequences more
64890         * tests/unistr/test-chr.h: Do complete testing of the characters in the
64891         test vector.
64892         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
64893         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
64894         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
64896         unistr/u*-chr: test multibyte sequences
64897         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
64899         unistr/u*-chr: prepare for multibyte tests
64900         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
64901         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
64902         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
64903         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
64904         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
64905         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
64907 2010-07-18  Bruno Haible  <bruno@clisp.org>
64909         unistr/u8-strchr: Optimize non-ASCII argument case.
64910         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
64911         because the first byte often matches anyway.
64912         Reported by Pádraig Brady <P@draigbrady.com>.
64914 2010-07-15  Karl Berry  <karl@gnu.org>
64916         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
64918 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
64920         getcwd: on Solaris, work better if ancestors are inaccessible
64921         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
64922         buffer and size, try again with a large buffer.  This works better
64923         on Solaris, since its getcwd succeeds even if the path to the root
64924         is inaccessible, and this is helpful in common cases such as .zfs
64925         hidden directories.  Problem reported by J Chapman Flack in
64926         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
64927         Use system getcwd if it's declared, not merely if it's partly
64928         working; use the partly-working test only to avoid needless effort
64929         if the system getcwd fails.
64930         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
64931         comment that was already obsolete and is now even more obsolete.
64932         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
64933         now might call strdup.
64935 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
64937         pthread: Add enough so that coreutils/src/sort.c compiles.
64938         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
64939         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
64940         gnulib. Include <sched.h> and <time.h>, as per POSIX.
64941         Include <sys/types.h>, in case it defines pthread_t.
64942         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
64943         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
64944         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
64945         (pthread_rwlockattr_t, pthread_spinlock_t):
64946         New typedefs, if HAVE_PTHREAD_T is not defined.
64947         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
64948         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
64949         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
64950         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
64951         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
64952         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
64953         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
64954         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
64955         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
64956         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
64957         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
64958         New macros.
64959         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
64960         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
64961         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
64962         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
64963         (pthread_spin_unlock): New dummy functions.
64964         (pthread_create): Return EAGAIN; don't set errno.
64965         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
64966         require AC_C_INLINE.
64967         * modules/pthread (Depends-on): Add sched, time.
64968         (pthread.h): Use AM_V_GEN.
64970 2010-07-13  Bruno Haible  <bruno@clisp.org>
64972         striconveh: Don't malloc memory if the result buffer is sufficient.
64973         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
64974         buffer if its size is sufficient.
64975         Reported by Ludovic Courtès <ludo@gnu.org>.
64977 2010-07-13  Bruno Haible  <bruno@clisp.org>
64979         strtod: Add safety check.
64980         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
64982 2010-07-12  Bruno Haible  <bruno@clisp.org>
64984         Unify tests that set gl_cv_func_ldexpl_no_libm.
64985         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
64986         gl_FUNC_LDEXPL.
64987         (gl_FUNC_LDEXPL): Invoke it.
64988         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
64990 2010-07-12  Bruno Haible  <bruno@clisp.org>
64992         Unify tests that set gl_cv_func_ldexp_no_libm.
64993         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
64994         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
64995         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
64996         (configure.ac): Simply invoke gl_FUNC_LDEXP.
64997         * modules/strtod (Files): Add m4/ldexp.m4.
64999 2010-07-12  Bruno Haible  <bruno@clisp.org>
65001         Unify tests that set gl_cv_func_frexpl_no_libm.
65002         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
65003         gl_FUNC_FREXPL_NO_LIBM.
65004         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
65005         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65007 2010-07-12  Bruno Haible  <bruno@clisp.org>
65009         Unify tests that set gl_cv_func_frexp_no_libm.
65010         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
65011         gl_FUNC_FREXP_NO_LIBM.
65012         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
65013         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65015 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
65017         memcoll: clarify sizes versus lengths, document better, and tweak perf
65018         * lib/memcoll.c (strcoll_loop, memcoll0):
65019         Improve quality of descriptive comments.  Name variables
65020         consistently as to whether they are lengths (which do not include
65021         terminating null) versus sizes (which do).
65022         * lib/xmemcoll.c (xmemcoll0): Likewise.
65023         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
65024         returned when s1size == 0; this is easier to compile and saves
65025         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
65027 2010-07-12  Bruno Haible  <bruno@clisp.org>
65029         Tests for module '_Exit'.
65030         * modules/_Exit-tests: New file.
65031         * tests/test-_Exit.sh: New file.
65032         * tests/test-_Exit.c: New file.
65034         New module '_Exit'.
65035         * lib/stdlib.in.h (__attribute__): New macro.
65036         (_Exit): New declaration.
65037         * lib/_Exit.c: New file.
65038         * m4/_Exit.m4: New file.
65039         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
65040         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
65041         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
65042         * modules/_Exit: New file.
65043         * tests/test-stdlib-c++.cc (_Exit): Check signature.
65044         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
65046 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
65048         strtod: make it more-accurate typically, and don't require libm
65049         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
65050         Include limits.h.  Don't include string.h.
65051         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
65052         (locale_isspace): New function, so that no casts are needed to
65053         check whether *s is a space.
65054         (ldexp): Provide an unused dummy if not available.
65055         (scale_radix_exp, parse_number, underlying_strtod): New functions.
65056         (strtod): Use them.  This implementation prefers to use the
65057         underlying strtod if available, falling back on our own code
65058         only to fix known bugs.  This is more likely to produce an
65059         accurate result.  Also, it avoids the use of libm functions.
65060         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
65061         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
65062         was absent, but it caused a test failure with coreutils.
65063         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
65064         with libm.
65065         * modules/strtod (Makefile.am, Link): libm is no longer needed.
65066         * modules/strtod-tests (Makefile.am): Likewise.
65068 2010-07-11  Pádraig Brady  <P@draigBrady.com>
65069             Bruno Haible  <bruno@clisp.org>
65071         unistr/u8-strchr: Optimize ASCII argument case.
65072         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
65074 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65076         (x)memcoll: minor tweaks
65077         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
65078         is after the type that it qualifies.
65079         (memcoll0): Likewise.
65080         * lib/memcoll.h (memcoll0): Likewise.
65081         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
65082         * lib/xmemcoll.h (xmemcoll0): Likewise.
65083         * lib/memcoll.c (memcoll0): Correct the comment.  This function
65084         differs from memcoll in that the NUL byte is part of the argument.
65085         Omit the abort-checks, as performance is a real issue here.  Plus,
65086         the checks were wrong anyway (an off-by-one error).  Omit local
65087         variable 'diff', as it's a bit clearer that way.
65088         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
65089         no longer needed.
65091 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
65093         (x)memcoll: speedup when input is known to be NUL delimited
65094         * lib/memcoll.c: Include stdlib.
65095         (memcoll0): New function.
65096         (strcoll_loop): New function, refactored for use in both memcoll
65097         and memcoll0.
65098         * lib/memcoll.h (memcoll0): Add prototype.
65099         * lib/xmemcoll.c (xmemcoll0): New function.
65100         (collate_error): New function, refactored for use in both xmemcoll
65101         and xmemcoll0.
65102         * lib/xmemcoll.h (xmemcoll0): Add prototype.
65103         * m4/memcoll.m4: add inline invocation.
65105 2010-07-06  Pádraig Brady  <P@draigBrady.com>
65107         * build-aux/bootstrap: Remove any local translations
65108         from the translation project synchronization directory,
65109         so that local only translations are not distributed.
65111 2010-07-04  Bruno Haible  <bruno@clisp.org>
65113         fsusage: Clarify which code applies to which platforms.
65114         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
65115         platform.
65116         * lib/fsusage.c (get_fs_usage): Likewise.
65118 2010-07-04  Bruno Haible  <bruno@clisp.org>
65120         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
65121         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
65122         Reported by Martin Lambers <marlam@marlam.de>.
65124 2010-07-04  Jim Meyering  <meyering@redhat.com>
65126         hash: once again explicitly disallow insertion of NULL
65127         * lib/hash.c (hash_insert0): Reinstate just-removed test:
65128         inserting a NULL pointer cannot work with these functions.
65129         Add a comment with details.
65130         This reverts part of the 2010-07-01 commit, 5bef1a35
65131         "hash: extend module to deal with non-pointer keys".
65133 2010-07-01  Bruno Haible  <bruno@clisp.org>
65135         stdbool: Update doc.
65136         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
65137         Info from Christian Weisgerber <naddy@mips.inka.de>.
65139 2010-07-01  Jim Meyering  <meyering@redhat.com>
65141         hash: extend module to deal with non-pointer keys
65142         * lib/hash.c (hash_insert0): New interface, much like hash_insert
65143         but that allows insertion of non-pointer entries.
65144         Do not disallow an ENTRY value of NULL.
65145         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
65146         * lib/hash.h (hash_insert0): Declare.
65148 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
65150         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
65151         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
65152         not present (i.e. with autoconf 2.59 and when using gettextize, not
65153         gnulib), require AC_GNU_SOURCE instead.
65155 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
65157         idpriv-drop: Fix tests.
65158         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
65159         not to the test-idpriv-droptemp program.
65161 2010-06-29  Bruno Haible  <bruno@clisp.org>
65163         string: Fix syntax error with g++ 2.96.
65164         * lib/string.in.h (__pure__): Remove definition.
65165         (_GL_ATTRIBUTE_PURE): New macro.
65166         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
65167         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
65168         Reported by Christian Weisgerber <naddy@mips.inka.de>.
65170 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
65172         unitypes: Fix bug introduced on 2010-05-18.
65173         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
65175 2010-06-22  Eric Blake  <eblake@redhat.com>
65177         memmem: slight optimization
65178         * lib/str-two-way.h (critical_factorization): Update comments.
65179         Reduce work during factorization phase.
65180         Reported by Carlos Bueno <carlos@bueno.org>.
65182 2010-06-21  Bruno Haible  <bruno@clisp.org>
65184         Fix HAVE_CALLOC_POSIX misnomer.
65185         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
65186         !HAVE_CALLOC_POSIX.
65187         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
65188         HAVE_CALLOC_POSIX.
65189         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
65190         instead of HAVE_CALLOC_POSIX.
65191         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
65192         HAVE_CALLOC_POSIX.
65194         Use modern idiom for calloc() replacement.
65195         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
65196         AC_FUNC_CALLOC.
65197         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
65198         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
65199         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
65200         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
65201         (gl_REPLACE_CALLOC): New macro.
65203 2010-06-21  Bruno Haible  <bruno@clisp.org>
65205         Fix HAVE_REALLOC_POSIX misnomer.
65206         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
65207         !HAVE_REALLOC_POSIX.
65208         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
65209         HAVE_REALLOC_POSIX.
65210         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
65211         instead of HAVE_REALLOC_POSIX.
65212         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
65213         HAVE_REALLOC_POSIX.
65215         Use modern idiom for realloc() replacement.
65216         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
65217         AC_FUNC_REALLOC.
65218         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
65219         Autoconf's AC_FUNC_REALLOC.
65220         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
65221         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
65222         (gl_REPLACE_REALLOC): New macro.
65223         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
65225 2010-06-21  Bruno Haible  <bruno@clisp.org>
65227         Fix HAVE_MALLOC_POSIX misnomer.
65228         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
65229         !HAVE_MALLOC_POSIX.
65230         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
65231         HAVE_MALLOC_POSIX.
65232         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
65233         instead of HAVE_MALLOC_POSIX.
65234         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
65235         HAVE_MALLOC_POSIX.
65237         Use modern idiom for malloc() replacement.
65238         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
65239         AC_FUNC_MALLOC.
65240         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
65241         Autoconf's AC_FUNC_MALLOC.
65242         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
65243         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
65244         (gl_REPLACE_MALLOC): New macro.
65245         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
65247 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
65249         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
65250         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
65251         This macro takes 3 arguments, not 4.
65253 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
65255         ipv6: fix detection under mingw
65256         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
65257         in6_addr.
65259 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
65261         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
65262         that strtod() works when cross-compiling to a glibc version known
65263         to work.
65265 2010-06-15  Bruno Haible  <bruno@clisp.org>
65267         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
65269 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
65271         select: Correct timeout.
65272         * lib/select.c (rpl_select): Compute wait_timeout correctly.
65274 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65276         git-version-gen: init shell var to avoid env var influence
65277         * build-aux/git-version-gen (v): Init shell var to empty.
65279 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
65281         priv-set: Don't assume that priv.h exists merely because getppriv does.
65282         See Jan Andersen's bug report about AIX 5L in
65283         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
65284         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
65285         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
65286         * lib/priv-set.h: Likewise.
65287         * tests/test-priv-set.c: Likewise.
65289 2010-06-13  Bruno Haible  <bruno@clisp.org>
65291         relocatable: Make it easier to test whether to install wrappers.
65292         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
65293         RELOCATABLE_VIA_WRAPPER.
65295 2010-06-13  Bruno Haible  <bruno@clisp.org>
65297         gnulib-tool: Display specified modules and dependencies differently.
65298         * gnulib-tool (func_show_module_list): New function.
65299         (func_import, func_create_testdir): Invoke it.
65300         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
65302 2010-06-13  Bruno Haible  <bruno@clisp.org>
65304         gnulib-tool: Align code of func_import and func_create_testdir.
65305         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
65306         specified_modules.
65308 2010-06-12  Jim Meyering  <meyering@redhat.com>
65310         test-inttostr: avoid spurious failure on Solaris 9
65311         * tests/test-inttostr.c (main): Skip the test when snprintf fails
65312         to accept "%ju".  Reported by Bruno Haible.
65314 2010-06-11  Jim Meyering  <meyering@redhat.com>
65316         test-sys_socket: mark variables as used more readably
65317         * tests/test-sys_socket.c (main): Mark otherwise unused variables
65318         as "used" explicitly via (void) statement casts.  This is more
65319         readable than using them in an artificial return expression.
65320         Suggestion from Bruno Haible.
65322 2010-06-11  Bruno Haible  <bruno@clisp.org>
65324         Avoid some more warnings from "gcc -Wwrite-strings".
65325         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
65326         to 'const char *'.
65327         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
65328         * tests/test-c-strcasestr.c (main): Likewise.
65329         * tests/test-mbscasestr1.c (main): Likewise.
65330         * tests/test-mbscasestr2.c (main): Likewise.
65331         * tests/test-memmem.c (main): Likewise.
65332         * tests/test-strstr.c (main): Likewise.
65333         * tests/test-strcasestr.c (main): Likewise.
65335 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65337         init.sh: change framework_failure_ to fail with status 99, not 1
65338         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
65339         automake's parallel-tests rule that this is an unexpected failure,
65340         even if the test is listed in XFAIL_TESTS.
65342 2010-06-11  Jim Meyering  <meyering@redhat.com>
65344         test-inttostr: avoid warnings about 4-6KB literal strings
65345         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
65346         Include "macros.h", for its definition of ASSERT.
65347         (CK): s/assert/ASSERT/
65348         * modules/inttostr-tests (Files): Add macros.h.
65350         init.sh: don't use $ME_ or skip_ before they are defined
65351         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
65352         their first uses.  Also hoist their companions: warn_, fail_,
65353         framework_failure_, $stderr_fileno.  Prompted by a patch from
65354         Stefano Lattarini.
65356         test-sys_socket: avoid set-but-not-used warnings from gcc
65357         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
65358         avoid warning about set-but-not-used variables.
65360         test-xvasprintf: avoid 'const' discard warnings
65361         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
65362         "const" when assigning from literal strings.
65363         (test_xasprintf): Add "void" in function argument list to placate
65364         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
65366         tests: avoid compilation warnings in argmatch and exclude tests...
65367         in packages that define ARGMATCH_DIE_DECL, like coreutils.
65368         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
65369         Since it always exits, declare with the "noreturn" attribute.
65370         * tests/test-argmatch.c: Likewise.
65372         tests: avoid 'const' discard warnings in mbsstr tests
65373         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
65374         * tests/test-mbsstr2.c (main): Likewise.
65376         test-verify: avoid warning from gcc's -Wmissing-declarations
65377         * tests/test-verify.c (function): Declare to be static.
65379         test-inttostr.c: include <string.h> for use of strcmp
65380         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
65382         test-linkat: avoid failed assertion on "other" architectures
65383         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
65384         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
65385         sparc: https://bugs.launchpad.net/bugs/591968
65387 2010-06-11  Jim Meyering  <meyering@redhat.com>
65389         printf.m4: avoid autoconf's "Expanded Before Required" warning
65390         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
65391         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
65392         autoconf warning.
65394 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
65396         Replacement header templates are now named with ".in", not "_".
65397         * doc/gnulib-intro.texi: Correct.
65399 2010-06-10  Jim Meyering  <meyering@redhat.com>
65401         inttostr-tests: depend on snprintf, not snprintf-posix
65402         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
65403         snprintf-posix, to avoid this aclocal failure:
65404           missing file gnulib-tests/vasnprintf.c
65405           configure.ac:45: error: expected source file, required through \
65406           AC_LIBSOURCES, not found
65408 2010-06-10  Jim Meyering  <meyering@redhat.com>
65410         inttostr: add a new function, inttostr, and tests
65411         The namesake function was not available.  The existence of the
65412         template file, inttostr.c makes its addition nontrivial.
65413         * lib/anytostr.c: Rename from inttostr.c.
65414         (anytostr): Rename from inttostr.
65415         * lib/inttostr.c: New file.
65416         * modules/inttostr (Files): Add anytostr.c.
65417         (Makefile.am): Set lib_SOURCES instead of ...
65418         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
65419         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
65420         * lib/offtostr.c: Likewise.
65421         * lib/uinttostr.c: Likewise.
65422         * lib/umaxtostr.c: Likewise.
65423         * modules/inttostr-tests: New file.
65424         * tests/test-inttostr.c: New file.  Test these functions.
65426 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
65427             Bruno Haible  <bruno@clisp.org>
65429         Add "Extending Gnulib" chapter to manual.
65430         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
65431         chapter.
65432         (Extending Gnulib): New chapter.
65433         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
65434         chapter.
65436 2010-06-09  Bruno Haible  <bruno@clisp.org>
65438         Avoid relocwrapper link errors due to gnulib replacement functions.
65439         * lib/areadlink.c: Use the system's malloc, realloc functions.
65440         (areadlink): Set errno to ENOMEM explicitly.
65441         * modules/areadlink (Depends-on): Remove malloc-posix.
65442         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65444 2010-06-09  Bruno Haible  <bruno@clisp.org>
65446         Avoid relocwrapper link errors due to gnulib replacement functions.
65447         * lib/canonicalize-lgpl.c: Use the system's malloc function.
65448         * lib/malloca.c: Likewise.
65449         * lib/relocatable.c: Likewise.
65450         * lib/progreloc.c: Use the system's malloc, sprintf functions.
65451         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
65452         * lib/setenv.c: Use the system's malloc, realloc functions.
65453         * lib/strerror.c: Use the system's sprintf function.
65454         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65456 2010-06-04  Bruno Haible  <bruno@clisp.org>
65458         Prefer documented low-level autoconf macro names.
65459         * m4/lib-link.m4: Use m4_translit instead of translit.
65460         * m4/environ.m4: Likewise.
65461         * m4/mathfunc.m4: Likewise.
65462         * m4/onceonly.m4: Likewise.
65463         * m4/stdint.m4: Likewise.
65464         Suggested by Eric Blake.
65466 2010-06-04  Martin Lambers  <marlam@marlam.de>
65467             Bruno Haible  <bruno@clisp.org>
65469         havelib: Allow library names with '+' characters.
65470         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65471         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
65473 2010-06-09  Bruno Haible  <bruno@clisp.org>
65475         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
65476         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
65477         realloc failed.
65479 2010-06-08  Peter Simons  <simons@cryp.to>
65481         maint.mk: make the news-check rule more configurable
65482         * top/maint.mk (news-check-lines-spec): New variable.
65483         (news-check): Use "sed -n 1,10p" in place of "head".
65485 2010-06-07  Jim Meyering  <meyering@redhat.com>
65487         do-release-commit-and-tag: fix typo in --help
65488         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
65490         regex: avoid new dead-code warning with gcc-4.6.0
65491         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
65492         if-block containing a while-loop.  It's been unused for at least
65493         5 years.
65495 2010-06-05  Bruno Haible  <bruno@clisp.org>
65497         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
65498         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
65500 2010-06-04  Bruno Haible  <bruno@clisp.org>
65502         Update to GNU gettext 0.18.1.
65503         * modules/gettext (configure.ac): Require gettext infrastructure from
65504         version 0.18.1.
65506 2010-06-03  Bruno Haible  <bruno@clisp.org>
65508         Don't use AC_LIBOBJ with file names in subdirectories.
65509         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
65510         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
65511         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
65512         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
65513         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
65514         gl_LIBUNISTRING_LIBSOURCE.
65515         (Makefile.am): Augment lib_SOURCES here, conditionally.
65516         * NEWS: Drop requirement for Automake option 'subdir-objects'.
65518 2010-06-03  Bruno Haible  <bruno@clisp.org>
65520         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
65521         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
65522         expansion does not end with a newline.
65523         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
65524         unnecessary newline.
65526 2010-06-03  Bruno Haible  <bruno@clisp.org>
65528         Reduce dependencies.
65529         * tests/test-quotearg.h: New file, extracted from
65530         tests/test-quotearg.c.
65531         * tests/test-quotearg-simple.c: New file, extracted from
65532         tests/test-quotearg.c.
65533         * tests/test-quotearg.c: Don't include <ctype.h>.
65534         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
65535         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
65536         use_quote_double_quotes, use_quotearg_colon): Moved to
65537         tests/test-quotearg.h.
65538         (results_g, flag_results, custom_quotes, custom_results): Moved
65539         to tests/test-quotearg-simple.c.
65540         (main): Moved the part that does not depend on gettext to
65541         tests/test-quotearg-simple.c. Return 77 if the test cannot be
65542         performed.
65543         * modules/quotearg-simple: New file.
65544         * modules/quotearg-simple-tests: New file.
65545         * modules/quotearg (Depends-on): Add quotearg-simple.
65546         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
65547         (Files): Add tests/test-quotearg.h.
65548         Reported by Paolo Bonzini.
65550 2010-06-03  Bruno Haible  <bruno@clisp.org>
65552         Reduce dependencies.
65553         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
65555 2010-06-03  Bruno Haible  <bruno@clisp.org>
65557         time: Undefine more broken macros.
65558         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
65559         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
65560         Reported by Eric Blake.
65562 2010-06-03  Bruno Haible  <bruno@clisp.org>
65564         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
65565         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
65566         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
65567         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
65568         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
65569         Reported by Ludovic Courtès <ludo@gnu.org>.
65571 2010-06-02  Eric Blake  <eblake@redhat.com>
65573         time: work with mingw + pthreads-win32 library
65574         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
65575         if timespec is defined only in pthread.h.
65576         * modules/time (Makefile.am): Substitute it.
65577         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
65578         <pthread.h>, when needed.
65579         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
65580         from the library.
65582 2010-05-31  Bruno Haible  <bruno@clisp.org>
65584         Avoid expanding two macros in the wrong order.
65585         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
65586         gl_LIBUNISTRING if it is defined.
65587         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
65588         autoconf >= 2.64.
65589         Reported by Ludovic Courtès <ludo@gnu.org>.
65591 2010-05-27  Jim Meyering  <meyering@redhat.com>
65593         maint.mk: also prohibit "#undef" of always-defined symbols
65594         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
65595         Allow more than one space before the symbol name.
65596         (sc_prohibit_always-defined_macros): Use grep's -E, now that
65597         the regexp uses alternation.
65599 2010-05-26  Eric Blake  <eblake@redhat.com>
65601         maint.mk: avoid echo -e
65602         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
65603         Convert all uses of echo -* to printf.
65604         Reported by Matthias Bolte.
65606 2010-05-25  Bruno Haible  <bruno@clisp.org>
65608         Update to GNU gettext 0.18, part 2.
65609         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
65610         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
65612 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65614         Add missing include in test-pwrite.c.
65615         * tests/test-pwrite.c: Include string.h, for strcmp.
65617 2010-05-24  Bruno Haible  <bruno@clisp.org>
65619         * NEWS: Mention requirement for Automake option 'subdir-objects'.
65621 2010-05-24  Bruno Haible  <bruno@clisp.org>
65623         Don't use conversion with transliteration in u{8,16,32}_strcoll.
65624         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
65625         iconveh_error argument.
65626         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
65627         U_STRCONV_TO_LOCALE.
65628         * lib/unistr/u16-strcoll.c: Likewise.
65629         * lib/unistr/u32-strcoll.c: Likewise.
65630         * modules/unistr/u8-strcoll (Depends-on): Add
65631         uniconv/u8-strconv-to-enc, localcharset. Remove
65632         uniconv/u8-strconv-to-locale.
65633         (configure.ac): Bump version number.
65634         * modules/unistr/u16-strcoll (Depends-on): Add
65635         uniconv/u16-strconv-to-enc, localcharset. Remove
65636         uniconv/u16-strconv-to-locale.
65637         (configure.ac): Bump version number.
65638         * modules/unistr/u32-strcoll (Depends-on): Add
65639         uniconv/u32-strconv-to-enc, localcharset. Remove
65640         uniconv/u32-strconv-to-locale.
65641         (configure.ac): Bump version number.
65643 2010-05-24  Bruno Haible  <bruno@clisp.org>
65645         Avoid a test failure on NetBSD 5.0.
65646         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
65647         an iconv() bug.
65649 2010-05-24  Bruno Haible  <bruno@clisp.org>
65651         Adjust #include directive style.
65652         * modules/regex (Includes): Recommend to write <regex.h>.
65654 2010-05-24  Bruno Haible  <bruno@clisp.org>
65656         regex: Don't require alloca.
65657         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
65658         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
65659         only inside if (0).
65661 2010-05-23  Jim Meyering  <meyering@redhat.com>
65663         test-renameat.c: include <sys/stat.h>
65664         * tests/test-renameat.c: Include <sys/stat.h>; required for
65665         definition of S_IS* macros.
65667 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
65669         Update maintainer documentation for 'relocatable-prog' module.
65670         * doc/relocatable-maint.texi: Update.
65671         Comments by Bruno Haible.
65673 2010-05-23  Bruno Haible  <bruno@clisp.org>
65675         git-merge-changelog: Enable --split-merged-entry by default.
65676         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
65677         (usage): Don't mention this option any more.
65678         Reported by Ralf Wildenhues.
65680 2010-05-23  Jim Meyering  <meyering@redhat.com>
65682         test-pwrite: do not leave behind a test file named "out"
65683         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
65684         The trivial-looking use of init.sh is really necessary.
65685         It ensures that the temporary file, "out", is created in
65686         a temporary directory, and removed upon termination.
65687         * tests/test-pwrite.sh: Re-add file.
65688         * modules/pwrite-tests: Reference it.
65690 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65692         Fix output redirection buglet in init.sh.
65693         * tests/init.sh: Fix redirection of stderr.
65695 2010-05-20  Simon Josefsson  <simon@josefsson.org>
65697         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
65699 2010-05-17  Simon Josefsson  <simon@josefsson.org>
65701         * modules/valgrind-tests: New file.
65702         * m4/valgrind-tests.m4: New file.
65703         * doc/valgrind-tests.texi: New file.
65704         * doc/gnulib.texi (Running self-tests under valgrind): New
65705         section.
65707 2010-05-19  Bruno Haible  <bruno@clisp.org>
65709         Clean up dead code in recent commit.
65710         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
65711         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
65712         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
65713         Suggested by Paolo Bonzini.
65715 2010-05-19  Bruno Haible  <bruno@clisp.org>
65717         Avoid valgrind error reports from libunistring.
65718         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
65719         * modules/libunistring (Files): Add it.
65720         * modules/libunistring-optional (Files): Likewise.
65722 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
65723             Bruno Haible  <bruno@clisp.org>
65725         New module 'libunistring-optional'.
65726         * modules/libunistring-optional: New file.
65727         * m4/libunistring-base.m4: New file.
65728         * m4/libunistring-optional.m4: New file.
65729         * lib/unicase.in.h: Renamed from lib/unicase.h.
65730         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
65731         * lib/unictype.in.h: Renamed from lib/unictype.h.
65732         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
65733         * lib/uniname.in.h: Renamed from lib/uniname.h.
65734         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
65735         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
65736         * lib/unistr.in.h: Renamed from lib/unistr.h.
65737         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
65738         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
65739         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
65740         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
65741         gl_LIBUNISTRING. If the library was found, determine the installed
65742         version and set LIBUNISTRING_VERSION.
65743         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
65744         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
65745         handle a configuration option --with-included-libunistring.
65746         * modules/libunistring (Files): Add m4/absolute-header.m4.
65747         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
65748         Add m4/libunistring-base.m4.
65749         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65750         (Makefile.am): Build unicase.h from unicase.in.h.
65751         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
65752         Add m4/libunistring-base.m4.
65753         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65754         (Makefile.am): Build uniconv.h from uniconv.in.h.
65755         * modules/unictype/base (Files): Use unictype.in.h instead of
65756         unictype.h. Add m4/libunistring-base.m4.
65757         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65758         (Makefile.am): Build unictype.h from unictype.in.h.
65759         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
65760         Add m4/libunistring-base.m4.
65761         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65762         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
65763         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
65764         Add m4/libunistring-base.m4.
65765         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65766         (Makefile.am): Build uniname.h from uniname.in.h.
65767         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
65768         Add m4/libunistring-base.m4.
65769         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65770         (Makefile.am): Build uninorm.h from uninorm.in.h.
65771         * modules/unistdio/base (Files): Use unistdio.in.h instead of
65772         unistdio.h. Add m4/libunistring-base.m4.
65773         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65774         (Makefile.am): Build unistdio.h from unistdio.in.h.
65775         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
65776         Add m4/libunistring-base.m4.
65777         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65778         (Makefile.am): Build unistr.h from unistr.in.h.
65779         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
65780         Add m4/libunistring-base.m4.
65781         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65782         (Makefile.am): Build unitypes.h from unitypes.in.h.
65783         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
65784         Add m4/libunistring-base.m4.
65785         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65786         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
65787         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
65788         uniwidth.h. Add m4/libunistring-base.m4.
65789         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
65790         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
65791         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
65792         instead of augmenting lib_SOURCES.
65793         * modules/unicase/empty-suffix-context: Likewise.
65794         * modules/unicase/locale-language: Likewise.
65795         * modules/unicase/tolower: Likewise.
65796         * modules/unicase/totitle: Likewise.
65797         * modules/unicase/toupper: Likewise.
65798         * modules/unicase/u8-casecmp: Likewise.
65799         * modules/unicase/u8-casecoll: Likewise.
65800         * modules/unicase/u8-casefold: Likewise.
65801         * modules/unicase/u8-casexfrm: Likewise.
65802         * modules/unicase/u8-ct-casefold: Likewise.
65803         * modules/unicase/u8-ct-tolower: Likewise.
65804         * modules/unicase/u8-ct-totitle: Likewise.
65805         * modules/unicase/u8-ct-toupper: Likewise.
65806         * modules/unicase/u8-is-cased: Likewise.
65807         * modules/unicase/u8-is-casefolded: Likewise.
65808         * modules/unicase/u8-is-lowercase: Likewise.
65809         * modules/unicase/u8-is-titlecase: Likewise.
65810         * modules/unicase/u8-is-uppercase: Likewise.
65811         * modules/unicase/u8-prefix-context: Likewise.
65812         * modules/unicase/u8-suffix-context: Likewise.
65813         * modules/unicase/u8-tolower: Likewise.
65814         * modules/unicase/u8-totitle: Likewise.
65815         * modules/unicase/u8-toupper: Likewise.
65816         * modules/unicase/u16-casecmp: Likewise.
65817         * modules/unicase/u16-casecoll: Likewise.
65818         * modules/unicase/u16-casefold: Likewise.
65819         * modules/unicase/u16-casexfrm: Likewise.
65820         * modules/unicase/u16-ct-casefold: Likewise.
65821         * modules/unicase/u16-ct-tolower: Likewise.
65822         * modules/unicase/u16-ct-totitle: Likewise.
65823         * modules/unicase/u16-ct-toupper: Likewise.
65824         * modules/unicase/u16-is-cased: Likewise.
65825         * modules/unicase/u16-is-casefolded: Likewise.
65826         * modules/unicase/u16-is-lowercase: Likewise.
65827         * modules/unicase/u16-is-titlecase: Likewise.
65828         * modules/unicase/u16-is-uppercase: Likewise.
65829         * modules/unicase/u16-prefix-context: Likewise.
65830         * modules/unicase/u16-suffix-context: Likewise.
65831         * modules/unicase/u16-tolower: Likewise.
65832         * modules/unicase/u16-totitle: Likewise.
65833         * modules/unicase/u16-toupper: Likewise.
65834         * modules/unicase/u32-casecmp: Likewise.
65835         * modules/unicase/u32-casecoll: Likewise.
65836         * modules/unicase/u32-casefold: Likewise.
65837         * modules/unicase/u32-casexfrm: Likewise.
65838         * modules/unicase/u32-ct-casefold: Likewise.
65839         * modules/unicase/u32-ct-tolower: Likewise.
65840         * modules/unicase/u32-ct-totitle: Likewise.
65841         * modules/unicase/u32-ct-toupper: Likewise.
65842         * modules/unicase/u32-is-cased: Likewise.
65843         * modules/unicase/u32-is-casefolded: Likewise.
65844         * modules/unicase/u32-is-lowercase: Likewise.
65845         * modules/unicase/u32-is-titlecase: Likewise.
65846         * modules/unicase/u32-is-uppercase: Likewise.
65847         * modules/unicase/u32-prefix-context: Likewise.
65848         * modules/unicase/u32-suffix-context: Likewise.
65849         * modules/unicase/u32-tolower: Likewise.
65850         * modules/unicase/u32-totitle: Likewise.
65851         * modules/unicase/u32-toupper: Likewise.
65852         * modules/unicase/ulc-casecmp: Likewise.
65853         * modules/unicase/ulc-casecoll: Likewise.
65854         * modules/unicase/ulc-casexfrm: Likewise.
65855         * modules/uniconv/u8-conv-from-enc: Likewise.
65856         * modules/uniconv/u8-conv-to-enc: Likewise.
65857         * modules/uniconv/u8-strconv-from-enc: Likewise.
65858         * modules/uniconv/u8-strconv-from-locale: Likewise.
65859         * modules/uniconv/u8-strconv-to-enc: Likewise.
65860         * modules/uniconv/u8-strconv-to-locale: Likewise.
65861         * modules/uniconv/u16-conv-from-enc: Likewise.
65862         * modules/uniconv/u16-conv-to-enc: Likewise.
65863         * modules/uniconv/u16-strconv-from-enc: Likewise.
65864         * modules/uniconv/u16-strconv-from-locale: Likewise.
65865         * modules/uniconv/u16-strconv-to-enc: Likewise.
65866         * modules/uniconv/u16-strconv-to-locale: Likewise.
65867         * modules/uniconv/u32-conv-from-enc: Likewise.
65868         * modules/uniconv/u32-conv-to-enc: Likewise.
65869         * modules/uniconv/u32-strconv-from-enc: Likewise.
65870         * modules/uniconv/u32-strconv-from-locale: Likewise.
65871         * modules/uniconv/u32-strconv-to-enc: Likewise.
65872         * modules/uniconv/u32-strconv-to-locale: Likewise.
65873         * modules/unictype/bidicategory-byname: Likewise.
65874         * modules/unictype/bidicategory-name: Likewise.
65875         * modules/unictype/bidicategory-of: Likewise.
65876         * modules/unictype/bidicategory-test: Likewise.
65877         * modules/unictype/block-list: Likewise.
65878         * modules/unictype/block-test: Likewise.
65879         * modules/unictype/category-C: Likewise.
65880         * modules/unictype/category-Cc: Likewise.
65881         * modules/unictype/category-Cf: Likewise.
65882         * modules/unictype/category-Cn: Likewise.
65883         * modules/unictype/category-Co: Likewise.
65884         * modules/unictype/category-Cs: Likewise.
65885         * modules/unictype/category-L: Likewise.
65886         * modules/unictype/category-Ll: Likewise.
65887         * modules/unictype/category-Lm: Likewise.
65888         * modules/unictype/category-Lo: Likewise.
65889         * modules/unictype/category-Lt: Likewise.
65890         * modules/unictype/category-Lu: Likewise.
65891         * modules/unictype/category-M: Likewise.
65892         * modules/unictype/category-Mc: Likewise.
65893         * modules/unictype/category-Me: Likewise.
65894         * modules/unictype/category-Mn: Likewise.
65895         * modules/unictype/category-N: Likewise.
65896         * modules/unictype/category-Nd: Likewise.
65897         * modules/unictype/category-Nl: Likewise.
65898         * modules/unictype/category-No: Likewise.
65899         * modules/unictype/category-P: Likewise.
65900         * modules/unictype/category-Pc: Likewise.
65901         * modules/unictype/category-Pd: Likewise.
65902         * modules/unictype/category-Pe: Likewise.
65903         * modules/unictype/category-Pf: Likewise.
65904         * modules/unictype/category-Pi: Likewise.
65905         * modules/unictype/category-Po: Likewise.
65906         * modules/unictype/category-Ps: Likewise.
65907         * modules/unictype/category-S: Likewise.
65908         * modules/unictype/category-Sc: Likewise.
65909         * modules/unictype/category-Sk: Likewise.
65910         * modules/unictype/category-Sm: Likewise.
65911         * modules/unictype/category-So: Likewise.
65912         * modules/unictype/category-Z: Likewise.
65913         * modules/unictype/category-Zl: Likewise.
65914         * modules/unictype/category-Zp: Likewise.
65915         * modules/unictype/category-Zs: Likewise.
65916         * modules/unictype/category-and: Likewise.
65917         * modules/unictype/category-and-not: Likewise.
65918         * modules/unictype/category-byname: Likewise.
65919         * modules/unictype/category-name: Likewise.
65920         * modules/unictype/category-none: Likewise.
65921         * modules/unictype/category-of: Likewise.
65922         * modules/unictype/category-or: Likewise.
65923         * modules/unictype/category-test: Likewise.
65924         * modules/unictype/combining-class: Likewise.
65925         * modules/unictype/ctype-alnum: Likewise.
65926         * modules/unictype/ctype-alpha: Likewise.
65927         * modules/unictype/ctype-blank: Likewise.
65928         * modules/unictype/ctype-cntrl: Likewise.
65929         * modules/unictype/ctype-digit: Likewise.
65930         * modules/unictype/ctype-graph: Likewise.
65931         * modules/unictype/ctype-lower: Likewise.
65932         * modules/unictype/ctype-print: Likewise.
65933         * modules/unictype/ctype-punct: Likewise.
65934         * modules/unictype/ctype-space: Likewise.
65935         * modules/unictype/ctype-upper: Likewise.
65936         * modules/unictype/ctype-xdigit: Likewise.
65937         * modules/unictype/decimal-digit: Likewise.
65938         * modules/unictype/digit: Likewise.
65939         * modules/unictype/mirror: Likewise.
65940         * modules/unictype/numeric: Likewise.
65941         * modules/unictype/property-alphabetic: Likewise.
65942         * modules/unictype/property-ascii-hex-digit: Likewise.
65943         * modules/unictype/property-bidi-arabic-digit: Likewise.
65944         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
65945         * modules/unictype/property-bidi-block-separator: Likewise.
65946         * modules/unictype/property-bidi-boundary-neutral: Likewise.
65947         * modules/unictype/property-bidi-common-separator: Likewise.
65948         * modules/unictype/property-bidi-control: Likewise.
65949         * modules/unictype/property-bidi-embedding-or-override: Likewise.
65950         * modules/unictype/property-bidi-eur-num-separator: Likewise.
65951         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
65952         * modules/unictype/property-bidi-european-digit: Likewise.
65953         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
65954         * modules/unictype/property-bidi-left-to-right: Likewise.
65955         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
65956         * modules/unictype/property-bidi-other-neutral: Likewise.
65957         * modules/unictype/property-bidi-pdf: Likewise.
65958         * modules/unictype/property-bidi-segment-separator: Likewise.
65959         * modules/unictype/property-bidi-whitespace: Likewise.
65960         * modules/unictype/property-byname: Likewise.
65961         * modules/unictype/property-combining: Likewise.
65962         * modules/unictype/property-composite: Likewise.
65963         * modules/unictype/property-currency-symbol: Likewise.
65964         * modules/unictype/property-dash: Likewise.
65965         * modules/unictype/property-decimal-digit: Likewise.
65966         * modules/unictype/property-default-ignorable-code-point: Likewise.
65967         * modules/unictype/property-deprecated: Likewise.
65968         * modules/unictype/property-diacritic: Likewise.
65969         * modules/unictype/property-extender: Likewise.
65970         * modules/unictype/property-format-control: Likewise.
65971         * modules/unictype/property-grapheme-base: Likewise.
65972         * modules/unictype/property-grapheme-extend: Likewise.
65973         * modules/unictype/property-grapheme-link: Likewise.
65974         * modules/unictype/property-hex-digit: Likewise.
65975         * modules/unictype/property-hyphen: Likewise.
65976         * modules/unictype/property-id-continue: Likewise.
65977         * modules/unictype/property-id-start: Likewise.
65978         * modules/unictype/property-ideographic: Likewise.
65979         * modules/unictype/property-ids-binary-operator: Likewise.
65980         * modules/unictype/property-ids-trinary-operator: Likewise.
65981         * modules/unictype/property-ignorable-control: Likewise.
65982         * modules/unictype/property-iso-control: Likewise.
65983         * modules/unictype/property-join-control: Likewise.
65984         * modules/unictype/property-left-of-pair: Likewise.
65985         * modules/unictype/property-line-separator: Likewise.
65986         * modules/unictype/property-logical-order-exception: Likewise.
65987         * modules/unictype/property-lowercase: Likewise.
65988         * modules/unictype/property-math: Likewise.
65989         * modules/unictype/property-non-break: Likewise.
65990         * modules/unictype/property-not-a-character: Likewise.
65991         * modules/unictype/property-numeric: Likewise.
65992         * modules/unictype/property-other-alphabetic: Likewise.
65993         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
65994         * modules/unictype/property-other-grapheme-extend: Likewise.
65995         * modules/unictype/property-other-id-continue: Likewise.
65996         * modules/unictype/property-other-id-start: Likewise.
65997         * modules/unictype/property-other-lowercase: Likewise.
65998         * modules/unictype/property-other-math: Likewise.
65999         * modules/unictype/property-other-uppercase: Likewise.
66000         * modules/unictype/property-paired-punctuation: Likewise.
66001         * modules/unictype/property-paragraph-separator: Likewise.
66002         * modules/unictype/property-pattern-syntax: Likewise.
66003         * modules/unictype/property-pattern-white-space: Likewise.
66004         * modules/unictype/property-private-use: Likewise.
66005         * modules/unictype/property-punctuation: Likewise.
66006         * modules/unictype/property-quotation-mark: Likewise.
66007         * modules/unictype/property-radical: Likewise.
66008         * modules/unictype/property-sentence-terminal: Likewise.
66009         * modules/unictype/property-soft-dotted: Likewise.
66010         * modules/unictype/property-space: Likewise.
66011         * modules/unictype/property-terminal-punctuation: Likewise.
66012         * modules/unictype/property-test: Likewise.
66013         * modules/unictype/property-titlecase: Likewise.
66014         * modules/unictype/property-unassigned-code-value: Likewise.
66015         * modules/unictype/property-unified-ideograph: Likewise.
66016         * modules/unictype/property-uppercase: Likewise.
66017         * modules/unictype/property-variation-selector: Likewise.
66018         * modules/unictype/property-white-space: Likewise.
66019         * modules/unictype/property-xid-continue: Likewise.
66020         * modules/unictype/property-xid-start: Likewise.
66021         * modules/unictype/property-zero-width: Likewise.
66022         * modules/unictype/scripts: Likewise.
66023         * modules/unictype/syntax-c-ident: Likewise.
66024         * modules/unictype/syntax-c-whitespace: Likewise.
66025         * modules/unictype/syntax-java-ident: Likewise.
66026         * modules/unictype/syntax-java-whitespace: Likewise.
66027         * modules/unilbrk/u8-possible-linebreaks: Likewise.
66028         * modules/unilbrk/u8-width-linebreaks: Likewise.
66029         * modules/unilbrk/u16-possible-linebreaks: Likewise.
66030         * modules/unilbrk/u16-width-linebreaks: Likewise.
66031         * modules/unilbrk/u32-possible-linebreaks: Likewise.
66032         * modules/unilbrk/u32-width-linebreaks: Likewise.
66033         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
66034         * modules/unilbrk/ulc-width-linebreaks: Likewise.
66035         * modules/uniname/uniname: Likewise.
66036         * modules/uninorm/canonical-decomposition: Likewise.
66037         * modules/uninorm/composition: Likewise.
66038         * modules/uninorm/decomposing-form: Likewise.
66039         * modules/uninorm/decomposition: Likewise.
66040         * modules/uninorm/filter: Likewise.
66041         * modules/uninorm/nfc: Likewise.
66042         * modules/uninorm/nfd: Likewise.
66043         * modules/uninorm/nfkc: Likewise.
66044         * modules/uninorm/nfkd: Likewise.
66045         * modules/uninorm/u8-normalize: Likewise.
66046         * modules/uninorm/u8-normcmp: Likewise.
66047         * modules/uninorm/u8-normcoll: Likewise.
66048         * modules/uninorm/u8-normxfrm: Likewise.
66049         * modules/uninorm/u16-normalize: Likewise.
66050         * modules/uninorm/u16-normcmp: Likewise.
66051         * modules/uninorm/u16-normcoll: Likewise.
66052         * modules/uninorm/u16-normxfrm: Likewise.
66053         * modules/uninorm/u32-normalize: Likewise.
66054         * modules/uninorm/u32-normcmp: Likewise.
66055         * modules/uninorm/u32-normcoll: Likewise.
66056         * modules/uninorm/u32-normxfrm: Likewise.
66057         * modules/unistdio/u8-asnprintf: Likewise.
66058         * modules/unistdio/u8-asprintf: Likewise.
66059         * modules/unistdio/u8-snprintf: Likewise.
66060         * modules/unistdio/u8-sprintf: Likewise.
66061         * modules/unistdio/u8-u8-asnprintf: Likewise.
66062         * modules/unistdio/u8-u8-asprintf: Likewise.
66063         * modules/unistdio/u8-u8-snprintf: Likewise.
66064         * modules/unistdio/u8-u8-sprintf: Likewise.
66065         * modules/unistdio/u8-u8-vasnprintf: Likewise.
66066         * modules/unistdio/u8-u8-vasprintf: Likewise.
66067         * modules/unistdio/u8-u8-vsnprintf: Likewise.
66068         * modules/unistdio/u8-u8-vsprintf: Likewise.
66069         * modules/unistdio/u8-vasnprintf: Likewise.
66070         * modules/unistdio/u8-vasprintf: Likewise.
66071         * modules/unistdio/u8-vsnprintf: Likewise.
66072         * modules/unistdio/u8-vsprintf: Likewise.
66073         * modules/unistdio/u16-asnprintf: Likewise.
66074         * modules/unistdio/u16-asprintf: Likewise.
66075         * modules/unistdio/u16-snprintf: Likewise.
66076         * modules/unistdio/u16-sprintf: Likewise.
66077         * modules/unistdio/u16-u16-asnprintf: Likewise.
66078         * modules/unistdio/u16-u16-asprintf: Likewise.
66079         * modules/unistdio/u16-u16-snprintf: Likewise.
66080         * modules/unistdio/u16-u16-sprintf: Likewise.
66081         * modules/unistdio/u16-u16-vasnprintf: Likewise.
66082         * modules/unistdio/u16-u16-vasprintf: Likewise.
66083         * modules/unistdio/u16-u16-vsnprintf: Likewise.
66084         * modules/unistdio/u16-u16-vsprintf: Likewise.
66085         * modules/unistdio/u16-vasnprintf: Likewise.
66086         * modules/unistdio/u16-vasprintf: Likewise.
66087         * modules/unistdio/u16-vsnprintf: Likewise.
66088         * modules/unistdio/u16-vsprintf: Likewise.
66089         * modules/unistdio/u32-asnprintf: Likewise.
66090         * modules/unistdio/u32-asprintf: Likewise.
66091         * modules/unistdio/u32-snprintf: Likewise.
66092         * modules/unistdio/u32-sprintf: Likewise.
66093         * modules/unistdio/u32-u32-asnprintf: Likewise.
66094         * modules/unistdio/u32-u32-asprintf: Likewise.
66095         * modules/unistdio/u32-u32-snprintf: Likewise.
66096         * modules/unistdio/u32-u32-sprintf: Likewise.
66097         * modules/unistdio/u32-u32-vasnprintf: Likewise.
66098         * modules/unistdio/u32-u32-vasprintf: Likewise.
66099         * modules/unistdio/u32-u32-vsnprintf: Likewise.
66100         * modules/unistdio/u32-u32-vsprintf: Likewise.
66101         * modules/unistdio/u32-vasnprintf: Likewise.
66102         * modules/unistdio/u32-vasprintf: Likewise.
66103         * modules/unistdio/u32-vsnprintf: Likewise.
66104         * modules/unistdio/u32-vsprintf: Likewise.
66105         * modules/unistdio/ulc-asnprintf: Likewise.
66106         * modules/unistdio/ulc-asprintf: Likewise.
66107         * modules/unistdio/ulc-fprintf: Likewise.
66108         * modules/unistdio/ulc-snprintf: Likewise.
66109         * modules/unistdio/ulc-sprintf: Likewise.
66110         * modules/unistdio/ulc-vasnprintf: Likewise.
66111         * modules/unistdio/ulc-vasprintf: Likewise.
66112         * modules/unistdio/ulc-vfprintf: Likewise.
66113         * modules/unistdio/ulc-vsnprintf: Likewise.
66114         * modules/unistdio/ulc-vsprintf: Likewise.
66115         * modules/unistr/u8-check: Likewise.
66116         * modules/unistr/u8-chr: Likewise.
66117         * modules/unistr/u8-cmp: Likewise.
66118         * modules/unistr/u8-cmp2: Likewise.
66119         * modules/unistr/u8-cpy: Likewise.
66120         * modules/unistr/u8-cpy-alloc: Likewise.
66121         * modules/unistr/u8-endswith: Likewise.
66122         * modules/unistr/u8-mblen: Likewise.
66123         * modules/unistr/u8-mbsnlen: Likewise.
66124         * modules/unistr/u8-mbtouc: Likewise.
66125         * modules/unistr/u8-mbtouc-unsafe: Likewise.
66126         * modules/unistr/u8-mbtoucr: Likewise.
66127         * modules/unistr/u8-move: Likewise.
66128         * modules/unistr/u8-next: Likewise.
66129         * modules/unistr/u8-prev: Likewise.
66130         * modules/unistr/u8-set: Likewise.
66131         * modules/unistr/u8-startswith: Likewise.
66132         * modules/unistr/u8-stpcpy: Likewise.
66133         * modules/unistr/u8-stpncpy: Likewise.
66134         * modules/unistr/u8-strcat: Likewise.
66135         * modules/unistr/u8-strchr: Likewise.
66136         * modules/unistr/u8-strcmp: Likewise.
66137         * modules/unistr/u8-strcoll: Likewise.
66138         * modules/unistr/u8-strcpy: Likewise.
66139         * modules/unistr/u8-strcspn: Likewise.
66140         * modules/unistr/u8-strdup: Likewise.
66141         * modules/unistr/u8-strlen: Likewise.
66142         * modules/unistr/u8-strmblen: Likewise.
66143         * modules/unistr/u8-strmbtouc: Likewise.
66144         * modules/unistr/u8-strncat: Likewise.
66145         * modules/unistr/u8-strncmp: Likewise.
66146         * modules/unistr/u8-strncpy: Likewise.
66147         * modules/unistr/u8-strnlen: Likewise.
66148         * modules/unistr/u8-strpbrk: Likewise.
66149         * modules/unistr/u8-strrchr: Likewise.
66150         * modules/unistr/u8-strspn: Likewise.
66151         * modules/unistr/u8-strstr: Likewise.
66152         * modules/unistr/u8-strtok: Likewise.
66153         * modules/unistr/u8-to-u16: Likewise.
66154         * modules/unistr/u8-to-u32: Likewise.
66155         * modules/unistr/u8-uctomb: Likewise.
66156         * modules/unistr/u16-check: Likewise.
66157         * modules/unistr/u16-chr: Likewise.
66158         * modules/unistr/u16-cmp: Likewise.
66159         * modules/unistr/u16-cmp2: Likewise.
66160         * modules/unistr/u16-cpy: Likewise.
66161         * modules/unistr/u16-cpy-alloc: Likewise.
66162         * modules/unistr/u16-endswith: Likewise.
66163         * modules/unistr/u16-mblen: Likewise.
66164         * modules/unistr/u16-mbsnlen: Likewise.
66165         * modules/unistr/u16-mbtouc: Likewise.
66166         * modules/unistr/u16-mbtouc-unsafe: Likewise.
66167         * modules/unistr/u16-mbtoucr: Likewise.
66168         * modules/unistr/u16-move: Likewise.
66169         * modules/unistr/u16-next: Likewise.
66170         * modules/unistr/u16-prev: Likewise.
66171         * modules/unistr/u16-set: Likewise.
66172         * modules/unistr/u16-startswith: Likewise.
66173         * modules/unistr/u16-stpcpy: Likewise.
66174         * modules/unistr/u16-stpncpy: Likewise.
66175         * modules/unistr/u16-strcat: Likewise.
66176         * modules/unistr/u16-strchr: Likewise.
66177         * modules/unistr/u16-strcmp: Likewise.
66178         * modules/unistr/u16-strcoll: Likewise.
66179         * modules/unistr/u16-strcpy: Likewise.
66180         * modules/unistr/u16-strcspn: Likewise.
66181         * modules/unistr/u16-strdup: Likewise.
66182         * modules/unistr/u16-strlen: Likewise.
66183         * modules/unistr/u16-strmblen: Likewise.
66184         * modules/unistr/u16-strmbtouc: Likewise.
66185         * modules/unistr/u16-strncat: Likewise.
66186         * modules/unistr/u16-strncmp: Likewise.
66187         * modules/unistr/u16-strncpy: Likewise.
66188         * modules/unistr/u16-strnlen: Likewise.
66189         * modules/unistr/u16-strpbrk: Likewise.
66190         * modules/unistr/u16-strrchr: Likewise.
66191         * modules/unistr/u16-strspn: Likewise.
66192         * modules/unistr/u16-strstr: Likewise.
66193         * modules/unistr/u16-strtok: Likewise.
66194         * modules/unistr/u16-to-u32: Likewise.
66195         * modules/unistr/u16-to-u8: Likewise.
66196         * modules/unistr/u16-uctomb: Likewise.
66197         * modules/unistr/u32-check: Likewise.
66198         * modules/unistr/u32-chr: Likewise.
66199         * modules/unistr/u32-cmp: Likewise.
66200         * modules/unistr/u32-cmp2: Likewise.
66201         * modules/unistr/u32-cpy: Likewise.
66202         * modules/unistr/u32-cpy-alloc: Likewise.
66203         * modules/unistr/u32-endswith: Likewise.
66204         * modules/unistr/u32-mblen: Likewise.
66205         * modules/unistr/u32-mbsnlen: Likewise.
66206         * modules/unistr/u32-mbtouc: Likewise.
66207         * modules/unistr/u32-mbtouc-unsafe: Likewise.
66208         * modules/unistr/u32-mbtoucr: Likewise.
66209         * modules/unistr/u32-move: Likewise.
66210         * modules/unistr/u32-next: Likewise.
66211         * modules/unistr/u32-prev: Likewise.
66212         * modules/unistr/u32-set: Likewise.
66213         * modules/unistr/u32-startswith: Likewise.
66214         * modules/unistr/u32-stpcpy: Likewise.
66215         * modules/unistr/u32-stpncpy: Likewise.
66216         * modules/unistr/u32-strcat: Likewise.
66217         * modules/unistr/u32-strchr: Likewise.
66218         * modules/unistr/u32-strcmp: Likewise.
66219         * modules/unistr/u32-strcoll: Likewise.
66220         * modules/unistr/u32-strcpy: Likewise.
66221         * modules/unistr/u32-strcspn: Likewise.
66222         * modules/unistr/u32-strdup: Likewise.
66223         * modules/unistr/u32-strlen: Likewise.
66224         * modules/unistr/u32-strmblen: Likewise.
66225         * modules/unistr/u32-strmbtouc: Likewise.
66226         * modules/unistr/u32-strncat: Likewise.
66227         * modules/unistr/u32-strncmp: Likewise.
66228         * modules/unistr/u32-strncpy: Likewise.
66229         * modules/unistr/u32-strnlen: Likewise.
66230         * modules/unistr/u32-strpbrk: Likewise.
66231         * modules/unistr/u32-strrchr: Likewise.
66232         * modules/unistr/u32-strspn: Likewise.
66233         * modules/unistr/u32-strstr: Likewise.
66234         * modules/unistr/u32-strtok: Likewise.
66235         * modules/unistr/u32-to-u16: Likewise.
66236         * modules/unistr/u32-to-u8: Likewise.
66237         * modules/unistr/u32-uctomb: Likewise.
66238         * modules/uniwbrk/u8-wordbreaks: Likewise.
66239         * modules/uniwbrk/u16-wordbreaks: Likewise.
66240         * modules/uniwbrk/u32-wordbreaks: Likewise.
66241         * modules/uniwbrk/ulc-wordbreaks: Likewise.
66242         * modules/uniwbrk/wordbreak-property: Likewise.
66243         * modules/uniwidth/u8-strwidth: Likewise.
66244         * modules/uniwidth/u8-width: Likewise.
66245         * modules/uniwidth/u16-strwidth: Likewise.
66246         * modules/uniwidth/u16-width: Likewise.
66247         * modules/uniwidth/u32-strwidth: Likewise.
66248         * modules/uniwidth/u32-width: Likewise.
66249         * modules/uniwidth/width: Likewise.
66250         * modules/unicase/cased-tests (Makefile.am): Link all test programs
66251         with $(LIBUNISTRING).
66252         * modules/unicase/ignorable-tests: Likewise.
66253         * modules/unicase/locale-language-tests: Likewise.
66254         * modules/unicase/tolower-tests: Likewise.
66255         * modules/unicase/totitle-tests: Likewise.
66256         * modules/unicase/toupper-tests: Likewise.
66257         * modules/unicase/u8-casecmp-tests: Likewise.
66258         * modules/unicase/u8-casecoll-tests: Likewise.
66259         * modules/unicase/u8-casefold-tests: Likewise.
66260         * modules/unicase/u8-is-cased-tests: Likewise.
66261         * modules/unicase/u8-is-casefolded-tests: Likewise.
66262         * modules/unicase/u8-is-lowercase-tests: Likewise.
66263         * modules/unicase/u8-is-titlecase-tests: Likewise.
66264         * modules/unicase/u8-is-uppercase-tests: Likewise.
66265         * modules/unicase/u8-tolower-tests: Likewise.
66266         * modules/unicase/u8-totitle-tests: Likewise.
66267         * modules/unicase/u8-toupper-tests: Likewise.
66268         * modules/unicase/u16-casecmp-tests: Likewise.
66269         * modules/unicase/u16-casecoll-tests: Likewise.
66270         * modules/unicase/u16-casefold-tests: Likewise.
66271         * modules/unicase/u16-is-cased-tests: Likewise.
66272         * modules/unicase/u16-is-casefolded-tests: Likewise.
66273         * modules/unicase/u16-is-lowercase-tests: Likewise.
66274         * modules/unicase/u16-is-titlecase-tests: Likewise.
66275         * modules/unicase/u16-is-uppercase-tests: Likewise.
66276         * modules/unicase/u16-tolower-tests: Likewise.
66277         * modules/unicase/u16-totitle-tests: Likewise.
66278         * modules/unicase/u16-toupper-tests: Likewise.
66279         * modules/unicase/u32-casecmp-tests: Likewise.
66280         * modules/unicase/u32-casecoll-tests: Likewise.
66281         * modules/unicase/u32-casefold-tests: Likewise.
66282         * modules/unicase/u32-is-cased-tests: Likewise.
66283         * modules/unicase/u32-is-casefolded-tests: Likewise.
66284         * modules/unicase/u32-is-lowercase-tests: Likewise.
66285         * modules/unicase/u32-is-titlecase-tests: Likewise.
66286         * modules/unicase/u32-is-uppercase-tests: Likewise.
66287         * modules/unicase/u32-tolower-tests: Likewise.
66288         * modules/unicase/u32-totitle-tests: Likewise.
66289         * modules/unicase/u32-toupper-tests: Likewise.
66290         * modules/unicase/ulc-casecmp-tests: Likewise.
66291         * modules/unicase/ulc-casecoll-tests: Likewise.
66292         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
66293         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
66294         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
66295         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
66296         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
66297         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
66298         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
66299         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
66300         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
66301         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
66302         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
66303         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
66304         * modules/unictype/bidicategory-byname-tests: Likewise.
66305         * modules/unictype/bidicategory-name-tests: Likewise.
66306         * modules/unictype/bidicategory-of-tests: Likewise.
66307         * modules/unictype/bidicategory-test-tests: Likewise.
66308         * modules/unictype/block-list-tests: Likewise.
66309         * modules/unictype/block-of-tests: Likewise.
66310         * modules/unictype/block-test-tests: Likewise.
66311         * modules/unictype/category-C-tests: Likewise.
66312         * modules/unictype/category-Cc-tests: Likewise.
66313         * modules/unictype/category-Cf-tests: Likewise.
66314         * modules/unictype/category-Cn-tests: Likewise.
66315         * modules/unictype/category-Co-tests: Likewise.
66316         * modules/unictype/category-Cs-tests: Likewise.
66317         * modules/unictype/category-L-tests: Likewise.
66318         * modules/unictype/category-Ll-tests: Likewise.
66319         * modules/unictype/category-Lm-tests: Likewise.
66320         * modules/unictype/category-Lo-tests: Likewise.
66321         * modules/unictype/category-Lt-tests: Likewise.
66322         * modules/unictype/category-Lu-tests: Likewise.
66323         * modules/unictype/category-M-tests: Likewise.
66324         * modules/unictype/category-Mc-tests: Likewise.
66325         * modules/unictype/category-Me-tests: Likewise.
66326         * modules/unictype/category-Mn-tests: Likewise.
66327         * modules/unictype/category-N-tests: Likewise.
66328         * modules/unictype/category-Nd-tests: Likewise.
66329         * modules/unictype/category-Nl-tests: Likewise.
66330         * modules/unictype/category-No-tests: Likewise.
66331         * modules/unictype/category-P-tests: Likewise.
66332         * modules/unictype/category-Pc-tests: Likewise.
66333         * modules/unictype/category-Pd-tests: Likewise.
66334         * modules/unictype/category-Pe-tests: Likewise.
66335         * modules/unictype/category-Pf-tests: Likewise.
66336         * modules/unictype/category-Pi-tests: Likewise.
66337         * modules/unictype/category-Po-tests: Likewise.
66338         * modules/unictype/category-Ps-tests: Likewise.
66339         * modules/unictype/category-S-tests: Likewise.
66340         * modules/unictype/category-Sc-tests: Likewise.
66341         * modules/unictype/category-Sk-tests: Likewise.
66342         * modules/unictype/category-Sm-tests: Likewise.
66343         * modules/unictype/category-So-tests: Likewise.
66344         * modules/unictype/category-Z-tests: Likewise.
66345         * modules/unictype/category-Zl-tests: Likewise.
66346         * modules/unictype/category-Zp-tests: Likewise.
66347         * modules/unictype/category-Zs-tests: Likewise.
66348         * modules/unictype/category-and-not-tests: Likewise.
66349         * modules/unictype/category-and-tests: Likewise.
66350         * modules/unictype/category-byname-tests: Likewise.
66351         * modules/unictype/category-name-tests: Likewise.
66352         * modules/unictype/category-none-tests: Likewise.
66353         * modules/unictype/category-of-tests: Likewise.
66354         * modules/unictype/category-or-tests: Likewise.
66355         * modules/unictype/category-test-withtable-tests: Likewise.
66356         * modules/unictype/combining-class-tests: Likewise.
66357         * modules/unictype/ctype-alnum-tests: Likewise.
66358         * modules/unictype/ctype-alpha-tests: Likewise.
66359         * modules/unictype/ctype-blank-tests: Likewise.
66360         * modules/unictype/ctype-cntrl-tests: Likewise.
66361         * modules/unictype/ctype-digit-tests: Likewise.
66362         * modules/unictype/ctype-graph-tests: Likewise.
66363         * modules/unictype/ctype-lower-tests: Likewise.
66364         * modules/unictype/ctype-print-tests: Likewise.
66365         * modules/unictype/ctype-punct-tests: Likewise.
66366         * modules/unictype/ctype-space-tests: Likewise.
66367         * modules/unictype/ctype-upper-tests: Likewise.
66368         * modules/unictype/ctype-xdigit-tests: Likewise.
66369         * modules/unictype/decimal-digit-tests: Likewise.
66370         * modules/unictype/digit-tests: Likewise.
66371         * modules/unictype/mirror-tests: Likewise.
66372         * modules/unictype/numeric-tests: Likewise.
66373         * modules/unictype/property-alphabetic-tests: Likewise.
66374         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
66375         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
66376         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
66377         * modules/unictype/property-bidi-block-separator-tests: Likewise.
66378         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
66379         * modules/unictype/property-bidi-common-separator-tests: Likewise.
66380         * modules/unictype/property-bidi-control-tests: Likewise.
66381         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
66382         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
66383         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
66384         * modules/unictype/property-bidi-european-digit-tests: Likewise.
66385         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
66386         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
66387         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
66388         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
66389         * modules/unictype/property-bidi-pdf-tests: Likewise.
66390         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
66391         * modules/unictype/property-bidi-whitespace-tests: Likewise.
66392         * modules/unictype/property-byname-tests: Likewise.
66393         * modules/unictype/property-combining-tests: Likewise.
66394         * modules/unictype/property-composite-tests: Likewise.
66395         * modules/unictype/property-currency-symbol-tests: Likewise.
66396         * modules/unictype/property-dash-tests: Likewise.
66397         * modules/unictype/property-decimal-digit-tests: Likewise.
66398         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
66399         * modules/unictype/property-deprecated-tests: Likewise.
66400         * modules/unictype/property-diacritic-tests: Likewise.
66401         * modules/unictype/property-extender-tests: Likewise.
66402         * modules/unictype/property-format-control-tests: Likewise.
66403         * modules/unictype/property-grapheme-base-tests: Likewise.
66404         * modules/unictype/property-grapheme-extend-tests: Likewise.
66405         * modules/unictype/property-grapheme-link-tests: Likewise.
66406         * modules/unictype/property-hex-digit-tests: Likewise.
66407         * modules/unictype/property-hyphen-tests: Likewise.
66408         * modules/unictype/property-id-continue-tests: Likewise.
66409         * modules/unictype/property-id-start-tests: Likewise.
66410         * modules/unictype/property-ideographic-tests: Likewise.
66411         * modules/unictype/property-ids-binary-operator-tests: Likewise.
66412         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
66413         * modules/unictype/property-ignorable-control-tests: Likewise.
66414         * modules/unictype/property-iso-control-tests: Likewise.
66415         * modules/unictype/property-join-control-tests: Likewise.
66416         * modules/unictype/property-left-of-pair-tests: Likewise.
66417         * modules/unictype/property-line-separator-tests: Likewise.
66418         * modules/unictype/property-logical-order-exception-tests: Likewise.
66419         * modules/unictype/property-lowercase-tests: Likewise.
66420         * modules/unictype/property-math-tests: Likewise.
66421         * modules/unictype/property-non-break-tests: Likewise.
66422         * modules/unictype/property-not-a-character-tests: Likewise.
66423         * modules/unictype/property-numeric-tests: Likewise.
66424         * modules/unictype/property-other-alphabetic-tests: Likewise.
66425         * modules/unictype/property-other-default-ignorable-code-point-tests:
66426         Likewise.
66427         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
66428         * modules/unictype/property-other-id-continue-tests: Likewise.
66429         * modules/unictype/property-other-id-start-tests: Likewise.
66430         * modules/unictype/property-other-lowercase-tests: Likewise.
66431         * modules/unictype/property-other-math-tests: Likewise.
66432         * modules/unictype/property-other-uppercase-tests: Likewise.
66433         * modules/unictype/property-paired-punctuation-tests: Likewise.
66434         * modules/unictype/property-paragraph-separator-tests: Likewise.
66435         * modules/unictype/property-pattern-syntax-tests: Likewise.
66436         * modules/unictype/property-pattern-white-space-tests: Likewise.
66437         * modules/unictype/property-private-use-tests: Likewise.
66438         * modules/unictype/property-punctuation-tests: Likewise.
66439         * modules/unictype/property-quotation-mark-tests: Likewise.
66440         * modules/unictype/property-radical-tests: Likewise.
66441         * modules/unictype/property-sentence-terminal-tests: Likewise.
66442         * modules/unictype/property-soft-dotted-tests: Likewise.
66443         * modules/unictype/property-space-tests: Likewise.
66444         * modules/unictype/property-terminal-punctuation-tests: Likewise.
66445         * modules/unictype/property-test-tests: Likewise.
66446         * modules/unictype/property-titlecase-tests: Likewise.
66447         * modules/unictype/property-unassigned-code-value-tests: Likewise.
66448         * modules/unictype/property-unified-ideograph-tests: Likewise.
66449         * modules/unictype/property-uppercase-tests: Likewise.
66450         * modules/unictype/property-variation-selector-tests: Likewise.
66451         * modules/unictype/property-white-space-tests: Likewise.
66452         * modules/unictype/property-xid-continue-tests: Likewise.
66453         * modules/unictype/property-xid-start-tests: Likewise.
66454         * modules/unictype/property-zero-width-tests: Likewise.
66455         * modules/unictype/scripts-tests: Likewise.
66456         * modules/unictype/syntax-c-ident-tests: Likewise.
66457         * modules/unictype/syntax-c-whitespace-tests: Likewise.
66458         * modules/unictype/syntax-java-ident-tests: Likewise.
66459         * modules/unictype/syntax-java-whitespace-tests: Likewise.
66460         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
66461         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
66462         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
66463         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
66464         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
66465         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
66466         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
66467         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
66468         * modules/uniname/uniname-tests: Likewise.
66469         * modules/uninorm/canonical-decomposition-tests: Likewise.
66470         * modules/uninorm/compat-decomposition-tests: Likewise.
66471         * modules/uninorm/composition-tests: Likewise.
66472         * modules/uninorm/decomposing-form-tests: Likewise.
66473         * modules/uninorm/decomposition-tests: Likewise.
66474         * modules/uninorm/filter-tests: Likewise.
66475         * modules/uninorm/nfc-tests: Likewise.
66476         * modules/uninorm/nfd-tests: Likewise.
66477         * modules/uninorm/nfkc-tests: Likewise.
66478         * modules/uninorm/nfkd-tests: Likewise.
66479         * modules/uninorm/u8-normcmp-tests: Likewise.
66480         * modules/uninorm/u8-normcoll-tests: Likewise.
66481         * modules/uninorm/u16-normcmp-tests: Likewise.
66482         * modules/uninorm/u16-normcoll-tests: Likewise.
66483         * modules/uninorm/u32-normcmp-tests: Likewise.
66484         * modules/uninorm/u32-normcoll-tests: Likewise.
66485         * modules/unistdio/u8-asnprintf-tests: Likewise.
66486         * modules/unistdio/u8-vasnprintf-tests: Likewise.
66487         * modules/unistdio/u8-vasprintf-tests: Likewise.
66488         * modules/unistdio/u8-vsnprintf-tests: Likewise.
66489         * modules/unistdio/u8-vsprintf-tests: Likewise.
66490         * modules/unistdio/u16-asnprintf-tests: Likewise.
66491         * modules/unistdio/u16-vasnprintf-tests: Likewise.
66492         * modules/unistdio/u16-vasprintf-tests: Likewise.
66493         * modules/unistdio/u16-vsnprintf-tests: Likewise.
66494         * modules/unistdio/u16-vsprintf-tests: Likewise.
66495         * modules/unistdio/u32-asnprintf-tests: Likewise.
66496         * modules/unistdio/u32-vasnprintf-tests: Likewise.
66497         * modules/unistdio/u32-vasprintf-tests: Likewise.
66498         * modules/unistdio/u32-vsnprintf-tests: Likewise.
66499         * modules/unistdio/u32-vsprintf-tests: Likewise.
66500         * modules/unistdio/ulc-asnprintf-tests: Likewise.
66501         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
66502         * modules/unistdio/ulc-vasprintf-tests: Likewise.
66503         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
66504         * modules/unistdio/ulc-vsprintf-tests: Likewise.
66505         * modules/unistr/u8-check-tests: Likewise.
66506         * modules/unistr/u8-chr-tests: Likewise.
66507         * modules/unistr/u8-cmp-tests: Likewise.
66508         * modules/unistr/u8-cmp2-tests: Likewise.
66509         * modules/unistr/u8-cpy-alloc-tests: Likewise.
66510         * modules/unistr/u8-cpy-tests: Likewise.
66511         * modules/unistr/u8-mblen-tests: Likewise.
66512         * modules/unistr/u8-mbsnlen-tests: Likewise.
66513         * modules/unistr/u8-mbtouc-tests: Likewise.
66514         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
66515         * modules/unistr/u8-mbtoucr-tests: Likewise.
66516         * modules/unistr/u8-move-tests: Likewise.
66517         * modules/unistr/u8-next-tests: Likewise.
66518         * modules/unistr/u8-prev-tests: Likewise.
66519         * modules/unistr/u8-set-tests: Likewise.
66520         * modules/unistr/u8-stpcpy-tests: Likewise.
66521         * modules/unistr/u8-stpncpy-tests: Likewise.
66522         * modules/unistr/u8-strcat-tests: Likewise.
66523         * modules/unistr/u8-strcmp-tests: Likewise.
66524         * modules/unistr/u8-strcoll-tests: Likewise.
66525         * modules/unistr/u8-strcpy-tests: Likewise.
66526         * modules/unistr/u8-strdup-tests: Likewise.
66527         * modules/unistr/u8-strlen-tests: Likewise.
66528         * modules/unistr/u8-strmblen-tests: Likewise.
66529         * modules/unistr/u8-strmbtouc-tests: Likewise.
66530         * modules/unistr/u8-strncat-tests: Likewise.
66531         * modules/unistr/u8-strncmp-tests: Likewise.
66532         * modules/unistr/u8-strncpy-tests: Likewise.
66533         * modules/unistr/u8-strnlen-tests: Likewise.
66534         * modules/unistr/u8-to-u16-tests: Likewise.
66535         * modules/unistr/u8-to-u32-tests: Likewise.
66536         * modules/unistr/u8-uctomb-tests: Likewise.
66537         * modules/unistr/u16-check-tests: Likewise.
66538         * modules/unistr/u16-chr-tests: Likewise.
66539         * modules/unistr/u16-cmp-tests: Likewise.
66540         * modules/unistr/u16-cmp2-tests: Likewise.
66541         * modules/unistr/u16-cpy-alloc-tests: Likewise.
66542         * modules/unistr/u16-cpy-tests: Likewise.
66543         * modules/unistr/u16-mblen-tests: Likewise.
66544         * modules/unistr/u16-mbsnlen-tests: Likewise.
66545         * modules/unistr/u16-mbtouc-tests: Likewise.
66546         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
66547         * modules/unistr/u16-mbtoucr-tests: Likewise.
66548         * modules/unistr/u16-move-tests: Likewise.
66549         * modules/unistr/u16-next-tests: Likewise.
66550         * modules/unistr/u16-prev-tests: Likewise.
66551         * modules/unistr/u16-set-tests: Likewise.
66552         * modules/unistr/u16-stpcpy-tests: Likewise.
66553         * modules/unistr/u16-stpncpy-tests: Likewise.
66554         * modules/unistr/u16-strcat-tests: Likewise.
66555         * modules/unistr/u16-strcmp-tests: Likewise.
66556         * modules/unistr/u16-strcoll-tests: Likewise.
66557         * modules/unistr/u16-strcpy-tests: Likewise.
66558         * modules/unistr/u16-strdup-tests: Likewise.
66559         * modules/unistr/u16-strlen-tests: Likewise.
66560         * modules/unistr/u16-strmblen-tests: Likewise.
66561         * modules/unistr/u16-strmbtouc-tests: Likewise.
66562         * modules/unistr/u16-strncat-tests: Likewise.
66563         * modules/unistr/u16-strncmp-tests: Likewise.
66564         * modules/unistr/u16-strncpy-tests: Likewise.
66565         * modules/unistr/u16-strnlen-tests: Likewise.
66566         * modules/unistr/u16-to-u32-tests: Likewise.
66567         * modules/unistr/u16-to-u8-tests: Likewise.
66568         * modules/unistr/u16-uctomb-tests: Likewise.
66569         * modules/unistr/u32-check-tests: Likewise.
66570         * modules/unistr/u32-chr-tests: Likewise.
66571         * modules/unistr/u32-cmp-tests: Likewise.
66572         * modules/unistr/u32-cmp2-tests: Likewise.
66573         * modules/unistr/u32-cpy-alloc-tests: Likewise.
66574         * modules/unistr/u32-cpy-tests: Likewise.
66575         * modules/unistr/u32-mblen-tests: Likewise.
66576         * modules/unistr/u32-mbsnlen-tests: Likewise.
66577         * modules/unistr/u32-mbtouc-tests: Likewise.
66578         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
66579         * modules/unistr/u32-mbtoucr-tests: Likewise.
66580         * modules/unistr/u32-move-tests: Likewise.
66581         * modules/unistr/u32-next-tests: Likewise.
66582         * modules/unistr/u32-prev-tests: Likewise.
66583         * modules/unistr/u32-set-tests: Likewise.
66584         * modules/unistr/u32-stpcpy-tests: Likewise.
66585         * modules/unistr/u32-stpncpy-tests: Likewise.
66586         * modules/unistr/u32-strcat-tests: Likewise.
66587         * modules/unistr/u32-strcmp-tests: Likewise.
66588         * modules/unistr/u32-strcoll-tests: Likewise.
66589         * modules/unistr/u32-strcpy-tests: Likewise.
66590         * modules/unistr/u32-strdup-tests: Likewise.
66591         * modules/unistr/u32-strlen-tests: Likewise.
66592         * modules/unistr/u32-strmblen-tests: Likewise.
66593         * modules/unistr/u32-strmbtouc-tests: Likewise.
66594         * modules/unistr/u32-strncat-tests: Likewise.
66595         * modules/unistr/u32-strncmp-tests: Likewise.
66596         * modules/unistr/u32-strncpy-tests: Likewise.
66597         * modules/unistr/u32-strnlen-tests: Likewise.
66598         * modules/unistr/u32-to-u16-tests: Likewise.
66599         * modules/unistr/u32-to-u8-tests: Likewise.
66600         * modules/unistr/u32-uctomb-tests: Likewise.
66601         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
66602         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
66603         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
66604         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
66605         * modules/uniwidth/u8-strwidth-tests: Likewise.
66606         * modules/uniwidth/u8-width-tests: Likewise.
66607         * modules/uniwidth/u16-strwidth-tests: Likewise.
66608         * modules/uniwidth/u16-width-tests: Likewise.
66609         * modules/uniwidth/u32-strwidth-tests: Likewise.
66610         * modules/uniwidth/u32-width-tests: Likewise.
66611         * modules/uniwidth/width-tests: Likewise.
66613 2010-05-18  Richard Jones  <rjones@redhat.com>
66615         doc: users.txt: list hivex
66616         * users.txt: Add hivex.
66618 2010-05-18  Richard Jones  <rjones@redhat.com>
66620         doc: users.txt: list febootstrap
66621         * users.txt: Add febootstrap.
66623 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
66625         bootstrap: fix an error when gnulib is not used as a git submodule
66626         * build-aux/bootstrap (gnulib_path): If its length is zero then
66627         assign "gnulib" to it.
66628         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
66630 2010-05-16  Bruno Haible  <bruno@clisp.org>
66632         Avoid autoconf warnings about AM_ICONV.
66633         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
66634         2.64.
66636 2010-05-16  Bruno Haible  <bruno@clisp.org>
66638         absolute-header: Make the macro usable in more situations.
66639         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
66640         from gl_ABSOLUTE_HEADER.
66641         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
66643 2010-05-16  James Youngman  <jay@gnu.org>
66645         doc: update users.txt
66646         * users.txt: Add CSSC.
66648 2010-05-16  Jim Meyering  <meyering@redhat.com>
66650         init.sh: fix an error in the previous change; add more comments
66651         * tests/init.sh: Compare exit code in loop against 9, not 2.
66652         Patch by Bruno Haible.
66653         Make the two tests more similar by adding an empty "then" clause.
66654         Add comments.
66656         init.sh: avoid unnecessary shell re-exec
66657         * tests/init.sh: Improve the re-exec-required check to first test the
66658         current shell.  If it passes the test, do not search for a shell that
66659         does pass, and do not re-exec.  This test is particularly contorted to
66660         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
66661         of $(...) evokes a syntax error and causes immediate shell exit with
66662         status 2.  Bruno Haible reported that the re-exec made it impossible
66663         to single-step through any init.sh-using script.
66665 2010-05-16  Bruno Haible  <bruno@clisp.org>
66667         Fix collision between gnulib's and libintl's printf replacements.
66668         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
66669         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
66670         (printf): When using GNU C, map the __printf__ function to rpl_printf
66671         via __asm__. When not using GNU C, define rpl_printf instead of
66672         __printf__.
66673         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
66674         commit.
66675         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
66676         commit.
66677         * m4/asm-underscore.m4: New file.
66678         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
66679         * modules/stdio (Files): Add m4/asm-underscore.m4.
66680         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
66681         Reported by Ben Pfaff.
66683 2010-05-16  Bruno Haible  <bruno@clisp.org>
66685         verify: Avoid skipping the test on openSUSE 11.0.
66686         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
66688 2010-05-13  Bruno Haible  <bruno@clisp.org>
66690         Avoid useless warnings from G++.
66691         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
66692         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
66693         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
66695 2010-05-11  Jim Meyering  <meyering@redhat.com>
66697         maint.mk: tweak preceding change
66698         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
66699         regexps tighter by anchoring at EOL, and make the new group "shy"
66700         for slightly decreased overhead.
66702 2010-05-11  Eric Blake  <eblake@redhat.com>
66704         maint.mk: gnulib doesn't guarantee NSIG
66705         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
66707 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
66709         test-pwrite.c: Remove unused variable declaration.
66710         * tests/test-pwrite.c (main): Remove read_buf declaration.
66712         Remove useless test-pwrite.sh file.
66713         * tests/test-pwrite.sh: Delete file.
66714         * modules/pwrite-tests: Remove references.
66715         Reported by Bruno Haible.
66717 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
66719         init.sh: fix a typo
66720         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
66722 2010-05-10  Jim Meyering  <meyering@redhat.com>
66724         maint.mk: avoid using a temporary file in the always-defined-macros check
66725         * top/maint.mk (.re-defmac): Remove rule.
66726         (gl_trap_): Remove definition.
66727         (sc_prohibit_always-defined_macros): Rewrite not to create and
66728         depend on a temporary file.  Instead, depend on GNU grep's ability
66729         to read a list of regular expressions from stdin when given "-f -".
66731 2010-05-09  Bruno Haible  <bruno@clisp.org>
66733         Update to GNU gettext 0.18, part 1.
66734         * m4/gettext.m4: Update to GNU gettext 0.18.
66735         * m4/intl.m4: Likewise.
66736         * m4/po.m4: Likewise.
66737         * modules/gettext (Files): Add m4/fcntl-o.m4.
66738         (configure.ac): Require gettext infrastructure from version 0.18.
66740 2010-05-09  Jim Meyering  <meyering@redhat.com>
66742         init.sh: enable MALLOC_PERTURB_
66743         * tests/init.sh: Enable glibc's malloc-perturbing option.
66745         maint.mk: improve sc_cross_check_PATH_usage_in_tests
66746         With my recent change in init.sh from the two-line form:
66747             -#   : ${srcdir=.}
66748             -#   . "$srcdir/init.sh"; path_prepend_ .
66749             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
66750         I noticed that using the one-line form would cause this test
66751         to fail with a false-positive, or to stop working altogether,
66752         depending on whether help-version changed or all the tests did.
66753         * top/maint.mk (_hv_regex): Remove this definition.
66754         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
66755         (_hv_regex_strong): Use a stronger regex to check for conformance.
66756         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
66757         Give a separate diagnostic for lack of conforming use.
66759         maint.mk: prohibit definition of symbols defined by gnulib
66760         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
66761         definition of symbols defined by gnulib.
66763 2010-05-09  Bruno Haible  <bruno@clisp.org>
66765         acl: Avoid test failure on Cygwin-hosted mingw.
66766         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
66768 2010-05-09  Bruno Haible  <bruno@clisp.org>
66770         error: Use system's fcntl function.
66771         * lib/error.c (fcntl): Undefine.
66773 2010-05-09  Jim Meyering  <meyering@redhat.com>
66775         verify: adjust formatting to be more consistent
66776         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
66777         argument-list '('s, and after one comma.
66779 2010-05-09  Bruno Haible  <bruno@clisp.org>
66781         error: More reliable output on mingw.
66782         * lib/error.c: Include <windows.h>.
66783         (is_open): New function.
66784         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
66785         defined.
66787 2010-05-09  Bruno Haible  <bruno@clisp.org>
66789         vasnprintf: Fix syntax errors in libintl build on mingw.
66790         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
66791         pad_ourselves and prec_ourselves after use.
66793 2010-05-08  Bruno Haible  <bruno@clisp.org>
66795         * lib/config.charset: Update comments for Cygwin 1.7.
66796         * lib/localcharset.c: Likewise.
66798 2010-05-07  Jim Meyering  <meyering@redhat.com>
66800         init.sh: improve comments
66801         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
66802         . "${srcdir=.}/init.sh"; path_prepend_ .
66803         Add a note about path_prepend_ and the alternative of using
66804         TESTS_ENVIRONMENT.
66806 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
66808         exclude: Unescape hashed patterns in wildcard mode.
66809         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
66810         to the hash list.
66811         * tests/test-exclude8.sh: New test case.
66812         * modules/exclude-tests: Add new test.
66814 2010-05-05  Eric Blake  <eblake@redhat.com>
66816         verify: automate tests
66817         * modules/verify-tests: New module.
66818         * tests/test-verify.sh: New file.
66819         * tests/test-verify.c: Guard each negative test with a unique id.
66820         Also avoid warning about unused left hand of comma expressions.
66822 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
66824         Further improvements to verify.h, suggested by Eric Blake.
66825         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
66826         the GL_* versions, to avoid collision with OpenGL.
66827         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
66828         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
66829         than testing merely whether it's defined.
66831         Modify verify.h to pacify gcc -Wredundant_decls.
66832         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
66833         These use the prefix "GL_" since they're likely to be useful elsewhere.
66834         We may need to break them out into a different .h file.
66835         (__COUNTER__): Define to 0 if the compiler doesn't support it.
66836         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
66837         of verify_function__.
66839 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
66841         Tests for module pwrite.
66842         * modules/pwrite-tests: New file.
66843         * tests/test-pwrite.sh: New file.
66844         * tests/test-pwrite.c: New file.
66846         New module pwrite.
66847         * lib/unistd.in.h (pwrite): New declaration.
66848         * lib/pwrite.c: New file, from glibc with modifications.
66849         * m4/pwrite.m4: New file.
66850         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
66851         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
66852         REPLACE_PWRITE.
66853         * modules/pwrite: New file.
66854         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
66855         REPLACE_PWRITE.
66856         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
66857         * doc/posix-functions/pwrite.texi: Mention the new module.
66859 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
66861         pread: Update documentation.
66862         * doc/posix-functions/pread.texi: Mention the 'pread' module.
66864 2010-05-04  Eric Blake  <eblake@redhat.com>
66866         docs: update cygwin progress
66867         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
66868         this bug.
66869         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
66870         Added in cygwin 1.7.2.
66871         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
66872         Likewise.
66873         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
66874         Likewise.
66875         * doc/glibc-functions/dup3.texi (dup3): Likewise.
66876         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
66877         * doc/glibc-functions/accept4.texi (accept4): Likewise.
66878         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
66879         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
66880         Mention nproc module.
66881         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
66882         bug in cygwin 1.7.5 addition.
66883         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
66884         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
66885         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
66886         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
66887         1.7.5.
66888         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
66889         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
66890         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
66891         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
66892         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
66893         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
66894         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
66895         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
66896         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
66897         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
66898         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
66899         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
66900         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
66901         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
66902         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
66903         Likewise.
66904         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
66905         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
66906         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
66907         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
66908         Likewise.
66909         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
66910         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
66911         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
66912         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
66913         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
66914         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
66915         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
66916         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
66917         Likewise.
66918         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
66919         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
66920         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
66921         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
66922         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
66923         Likewise.
66924         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
66925         Likewise.
66926         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
66927         Likewise.
66928         * doc/glibc-functions/xdrrec_endofrecord.texi
66929         (xdrrec_endofrecord): Likewise.
66930         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
66931         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
66932         Likewise.
66933         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
66934         Likewise.
66936 2010-05-04  Jim Meyering  <meyering@redhat.com>
66938         gendocs.sh: make its "-s FILE" option more useful
66939         * build-aux/gendocs.sh: When honoring the -s FILE option, update
66940         $PACKAGE to reflect the probably-different basename of "FILE".
66942 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
66944         bootstrap: don't ignore download_po_files failure
66945         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
66946         failure.
66948 2010-05-03  Jim Meyering  <meyering@redhat.com>
66950         maint.mk: allow to pass options to gendocs.sh
66951         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
66952         (gendocs_options_): New overridable variable.
66954         gnu-web-doc-update: don't ignore configure or build failure
66955         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
66957         announce-gen: backslash-escape '@'s in --help output
66958         * build-aux/announce-gen: Fix syntax errors.
66960         maint.mk, announce-gen: allow project-specific announcement mail headers
66961         * top/maint.mk (translation_project_): Define default.
66962         (announcement_Cc_, announcement_mail_headers_): Likewise.
66963         (announcement): Invoke announce-gen with new --mail-headers option.
66964         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
66966         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
66967         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
66968         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
66969         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
66970         line in the "err2" output file when running "make check" in verbose
66971         mode (i.e., with set -x enabled).
66973 2010-05-03  Bruno Haible  <bruno@clisp.org>
66975         wctob: Fix for weird platforms.
66976         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
66977         argument value.
66979 2010-05-03  Jim Meyering  <meyering@redhat.com>
66981         maint.mk: prohibit unwarranted use of <strings.h>
66982         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
66983         strings.h in a file that does not also use strcasecmp, strncasecmp,
66984         ffs or ffsll.
66986         maint.mk: remove obsolete comments
66987         * top/maint.mk: Remove stale, commented-out rules.
66989 2010-05-02  Bruno Haible  <bruno@clisp.org>
66991         wcwidth: Declare also when it's aliased.
66992         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
66993         macro.
66995 2010-05-02  Bruno Haible  <bruno@clisp.org>
66997         Fix regression from 2010-04-25.
66998         * gnulib-tool (func_modules_transitive_closure): Check the status of
66999         all modules, not only of the tests that are of the form foo-tests where
67000         foo is a module.
67002 2010-05-02  Bruno Haible  <bruno@clisp.org>
67004         wctob: Work around nasty Cygwin 1.7.2 bug.
67005         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
67006         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
67008 2010-05-01  Bruno Haible  <bruno@clisp.org>
67010         fpurge: Sharper test.
67011         * tests/test-fpurge.c (main): Add one more ftell check.
67012         * modules/fpurge-tests (Depends-on): Add ftell.
67013         Suggested by Eric Blake.
67015 2010-05-01  Bruno Haible  <bruno@clisp.org>
67017         ftello: Another test.
67018         * tests/test-ftello3.c: New file.
67019         * modules/ftello-tests (Files): Add it.
67020         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
67021         MOSTLYCLEANFILES.
67023         ftell: Another test.
67024         * tests/test-ftell3.c: New file.
67025         * modules/ftell-tests (Files): Add it.
67026         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
67027         MOSTLYCLEANFILES.
67029 2010-05-01  Bruno Haible  <bruno@clisp.org>
67031         ftell, ftello: Work around Solaris bug.
67032         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
67033         * lib/ftello.c: Include stdio-impl.h.
67034         (ftello): On Solaris, when _IOWRT is set, compute the result without
67035         looking at _IOREAD.
67036         * modules/ftello (Files): Add lib/stdio-impl.h.
67037         * doc/posix-functions/ftell.texi: Mention Solaris bug.
67038         * doc/posix-functions/ftello.texi: Likewise.
67039         Reported by Eric Blake.
67041 2010-05-01  Bruno Haible  <bruno@clisp.org>
67043         freading: Adapt to special meaning of _IOREAD flag on Solaris.
67044         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
67045         the _IOWRT flag is also set.
67047 2010-05-01  Bruno Haible  <bruno@clisp.org>
67049         Fix doc about a HP-UX stdio bug.
67050         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
67051         * doc/posix-functions/ftello.texi: Likewise.
67053 2010-05-01  Bruno Haible  <bruno@clisp.org>
67055         lseek test: Fix failure on Solaris.
67056         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
67057         output.
67059 2010-04-30  Jim Meyering  <meyering@redhat.com>
67061         bootstrap: don't ignore failure to generate po*/Makevars
67062         * build-aux/bootstrap (with_gettext): Don't ignore failure
67063         to create po/Makevars or runtime-po/Makevars.
67065 2010-04-29  Eric Blake  <eblake@redhat.com>
67067         headers: relax license to LGPLv2+
67068         * modules/fcntl-h (License): Relax license.
67069         * modules/getopt-posix (License): Likewise.
67070         * modules/locale (License): Likewise.
67071         * modules/math (License): Likewise.
67072         * modules/pty (License): Likewise.
67073         * modules/sched (License): Likewise.
67074         * modules/search (License): Likewise.
67075         * modules/spawn (License): Likewise.
67076         * modules/stdarg (License): Likewise.
67077         * modules/sysexits (License): Likewise.
67079 2010-04-29  Jim Meyering  <meyering@redhat.com>
67081         inttypes: relax license to LGPLv2+
67082         * modules/inttypes (License): Relax license.
67084 2010-04-29  Simon Josefsson  <simon@josefsson.org>
67086         * top/maint.mk (indent): Run twice to produce idempotent results.
67088 2010-04-28  Bruno Haible  <bruno@clisp.org>
67090         getdate: Generate getdate.c in the source directory.
67091         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
67092         MOSTLYCLEANFILES.
67093         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
67095 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
67097         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
67098         is not declared as a const *; avoid warnings in that case.
67100 2010-04-28  Eric Blake  <eblake@redhat.com>
67102         canonicalize-lgpl: avoid compiler warning
67103         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
67104         declaration' / 'extraneous semicolon' warning with some compilers.
67105         Reported by Andreas Gruenbacher.
67107 2010-04-28  Jim Meyering  <meyering@redhat.com>
67109         init.sh: ensure a more reliable exit status when exiting via trap
67110         * tests/init.sh (setup_): Don't rely on $? in signal handler.
67111         Inspired by patches from Dmitry V. Levin.
67112         Also trap on signal 3 (SIGQUIT).
67114 2010-04-27  Bruno Haible  <bruno@clisp.org>
67116         Update doc about utimes().
67117         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
67118         'utimens' module.
67119         Reported by Andreas Gruenbacher <agruen@suse.de>.
67121 2010-04-27  Eric Blake  <eblake@redhat.com>
67123         full-read, full-write: relax license
67124         * modules/full-read (License): Drop to LGPLv2+.
67125         * modules/full-write (License): Likewise.
67126         * modules/safe-read (License): Likewise.
67127         * modules/safe-write (License): Likewise.
67129         pthread: mention library for linking
67130         * modules/pthread (Link): Mention $(LIB_PTHREAD).
67132 2010-04-27  Jim Meyering  <meyering@redhat.com>
67134         maint.mk: fix a bug introduced in last change
67135         * top/maint.mk (gl_assured_headers_): Now that all names are on
67136         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
67137         is not anchored to end of word, it should be adequate.
67139         maint.mk: avoid side-effect in latest syntax-check
67140         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
67141         to run commands via $(shell...), and hence to incur cost only when
67142         the new rule is actually run.
67144         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
67145         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
67146         and use that to create a regexp used to detect all #if HAVE_..._H uses.
67147         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
67148         (gl_assured_headers_, az_, AZ_): Define.
67149         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
67151 2010-04-26  Jim Meyering  <jim@meyering.net>
67152             Bruno Haible  <bruno@clisp.org>
67154         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
67155         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
67156         Prompted by an exchange with Gilles Espinasse.
67158 2010-04-26  Jim Meyering  <meyering@redhat.com>
67160         git-version-gen: aesthetic tweak
67161         * build-aux/git-version-gen: Use "$nl" rather than a literal,
67162         so that the command remains on a single line.
67164 2010-04-26  Eric Blake  <eblake@redhat.com>
67166         git-version-gen: allow use on EBCDIC hosts
67167         * build-aux/git-version-gen (dirty): Use literal rather than tying
67168         ourselves to ascii.
67169         Reported by Steve Goetze.
67171 2010-04-25  Bruno Haible  <bruno@clisp.org>
67173         netdb: Add support for GNULIB_POSIXCHECK.
67174         * lib/netdb.in.h: Include warn-on-use.h.
67175         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
67176         functions are used when GNULIB_POSIXCHECK is defined and the
67177         getaddrinfo module is not in use.
67178         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
67179         freeaddrinfo, gai_strerror, getnameinfo are declared.
67180         * modules/netdb (Depends-on): Add warn-on-use.
67181         (Makefile.am): Include warn-on-use.h in netdb.h.
67183 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
67185         build: avoid "make check" failure without .git/ directory
67186         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
67187         there is no .git/ directory.
67189 2010-04-25  Bruno Haible  <bruno@clisp.org>
67191         ptsname: Fix misuse of ttyname_r.
67192         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
67193         of errno.
67195 2010-04-25  Bruno Haible  <bruno@clisp.org>
67197         ttyname_r: Make it work on Solaris 10.
67198         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
67199         if the system function has the POSIX declaration. Test whether the
67200         function fails if the buffer is less than 128 bytes large.
67201         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
67202         system's ttyname_r function. Provide a reasonably large buffer.
67203         * modules/ttyname_r (Depends-on): Add extensions.
67204         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
67206 2010-04-25  Bruno Haible  <bruno@clisp.org>
67208         Use the 'extensions' module for some more functions on Solaris.
67209         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
67210         module.
67211         * doc/posix-functions/ctime_r.texi: Likewise.
67212         * doc/posix-functions/getgrgid_r.texi: Likewise.
67213         * doc/posix-functions/getgrnam_r.texi: Likewise.
67214         * doc/posix-functions/getpwnam_r.texi: Likewise.
67215         * doc/posix-functions/getpwuid_r.texi: Likewise.
67216         * doc/posix-functions/readdir_r.texi: Likewise.
67217         * doc/posix-functions/sigwait.texi: Likewise.
67218         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
67219         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
67221 2010-04-25  Bruno Haible  <bruno@clisp.org>
67223         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
67224         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
67225         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
67226         * lib/ttyname_r.c: Include <limits.h>.
67227         (ttyname_r): Define using the system's ttyname_r function, if it exists
67228         and not on Solaris.
67229         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
67230         set.
67231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
67232         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
67233         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
67234         Reported by Simon Josefsson.
67236 2010-04-25  Bruno Haible  <bruno@clisp.org>
67238         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
67239         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
67240         * doc/posix-functions/ctime_r.texi: Likewise.
67241         * doc/posix-functions/getgrgid_r.texi: Likewise.
67242         * doc/posix-functions/getgrnam_r.texi: Likewise.
67243         * doc/posix-functions/getlogin_r.texi: Likewise.
67244         * doc/posix-functions/getpwnam_r.texi: Likewise.
67245         * doc/posix-functions/getpwuid_r.texi: Likewise.
67246         * doc/posix-functions/readdir_r.texi: Likewise.
67247         * doc/posix-functions/sigwait.texi: Likewise.
67248         * doc/posix-functions/ttyname_r.texi: Likewise.
67249         Reported by Simon Josefsson.
67251 2010-04-25  Bruno Haible  <bruno@clisp.org>
67253         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
67254         * gnulib-tool (func_usage): Document that --with-*-tests options apply
67255         also to --create-testdir.
67256         (func_acceptable): Don't consider the status of *-tests modules here.
67257         (func_modules_transitive_closure): Consider it here, before including a
67258         test module.
67259         (func_import, func_create_testdir): Set inc_all_direct_tests,
67260         inc_all_indirect_tests.
67261         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
67262         --create-testdir and --create-megatestdir.
67264 2010-04-25  Bruno Haible  <bruno@clisp.org>
67266         gnulib-tool: Add --without-*-tests options.
67267         * gnulib-tool (func_usage): Document the --without-*-tests options.
67268         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
67269         excl_unportable_tests): New variables.
67270         Fail if they are specified with --import or --update.
67271         (func_acceptable): Respect the excl_*_tests variables.
67272         (func_import): Set the excl_*_tests variables to empty.
67274 2010-04-25  Simon Josefsson  <simon@josefsson.org>
67275             Bruno Haible  <bruno@clisp.org>
67277         Work around a MacOS X 10.4 bug with openpty.
67278         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
67279         * tests/test-openpty.c (main): Close the master side explicitly.
67281 2010-04-25  Bruno Haible  <bruno@clisp.org>
67283         strnlen: Fix a C++ test error on MacOS X and Solaris.
67284         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
67285         the function is not declared.
67286         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
67287         Simon Josefsson.
67289 2010-04-24  Bruno Haible  <bruno@clisp.org>
67291         Avoid a gcc warning.
67292         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
67293         of correct type for %08lx directive.
67294         Reported by Eric Blake.
67296 2010-04-24  Bruno Haible  <bruno@clisp.org>
67298         vasnprintf: Correct errno value in case of out-of-memory.
67299         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
67300         or sprintf. Use the errno value from SNPRINTF or sprintf.
67301         Reported by Ian Beckwith <ianb@erislabs.net>.
67303 2010-04-24  Bruno Haible  <bruno@clisp.org>
67305         ansi-c++-opt: Find correct compiler when cross-compiling.
67306         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
67307         AC_CHECK_PROGS.
67308         Reported by Simon Josefsson.
67310 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
67312         vc-list-files: Add support for subversion
67313         * build-aux/vc-list-files: Use "svn list" to generate the list of
67314         files controlled by subversion.
67316 2010-04-23  Jim Meyering  <meyering@redhat.com>
67318         vc-list-files tests: convert to use init.sh
67319         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
67320         path_prepend_.
67321         Use Exit, not exit.
67322         Use skip_ rather than open coding it.
67323         Remove trap set-up and compare definitions.
67324         * tests/test-vc-list-files-git.sh: Likewise.
67325         * modules/vc-list-files-tests (Files): Add tests/init.sh.
67327 2010-04-22  Simon Josefsson  <simon@josefsson.org>
67329         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
67330         backup files.
67332 2010-04-21  Simon Josefsson  <simon@josefsson.org>
67334         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
67336 2010-04-20  Eric Blake  <eblake@redhat.com>
67338         tests: be robust to ignored SIGPIPE
67339         * tests/test-select-in.sh: Consume all output.
67340         * tests/test-lseek.sh: Check correct exit status, while avoiding
67341         EPIPE.
67343 2010-04-20  Simon Josefsson  <simon@josefsson.org>
67344             Bruno Haible  <bruno@clisp.org>
67346         visibility: Don't use -fvisibility if it leads to a warning.
67347         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
67348         yes, don't pretend that visibility works if it leads to a warning.
67349         Reported by Mike Gran <spk121@yahoo.com>.
67351 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
67353         * build-aux/bootstrap: Use "git -h" for testing for supported options
67354         instead of "git --help".  The short-form option only shows a summary,
67355         and doesn't layout the full man page.  Grep for the full option name
67356         in the summary, too.
67358 2010-04-19  Bruno Haible  <bruno@clisp.org>
67360         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
67361         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
67362         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
67363         mention of RELOCATABLE_STRIP.
67364         Reported by Sylvain Beucler <beuc@beuc.net>.
67366 2010-04-19  Bruno Haible  <bruno@clisp.org>
67368         * lib/diffseq.h: Fix typo in comment.
67369         Reported by Eric Blake.
67371 2010-04-19  Bruno Haible  <bruno@clisp.org>
67373         ioctl: Move autoconf macro to a .m4 file.
67374         * m4/ioctl.m4: New file, extracted from modules/ioctl.
67375         * modules/ioctl (Files): Add it.
67376         (configure.ac): Simply invoke gl_FUNC_IOCTL.
67377         Reported by Ian Beckwith <ianb@erislabs.net>.
67379 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
67380             Bruno Haible  <bruno@clisp.org>
67382         diffseq: Accommodate use-case with abstract arrays.
67383         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
67384         is not defined.
67385         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
67386         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
67388 2010-04-18  Bruno Haible  <bruno@clisp.org>
67390         * doc/posix-headers/stdbool.texi: More precise wording.
67392 2010-04-17  Jim Meyering  <meyering@redhat.com>
67394         maint.mk: use gnu-style indentation in an embedded perl script
67395         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
67396         Rename variable: s/two/last_two_bytes/
67398 2010-04-16  Eric Blake  <eblake@redhat.com>
67400         test-stdbool: skip test that fails with Solaris CC
67401         * tests/test-stdbool.c (f): Skip test that causes compilation
67402         error under buggy C++ compiler.
67403         * lib/stdbool.in.h: Document the limitation.
67404         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
67406         setenv: allow compilation with C++
67407         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
67408         register keyword.
67410         stdint: allow test to pass with C++
67411         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
67413         getopt: allow compilation with C++
67414         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
67415         struct.
67416         * lib/getopt.c (_getopt_internal_r): Use correct type.
67417         Reported by Dagobert Michelson, via Joel E. Denny.
67419 2010-04-16  Bruno Haible  <bruno@clisp.org>
67421         Override netdb.h always.
67422         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
67423         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
67424         Reported by Ludovic Courtès <ludo@gnu.org>.
67426 2010-04-15  Bruno Haible  <bruno@clisp.org>
67428         openpty: Fix mistake from 2010-03-21.
67429         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
67430         Reported by Simon Josefsson.
67432 2010-04-15  Eric Blake  <eblake@redhat.com>
67434         test-forkpty: fix expected signature
67435         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
67436         Reported by Simon Josefsson.
67438 2010-04-15  Jim Meyering  <meyering@redhat.com>
67440         maint.mk: texinfo_suffix_re_: correct the default regexp
67441         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
67443         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
67444         make it configurable via texinfo_suffix_re_.
67446 2010-04-14  Eric Blake  <eblake@redhat.com>
67448         strtok_r: relax license to LGPLv2+
67449         * modules/strtok_r (License): Relax license.
67450         Reported by Matthias Bolte.
67452 2010-04-14  Simon Josefsson  <simon@josefsson.org>
67454         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
67455         version 1.4.4 by default instead of requiring the libgcrypt
67456         version used during build.  This makes it possible to use the
67457         application with older but still binary compatible libgcrypt
67458         versions.
67460 2010-04-13  Eric Blake  <eblake@redhat.com>
67462         getopt-gnu: match recent glibc fixes and posix ruling
67463         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
67464         '+' handling, when requesting extensions.
67465         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
67466         'W;' handling.
67467         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
67468         * doc/posix-functions/getopt.texi (getopt): Document this.
67469         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
67470         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
67471         Likewise.
67473         getopt: merge bug fixes from glibc
67474         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
67475         diagnostics.  Honor '+:' correctly.  Reject ';'.
67477         getopt-posix: detect MacOS bug
67478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
67479         optind when missing a required argument.
67480         * doc/posix-functions/getopt.texi (getopt): Document the bug.
67481         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
67482         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
67483         Likewise.
67485         getopt-posix: avoid spurious failure on Solaris
67486         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
67487         an indicator that setting optind=1 is sufficient for reset.
67489         getopt-posix: avoid spurious failure on FreeBSD
67490         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
67491         in POSIX mode, since the m4 test uses it.
67493         gnulib-tool: silence warning on BSD sh
67494         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
67496 2010-04-13  Jim Meyering  <meyering@redhat.com>
67498         doc: users.txt: GNU patch now uses gnulib
67499         * users.txt: Add patch.
67501 2010-04-12  Jim Meyering  <meyering@redhat.com>
67503         maint.mk: generate more concise timing data for syntax-check rules
67504         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
67505         " done" from each line that reports a syntax-check test duration.
67507 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
67509         git-version-gen: use "git update-index..." rather than "git status"
67510         * build-aux/git-version-gen: Use git update-index --refresh, not
67511         "git status".  With some versions of git, "git status" would fail
67512         to update the index and result in an unwarranted "-dirty" suffix.
67514 2010-04-11  Jim Meyering  <meyering@redhat.com>
67516         openat: correct formatting (no semantic change)
67517         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
67518         Suggested by Bruno Haible.
67520 2010-04-11  Bruno Haible  <bruno@clisp.org>
67522         Stricter declaration checking in testdirs.
67523         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67524         If for_tests is true, augment AM_CPPFLAGS to define
67525         GNULIB_STRICT_CHECKING.
67526         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
67527         GNULIB_STRICT_CHECKING is defined, verify that the function is
67528         declared.
67530 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
67531             Bruno Haible  <bruno@clisp.org>
67533         libunistring: Improve configure output.
67534         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
67535         Don't say "consider installing GNU libunistring" when checking again
67536         with libiconv.
67538 2010-04-11  Bruno Haible  <bruno@clisp.org>
67540         libunistring: Correct value of $LTLIBUNISTRING.
67541         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
67542         correct the value of $LTLIBUNISTRING.
67544 2010-04-11  Bruno Haible  <bruno@clisp.org>
67546         havelib: Add static libraries to LIBS in the right order.
67547         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
67548         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
67550 2010-04-11  Bruno Haible  <bruno@clisp.org>
67552         libunistring: Detect libunistring also when it depends on libiconv.
67553         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
67554         the second AC_LIB_HAVE_LINKFLAGS invocation.
67556 2010-04-11  James Youngman  <jay@gnu.org>
67558         close-stream: declare local scalars to be "const"
67559         * lib/close-stream.c (close_stream): Make boolean variables const
67560         to document the fact that we set but do not change them.
67562 2010-04-11  Bruno Haible  <bruno@clisp.org>
67564         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
67566 2010-04-11  Jim Meyering  <meyering@redhat.com>
67568         maint.mk: don't include dist-check.mk
67569         * top/maint.mk: Remove bogus include directive.
67571         maint.mk: improve empty-line-at-EOF check
67572         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
67573         solution, rather than tail+Perl-based one.  The latter would read
67574         a few kilobytes from the end of each file, and did not handle empty
67575         files properly.
67577         maint.mk: print the elapsed time for each syntax-check rule
67578         * top/maint.mk (sc_m_rules_): Save start time in a file.
67579         (sc_z_rules_): New rules: remove temp file and print elapsed time.
67580         (local-check): Interpose the .z rules
67582 2010-04-11  Jim Meyering  <meyering@redhat.com>
67584         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
67585         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
67586         empty file with one that ends in an empty line.
67588 2010-04-10  Bruno Haible  <bruno@clisp.org>
67590         mkdir: Make it work on mingw64.
67591         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
67592         * lib/mkdir.c: Update comment.
67593         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
67595 2010-04-10  Bruno Haible  <bruno@clisp.org>
67597         Don't override improved macro from newer autoconf.
67598         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
67599         autoconf >= 2.62.
67600         Reported by Joel E. Denny <jdenny@clemson.edu>.
67602 2010-04-10  Jim Meyering  <meyering@redhat.com>
67604         maint.mk: new syntax-check rule: prohibit empty lines at end of file
67605         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
67607         maint.mk: correct a diagnostic
67608         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
67609         in diagnostic; now use $prohibit.
67611 2010-04-10  Bruno Haible  <address@hidden>
67613         fchownat: Fix a C++ test error on Solaris 8.
67614         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
67615         the function does not exist.
67617 2010-04-10  Bruno Haible  <bruno@clisp.org>
67619         vasnprintf: Add more tests.
67620         * tests/test-vasnprintf-posix.c: Include <errno.h>.
67621         (test_function): Test converting an invalid wide string.
67623         vasnprintf: Correct handling of unconvertible wide string arguments.
67624         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
67625         VASNPRINTF.
67626         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
67627         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
67628         smaller than the expected maximum need for the directive. Set errno to
67629         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
67630         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
67631         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
67632         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
67633         * modules/vasnprintf (Files): Add m4/printf.m4.
67634         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
67636 2010-04-10  Bruno Haible  <bruno@clisp.org>
67638         vasnprintf: Fix crash in %ls directive.
67639         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
67640         string is passed as argument to %ls, with no precision and no width.
67641         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
67643 2010-04-10  Bruno Haible  <bruno@clisp.org>
67645         vasnprintf: Fix multiple test failures on mingw.
67646         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
67647         _snprintf, or snwprintf, not _snwprintf.
67649 2010-04-10  Bruno Haible  <bruno@clisp.org>
67651         write: Fix a C++ test error on mingw.
67652         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
67654 2010-04-10  Bruno Haible  <bruno@clisp.org>
67656         vasnprintf test: Reduce code duplication.
67657         * tests/test-vasnprintf.c (test_function): New function, extracted from
67658         test_vasnprintf.
67659         (test_vasnprintf, test_asnprintf): Invoke it.
67661 2010-04-10  Bruno Haible  <bruno@clisp.org>
67663         strnlen: Fix warning in C++ mode on MacOS X.
67664         * lib/string.in.h (strnlen): Use the modern idiom.
67665         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
67666         defining strnlen as a macro already in <config.h>.
67667         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67668         REPLACE_STRNLEN.
67669         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
67670         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
67672 2010-04-08  James Youngman  <jay@gnu.org>
67674         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
67675         the example.
67677 2010-04-09  Jim Meyering  <meyering@redhat.com>
67679         maint.mk: print better diagnostic when there is no $(_hv_file)
67680         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
67681         announce that when $(_hv_file) (aka help-version) does not exist.
67683         init.sh: run tr in the "C" locale to avoid multibyte interpretation
67684         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
67685         not try to interpret its random input bytes.  Jarno Rajahalme reported
67686         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
67687         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
67688         (mktempd_): Likewise, just in case.
67690         ftruncate: add two years to projected module removal date: 2012
67691         * m4/ftruncate.m4: Adjust comments.
67693         ftruncate: mark module as obsolete; even MinGW provides it, now
67694         * modules/ftruncate (Status): Obsolete.
67695         (Notice): Say that.
67696         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
67697         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
67699 2010-04-08  Bruno Haible  <bruno@clisp.org>
67701         Fix side effects from tests-related modules.
67702         * modules/dprintf-posix (Comment): New section.
67703         * modules/fprintf-posix (Comment): Likewise.
67704         * modules/obstack-printf-posix (Comment): Likewise.
67705         * modules/printf-posix (Comment): Likewise.
67706         * modules/snprintf-posix (Comment): Likewise.
67707         * modules/sprintf-posix (Comment): Likewise.
67708         * modules/vasnprintf-posix (Comment): Likewise.
67709         * modules/vasprintf-posix (Comment): Likewise.
67710         * modules/vdprintf-posix (Comment): Likewise.
67711         * modules/vfprintf-posix (Comment): Likewise.
67712         * modules/vprintf-posix (Comment): Likewise.
67713         * modules/vsnprintf-posix (Comment): Likewise.
67714         * modules/vsprintf-posix (Comment): Likewise.
67715         * modules/xprintf-posix (Comment): Likewise.
67716         * modules/xvasprintf-posix (Comment): Likewise.
67717         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
67718         * modules/floorf-tests (Depends-on): Likewise.
67719         * modules/round-tests (Depends-on): Likewise.
67720         * modules/roundf-tests (Depends-on): Likewise.
67721         * modules/trunc-tests (Depends-on): Likewise.
67722         * modules/truncf-tests (Depends-on): Likewise.
67723         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
67724         'fprintf-posix' module is not present.
67725         * tests/test-floorf2.c (check): Likewise.
67726         * tests/test-trunc2.c (check): Likewise.
67727         * tests/test-truncf2.c (check): Likewise.
67728         * tests/test-round2.c (equal): Likewise.
67729         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
67731 2010-04-07  Karl Berry  <karl@gnu.org>
67733         * config/srclist.txt,
67734         * config/srclistvars.sh,
67735         * config/srclist-update: doc fixes.
67737 2010-04-07  Jim Meyering  <meyering@redhat.com>
67739         maint.mk: add a PATH crosschecking syntax-check rule
67740         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
67741         Useful if you use a test like the one in help-version (coreutils,
67742         diffutils, grep, gzip) that ensures $(VERSION) matches what is
67743         printed by prog --version.
67745 2010-04-06  Bruno Haible  <bruno@clisp.org>
67747         Fix link error on mingw.
67748         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
67749         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
67751 2010-04-06  Bruno Haible  <bruno@clisp.org>
67753         Assume rmdir exists.
67754         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
67756 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
67758         doc: update users.txt
67759         * users.txt: Add gcal.
67761 2010-04-06  Jim Meyering  <meyering@redhat.com>
67763         init.sh: simply unset TMPDIR rather than risking env -i
67764         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
67765         although it probably works fine on all Unix-based systems, some
67766         systems (Cygwin?) cannot tolerate a totally cleared environment.
67767         Suggestion from Eric Blake.
67769 2010-04-06  Jim Meyering  <meyering@redhat.com>
67771         init.sh: portability fix: use env's POSIX-specified -i option not -u
67772         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
67773         than unportable env -u.  Solaris 5.11's env lacks support for -u.
67775 2010-04-05  Bruno Haible  <bruno@clisp.org>
67777         btowc: Work around Cygwin 1.7.2 bug.
67778         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
67779         does not map NUL to 0.
67780         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
67782 2010-04-05  Bruno Haible  <bruno@clisp.org>
67784         Make the multithread modules work on Cygwin 1.7.2.
67785         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
67786         imported symbols can be declared weak, so that it returns "no" on
67787         Cygwin 1.7.2.
67789 2010-04-05  Bruno Haible  <bruno@clisp.org>
67791         Use the module 'strncat'.
67792         * modules/unistr/u8-strncat (Depends-on): Add strncat.
67794         Tests for module 'strncat'.
67795         * modules/strncat-tests: New file.
67796         * tests/test-strncat.c: New file.
67798         New module 'strncat'.
67799         * lib/string.in.h (strncat): New declaration.
67800         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
67801         * m4/strncat.m4: New file, based on m4/memchr.m4.
67802         * modules/strncat: New file.
67803         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
67804         is declared.
67805         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
67806         REPLACE_STRNCAT.
67807         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
67808         REPLACE_STRNCAT.
67809         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
67810         module.
67811         * tests/test-string-c++.cc: Check signature of strncat.
67813 2010-04-05  Jim Meyering  <meyering@redhat.com>
67815         xstrtoumax-tests: convert to use init.sh
67816         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
67817         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
67818         Use Exit, not exit.
67819         Remove uses of $EXEEXT and "./" to run a program in the current dir.
67821         xstrtoimax-tests: convert to use init.sh
67822         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
67823         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
67824         Use Exit, not exit.
67825         Remove uses of $EXEEXT and "./" to run a program in the current dir.
67827 2010-04-05  Bruno Haible  <bruno@clisp.org>
67829         sys_socket: Avoid #define replacements in C++ mode.
67830         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
67831         warning to the function if possible, rather than #defining the symbol
67832         to a dysfunctional alias.
67834 2010-04-05  Bruno Haible  <bruno@clisp.org>
67836         fseeko: Fix C++ test error on mingw.
67837         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
67838         gl_FUNC_FSEEKO.
67839         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
67840         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
67841         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
67842         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
67844 2010-04-05  Bruno Haible  <bruno@clisp.org>
67846         duplocale: Improve test output.
67847         * tests/test-duplocale.c (main): Print reason for skipped test.
67849 2010-04-05  Bruno Haible  <bruno@clisp.org>
67851         Assume rmdir exists.
67852         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
67853         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
67855 2010-04-05  Bruno Haible  <bruno@clisp.org>
67857         Fix link error on Solaris 8 with cc.
67858         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
67860 2010-04-05  Bruno Haible  <bruno@clisp.org>
67862         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
67863         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
67865 2010-04-05  Bruno Haible  <bruno@clisp.org>
67867         vasprintf: Update documentation.
67868         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
67870 2010-04-05  Bruno Haible  <bruno@clisp.org>
67872         ptsname: Improve test.
67873         * tests/test-ptsname.c (main): Also try the various master names of BSD
67874         systems.
67876 2010-04-05  Bruno Haible  <bruno@clisp.org>
67878         memchr: Avoid a possible C++ test error.
67879         * lib/string.in.h (memchr): Provide declaration if function is missing.
67880         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
67881         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
67882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
67883         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
67885 2010-04-05  Bruno Haible  <bruno@clisp.org>
67887         strtok_r: Improve idiom.
67888         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
67889         AC_LIBOBJ is used.
67891 2010-04-05  Bruno Haible  <bruno@clisp.org>
67893         strdup: Improve idiom.
67894         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
67895         AC_LIBOBJ is used.
67896         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
67897         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
67898         when AC_LIBOBJ is used.
67900 2010-04-05  Bruno Haible  <bruno@clisp.org>
67902         mbsinit, mbrtowc, wcrtomb: Improve idioms.
67903         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
67904         don't set REPLACE_MBSINIT to 1.
67905         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
67906         don't set REPLACE_MBRTOWC to 1.
67907         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
67908         exist, don't set REPLACE_MBSRTOWCS to 1.
67909         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
67910         exist, don't set REPLACE_MBSNRTOWCS to 1.
67911         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
67912         don't set REPLACE_WCRTOMB to 1.
67913         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
67914         exist, don't set REPLACE_WCSRTOMBS to 1.
67915         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
67916         exist, don't set REPLACE_WCSNRTOMBS to 1.
67918 2010-04-05  Bruno Haible  <bruno@clisp.org>
67920         ldexpl: Improve idiom.
67921         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
67922         make sure to set HAVE_DECL_LDEXPL to 0.
67924 2010-04-05  Jim Meyering  <meyering@redhat.com>
67926         xstrtol-tests: convert to use init.sh
67927         * modules/xstrtol-tests (Files): Add tests/init.sh.
67928         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
67929         Use Exit, not exit.
67930         Remove uses of $EXEEXT and "./" to run a program in the current dir.
67932         atexit-tests: convert to use init.sh
67933         * modules/atexit-tests (Files): Add tests/init.sh.
67934         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
67935         Use Exit, not exit.
67936         Remove uses of $EXEEXT and "./" to run a program in the current dir.
67938         init.sh: fix typo
67939         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
67941         init.sh: make it easier for a test script to write to the tty, ...
67942         when using automake's parallel-tests mode.
67943         * tests/init.sh (stderr_fileno_): Define overridable variable.
67944         (warn_): New function, to use it.
67945         (fail_, skip_, framework_failure_): Use warn_.
67947 2010-04-04  Bruno Haible  <bruno@clisp.org>
67949         btowc: Avoid warning.
67950         * lib/btowc.c: Include <stdlib.h>.
67951         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
67953 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
67954             Bruno Haible  <bruno@clisp.org>
67956         wchar: Port to NetBSD 1.5.
67957         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
67958         * lib/wctype.in.h (WEOF): Likewise.
67960 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
67961             Bruno Haible  <bruno@clisp.org>
67963         Port extended stdio to NetBSD 1.5.
67964         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
67965         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
67966         older.
67968 2010-04-04  Bruno Haible  <bruno@clisp.org>
67970         string: Remove unused substitution.
67971         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67972         HAVE_DECL_STRERROR.
67973         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
67975 2010-04-04  Bruno Haible  <bruno@clisp.org>
67977         strtod: Avoid a possible C++ test error.
67978         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
67979         set REPLACE_STRTOD.
67981 2010-04-04  Bruno Haible  <bruno@clisp.org>
67983         strerror: Update documentation.
67984         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
67986 2010-04-04  Bruno Haible  <bruno@clisp.org>
67988         stdio: Fix some C++ test errors on Solaris 8 with GCC.
67989         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
67990         _GL_CXXALIAS_SYS_CAST.
67992 2010-04-04  Bruno Haible  <bruno@clisp.org>
67994         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
67995         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
67996         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
67997         REPLACE_FREXPL to 1.
67998         * doc/posix-functions/frexpl.texi: Update documentation.
68000 2010-04-04  Bruno Haible  <bruno@clisp.org>
68002         math: Fix some C++ test errors on Solaris 8 and Cygwin.
68003         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
68005 2010-04-04  Bruno Haible  <bruno@clisp.org>
68007         Implement nanosleep for native Windows.
68008         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
68010 2010-04-04  Bruno Haible  <bruno@clisp.org>
68012         math: Fix some C++ test errors on Solaris 8.
68013         * lib/math.in.h (truncf, trunc): Use simpler idiom.
68015 2010-04-04  Bruno Haible  <bruno@clisp.org>
68017         math: Fix some C++ test errors on Cygwin.
68018         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
68019         truncl): Provide declaration if the system does not have it.
68020         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
68021         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
68022         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
68023         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
68024         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
68025         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
68026         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
68027         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
68028         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
68029         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
68030         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
68031         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
68032         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
68033         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
68034         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
68035         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
68036         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
68037         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
68038         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
68039         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
68040         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
68041         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
68043 2010-04-04  Bruno Haible  <bruno@clisp.org>
68045         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
68046         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
68047         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
68048         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
68049         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68050         * m4/isinf.m4 (gl_ISINF): Likewise.
68051         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
68053 2010-04-04  Bruno Haible  <bruno@clisp.org>
68055         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
68056         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
68058 2010-04-04  Bruno Haible  <bruno@clisp.org>
68060         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
68061         * modules/tmpfile (configure.ac): Update.
68063         tmpfile: Fix C++ test error on mingw.
68064         * lib/stdio.in.h (tmpfile): New declaration.
68065         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
68066         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
68067         * modules/tmpfile (Depends-on): Add stdio.
68068         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68069         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
68070         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
68071         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
68072         REPLACE_TMPFILE.
68073         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
68075 2010-04-04  Bruno Haible  <bruno@clisp.org>
68077         ioctl: Fix C++ test error on mingw.
68078         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
68079         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
68080         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
68082 2010-04-03  Bruno Haible  <bruno@clisp.org>
68084         wcwidth: Fix C++ test error on mingw.
68085         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
68086         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
68087         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
68089 2010-04-03  Bruno Haible  <bruno@clisp.org>
68091         nanosleep: Fix C++ test error on mingw.
68092         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
68093         * lib/time.in.h (nanosleep): Use modern idiom.
68094         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
68095         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
68096         REPLACE_NANOSLEEP to 1.
68097         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
68098         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
68100 2010-04-03  Bruno Haible  <bruno@clisp.org>
68102         strptime: Fix C++ test error on mingw.
68103         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
68104         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
68105         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
68106         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
68107         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
68108         not REPLACE_STRPTIME.
68109         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
68110         REPLACE_STRPTIME.
68112 2010-04-03  Bruno Haible  <bruno@clisp.org>
68114         timegm: Fix C++ test error on mingw.
68115         * lib/time.in.h (timegm): Use modern idiom.
68116         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
68117         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
68118         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
68119         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
68121 2010-04-03  Bruno Haible  <bruno@clisp.org>
68123         timegm: Assume declaration if function exists.
68124         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
68125         if it exists. Don't clobber ac_cv_func_timegm.
68127 2010-04-03  Bruno Haible  <bruno@clisp.org>
68129         time_r: Fix C++ test error on mingw.
68130         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
68131         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
68132         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
68133         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
68134         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
68136 2010-04-03  Bruno Haible  <bruno@clisp.org>
68138         time_r: Minor updates.
68139         * modules/time_r (Description): Mention the provided functions.
68140         * lib/time_r.c: Don't include <string.h>.
68141         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
68142         * doc/posix-functions/localtime_r.texi: Likewise.
68144 2010-04-03  Bruno Haible  <bruno@clisp.org>
68146         time: Fix regression introduced on 2010-03-08.
68147         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
68148         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
68150 2010-04-03  Jim Meyering  <meyering@redhat.com>
68152         maint.mk: don't silently disable project-specific syntax-check rules
68153         * top/maint.mk (_prohibit_regexp): Define, to help people realize
68154         that they need to convert their project-specific syntax-check rules
68155         to use the new _sc_search_regexp.
68157 2010-04-03  Bruno Haible  <bruno@clisp.org>
68159         fchdir: Fix regression introduced on 2010-03-08.
68160         * lib/unistd.in.h (fchdir): Fix declaration.
68161         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
68162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
68163         REPLACE_FCHDIR.
68164         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
68165         REPLACE_FCHDIR.
68167 2010-04-03  Bruno Haible  <bruno@clisp.org>
68169         getpagesize: Fix C++ test error on mingw.
68170         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
68171         system does not declare the function.
68172         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
68173         declared.
68174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
68175         HAVE_DECL_GETPAGESIZE.
68176         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
68178 2010-04-03  Bruno Haible  <bruno@clisp.org>
68180         stdio: Make C++ tests work on mingw.
68181         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
68182         does not declare the function.
68184 2010-04-03  Bruno Haible  <bruno@clisp.org>
68186         ftello: Fix C++ test error on mingw.
68187         * lib/stdio.in.h (ftello): Use modern idiom.
68188         * lib/ftello.c (ftello): Renamed from rpl_ftello.
68189         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
68190         is missing and that it needs to be replaced.
68191         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
68192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
68193         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
68195 2010-04-03  Bruno Haible  <bruno@clisp.org>
68197         fseeko: Fix C++ test error on mingw.
68198         * lib/stdio.in.h (fseeko): Use modern idiom.
68199         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
68200         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
68201         is missing and that it needs to be replaced.
68202         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
68203         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
68204         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
68206 2010-04-03  Bruno Haible  <bruno@clisp.org>
68208         mkstemp: Fix C++ test error on mingw.
68209         * lib/stdlib.in.h (mkstemp): Use modern idiom.
68210         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
68211         function is missing and that it needs to be replaced.
68212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
68213         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
68215 2010-04-03  Bruno Haible  <bruno@clisp.org>
68217         stpncpy: Fix C++ test error on mingw.
68218         * lib/string.in.h (stpncpy): Use modern idiom.
68219         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
68220         function is missing and that it needs to be replaced.
68221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68222         REPLACE_STPNCPY.
68223         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
68225 2010-04-03  Bruno Haible  <bruno@clisp.org>
68227         sys_stat: Fix C++ test error on mingw.
68228         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
68229         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
68231 2010-04-03  Bruno Haible  <bruno@clisp.org>
68233         pty: Update doc.
68234         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
68236 2010-04-03  Bruno Haible  <bruno@clisp.org>
68238         unistd: Fix C++ test error on mingw.
68239         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
68241 2010-04-03  Bruno Haible  <bruno@clisp.org>
68243         Update doc regarding mingw.
68244         * doc/glibc-functions/openpty.texi: Update regarding mingw.
68245         * doc/glibc-functions/login_tty.texi: Likewise.
68246         * doc/glibc-functions/forkpty.texi: Likewise.
68248 2010-04-03  Bruno Haible  <bruno@clisp.org>
68250         stdlib: Avoid compilation failure of c-strtold on mingw.
68251         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
68253 2010-04-03  Bruno Haible  <bruno@clisp.org>
68255         locale: Make C++ tests work on Cygwin and mingw.
68256         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
68257         cannot provide the function.
68258         Reported by Simon Josefsson.
68260 2010-04-03  Bruno Haible  <bruno@clisp.org>
68262         localename: Port to MacOS X 10.6.
68263         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
68264         memory layout of the locales in MacOS X 10.6 as well.
68265         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
68267 2010-04-02  Bruno Haible  <bruno@clisp.org>
68269         gnulib-tool: Ensure that long-running tests are executed last.
68270         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
68271         running tests after the one for the other tests.
68273 2010-04-02  Bruno Haible  <bruno@clisp.org>
68275         gnulib-tool: Ensure the tests in the main directory are executed first.
68276         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
68277         start with the current directory.
68279 2010-04-02  Bruno Haible  <bruno@clisp.org>
68281         Tests for module 'havelib', moved here from GNU gettext.
68282         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
68283         modifications.
68284         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
68285         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
68286         with modifications.
68287         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
68288         modifications.
68289         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
68290         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
68291         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
68292         with modifications.
68293         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
68294         with modifications.
68295         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
68296         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
68297         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
68298         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
68299         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
68300         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
68301         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
68302         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
68303         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
68304         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
68305         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
68306         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
68307         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
68308         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
68309         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
68310         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
68311         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
68312         with modifications.
68313         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
68314         with modifications.
68315         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
68316         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
68317         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
68318         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
68319         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
68320         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
68321         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
68322         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
68323         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
68324         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
68325         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
68326         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
68327         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
68328         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
68329         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
68330         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
68331         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
68332         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
68333         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
68334         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
68335         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
68336         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
68337         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
68338         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
68339         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
68340         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
68341         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
68342         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
68343         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
68344         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
68345         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
68346         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
68347         * tests/havelib/rpathx/rpathx.c: New file, from
68348         gettext/autoconf-lib-link.
68349         * tests/havelib/rpathx/Makefile.am: New file, from
68350         gettext/autoconf-lib-link.
68351         * tests/havelib/rpathx/configure.ac: New file, from
68352         gettext/autoconf-lib-link with modifications.
68353         * tests/havelib/rpathy/rpathy.c: New file, from
68354         gettext/autoconf-lib-link.
68355         * tests/havelib/rpathy/Makefile.am: New file, from
68356         gettext/autoconf-lib-link.
68357         * tests/havelib/rpathy/configure.ac: New file, from
68358         gettext/autoconf-lib-link with modifications.
68359         * tests/havelib/rpathz/rpathz.c: New file, from
68360         gettext/autoconf-lib-link.
68361         * tests/havelib/rpathz/Makefile.am: New file, from
68362         gettext/autoconf-lib-link.
68363         * tests/havelib/rpathz/configure.ac: New file, from
68364         gettext/autoconf-lib-link with modifications.
68365         * tests/havelib/rpathlx/usex.c: New file, from
68366         gettext/autoconf-lib-link.
68367         * tests/havelib/rpathlx/Makefile.am: New file, from
68368         gettext/autoconf-lib-link.
68369         * tests/havelib/rpathlx/configure.ac: New file, from
68370         gettext/autoconf-lib-link with modifications.
68371         * tests/havelib/rpathly/usey.c: New file, from
68372         gettext/autoconf-lib-link.
68373         * tests/havelib/rpathly/Makefile.am: New file, from
68374         gettext/autoconf-lib-link.
68375         * tests/havelib/rpathly/configure.ac: New file, from
68376         gettext/autoconf-lib-link with modifications.
68377         * tests/havelib/rpathlz/usez.c: New file, from
68378         gettext/autoconf-lib-link.
68379         * tests/havelib/rpathlz/Makefile.am: New file, from
68380         gettext/autoconf-lib-link.
68381         * tests/havelib/rpathlz/configure.ac: New file, from
68382         gettext/autoconf-lib-link with modifications.
68383         * tests/havelib/rpathlyx/usey.c: New file, from
68384         gettext/autoconf-lib-link.
68385         * tests/havelib/rpathlyx/Makefile.am: New file, from
68386         gettext/autoconf-lib-link.
68387         * tests/havelib/rpathlyx/configure.ac: New file, from
68388         gettext/autoconf-lib-link with modifications.
68389         * tests/havelib/rpathlzyx/usez.c: New file, from
68390         gettext/autoconf-lib-link.
68391         * tests/havelib/rpathlzyx/Makefile.am: New file, from
68392         gettext/autoconf-lib-link.
68393         * tests/havelib/rpathlzyx/configure.ac: New file, from
68394         gettext/autoconf-lib-link with modifications.
68395         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
68396         with modifications.
68398 2010-04-02  Bruno Haible  <bruno@clisp.org>
68400         gnulib-tool: Create distributed built sources also for the tests.
68401         * gnulib-tool (func_create_testdir): Also generate distributed built
68402         sources in the tests directory.
68404 2010-04-02  Bruno Haible  <bruno@clisp.org>
68406         gnulib-tool: Obey user's environment variables.
68407         * gnulib-tool (func_create_testdir): When creating built sources,
68408         respect the environment variables for autoconf, automake, etc. given by
68409         the user.
68411 2010-04-02  Bruno Haible  <bruno@clisp.org>
68413         gnulib-tool: Provide the value of --m4-base to modules.
68414         * gnulib-tool (func_import, func_create_testdir): Emit a definition
68415         of gl_m4_base.
68417 2010-04-02  Eric Blake  <eblake@redhat.com>
68419         maint.mk: fix some fallout
68420         * NEWS: Document the incompatible change, and its effect on cfg.mk.
68421         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
68423 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
68425         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
68426         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
68427         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
68428         (sc_cast_of_x_alloc_return_value): Likewise.
68429         (sc_cast_of_alloca_return_value): Likewise.
68430         (sc_space_tab): Likewise.
68431         (sc_prohibit_atoi_atof): Likewise.
68432         (sc_prohibit_magic_number_exit): Likewise.
68433         (sc_error_exit_success): Likewise.
68434         (sc_file_system): Likewise.
68435         (sc_prohibit_have_config_h): Likewise.
68436         (sc_require_config_h): Likewise.
68437         (sc_prohibit_HAVE_MBRTOWC): Likewise.
68438         (sc_obsolete_symbols): Likewise.
68439         (sc_changelog): Likewise.
68440         (sc_program_name): Likewise.
68441         (sc_the_the): Likewise.
68442         (sc_trailing_blank): Likewise.
68443         (sc_two_space_separator_in_usage): Likewise.
68444         (sc_useless_cpp_parens): Likewise.
68445         (sc_GPL_version): Likewise.
68446         (sc_GFDL_version): Likewise.
68447         (sc_texinfo_acronym): Likewise.
68448         (sc_prohibit_cvs_keyword): Likewise.
68449         (sc_prohibit_stat_st_blocks): Likewise.
68450         (sc_prohibit_S_IS_definition): Likewise.
68451         (sc_redundant_const): Likewise.
68452         (sc_makefile_TAB_only_indentation): Likewise.
68453         (sc_m4_quote_check): Likewise.
68454         (sc_makefile_path_separator_check): Likewise.
68455         (sc_copyright_check): Likewise.
68456         (sc_Wundef_boolean): Likewise.
68457         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
68459         maint.mk: match 0 or more whitespace-before-function-call '('
68460         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
68461         that have zero or two-and-more spaces between the function name
68462         and the open parenthesis.
68463         (sc_error_message_warn_fatal): Likewise.
68464         (sc_error_message_uppercase): Likewise.
68465         (sc_error_message_period): Likewise.
68467 2010-03-31  Eric Blake  <eblake@redhat.com>
68469         maint.mk: check for [ as well as test
68470         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
68471         Based on a libvirt report by Matthias Bolte.
68473         gnumakefile: don't squelch _version output
68474         * top/GNUmakefile (_version): Create one-shot dependency rather
68475         than using $(shell) when version must be regenerated.
68476         (_autoreconf): Run verbosely, by default.
68478         sys_time: avoid compiler warnings
68479         * lib/sys_time.in.h (includes): Ensure gcc pragma is
68480         unconditional, fixing regression from 2010-03-29.
68481         Reported by Simon Josefsson.
68483 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
68485         maint.mk: s/_header_without_use/_sc_header_without_use/
68486         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
68487         (sc_prohibit_assert_without_use): Use the new name.
68488         (sc_prohibit_close_stream_without_use): Likewise.
68489         (sc_prohibit_getopt_without_use): Likewise.
68490         (sc_prohibit_quotearg_without_use): Likewise.
68491         (sc_prohibit_quote_without_use): Likewise.
68492         (sc_prohibit_long_options_without_use): Likewise.
68493         (sc_prohibit_inttostr_without_use): Likewise.
68494         (sc_prohibit_ignore_value_without_use): Likewise.
68495         (sc_prohibit_error_without_use): Likewise.
68496         (sc_prohibit_xalloc_without_use): Likewise.
68497         (sc_prohibit_hash_without_use): Likewise.
68498         (sc_prohibit_hash_pjw_without_use): Likewise.
68499         (sc_prohibit_safe_read_without_use): Likewise.
68500         (sc_prohibit_argmatch_without_use): Likewise.
68501         (sc_prohibit_canonicalize_without_use): Likewise.
68502         (sc_prohibit_root_dev_ino_without_use): Likewise.
68503         (sc_prohibit_openat_without_use): Likewise.
68504         (sc_prohibit_c_ctype_without_use): Likewise.
68505         (sc_prohibit_signal_without_use): Likewise.
68506         (sc_prohibit_intprops_without_use): Likewise.
68508 2010-03-30  Eric Blake  <eblake@redhat.com>
68510         maint: improve module indicators
68511         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
68512         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
68513         columns, and avoid extra macro expansion.
68515         fdopendir: work around FreeBSD bug
68516         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
68517         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
68518         * modules/dirent (Makefile.am): Substitute it.
68519         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
68520         declaration.
68521         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
68522         fix.
68523         Reported by Christian Weisgerber <naddy@mips.inka.de>.
68525 2010-03-29  Bruno Haible  <bruno@clisp.org>
68527         Emit #pragma system_header after the inclusion guard, not before.
68528         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
68529         guard that spans the entire file, not before. This enables an
68530         optimization in GCC's preprocessor.
68531         * lib/ctype.in.h: Likewise.
68532         * lib/dirent.in.h: Likewise.
68533         * lib/errno.in.h: Likewise.
68534         * lib/float.in.h: Likewise.
68535         * lib/getopt.in.h: Likewise.
68536         * lib/iconv.in.h: Likewise.
68537         * lib/langinfo.in.h: Likewise.
68538         * lib/locale.in.h: Likewise.
68539         * lib/math.in.h: Likewise.
68540         * lib/netdb.in.h: Likewise.
68541         * lib/netinet_in.in.h: Likewise.
68542         * lib/pty.in.h: Likewise.
68543         * lib/sched.in.h: Likewise.
68544         * lib/se-selinux.in.h: Likewise.
68545         * lib/search.in.h: Likewise.
68546         * lib/spawn.in.h: Likewise.
68547         * lib/stdarg.in.h: Likewise.
68548         * lib/stdint.in.h: Likewise.
68549         * lib/string.in.h: Likewise.
68550         * lib/strings.in.h: Likewise.
68551         * lib/sys_file.in.h: Likewise.
68552         * lib/sys_ioctl.in.h: Likewise.
68553         * lib/sys_time.in.h: Likewise.
68554         * lib/sys_times.in.h: Likewise.
68555         * lib/sys_utsname.in.h: Likewise.
68556         * lib/sys_wait.in.h: Likewise.
68557         * lib/sysexits.in.h: Likewise.
68558         * lib/wctype.in.h: Likewise.
68560 2010-03-28  James Youngman  <jay@gnu.org>
68562         save-cwd: don't leak a file descriptor when the caller execs.
68563         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
68564         saved file descriptor.
68565         * modules/save-cwd (Depends-on): Depend on cloexec.
68567 2010-03-29  Bruno Haible  <bruno@clisp.org>
68569         Remove vestiges of fts-lgpl module.
68570         * lib/fts_.h: Assume GNULIB_FTS is 1.
68571         * lib/fts.c: Likewise.
68572         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
68574 2010-03-28  Bruno Haible  <bruno@clisp.org>
68576         Fix definition of tests witness macro.
68577         * gnulib-tool (func_import): Fix definition of witness macro.
68579 2010-03-28  Bruno Haible  <bruno@clisp.org>
68581         Fix ioctl's protoype on glibc systems.
68582         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
68583         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
68584         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
68585         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
68586         signature. If not, arrange to replace the ioctl function.
68587         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
68588         REPLACE_IOCTL.
68589         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
68590         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
68591         Reported by Ludovic Courtès <ludo@gnu.org>.
68593 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
68595         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
68596         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
68597         made it so grep -r --include=GLOB* ... did not work.
68599 2010-03-26  Jim Meyering  <meyering@redhat.com>
68600             Eric Blake  <eblake@redhat.com>
68602         maint.mk: prohibit use of test's -o and -a operators
68603         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
68605 2010-03-28  Bruno Haible  <bruno@clisp.org>
68607         Remove unused GNULIB_XYZ macro definitions.
68608         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
68609         invocation.
68611 2010-03-28  Bruno Haible  <bruno@clisp.org>
68613         Mark privileged tests modules.
68614         * modules/idpriv-drop-tests (Status): New section.
68615         * modules/idpriv-droptemp-tests (Status): New section.
68617 2010-03-28  Bruno Haible  <bruno@clisp.org>
68619         Split C++ tests into separate tests modules.
68620         * modules/dirent-c++-tests: New file, extracted from
68621         modules/dirent-tests.
68622         * modules/dirent-tests: Depend on it.
68623         * modules/fcntl-h-c++-tests: New file, extracted from
68624         modules/fcntl-h-tests.
68625         * modules/fcntl-h-tests: Depend on it.
68626         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
68627         * modules/glob-tests: Depend on it.
68628         * modules/iconv-h-c++-tests: New file, extracted from
68629         modules/iconv-h-tests.
68630         * modules/iconv-h-tests: Depend on it.
68631         * modules/langinfo-c++-tests: New file, extracted from
68632         modules/langinfo-tests.
68633         * modules/langinfo-tests: Depend on it.
68634         * modules/locale-c++-tests: New file, extracted from
68635         modules/locale-tests.
68636         * modules/locale-tests: Depend on it.
68637         * modules/math-c++-tests: New file, extracted from modules/math-tests.
68638         * modules/math-tests: Depend on it.
68639         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
68640         * modules/pty-tests: Depend on it.
68641         * modules/search-c++-tests: New file, extracted from
68642         modules/search-tests.
68643         * modules/search-tests: Depend on it.
68644         * modules/signal-c++-tests: New file, extracted from
68645         modules/signal-tests.
68646         * modules/signal-tests: Depend on it.
68647         * modules/spawn-c++-tests: New file, extracted from
68648         modules/spawn-tests.
68649         * modules/spawn-tests: Depend on it.
68650         * modules/stdio-c++-tests: New file, extracted from
68651         modules/stdio-tests.
68652         * modules/stdio-tests: Depend on it.
68653         * modules/stdlib-c++-tests: New file, extracted from
68654         modules/stdlib-tests.
68655         * modules/stdlib-tests: Depend on it.
68656         * modules/string-c++-tests: New file, extracted from
68657         modules/string-tests.
68658         * modules/string-tests: Depend on it.
68659         * modules/sys_ioctl-c++-tests: New file, extracted from
68660         modules/sys_ioctl-tests.
68661         * modules/sys_ioctl-tests: Depend on it.
68662         * modules/sys_select-c++-tests: New file, extracted from
68663         modules/sys_select-tests.
68664         * modules/sys_select-tests: Depend on it.
68665         * modules/sys_socket-c++-tests: New file, extracted from
68666         modules/sys_socket-tests.
68667         * modules/sys_socket-tests: Depend on it.
68668         * modules/sys_stat-c++-tests: New file, extracted from
68669         modules/sys_stat-tests.
68670         * modules/sys_stat-tests: Depend on it.
68671         * modules/sys_time-c++-tests: New file, extracted from
68672         modules/sys_time-tests.
68673         * modules/sys_time-tests: Depend on it.
68674         * modules/time-c++-tests: New file, extracted from modules/time-tests.
68675         * modules/time-tests: Depend on it.
68676         * modules/unistd-c++-tests: New file, extracted from
68677         modules/unistd-tests.
68678         * modules/unistd-tests: Depend on it.
68679         * modules/wchar-c++-tests: New file, extracted from
68680         modules/wchar-tests.
68681         * modules/wchar-tests: Depend on it.
68682         * modules/wctype-c++-tests: New file, extracted from
68683         modules/wctype-tests.
68684         * modules/wctype-tests: Depend on it.
68685         Reported by Simon Josefsson.
68687 2010-03-28  Bruno Haible  <bruno@clisp.org>
68689         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
68690         * gnulib-tool (func_exists_module): New function, extracted from
68691         func_verify_module.
68692         (func_verify_module): Use it.
68693         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
68694         'foo' only if 'foo' exists.
68695         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
68696         module.
68698 2010-03-28  Bruno Haible  <bruno@clisp.org>
68700         gnulib-tool: Add support for special categories of tests.
68701         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
68702         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
68703         (func_usage): Document them.
68704         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
68705         inc_unportable_tests, inc_all_tests): New variables.
68706         (func_acceptable): Consider these variables.
68707         (func_modules_transitive_closure): Make it work when the 'Status' field
68708         consists of multiple words.
68709         (func_import): Store and restore the values of inc_cxx_tests,
68710         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
68711         inc_all_tests in gnulib-comp.m4.
68712         (func_create_testdir): Set inc_all_tests to true.
68713         * doc/gnulib.texi (Extra tests modules): New section.
68714         Suggested by Jim Meyering.
68716 2010-03-28  Bruno Haible  <bruno@clisp.org>
68718         ansi-c++-opt: Allow turning off the C++ build by default.
68719         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
68720         gl_CXX_CHOICE_DEFAULT_NO is defined.
68721         Requested by Eric Blake.
68723 2010-03-28  Bruno Haible  <bruno@clisp.org>
68725         unistd: Avoid #define replacements in C++ mode.
68726         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
68727         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
68728         setsockopt, shutdown, select): In C++, attach a warning to the function
68729         if possible, rather than #defining the symbol to a dysfunctional alias.
68730         Reported by John W. Eaton <jwe@gnu.org>.
68732 2010-03-28  Bruno Haible  <bruno@clisp.org>
68734         Fix link errors on mingw.
68735         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
68736         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
68737         $(LIBSOCKET).
68738         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
68739         $(LIBSOCKET).
68741 2010-03-28  Bruno Haible  <bruno@clisp.org>
68742             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68744         lib-ignore: Determine different options for different compilers.
68745         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
68746         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
68747         Add comments.
68748         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
68749         * NEWS: Mention the change.
68751 2010-03-27  Bruno Haible  <bruno@clisp.org>
68753         Remove unused GNULIB_XYZ macro definitions.
68754         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
68755         * modules/fseek (configure.ac): Likewise.
68756         * modules/ioctl (configure.ac): Likewise.
68757         * modules/open (configure.ac): Likewise.
68758         * modules/stdlib-safer (configure.ac): Likewise.
68760 2010-03-27  Bruno Haible  <bruno@clisp.org>
68762         Add a remark about certain modules.
68763         * modules/malloc (Comment): New section.
68764         * modules/realloc (Comment): Likewise.
68765         * modules/sigpipe (Comment): Likewise.
68767 2010-03-27  Bruno Haible  <bruno@clisp.org>
68769         Resolve conflict between the two kinds of module indicators.
68770         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
68771         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
68772         * modules/canonicalize (configure.ac): Invoke
68773         gl_MODULE_INDICATOR_FOR_TESTS.
68774         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
68775         GNULIB_XYZ.
68776         * tests/test-dirent-c++.cc: Likewise.
68777         * tests/test-dirent-safer.c: Likewise.
68778         * tests/test-dup2.c: Likewise.
68779         * tests/test-fchdir.c: Likewise.
68780         * tests/test-fcntl-h-c++.cc: Likewise.
68781         * tests/test-getopt.c: Likewise.
68782         * tests/test-getopt.h: Likewise.
68783         * tests/test-langinfo-c++.cc: Likewise.
68784         * tests/test-locale-c++.cc: Likewise.
68785         * tests/test-math-c++.cc: Likewise.
68786         * tests/test-pty-c++.cc: Likewise.
68787         * tests/test-search-c++.cc: Likewise.
68788         * tests/test-signal-c++.cc: Likewise.
68789         * tests/test-spawn-c++.cc: Likewise.
68790         * tests/test-stdio-c++.cc: Likewise.
68791         * tests/test-stdlib-c++.cc: Likewise.
68792         * tests/test-string-c++.cc: Likewise.
68793         * tests/test-sys_ioctl-c++.cc: Likewise.
68794         * tests/test-sys_select-c++.cc: Likewise.
68795         * tests/test-sys_socket-c++.cc: Likewise.
68796         * tests/test-sys_stat-c++.cc: Likewise.
68797         * tests/test-sys_time-c++.cc: Likewise.
68798         * tests/test-time-c++.cc: Likewise.
68799         * tests/test-unistd-c++.cc: Likewise.
68800         * tests/test-wchar-c++.cc: Likewise.
68801         * tests/uninorm/test-u8-nfc.c: Likewise.
68802         * tests/uninorm/test-u8-nfd.c: Likewise.
68803         * tests/uninorm/test-u8-nfkc.c: Likewise.
68804         * tests/uninorm/test-u8-nfkd.c: Likewise.
68805         * tests/uninorm/test-u16-nfc.c: Likewise.
68806         * tests/uninorm/test-u16-nfd.c: Likewise.
68807         * tests/uninorm/test-u16-nfkc.c: Likewise.
68808         * tests/uninorm/test-u16-nfkd.c: Likewise.
68809         * tests/uninorm/test-u32-nfc.c: Likewise.
68810         * tests/uninorm/test-u32-nfc-big.c: Likewise.
68811         * tests/uninorm/test-u32-nfd.c: Likewise.
68812         * tests/uninorm/test-u32-nfd-big.c: Likewise.
68813         * tests/uninorm/test-u32-nfkc.c: Likewise.
68814         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
68815         * tests/uninorm/test-u32-nfkd.c: Likewise.
68816         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
68817         * tests/uninorm/test-u32-normalize-big.c: Likewise.
68819 2010-03-27  Bruno Haible  <bruno@clisp.org>
68821         Distinguish two kinds of module indicators.
68822         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
68823         gl_MODULE_INDICATOR.
68824         (gl_MODULE_INDICATOR): New macro.
68825         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
68826         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
68827         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
68828         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
68829         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
68830         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
68831         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
68832         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
68833         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
68834         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
68835         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
68836         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
68837         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
68838         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
68839         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
68840         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
68841         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
68842         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
68843         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
68844         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
68845         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
68846         * modules/cloexec (configure.ac): Likewise.
68847         * modules/getopt-gnu (configure.ac): Likewise.
68848         * modules/uninorm/u8-normalize (configure.ac): Likewise.
68849         * modules/uninorm/u16-normalize (configure.ac): Likewise.
68850         * modules/uninorm/u32-normalize (configure.ac): Likewise.
68851         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
68853 2010-03-27  Bruno Haible  <bruno@clisp.org>
68855         New module description field 'Comment'.
68856         * gnulib-tool: New option --extract-comment.
68857         (func_usage): Document it.
68858         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
68859         (func_get_comment): New function.
68860         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
68862 2010-03-27  Bruno Haible  <bruno@clisp.org>
68864         Addendum to 2010-02-07 commit.
68865         * gnulib-tool (func_usage): Document --extract-applicability option.
68867 2010-03-27  Bruno Haible  <bruno@clisp.org>
68869         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
68870         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
68871         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
68872         rather than link errors.
68874 2010-03-27  Bruno Haible  <bruno@clisp.org>
68876         Avoid side effects from tests-related modules on the compilation of lib.
68877         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
68878         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
68879         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
68880         parameter. Emit into AM_CPPFLAGS a definition of the designated C
68881         macro.
68882         (func_import): Define a witness macro. Assign it a value that depends
68883         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
68884         tests-related modules.
68885         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
68886         Reported by Jim Meyering.
68888 2010-03-27  Bruno Haible  <bruno@clisp.org>
68890         Factorize common .m4 code.
68891         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
68892         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
68893         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
68894         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
68895         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
68896         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
68897         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
68898         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
68899         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
68900         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
68901         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
68902         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
68903         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
68904         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
68905         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
68906         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
68907         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
68908         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
68909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
68910         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
68911         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
68912         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
68913         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
68914         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
68915         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
68916         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
68917         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
68918         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
68919         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
68920         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
68921         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
68922         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
68924 2010-03-27  Bruno Haible  <bruno@clisp.org>
68926         Fix a compilation error on Cygwin with g++ >= 4.3.
68927         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
68928         if it is undefined or if we alias it to chmod.
68929         (lstat): Don't warn about the use of this function if it is undefined
68930         or if we alias it to stat.
68931         Reported by Simon Josefsson.
68933 2010-03-27  Bruno Haible  <bruno@clisp.org>
68935         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
68936         * modules/getlogin (configure.ac): Update.
68938         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
68939         * modules/getlogin_r (configure.ac): Update.
68941         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
68942         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
68943         * modules/inet_ntop (configure.ac): Update.
68945         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
68946         * modules/inet_pton (configure.ac): Update.
68948         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
68949         * modules/mbslen (configure.ac): Update.
68951         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
68952         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
68953         * modules/forkpty (configure.ac): Update.
68954         * modules/openpty (configure.ac): Update.
68956 2010-03-26  Simon Josefsson  <simon@josefsson.org>
68958         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
68959         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
68961 2010-03-25  Eric Blake  <eblake@redhat.com>
68963         maint: use pragma consistently across replacement headers
68964         * lib/ctype.in.h (system_header): Hoist for consistent placement.
68965         * lib/dirent.in.h (system_header): Likewise.
68966         * lib/errno.in.h (system_header): Likewise.
68967         * lib/float.in.h (system_header): Likewise.
68968         * lib/getopt.in.h (system_header): Likewise.
68969         * lib/iconv.in.h (system_header): Likewise.
68970         * lib/inttypes.in.h (system_header): Likewise.
68971         * lib/langinfo.in.h (system_header): Likewise.
68972         * lib/locale.in.h (system_header): Likewise.
68973         * lib/math.in.h (system_header): Likewise.
68974         * lib/netdb.in.h (system_header): Likewise.
68975         * lib/netinet_in.in.h (system_header): Likewise.
68976         * lib/pty.in.h (system_header): Likewise.
68977         * lib/sched.in.h (system_header): Likewise.
68978         * lib/se-selinux.in.h (system_header): Likewise.
68979         * lib/search.in.h (system_header): Likewise.
68980         * lib/spawn.in.h (system_header): Likewise.
68981         * lib/stdarg.in.h (system_header): Likewise.
68982         * lib/stdint.in.h (system_header): Likewise.
68983         * lib/string.in.h (system_header): Likewise.
68984         * lib/strings.in.h (system_header): Likewise.
68985         * lib/sys_file.in.h (system_header): Likewise.
68986         * lib/sys_ioctl.in.h (system_header): Likewise.
68987         * lib/sys_socket.in.h (system_header): Likewise.
68988         * lib/sys_times.in.h (system_header): Likewise.
68989         * lib/sys_utsname.in.h (system_header): Likewise.
68990         * lib/sys_wait.in.h (system_header): Likewise.
68991         * lib/sysexits.in.h (system_header): Likewise.
68992         * lib/unistd.in.h (system_header): Likewise.
68993         * lib/wctype.in.h (system_header): Likewise.
68995         arpa/inet: fix mingw compilation warning
68996         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
68997         Reported by Matthew Bolte.
68999 2010-03-25  Bruno Haible  <bruno@clisp.org>
69001         Avoid collision between gnulib wrapper and libintl wrapper.
69002         * lib/printf.c (printf): Don't define if a printf wrapper is already
69003         defined in intl/printf.c.
69004         Reported by Michel Boaventura <michel@michelboaventura.com>.
69006 2010-03-25  Bruno Haible  <bruno@clisp.org>
69008         Use ANSI C.
69009         * lib/readutmp.h (getutent): Provide ANSI C prototype.
69011 2010-03-25  Bruno Haible  <bruno@clisp.org>
69013         Minor formatting changes.
69014         * lib/acosl.c: Insert space before function argument list.
69015         * lib/argz.c: Likewise.
69016         * lib/asinl.c: Likewise.
69017         * lib/expl.c: Likewise.
69018         * lib/gen-uni-tables.c: Likewise.
69019         * lib/gettext.h: Likewise.
69020         * lib/glthread/lock.h: Likewise.
69021         * lib/tanl.c: Likewise.
69022         * lib/uniname/uniname.c: Likewise.
69023         * tests/test-idpriv-drop.c: Likewise.
69024         * tests/test-idpriv-droptemp.c: Likewise.
69025         * tests/test-lock.c: Likewise.
69026         * tests/test-tls.c: Likewise.
69027         * lib/argp-help.c: Insert space before function-like macro argument
69028         list.
69029         * lib/memcmp.c: Likewise.
69030         * tests/test-base64.c: Likewise.
69031         * lib/localename.c: Insert space before sizeof's argument list.
69032         * lib/safe-alloc.h: Likewise.
69033         * lib/file-set.h: Insert space before macro argument list.
69034         * tests/test-argp.c: Likewise.
69035         * lib/argp-namefrob.h: Insert space before function parameter list.
69036         * lib/getaddrinfo.c: Likewise.
69037         * lib/netdb.in.h: Likewise.
69038         * lib/parse-duration.h: Likewise.
69039         * lib/parse-duration.c: Likewise.
69040         * lib/poll.c: Likewise.
69041         * lib/select.c: Likewise.
69042         * lib/trim.h: Likewise.
69043         * tests/test-usleep.c: Likewise.
69044         * lib/ldexpl.c: Insert space before function parameter list and before
69045         function argument list.
69046         * lib/logl.c: Likewise.
69047         * lib/sqrtl.c: Likewise.
69048         * lib/trim.c: Likewise.
69049         * lib/cosl.c: Use GNU style indentation. Insert space before function
69050         argument list.
69051         * lib/sinl.c: Likewise.
69052         * lib/tsearch.c: Insert space after 'for'.
69053         Reported by Jim Meyering.
69055 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
69057         * maint.mk (sc_Wundef_boolean): Check for the presence of the
69058         config header before grepping, as it's not present before
69059         autoreconf/configure are run.  Reported by Simon Josefsson.
69061 2010-03-23  Bruno Haible  <bruno@clisp.org>
69063         pt_chown: Make it work with automake < 1.11.
69064         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
69065         Reported by Simon Josefsson.
69067 2010-03-23  Bruno Haible  <bruno@clisp.org>
69069         pt_chown: Don't depend on GPLed modules.
69070         * lib/pt_chown.c: Don't include idpriv.h.
69071         (main): Don't drop privileges.
69072         * modules/pt_chown (Depends-on): Remove idpriv-drop.
69073         Reported by Simon Josefsson.
69075 2010-03-24  Simon Josefsson  <simon@josefsson.org>
69077         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
69078         suggestions from karl@freefriends.org (Karl Berry).
69080 2010-03-22  Eric Blake  <eblake@redhat.com>
69082         gethostname: further tweaks
69083         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
69084         are overriding gethostname.
69085         Suggested by Bruno Haible.
69087 2010-03-21  Bruno Haible  <bruno@clisp.org>
69089         Fix comments.
69090         * lib/forkpty.c (rpl_forkpty): Fix comment.
69091         * lib/openpty.c (rpl_openpty): Likewise.
69092         Reported by Eric Blake.
69094 2010-03-22  Eric Blake  <eblake@redhat.com>
69096         gethostname: fix build on mingw
69097         * lib/unistd.in.h (includes): Work around fact that mingw
69098         <winsock2.h> re-includes <unistd.h>, by avoiding any
69099         redeclarations if we are being included by <winsock2.h>.
69100         Reported by Matthias Bolte.
69102 2010-03-21  Bruno Haible  <bruno@clisp.org>
69104         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
69105         * lib/forkpty.c (forkpty): New replacement function, from glibc with
69106         modifications.
69107         * lib/pty.in.h (forkpty): Update declaration. Add comments.
69108         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
69109         provide the replacement.
69110         * modules/forkpty (Depends-on): Add openpty, login_tty.
69111         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
69112         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
69113         * doc/glibc-functions/forkpty.texi: More supported platforms.
69114         * config/srclist.txt: Add forkpty.c (commented).
69116 2010-03-21  Bruno Haible  <bruno@clisp.org>
69118         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
69119         (Makefile.am): Verify that PTY_LIB is defined.
69121         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
69123 2010-03-21  Bruno Haible  <bruno@clisp.org>
69125         Tests for module 'login_tty'.
69126         * modules/login_tty-tests: New file.
69127         * tests/test-login_tty.c: New file.
69129         New module 'login_tty'.
69130         * lib/login_tty.c: New file.
69131         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
69132         * modules/login_tty: New file.
69133         * doc/glibc-functions/login_tty.texi: Mention the new module.
69135 2010-03-21  Bruno Haible  <bruno@clisp.org>
69137         login_tty: Documentation.
69138         * doc/glibc-functions/login_tty.texi: New file.
69139         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
69141 2010-03-21  Bruno Haible  <bruno@clisp.org>
69143         pty: Consistent macro naming.
69144         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
69145         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
69146         * modules/pty (configure.ac): Update.
69148 2010-03-21  Bruno Haible  <bruno@clisp.org>
69150         Tests for openpty: Make stricter.
69151         * tests/test-openpty.c (main): Add test of canonical processing and
69152         erase.
69153         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
69155         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
69156         * lib/openpty.c (openpty): New replacement function.
69157         * lib/pty.in.h: Include <termios.h>.
69158         (openpty): Update declaration. Add comments.
69159         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
69160         is not declared, arrange to provide the replacement. Check for _getpty
69161         and posix_openpt.
69162         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
69163         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
69164         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
69165         * modules/pty-tests (test_pty_c___LDADD): New variable.
69166         * doc/glibc-functions/openpty.texi: More supported platforms.
69168 2010-03-21  Bruno Haible  <bruno@clisp.org>
69170         setenv: Tweaks.
69171         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
69172         the test program.
69173         * doc/posix-functions/setenv.texi: Update platforms list.
69175 2010-03-21  Bruno Haible  <bruno@clisp.org>
69177         New module 'unlockpt'.
69178         * lib/unlockpt.c: New file, from glibc with modifications.
69179         * m4/unlockpt.m4: New file.
69180         * modules/unlockpt: New file.
69181         * lib/stdlib.in.h (unlockpt): New declaration.
69182         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
69183         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
69184         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
69185         HAVE_UNLOCKPT.
69186         * doc/posix-functions/unlockpt.texi: Mention the new module.
69187         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
69188         * config/srclist.txt: Add unlockpt.c (commented).
69190 2010-03-21  Jim Meyering  <meyering@redhat.com>
69192         maint.mk: prohibit inclusion of "intprops.h" without use
69193         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
69195 2010-03-21  Bruno Haible  <bruno@clisp.org>
69197         New module 'grantpt'.
69198         * lib/grantpt.c: New file, from glibc with modifications.
69199         * m4/grantpt.m4: New file.
69200         * modules/grantpt: New file.
69201         * lib/stdlib.in.h (grantpt): New declaration.
69202         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
69203         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
69204         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
69205         HAVE_GRANTPT.
69206         * doc/posix-functions/grantpt.texi: Mention the new module.
69207         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
69208         * config/srclist.txt: Add grantpt.c (commented).
69210 2010-03-21  Bruno Haible  <bruno@clisp.org>
69212         New module 'pt_chown'.
69213         * lib/pt_chown.c: New file, from glibc with modifications.
69214         * lib/pty-private.h: New file, from glibc with modifications.
69215         * modules/pt_chown: New file.
69216         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
69218 2010-03-21  Bruno Haible  <bruno@clisp.org>
69220         Tests for module 'ptsname'.
69221         * modules/ptsname-tests: New file.
69222         * tests/test-ptsname.c: New file.
69224         New module 'ptsname'.
69225         * lib/ptsname.c: New file, from glibc with modifications.
69226         * m4/ptsname.m4: New file.
69227         * modules/ptsname: New file.
69228         * lib/stdlib.in.h (ptsname): New declaration.
69229         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
69230         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
69231         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
69232         HAVE_PTSNAME.
69233         * doc/posix-functions/ptsname.texi: Mention the new module.
69234         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
69235         * config/srclist.txt: Add ptsname.c (commented).
69237 2010-03-21  Bruno Haible  <bruno@clisp.org>
69239         Tests for module 'ttyname_r'.
69240         * modules/ttyname_r-tests: New file.
69241         * tests/test-ttyname_r.c: New file.
69243         New module 'ttyname_r'.
69244         * lib/ttyname_r.c: New file.
69245         * m4/ttyname_r.m4: New file.
69246         * modules/ttyname_r: New file.
69247         * lib/unistd.in.h (ttyname_r): New declaration.
69248         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
69249         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
69250         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
69251         HAVE_TTYNAME_R.
69252         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
69253         * doc/posix-functions/ttyname_r.texi: Mention the new module.
69255 2010-03-20  Bruno Haible  <bruno@clisp.org>
69257         signal: Undefine macro definitions in C++ mode.
69258         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
69259         sigfillset): Undefine macro definitions from the system header in C++
69260         mode.
69261         Reported by John W. Eaton <jwe@gnu.org>.
69263 2010-03-20  Bruno Haible  <bruno@clisp.org>
69265         Ensure no #include statements inside extern "C" { ... }.
69266         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
69267         contain #include statements.
69268         * lib/time.in.h: Likewise.
69270 2010-03-20  Bruno Haible  <bruno@clisp.org>
69272         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
69273         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
69274         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
69275         Reported by John W. Eaton <jwe@gnu.org>.
69277 2010-03-20  Bruno Haible  <bruno@clisp.org>
69279         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
69280         Reported by Jim Meyering.
69282 2010-03-20  Bruno Haible  <bruno@clisp.org>
69284         pipe: Set errno upon failure.
69285         * lib/pipe.h: Specify that when -1 is returned, errno is set.
69286         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
69287         errno value in error message.
69289 2010-03-20  Bruno Haible  <bruno@clisp.org>
69290             Jim Meyering  <meyering@redhat.com>
69292         lchown: Avoid "unused variable" warning.
69293         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
69295 2010-03-20  Bruno Haible  <bruno@clisp.org>
69297         Work around unlink() bug on MacOS X 10.5.6.
69298         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
69299         attempting to unlink a parent directory.
69300         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
69301         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
69302         activate for the replacement function.
69303         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
69305 2010-03-20  Bruno Haible  <bruno@clisp.org>
69307         Fix link errors on Solaris 8.
69308         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
69309         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
69311 2010-03-19  Jim Meyering  <meyering@redhat.com>
69313         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
69314         The _LIBC implementation of build_range_exp correctly honors the
69315         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
69316         However, the non-_LIBC implementation would ignore that syntax-bit
69317         flag and return REG_ERANGE unconditionally.
69318         This change makes it honor that flag.
69319         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
69320         Make two pointer parameters "const".
69321         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
69322         (parse_bracket_exp): Update caller.
69324         regex.m4: correct the reversed range endpoint ([b-a]) test
69325         * m4/regex.m4: When requiring that [b-a] evoke failure,
69326         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
69327         test pass once again for x86-based systems.
69329 2010-03-19  Bruno Haible  <bruno@clisp.org>
69331         scandir: Fix link error on Solaris 8.
69332         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
69333         macros.
69335 2010-03-19  Bruno Haible  <bruno@clisp.org>
69337         getusershell: Fix documentation.
69338         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
69339         module.
69340         * doc/glibc-functions/setusershell.texi: Likewise.
69342         getusershell: Provide declaration, missing on Solaris 9.
69343         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
69344         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
69345         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
69346         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
69347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69348         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
69349         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
69350         HAVE_GETUSERSHELL.
69351         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
69353 2010-03-19  Bruno Haible  <bruno@clisp.org>
69355         wctype: Provide iswblank function.
69356         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
69357         exists and is fine.
69358         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
69359         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
69360         * tests/test-wctype.c (main): Re-enable the iswblank tests.
69361         * doc/posix-functions/iswblank.texi: Update.
69363 2010-03-19  Bruno Haible  <bruno@clisp.org>
69365         Tests of module 'pty' in C++ mode.
69366         * modules/pty-tests: New file.
69367         * tests/test-pty-c++.cc: New file.
69368         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
69370 2010-03-19  Eric Blake  <eblake@redhat.com>
69372         logb: fix documentation
69373         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
69374         1.5 declaration bug.
69376         forkpty, openpty: prefer glibc's const-safe prototype
69377         * lib/forkpty.c (rpl_forkpty): New file.
69378         * lib/openpty.c (rpl_openpty): Likewise.
69379         * modules/forkpty (Files): Distribute it.
69380         * modules/openpty (Files): Likewise.
69381         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
69382         check...
69383         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
69384         replacement for non-const BSD signature.
69385         * modules/pty (Makefile.am): Substitute witnesses.
69386         * lib/pty.in.h (forkpty, openpty): Declare replacements.
69387         * tests/test-forkpty.c: Update signature check.
69388         * tests/test-openpty.c: Likewise.
69389         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
69390         * doc/glibc-functions/openpty.texi (openpty): Likewise.
69392         forkpty, openpty: split functions into new modules
69393         * modules/pty (Makefile.am): Substitute new witnesses.
69394         (Libraries): Move library detection...
69395         * modules/forkpty: ...into new module.
69396         * modules/openpty: Another new module.
69397         * modules/pty-tests: Rename and split...
69398         * modules/forkpty-tests: ...to this...
69399         * modules/openpty-tests: ...and this.
69400         * tests/test-pty.c: Rename and split...
69401         * tests/test-forkpty.c: ...to this...
69402         * tests/test-openpty.c: ...and this.
69403         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
69404         (gl_PTY): Split library searching...
69405         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
69406         (gl_FORKPTY, gl_OPENPTY): New macros.
69407         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
69408         * NEWS: Mention the split.
69409         * MODULES.html.sh (Misc): Document the modules.
69410         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
69411         * doc/glibc-functions/openpty.texi (openpty): Likewise.
69413         pty: improve replacement header
69414         * lib/pty.in.h: New file.
69415         * modules/pty (Files): Ship it.
69416         (Makefile.am): Always build replacement.
69417         * m4/pty.m4: Rename...
69418         * m4/pty_h.m4: ...to this.
69419         (gl_PTY): Modernize setting of witness macros; update check of
69420         forkpty to take proper advantage of cache.
69421         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
69423         getopt: avoid compiler warning
69424         * lib/getopt.c (attribute_hidden): Remove unused macro.
69426 2010-03-18  Bruno Haible  <bruno@clisp.org>
69428         Fix link errors on Solaris 8.
69429         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
69430         * modules/search-tests (test_search_c___LDADD): Likewise.
69431         * modules/signal-tests (test_signal_c___LDADD): Likewise.
69432         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
69433         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
69434         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
69435         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
69436         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
69437         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
69439 2010-03-18  Bruno Haible  <bruno@clisp.org>
69441         Fix bug introduced on 2010-03-14.
69442         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
69443         (gl_SPAWN_H): Require it.
69444         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
69445         Reported by Simon Josefsson.
69447 2010-03-18  Bruno Haible  <bruno@clisp.org>
69449         Fix typo introduced on 2009-12-31.
69450         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
69451         posix_spawn_file_actions_adddup2.
69453 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
69454         and Eric Blake  <eblake@redhat.com>
69456         test-vc-list-files-git: make more robust
69457         * tests/test-vc-list-files-git.sh: Unset problematic environment
69458         variables.  Chain commands together.
69460 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
69462         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
69463         `AC_CHECK_DECL' invocation.
69465 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
69467         * lib/inttostr.c (inttostr): Make sure the invocation of verify
69468         appears before executable statements. Suggested by Petr Sumbera
69469         <Petr.Sumbera@Sun.COM>.
69471 2010-03-14  Bruno Haible  <bruno@clisp.org>
69473         * tests/test-flock.c (test_exclusive): Comment out a test that causes
69474         portability problems. Instead use a simpler test.
69475         (main): Check that invalid arguments are rejected only on Linux.
69477 2010-03-14  Bruno Haible  <bruno@clisp.org>
69479         Fix bug introduced on 2009-12-31.
69480         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
69481         gl_PREREQ_SYS_H_WINSOCK2 always.
69482         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
69483         SYS_SOCKET_H variable.
69484         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
69485         Update comments.
69486         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
69487         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
69488         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
69489         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
69490         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
69492 2010-03-14  Bruno Haible  <bruno@clisp.org>
69494         Fix values returned by sinl, cosl.
69495         * lib/trigl.h: Add specification comments.
69496         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
69497         that combines the values from the precomputed table with the values of
69498         the Chebyshev polynomials.
69500 2010-03-14  Bruno Haible  <bruno@clisp.org>
69502         Fix compilation error when modules 'posix_spawn[p]' are not used.
69503         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
69504         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
69506 2010-03-14  Bruno Haible  <bruno@clisp.org>
69508         Fix compilation error on mingw when module 'time_r' is not used.
69509         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
69510         is 1.
69511         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
69512         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
69513         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
69514         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
69516 2010-03-14  Bruno Haible  <bruno@clisp.org>
69518         Fix compilation error with Sun C.
69519         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
69520         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
69521         instead of GCC specific ULONG_LONG_MAX.
69522         * lib/xstrtoll.c: Likewise.
69523         * lib/xstrtoull.c: Likewise.
69525 2010-03-13  Bruno Haible  <bruno@clisp.org>
69527         Allow the user to disable C++ code and tests.
69528         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
69529         (gl_PROG_ANSI_CXX): Require it.
69531 2010-03-13  Bruno Haible  <bruno@clisp.org>
69533         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
69534         cases.
69536 2010-03-13  Bruno Haible  <bruno@clisp.org>
69538         Test that gnulib does not break the standard C++ headers.
69539         * tests/test-locale-c++2.cc: New file.
69540         * modules/locale-tests (Files): Add it.
69541         (Makefile.am): Compile it for test-locale-c++.
69542         * tests/test-math-c++2.cc: New file.
69543         * modules/math-tests (Files): Add it.
69544         (Makefile.am): Compile it for test-math-c++.
69545         * tests/test-signal-c++2.cc: New file.
69546         * modules/signal-tests (Files): Add it.
69547         (Makefile.am): Compile it for test-signal-c++.
69548         * tests/test-stdio-c++2.cc: New file.
69549         * modules/stdio-tests (Files): Add it.
69550         (Makefile.am): Compile it for test-stdio-c++.
69551         * tests/test-stdlib-c++2.cc: New file.
69552         * modules/stdlib-tests (Files): Add it.
69553         (Makefile.am): Compile it for test-stdlib-c++.
69554         * tests/test-string-c++2.cc: New file.
69555         * modules/string-tests (Files): Add it.
69556         (Makefile.am): Compile it for test-string-c++.
69557         * tests/test-time-c++2.cc: New file.
69558         * modules/time-tests (Files): Add it.
69559         (Makefile.am): Compile it for test-time-c++.
69560         Reported by John W. Eaton <jwe@gnu.org>.
69562 2010-03-13  Bruno Haible  <bruno@clisp.org>
69564         * gnulib-tool (func_usage): Clarify which options are available for
69565         --create-testdir and --create-megatestdir.
69567 2010-03-13  Bruno Haible  <bruno@clisp.org>
69569         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
69570         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
69571         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
69572         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
69573         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
69574         when appropriate.
69575         Reported by Jim Meyering.
69577 2010-03-12  Simon Josefsson  <simon@josefsson.org>
69579         * gnulib-tool (func_import): Explain origin of code.
69581 2010-03-12  Bruno Haible  <bruno@clisp.org>
69583         Fix problem with automake's definition of CXXLINK.
69584         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
69585         Reported by Simon Josefsson and Ludovic Courtès.
69587 2010-03-12  Bruno Haible  <bruno@clisp.org>
69589         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
69590         stable releases.
69592 2010-03-11  Bruno Haible  <bruno@clisp.org>
69594         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
69595         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
69596         whether the system provides one variant or multiple variants of the
69597         function.
69598         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
69599         C++ compilers.
69600         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
69601         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
69602         Reported by Jim Meyering.
69604 2010-03-09  Simon Josefsson  <simon@josefsson.org>
69606         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
69608 2010-03-08  Bruno Haible  <bruno@clisp.org>
69610         gnulib-tool: Add support for --libtool in --create-testdir.
69611         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
69612         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
69614 2010-03-08  Eric Blake  <eblake@redhat.com>
69616         gnulib-tool.texi: mention possibility of git submodule
69617         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
69618         submodules.
69619         * doc/.gitignore: Ignore another generated file.
69621 2010-03-08  Karl Berry  <karl@gnu.org>
69623         * doc/gnulib-tool.texi (VCS Issues): Mention third option
69624         of committing gnulib files while skipping others.
69626 2010-03-07  Bruno Haible  <bruno@clisp.org>
69628         Tests of module 'wctype' in C++ mode.
69629         * tests/test-wctype-c++.cc: New file.
69630         * modules/wctype-tests (Files): Add it and tests/signature.h.
69631         (Depends-on): Add ansi-c++-opt.
69632         (Makefile.am): Arrange to compile and run test-wctype-c++.
69634         Tests of module 'wchar' in C++ mode.
69635         * tests/test-wchar-c++.cc: New file.
69636         * modules/wchar-tests (Files): Add it and tests/signature.h.
69637         (Depends-on): Add ansi-c++-opt.
69638         (Makefile.am): Arrange to compile and run test-wchar-c++.
69639         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
69640         gl_MODULE_INDICATOR.
69642         Tests of module 'unistd' in C++ mode.
69643         * tests/test-unistd-c++.cc: New file.
69644         * modules/unistd-tests (Files): Add it and tests/signature.h.
69645         (Depends-on): Add ansi-c++-opt.
69646         (Makefile.am): Arrange to compile and run test-unistd-c++.
69647         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
69648         gl_MODULE_INDICATOR.
69650         Tests of module 'time' in C++ mode.
69651         * tests/test-time-c++.cc: New file.
69652         * modules/time-tests (Files): Add it and tests/signature.h.
69653         (Depends-on): Add ansi-c++-opt.
69654         (Makefile.am): Arrange to compile and run test-time-c++.
69655         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
69657         Tests of module 'sys_time' in C++ mode.
69658         * tests/test-sys_time-c++.cc: New file.
69659         * modules/sys_time-tests (Files): Add it and tests/signature.h.
69660         (Depends-on): Add ansi-c++-opt.
69661         (Makefile.am): Arrange to compile and run test-sys_time-c++.
69662         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
69663         gl_MODULE_INDICATOR.
69665         Tests of module 'sys_stat' in C++ mode.
69666         * tests/test-sys_stat-c++.cc: New file.
69667         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
69668         (Depends-on): Add ansi-c++-opt.
69669         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
69670         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
69671         gl_MODULE_INDICATOR.
69673         Tests of module 'sys_socket' in C++ mode.
69674         * tests/test-sys_socket-c++.cc: New file.
69675         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
69676         (Depends-on): Add ansi-c++-opt.
69677         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
69678         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
69679         gl_MODULE_INDICATOR.
69681         Tests of module 'sys_select' in C++ mode.
69682         * tests/test-sys_select-c++.cc: New file.
69683         * modules/sys_select-tests (Files): Add it and tests/signature.h.
69684         (Depends-on): Add ansi-c++-opt.
69685         (Makefile.am): Arrange to compile and run test-sys_select-c++.
69686         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
69687         gl_MODULE_INDICATOR.
69689         Tests of module 'sys_ioctl' in C++ mode.
69690         * tests/test-sys_ioctl-c++.cc: New file.
69691         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
69692         (Depends-on): Add ansi-c++-opt.
69693         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
69694         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
69695         gl_MODULE_INDICATOR.
69697         Tests of module 'string' in C++ mode.
69698         * tests/test-string-c++.cc: New file.
69699         * modules/string-tests (Files): Add it and tests/signature.h.
69700         (Depends-on): Add ansi-c++-opt.
69701         (Makefile.am): Arrange to compile and run test-string-c++.
69702         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
69703         gl_MODULE_INDICATOR.
69705         Tests of module 'stdlib' in C++ mode.
69706         * tests/test-stdlib-c++.cc: New file.
69707         * modules/stdlib-tests (Files): Add it and tests/signature.h.
69708         (Depends-on): Add ansi-c++-opt.
69709         (Makefile.am): Arrange to compile and run test-stdlib-c++.
69710         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
69711         gl_MODULE_INDICATOR.
69713         Tests of module 'stdio' in C++ mode.
69714         * tests/test-stdio-c++.cc: New file.
69715         * modules/stdio-tests (Files): Add it and tests/signature.h.
69716         (Depends-on): Add ansi-c++-opt.
69717         (Makefile.am): Arrange to compile and run test-stdio-c++.
69718         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
69719         gl_MODULE_INDICATOR.
69721         Tests of module 'spawn' in C++ mode.
69722         * tests/test-spawn-c++.cc: New file.
69723         * modules/spawn-tests (Files): Add it and tests/signature.h.
69724         (Depends-on): Add ansi-c++-opt.
69725         (Makefile.am): Arrange to compile and run test-spawn-c++.
69726         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
69727         gl_MODULE_INDICATOR.
69729         Tests of module 'signal' in C++ mode.
69730         * tests/test-signal-c++.cc: New file.
69731         * modules/signal-tests (Files): Add it and tests/signature.h.
69732         (Depends-on): Add ansi-c++-opt.
69733         (Makefile.am): Arrange to compile and run test-signal-c++.
69734         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
69735         gl_MODULE_INDICATOR.
69737         Tests of module 'search' in C++ mode.
69738         * tests/test-search-c++.cc: New file.
69739         * modules/search-tests (Files): Add it and tests/signature.h.
69740         (Depends-on): Add ansi-c++-opt.
69741         (Makefile.am): Arrange to compile and run test-search-c++.
69742         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
69743         gl_MODULE_INDICATOR.
69745         Tests of module 'math' in C++ mode.
69746         * tests/test-math-c++.cc: New file.
69747         * modules/math-tests (Files): Add it and tests/signature.h.
69748         (Depends-on): Add ansi-c++-opt.
69749         (Makefile.am): Arrange to compile and run test-math-c++.
69750         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
69752         Tests of module 'locale' in C++ mode.
69753         * tests/test-locale-c++.cc: New file.
69754         * modules/locale-tests (Files): Add it and tests/signature.h.
69755         (Depends-on): Add ansi-c++-opt.
69756         (Makefile.am): Arrange to compile and run test-locale-c++.
69757         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
69758         gl_MODULE_INDICATOR.
69760         Tests of module 'langinfo' in C++ mode.
69761         * tests/test-langinfo-c++.cc: New file.
69762         * modules/langinfo-tests (Files): Add it and tests/signature.h.
69763         (Depends-on): Add ansi-c++-opt.
69764         (Makefile.am): Arrange to compile and run test-langinfo-c++.
69765         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
69766         gl_MODULE_INDICATOR.
69768         Tests of module 'iconv-h' in C++ mode.
69769         * tests/test-iconv-h-c++.cc: New file.
69770         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
69771         (Depends-on): Add ansi-c++-opt.
69772         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
69774         Tests of module 'glob' in C++ mode.
69775         * tests/test-glob-c++.cc: New file.
69776         * modules/glob-tests (Files): Add it.
69777         (Depends-on): Add ansi-c++-opt.
69778         (Makefile.am): Arrange to compile and run test-glob-c++.
69780         Tests of module 'fcntl-h' in C++ mode.
69781         * tests/test-fcntl-h-c++.cc: New file.
69782         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
69783         (Depends-on): Add ansi-c++-opt.
69784         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
69785         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
69786         gl_MODULE_INDICATOR.
69788         Tests of module 'dirent' in C++ mode.
69789         * tests/test-dirent-c++.cc: New file.
69790         * modules/dirent-tests (Files): Add it and tests/signature.h.
69791         (Depends-on): Add ansi-c++-opt.
69792         (Makefile.am): Arrange to compile and run test-dirent-c++.
69793         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
69794         gl_MODULE_INDICATOR.
69796         New module 'ansi-c++-opt'.
69797         * modules/ansi-c++-opt: New file.
69798         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
69800         Document C++ namespace mode.
69801         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
69803         wctype: Avoid #define replacements in C++ mode.
69804         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
69805         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
69806         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
69807         In C++, define a namespaced alias symbol.
69808         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
69809         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
69810         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
69811         rule.
69813         wchar: Avoid #define replacements in C++ mode.
69814         * lib/wchar.in.h: Include c++defs.h.
69815         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
69816         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
69817         symbol.
69818         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
69819         * modules/wchar (Depends-on): Add c++defs.
69820         (Makefile.am): Update wchar.h rule.
69822         unistd: Avoid #define replacements in C++ mode.
69823         * lib/unistd.in.h: Include c++defs.h.
69824         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
69825         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
69826         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
69827         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
69828         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
69829         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
69830         symbol.
69831         (environ): Update.
69832         * modules/unistd (Depends-on): Add c++defs.
69833         (Makefile.am): Update unistd.h rule.
69835         time: Avoid #define replacements in C++ mode.
69836         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
69837         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
69838         define a namespaced alias symbol.
69839         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
69840         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
69841         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
69842         * modules/time (Depends-on): Add c++defs, warn-on-use.
69843         (Makefile.am): Update time.h rule.
69844         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
69845         * modules/nanosleep (configure.ac): Likewise.
69846         * modules/strptime (configure.ac): Likewise.
69847         * modules/timegm (configure.ac): Likewise.
69849         sys_time: Avoid #define replacements in C++ mode.
69850         * lib/sys_time.in.h: Include c++defs.h.
69851         (gettimeofday): In C++, define a namespaced alias symbol.
69852         * modules/sys_time (Depends-on): Add c++defs.
69853         (Makefile.am): Update sys/time.h rule.
69855         sys_stat: Avoid #define replacements in C++ mode.
69856         * lib/sys_stat.in.h: Include c++defs.h.
69857         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
69858         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
69859         namespaced alias symbol.
69860         In C++, define a namespaced alias symbol.
69861         * modules/sys_stat (Depends-on): Add c++defs.
69862         (Makefile.am): Update sys/stat.h rule.
69864         sys_socket: Avoid #define replacements in C++ mode.
69865         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
69866         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
69867         definitions also when the system has a <sys/socket.h>.
69868         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
69869         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
69870         In C++, define a namespaced alias symbol.
69871         * modules/sys_socket (Depends-on): Add c++defs.
69872         (Makefile.am): Update sys/socket.h rule.
69874         sys_select: Avoid #define replacements in C++ mode.
69875         * lib/sys_select.in.h: Include c++defs.h. Enable the function
69876         definitions also when the system has a <sys/select.h>.
69877         (select): In C++, define a namespaced alias symbol.
69878         * modules/sys_select (Depends-on): Add c++defs.
69879         (Makefile.am): Update sys/select.h rule.
69881         sys_ioctl: Avoid #define replacements in C++ mode.
69882         * lib/sys_ioctl.in.h: Include c++defs.h.
69883         (ioctl): In C++, define a namespaced alias symbol.
69884         * modules/sys_ioctl (Depends-on): Add c++defs.
69885         (Makefile.am): Update sys/ioctl.h rule.
69887         string: Avoid #define replacements in C++ mode.
69888         * lib/string.in.h: Include c++defs.h.
69889         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
69890         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
69891         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
69892         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
69893         strsignal, strverscmp): In C++, define a namespaced alias symbol.
69894         * modules/string (Depends-on): Add c++defs.
69895         (Makefile.am): Update string.h rule.
69897         stdlib: Avoid #define replacements in C++ mode.
69898         * lib/stdlib.in.h: Include c++defs.h.
69899         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
69900         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
69901         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
69902         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
69903         symbol.
69904         * modules/stdlib (Depends-on): Add c++defs.
69905         (Makefile.am): Update stdlib.h rule.
69907         stdio: Avoid #define replacements in C++ mode.
69908         * lib/stdio.in.h: Include c++defs.h.
69909         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
69910         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
69911         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
69912         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
69913         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
69914         namespaced alias symbol.
69915         * modules/stdio (Depends-on): Add c++defs.
69916         (Makefile.am): Update stdio.h rule.
69918         spawn: Avoid #define replacements in C++ mode.
69919         * lib/spawn.in.h: Include c++defs.h.
69920         (posix_spawn, posix_spawnp, posix_spawnattr_init,
69921         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
69922         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
69923         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
69924         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
69925         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
69926         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
69927         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
69928         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
69929         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
69930         In C++, define a namespaced alias symbol.
69931         * modules/spawn (Depends-on): Add c++defs.
69932         (Makefile.am): Update spawn.h rule.
69934         signal: Avoid #define replacements in C++ mode.
69935         * lib/signal.in.h: Include c++defs.h.
69936         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
69937         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
69938         namespaced alias symbol.
69939         * modules/signal (Depends-on): Add c++defs.
69940         (Makefile.am): Update signal.h rule.
69942         search: Avoid #define replacements in C++ mode.
69943         * lib/search.in.h: Include c++defs.h.
69944         (_gl_search_compar_fn, _gl_search_action_fn): New types.
69945         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
69946         symbol.
69947         * modules/search (Depends-on): Add c++defs.
69948         (Makefile.am): Update search.h rule.
69950         math: Avoid #define replacements in C++ mode.
69951         * lib/math.in.h: Include c++defs.h.
69952         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
69953         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
69954         trunc, truncl): In C++, define a namespaced alias symbol.
69955         * modules/math (Depends-on): Add c++defs.
69956         (Makefile.am): Update math.h rule.
69958         locale: Avoid #define replacements in C++ mode.
69959         * lib/locale.in.h: Include c++defs.h.
69960         (duplocale): In C++, define a namespaced alias symbol.
69961         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
69962         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
69963         * modules/locale (Depends-on): Add c++defs.
69964         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
69966         langinfo: Avoid #define replacements in C++ mode.
69967         * lib/langinfo.in.h: Include c++defs.h.
69968         (nl_langinfo): In C++, define a namespaced alias symbol.
69969         * modules/langinfo (Depends-on): Add c++defs.
69970         (Makefile.am): Update langinfo.h rule.
69972         iconv-h: Avoid #define replacements in C++ mode.
69973         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
69974         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
69975         symbol.
69976         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
69977         whenever iconv is present.
69978         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
69979         (Makefile.am): Update iconv.h rule.
69981         glob: Avoid #define replacements in C++ mode.
69982         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
69983         (_gl_glob_errfunc_fn): New type.
69984         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
69985         symbol.
69986         * modules/glob (Depends-on): Add c++defs, warn-on-use.
69987         (Makefile.am): Update glob.h rule.
69989         fcntl-h: Avoid #define replacements in C++ mode.
69990         * lib/fcntl.in.h: Include c++defs.h.
69991         (fcntl, open, openat): In C++, define a namespaced alias symbol.
69992         * modules/fcntl-h (Depends-on): Add c++defs.
69993         (Makefile.am): Update fcntl.h rule.
69995         dirent: Avoid #define replacements in C++ mode.
69996         * lib/dirent.in.h: Include c++defs.h.
69997         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
69998         namespaced alias symbol.
69999         (dirfd): Update declaration.
70000         * modules/dirent (Depends-on): Add c++defs.
70001         (Makefile.am): Update dirent.h rule.
70003         ctype: Make it usable in C++ code.
70004         * lib/ctype.in.h: Include c++defs.h.
70005         (isblank): Declare as extern "C".
70006         * modules/ctype (Depends-on): Add c++defs.
70007         (Makefile.am): Update ctype.h rule.
70009         New module 'c++defs'.
70010         * modules/c++defs: New file.
70011         * build-aux/c++defs.h: New file.
70012         Reported by John W. Eaton <jwe@gnu.org>.
70014 2010-03-07  Bruno Haible  <bruno@clisp.org>
70016         logb: Provide missing declaration for Cygwin.
70017         * lib/math.in.h (logb): New declaration.
70018         * m4/logb.m4: New file.
70019         * modules/logb (Files): Add m4/logb.m4.
70020         (Depends-on): Add math.
70021         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
70022         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
70023         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
70024         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
70025         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
70027 2010-03-07  Bruno Haible  <bruno@clisp.org>
70029         Fix test-cond link error.
70030         * tests/test-cond.c: Include <stdio.h>.
70032 2010-03-07  Bruno Haible  <bruno@clisp.org>
70034         Fix test-dirent-safer link error.
70035         * modules/dirent-safer-tests (Makefile.am): Define
70036         test_dirent_safer_LDADD.
70038 2010-03-07  Bruno Haible  <bruno@clisp.org>
70040         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
70041         among default module list.
70043 2010-03-07  Bruno Haible  <bruno@clisp.org>
70045         Fix link error on platforms with GNU libiconv.
70046         * modules/unistr/u8-strcoll-tests (Makefile): Define
70047         test_u8_strcoll_LDADD.
70048         * modules/unistr/u16-strcoll-tests (Makefile): Define
70049         test_u16_strcoll_LDADD.
70050         * modules/unistr/u32-strcoll-tests (Makefile): Define
70051         test_u32_strcoll_LDADD.
70053 2010-03-07  Bruno Haible  <bruno@clisp.org>
70055         Use POSIX declarations for socket functions.
70056         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
70057         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
70058         rpl_sendto): Change declaration to match POSIX.
70059         * lib/connect.c (rpl_connect): Likewise.
70060         * lib/accept.c (rpl_accept): Likewise.
70061         * lib/bind.c (rpl_bind): Likewise.
70062         * lib/getpeername.c (rpl_getpeername): Likewise.
70063         * lib/getsockname.c (rpl_getsockname): Likewise.
70064         * lib/recv.c (rpl_recv): Likewise.
70065         * lib/send.c (rpl_send): Likewise.
70066         * lib/recvfrom.c (rpl_recvfrom): Likewise.
70067         * lib/sendto.c (rpl_sendto): Likewise.
70069 2010-03-06  Bruno Haible  <bruno@clisp.org>
70071         Clarify access, euidaccess, faccessat.
70072         * doc/posix-functions/faccessat.texi: Mention security problem under
70073         "Other problems", not "Portability problems".
70074         * doc/posix-functions/access.texi: Likewise. Mention a related security
70075         problem.
70076         * doc/glibc-functions/euidaccess.texi: Mention security problems.
70077         * lib/euidaccess.c: Add comments about platforms.
70078         * lib/unistd.in.h (access, euidaccess): Add warnings.
70080 2010-03-07  Bruno Haible  <bruno@clisp.org>
70082         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
70083         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
70084         (POSIX_SPAWN_SETSCHEDULER): Likewise.
70085         (POSIX_SPAWN_USEVFORK): Define in a way that works when
70086         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
70087         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
70088         declare when POSIX_SPAWN_SETSCHEDULER is zero.
70089         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
70090         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
70091         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
70092         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
70093         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
70094         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
70095         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
70096         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
70097         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
70098         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
70099         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
70100         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
70101         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
70102         Likewise.
70103         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
70104         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
70105         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
70106         Likewise.
70107         * tests/test-spawn.c (main): Make it work when
70108         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
70110 2010-03-07  Bruno Haible  <bruno@clisp.org>
70112         Fix incorrect Makefile.am generation in German locale.
70113         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70114         Execute sed command with character range in C locale.
70116 2010-03-06  Bruno Haible  <bruno@clisp.org>
70118         Tests for module 'iconv-h'.
70119         * modules/iconv-h-tests: New file.
70120         * tests/test-iconv-h.c: New file.
70122         New module 'iconv-h'.
70123         * modules/iconv-h: New file.
70124         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
70125         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
70126         (configure.ac): Remove gl_ICONV_H.
70127         (Makefile.am): Remove rule for iconv.h.
70129 2010-03-06  Bruno Haible  <bruno@clisp.org>
70131         More consistent naming of *.m4 files.
70132         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
70133         * modules/wctype (Files): Update.
70135         More consistent naming of *.m4 files.
70136         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
70137         * modules/wchar (Files): Update.
70139 2010-03-06  Jim Meyering  <meyering@redhat.com>
70141         euidaccess: relax license to LGPLv2+
70142         * modules/euidaccess (License): Relax to LGPLv2+.
70144 2010-03-06  Bruno Haible  <bruno@clisp.org>
70146         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
70147         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
70148         (Makefile.am): Augment lib_SOURCES instead.
70150 2010-03-04  Jim Meyering  <meyering@redhat.com>
70152         utime: remove obsolete module
70153         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
70154         unnecessary for years, and has been marked as obsolete for 10 months.
70155         * modules/utime: Remove file.
70156         * lib/utime.c: Remove file.
70157         * m4/utime.m4: Remove file.
70158         * m4/utimes-null.m4: Remove file.
70159         * doc/posix-functions/utime.texi (utime): Remove reference to
70160         the module.  Move the sole "fixed by gnulib" item into the
70161         "problems not fixed by Gnulib" list.
70162         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
70164 2010-03-05  Simon Josefsson  <simon@josefsson.org>
70166         * modules/exit (License): Relax license to LGPLv2+.
70167         (Status): Mark as obsolete.
70168         * NEWS: Mention deprecated 'exit' module.
70169         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
70170         of now obsolete 'exit'.
70172 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70174         fts-lgpl: remove unused module
70175         * modules/fts-lgpl: Remove.
70176         * MODULES.html.sh (func_all_modules): Adjust.
70177         * check-module (find_included_lib_files): Adjust.
70178         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
70180 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
70182         copy-acl: enhance Solaris ACL error handling
70183         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
70184         * lib/set-mode-acl.c (qset_acl): Likewise.
70186 2010-03-02  Bruno Haible  <bruno@clisp.org>
70188         spawn: Don't override the system defined values on FreeBSD 8.
70189         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
70190         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
70191         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
70192         if HAVE_POSIX_SPAWN is 1.
70193         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
70195 2010-03-01  Bruno Haible  <bruno@clisp.org>
70197         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
70198         regarding Automake.
70200 2010-02-25  Bruno Haible  <bruno@clisp.org>
70202         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
70203         * gnulib-tool: Define 'echo' as a function only before the ksh alias
70204         setting, not afterwards.
70205         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
70207 2010-02-24  Eric Blake  <eblake@redhat.com>
70209         bootstrap, git-version-gen: use timestamp
70210         * build-aux/git-version-gen (scriptversion): Force UTC.
70211         * build-aux/bootstrap (scriptversion): New variable.
70213         bootstrap: allow older git
70214         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
70215         older than 1.6.4.  Requested by the libvirt project.
70217 2010-02-23  Eric Blake  <eblake@redhat.com>
70219         warn-on-use: work with old autoconf
70220         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
70221         AS_VAR semantics of autoconf 2.60.
70222         Reported by Bruno Haible.
70224         bootstrap: improve some comments
70225         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
70226         clarification comments.
70228         gettimeofday: provide correct function
70229         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
70230         when replacement is declared, otherwise provide gettimeofday.
70231         Reported by Michael Goffioul.
70233 2010-02-23  Jim Meyering  <meyering@redhat.com>
70235         lib-ignore: relax license to "unlimited", not LGPLv2+
70236         * modules/lib-ignore (License): Relax to "unlimited".
70238 2010-02-23  Jim Meyering  <meyering@redhat.com>
70240         lib-ignore: relax license to LGPLv2+
70241         * modules/lib-ignore (License): Relax to LGPLv2+.
70243 2010-02-22  Eric Blake  <eblake@redhat.com>
70245         lseek: avoid bash 3.2 broken pipe bug
70246         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
70247         warning from bash 3.2.
70248         Reported by Ben Pfaff, with analysis from Bruno Haible.
70250         bootstrap: support non-FSF copyright holder
70251         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
70252         bootstrap.conf override of COPYRIGHT_HOLDER.
70253         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
70255         bootstrap: interoperate with gettext 0.14.1
70256         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
70258         bootstrap: allow for alternate submodule location
70259         * build-aux/bootstrap (gnulib_path): New variable; use instead of
70260         hardcoding submodule location.
70261         (gnulib_mk): Allow direct use of Makefile.am.
70263         bootstrap: use GNULIB_SRCDIR to reduce disk usage
70264         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
70265         rather than reconfiguring where the submodule points.
70267         gettimeofday: restore support for platforms that lack function
70268         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
70269         replacement if function is missing.
70270         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
70271         * modules/sys_time (Makefile.am): Substitute it.
70272         * lib/sys_time.in.h (gettimeofday): Check it.
70273         Reported by Michael Goffioul.
70275 2010-02-21  Bruno Haible  <bruno@clisp.org>
70277         * lib/stdio.in.h (obstack_printf): Fix typo.
70279 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
70281         vc-list-files: use bzr ls's -R option
70282         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
70283         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
70285 2010-02-21  Jim Meyering  <meyering@redhat.com>
70287         init.sh: fix EXEEXT shims to work also for names like test-prog
70288         * tests/init.sh: Re-exec a better shell, when needed.
70289         If the current shell lacks support for posix $(...), an init.sh-using
70290         test will now try to find a shell that supports that.  If EXEEXT is
70291         nonempty, we also require support for hyphen-in-alias-name and shell
70292         substitutions like ${var#glob}.  Failure to find such a shell results
70293         in a skipped test.
70295 2010-02-21  Bruno Haible  <bruno@clisp.org>
70297         Really work around "broken pipe" error message from bash 3.2.
70298         * gnulib-tool (func_reset_sigpipe): Remove function.
70299         (echo): In bash 3.2, define to a function that uses printf.
70300         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
70302 2010-02-20  Bruno Haible  <bruno@clisp.org>
70304         Restore support for automake 1.9.6 with autoconf 2.61.
70305         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
70306         Reported by James Youngman <jay@gnu.org>.
70308 2010-02-20  Bruno Haible  <bruno@clisp.org>
70310         Improve *printf warning condition.
70311         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
70312         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
70313         and the function is overridden due to SIGPIPE emulation.
70315 2010-02-20  Bruno Haible  <bruno@clisp.org>
70317         * lib/stdio.in.h: Tweak comments.
70319 2010-02-19  Bruno Haible  <bruno@clisp.org>
70321         Make it easier to find modules. New gnulib-tool option '--find'.
70322         * gnulib-tool: New option --find.
70323         (func_usage): Document it.
70324         (func_sanitize_modulelist): New function, extracted from
70325         func_all_modules.
70326         (func_all_modules): Invoke it.
70327         * doc/gnulib-tool.texi (Which modules?): New node.
70329 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
70331         * lib/sys_select.in.h: Provide select replacement even if
70332         sys/select.h exists on a system, for Interix.
70334 2010-02-18  Jim Meyering  <meyering@redhat.com>
70336         init.sh: don't use $(...) just yet
70337         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
70338         to accommodate e.g., Solaris' /bin/sh.
70340 2010-02-17  Bruno Haible  <bruno@clisp.org>
70342         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
70343         Reported by Ludovic Courtès <ludo@gnu.org>.
70345 2010-02-16  Simon Josefsson  <simon@josefsson.org>
70347         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
70348         linking with -lintl.
70350 2010-02-17  Simon Josefsson  <simon@josefsson.org>
70352         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
70353         if not provided by the system's netdb.h.  Reported by
70354         ludo@gnu.org (Ludovic Courtès).
70356 2010-02-15  Jim Meyering  <meyering@redhat.com>
70358         init.sh: improve portability and efficiency
70359         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
70360         "dummy" in a for loop.
70361         Use '!', not '^' to select the complement of a character set used
70362         in a "case" statement.
70363         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
70364         Suggestions from Eric Blake.
70366         init.sh: automatically accommodate programs with the .exe suffix
70367         Automatically arrange for an invocation of "prog" to execute the
70368         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
70369         may use the simpler "prog", yet still work when built on a system
70370         that requires specifying the added suffix.
70371         Do this by constructing a function named "prog" that invokes
70372         "prog.exe" for each .exe file in selected directories.
70373         * tests/init.sh (find_exe_basenames_): New function.
70374         (create_exe_shim_functions_): New function.
70375         (path_prepend_): Use it.
70377         maint.mk: mark syntax-check sc_*.m rules as .PHONY
70378         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
70379         "make -t syntax-check" doesn't create a ton of sc_*.m files.
70381 2010-02-14  Jim Meyering  <meyering@redhat.com>
70383         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
70384         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
70385         (sc_prohibit_hash_pjw_without_use): New rule.
70387         maint.mk: allow the default upload destination dir to be overridden
70388         * top/maint.mk (upload_dest_dir_): Define with a default that
70389         preserves the status quo.
70390         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
70391         Reported by Peter Simons.
70393         maint.mk: prohibit inclusion of "hash.h" without_use
70394         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
70396 2010-02-10  Jim Meyering  <meyering@redhat.com>
70398         maint.mk: prohibit inclusion of "ignore-value.h" without_use
70399         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
70401 2010-02-09  Eric Blake  <ebb9@byu.net>
70402         and Bruno Haible  <bruno@clisp.org>
70404         obstack-printf-posix: ensure declaration
70405         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
70406         extracted from gl_FUNC_OBSTACK_PRINTF.
70407         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
70408         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
70409         Likewise.
70410         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
70411         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
70412         0.
70414 2010-02-08  Bruno Haible  <bruno@clisp.org>
70416         gnulib-tool: Fix typo in 2010-02-07 commit.
70417         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
70418         Reported by Eric Blake.
70420 2010-02-07  Bruno Haible  <bruno@clisp.org>
70422         gnulib-tool: Fix up caching patches.
70423         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
70424         option --no-cache. Use associative arrays when supported by the shell.
70425         (sed_comments): New variable.
70426         (modcache): Renamed from do_cache.
70427         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
70428         abbreviate unnecessarily.
70429         (have_associative): New variable.
70430         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
70431         way also for ksh and zsh.
70432         (func_init_sed_convert_to_cache_statements): New function, extracted
70433         from func_cache_lookup_module. Add support for associative arrays.
70434         Don't set the c_MODULE_cached variable here. Ignore all lines before
70435         the first field header. Remove only the final newline, not all trailing
70436         newlines. Support empty fields correctly. Limit the use of 'eval' to
70437         assignments.
70438         (func_get_description, func_get_status, func_get_notice,
70439         func_get_applicability, func_get_filelist, func_get_dependencies,
70440         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
70441         func_get_automake_snippet, func_get_include_directive,
70442         func_get_link_directive, func_get_license, func_get_maintainer):
70443         Update documentation. List the unoptimized code first. Add support for
70444         associative arrays. Limit the use of 'eval' to assignments.
70445         (func_get_applicability): Undo stylistic pessimisations.
70446         (func_get_automake_snippet, func_get_include_directive): Reduce code
70447         duplication.
70448         (func_modules_transitive_closure, func_modules_add_dummy,
70449         func_modules_notice, func_modules_to_filelist, func_add_file,
70450         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
70451         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
70452         func_create_testdir, func_create_megatestdir): Update documentation.
70454 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70456         * gnulib-tool (func_cache_lookup_module): Store the module name
70457         belonging to the cache variable; error out if two different
70458         module names map to the same cache variable name.
70460 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70462         gnulib-tool: Make caching optional.
70463         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
70464         Update matching short versions of --no-changelog.
70465         (func_usage): Update.
70466         (sed_extract_cache_prog): Renamed from ...
70467         (sed_extract_prog): ... this; revert to old extraction script.
70468         (func_get_description, func_get_status)
70469         (func_get_notice, func_get_applicability, func_get_filelist)
70470         (func_get_dependencies, func_get_autoconf_early_snippet)
70471         (func_get_autoconf_snippet, func_get_automake_snippet)
70472         (func_get_include_directive, func_get_link_directive)
70473         (func_get_license, func_get_maintainer): If $do_cache is false,
70474         use old, non-caching extraction scripts.
70475         Suggestion by Bruno Haible.
70477 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70479         gnulib-tool: cache module metainformation.
70480         * gnulib-tool (sed_extract_prog): Match newline before each
70481         header, and rewrite header to a shell variable suffix.
70482         (func_cache_var, func_cache_lookup_module): New functions,
70483         to turn a module name into a cache variable prefix, and to
70484         look up and cache module metainformation.
70485         (func_get_description, func_get_status)
70486         (func_get_notice, func_get_applicability, func_get_filelist)
70487         (func_get_dependencies, func_get_autoconf_early_snippet)
70488         (func_get_autoconf_snippet, func_get_automake_snippet)
70489         (func_get_include_directive, func_get_link_directive)
70490         (func_get_license, func_get_maintainer): Use
70491         func_cache_lookup_module.
70493 2010-02-07  Bruno Haible  <bruno@clisp.org>
70495         fnctl: Fix missing dependency.
70496         * modules/fcntl (Depends-on): Add getdtablesize.
70497         Reported by John W. Eaton <jwe@gnu.org>.
70499 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
70501         Argp: fix recognition of short alias options.
70503         * lib/argp-parse.c (convert_options): Fix improper use of
70504         `|' between character values.
70505         * tests/test-argp.c (group1_option): New alias option
70506         --read (-r).
70507         (group1_parser): Special handling for 'r'.
70508         (test15): New test case.
70509         (test_fun): Add test15.
70510         * tests/test-argp-2.sh: Update expected --help and --usage
70511         outputs.
70513 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
70515         * tests/test-argp.c: Fix indentation.
70517 2010-02-04  Eric Blake  <ebb9@byu.net>
70519         gettimeofday: expose type of second argument
70520         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
70521         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
70522         * tests/test-gettimeofday.c: Use it to silence warning.
70523         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
70524         the issue.
70526 2010-02-03  Jim Meyering  <meyering@redhat.com>
70528         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
70529         * lib/regcomp.c (TYPE_SIGNED): Define.
70530         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
70532         regcomp.c: avoid a new -Wshadow warning
70533         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
70535 2010-02-01  Jim Meyering  <meyering@redhat.com>
70537         removing useless parentheses in cpp #define directives
70538         For motivation, see commit c0221df4, "define STREQ(a,b)
70539         consistently, removing useless parentheses"
70540         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
70541         * lib/mountlist.c (MNT_IGNORE): Likewise.
70542         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
70544 2010-02-01  Eric Blake  <ebb9@byu.net>
70546         sys_time: use link-warning
70547         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
70548         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
70549         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
70550         * modules/sys_time (Depends-on): Add warn-on-use.
70551         (Makefile.am): Always build replacement.
70552         (configure.ac): Update substitutions.
70553         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
70554         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
70555         bother with SYS_TIME_H.
70556         * modules/gettimeofday (configure.ac): Declare indicator.
70557         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
70558         in use.
70560         closein-tests: silence compiler warning
70561         * tests/test-closein.c (main): Ignore fread result.
70562         * modules/closein-tests (Depends-on): Add ignore-value.
70564         tests: silence warning about system return
70565         * tests/test-areadlink-with-size.c (main): Ignore system result.
70566         * tests/test-areadlink.c (main): Likewise.
70567         * tests/test-areadlinkat-with-size.c (main): Likewise.
70568         * tests/test-areadlinkat.c (main): Likewise.
70569         * tests/test-canonicalize-lgpl.c (main): Likewise.
70570         * tests/test-canonicalize.c (main): Likewise.
70571         * tests/test-chown.c (main): Likewise.
70572         * tests/test-fchownat.c (main): Likewise.
70573         * tests/test-fdutimensat.c (main): Likewise.
70574         * tests/test-fstatat.c (main): Likewise.
70575         * tests/test-futimens.c (main): Likewise.
70576         * tests/test-lchown.c (main): Likewise.
70577         * tests/test-link.c (main): Likewise.
70578         * tests/test-linkat.c (main): Likewise.
70579         * tests/test-lstat.c (main): Likewise.
70580         * tests/test-mkdir.c (main): Likewise.
70581         * tests/test-mkdirat.c (main): Likewise.
70582         * tests/test-mkfifo.c (main): Likewise.
70583         * tests/test-mkfifoat.c (main): Likewise.
70584         * tests/test-mknod.c (main): Likewise.
70585         * tests/test-readlink.c (main): Likewise.
70586         * tests/test-remove.c (main): Likewise.
70587         * tests/test-rename.c (main): Likewise.
70588         * tests/test-renameat.c (main): Likewise.
70589         * tests/test-rmdir.c (main): Likewise.
70590         * tests/test-symlink.c (main): Likewise.
70591         * tests/test-symlinkat.c (main): Likewise.
70592         * tests/test-unlink.c (main): Likewise.
70593         * tests/test-unlinkat.c (main): Likewise.
70594         * tests/test-utimens.c (main): Likewise.
70595         * tests/test-utimensat.c (main): Likewise.
70596         * modules/areadlink-tests (Depends-on): Add ignore-value.
70597         * modules/areadlink-with-size-tests (Depends-on): Likewise.
70598         * modules/areadlinkat-tests (Depends-on): Likewise.
70599         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
70600         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
70601         * modules/canonicalize-tests (Depends-on): Likewise.
70602         * modules/chown-tests (Depends-on): Likewise.
70603         * modules/fdutimensat-tests (Depends-on): Likewise.
70604         * modules/futimens-tests (Depends-on): Likewise.
70605         * modules/lchown-tests (Depends-on): Likewise.
70606         * modules/link-tests (Depends-on): Likewise.
70607         * modules/linkat-tests (Depends-on): Likewise.
70608         * modules/lstat-tests (Depends-on): Likewise.
70609         * modules/mkdir-tests (Depends-on): Likewise.
70610         * modules/mkfifo-tests (Depends-on): Likewise.
70611         * modules/mkfifoat-tests (Depends-on): Likewise.
70612         * modules/mknod-tests (Depends-on): Likewise.
70613         * modules/openat-tests (Depends-on): Likewise.
70614         * modules/readlink-tests (Depends-on): Likewise.
70615         * modules/remove-tests (Depends-on): Likewise.
70616         * modules/rename-tests (Depends-on): Likewise.
70617         * modules/renameat-tests (Depends-on): Likewise.
70618         * modules/rmdir-tests (Depends-on): Likewise.
70619         * modules/symlink-tests (Depends-on): Likewise.
70620         * modules/symlinkat-tests (Depends-on): Likewise.
70621         * modules/unlink-tests (Depends-on): Likewise.
70622         * modules/utimens-tests (Depends-on): Likewise.
70623         * modules/utimensat-tests (Depends-on): Likewise.
70625 2010-01-31  Bruno Haible  <bruno@clisp.org>
70627         Perform the same test for many <math.h> functions.
70628         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
70629         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
70630         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
70631         of gl_MATHFUNC.
70632         * modules/acos (configure.ac): Likewise.
70633         * modules/asin (configure.ac): Likewise.
70634         * modules/atan (configure.ac): Likewise.
70635         * modules/atan2 (configure.ac): Likewise.
70636         * modules/cbrt (configure.ac): Likewise.
70637         * modules/copysign (configure.ac): Likewise.
70638         * modules/cos (configure.ac): Likewise.
70639         * modules/cosh (configure.ac): Likewise.
70640         * modules/erf (configure.ac): Likewise.
70641         * modules/erfc (configure.ac): Likewise.
70642         * modules/exp (configure.ac): Likewise.
70643         * modules/fmod (configure.ac): Likewise.
70644         * modules/hypot (configure.ac): Likewise.
70645         * modules/j0 (configure.ac): Likewise.
70646         * modules/j1 (configure.ac): Likewise.
70647         * modules/jn (configure.ac): Likewise.
70648         * modules/lgamma (configure.ac): Likewise.
70649         * modules/log (configure.ac): Likewise.
70650         * modules/log10 (configure.ac): Likewise.
70651         * modules/log1p (configure.ac): Likewise.
70652         * modules/pow (configure.ac): Likewise.
70653         * modules/remainder (configure.ac): Likewise.
70654         * modules/sin (configure.ac): Likewise.
70655         * modules/sinh (configure.ac): Likewise.
70656         * modules/tan (configure.ac): Likewise.
70657         * modules/tanh (configure.ac): Likewise.
70658         * modules/y0 (configure.ac): Likewise.
70659         * modules/y1 (configure.ac): Likewise.
70660         * modules/yn (configure.ac): Likewise.
70661         Suggested by Paolo Bonzini.
70663 2010-01-31  Bruno Haible  <bruno@clisp.org>
70665         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
70667 2010-01-31  Bruno Haible  <bruno@clisp.org>
70669         Work around getdelim() bug on FreeBSD 8.0.
70670         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
70671         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
70672         not work.
70673         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
70674         is 1.
70675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
70676         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
70677         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
70678         a non-zero size.
70679         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
70681 2010-01-31  Bruno Haible  <bruno@clisp.org>
70683         Work around getline() bug on FreeBSD 8.0.
70684         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
70685         and a non-zero size.
70686         * tests/test-getline.c (main): Likewise.
70687         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
70688         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
70690 2010-01-28  Eric Blake  <ebb9@byu.net>
70692         regex: fix build failure
70693         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
70694         platforms.
70696 2010-01-28  Jim Meyering  <meyering@redhat.com>
70698         regex: do not ignore memory allocation failure
70699         * lib/regex_internal.c (create_cd_newstate): Detect
70700         re_node_set_init_copy failure.   Extracted from glibc commit
70701         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
70703         regex: sync more white-space changes from libc
70704         * lib/regex_internal.c: White-space only changes.
70705         * lib/regexec.c: Likewise.
70707         regex: add many uses of __attribute_warn_unused_result__
70708         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
70709         * lib/regexec.c: Likewise.
70710         Extracted from a messy glibc commit.
70712         regcomp.c: spelling and merge-artifact from glibc
70713         * lib/regcomp.c: Merge remainder of glibc's
70714         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
70716         regcomp.c: sync white-space changes from glibc
70717         * lib/regcomp.c: Merge to accommodate white space
70718         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
70720         regcomp.c: do not ignore internal return values
70721         * lib/regcomp.c: Do not ignore internal return values.
70722         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
70723         but without its white-space changes and spelling fixes.
70725         regex_internal.h: define __attribute_warn_unused_result__
70726         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
70728         maint: add a syntax-check rule to check for vulnerable Makefile.in
70729         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
70731 2010-01-27  Jim Meyering  <meyering@redhat.com>
70733         ncftpput-ftp: clean up spaces
70734         * build-aux/ncftpput-ftp: Make Copyright line consistent.
70735         Remove trailing blanks.
70737 2010-01-27  Simon Josefsson  <simon@josefsson.org>
70739         * build-aux/git-version-gen: Fix copyright statement.
70740         * build-aux/gnupload: Likewise.
70741         * tests/test-arcfour.c: Likewise.
70742         * tests/test-arctwo.c: Likewise.
70743         * tests/test-count-one-bits.c: Likewise.
70744         * tests/test-crc.c: Likewise.
70745         * tests/test-des.c: Likewise.
70746         * tests/test-gc-arcfour.c: Likewise.
70747         * tests/test-gc-arctwo.c: Likewise.
70748         * tests/test-gc-des.c: Likewise.
70749         * tests/test-gc-hmac-md5.c: Likewise.
70750         * tests/test-gc-hmac-sha1.c: Likewise.
70751         * tests/test-gc-md2.c: Likewise.
70752         * tests/test-gc-md4.c: Likewise.
70753         * tests/test-gc-md5.c: Likewise.
70754         * tests/test-gc-pbkdf2-sha1.c: Likewise.
70755         * tests/test-gc-rijndael.c: Likewise.
70756         * tests/test-gc-sha1.c: Likewise.
70757         * tests/test-gc.c: Likewise.
70758         * tests/test-gethostname.c: Likewise.
70759         * tests/test-gettimeofday.c: Likewise.
70760         * tests/test-hash.c: Likewise.
70761         * tests/test-hmac-md5.c: Likewise.
70762         * tests/test-hmac-sha1.c: Likewise.
70763         * tests/test-md2.c: Likewise.
70764         * tests/test-md4.c: Likewise.
70765         * tests/test-md5.c: Likewise.
70766         * tests/test-memchr.c: Likewise.
70767         * tests/test-memchr2.c: Likewise.
70768         * tests/test-memcmp.c: Likewise.
70769         * tests/test-memmem.c: Likewise.
70770         * tests/test-memrchr.c: Likewise.
70771         * tests/test-rawmemchr.c: Likewise.
70772         * tests/test-read-file.c: Likewise.
70773         * tests/test-rijndael.c: Likewise.
70774         * tests/test-sockets.c: Likewise.
70775         * tests/test-strchrnul.c: Likewise.
70776         * tests/test-strstr.c: Likewise.
70777         * tests/test-strtod.c: Likewise.
70778         * build-aux/ncftpput-ftp: Likewise.
70780 2010-01-26  Eric Blake  <ebb9@byu.net>
70782         ignore-value: update recommended header name
70783         * modules/ignore-value (Include): Only use <> for headers that
70784         exist in glibc.
70786 2010-01-26  Jim Meyering  <meyering@redhat.com>
70788         test-userspec.c: avoid compiler warnings
70789         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
70790         and "initialization discards qualifiers..." warnings.
70791         Put the first "uid" in its own scope, and make char* members "const".
70793 2010-01-25  Bruno Haible  <bruno@clisp.org>
70795         gnulib-tool: Make warning diagnostics consistent.
70796         * gnulib-tool (func_warning): New function.
70797         Use it everywhere where gnulib-tool produces output to stderr and it is
70798         not a fatal error.
70800 2010-01-25  Bruno Haible  <bruno@clisp.org>
70802         Fix test dependencies.
70803         * modules/xstrtol-tests (Depends-on): Add inttypes.
70804         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
70806 2010-01-25  Pádraig Brady  <P@draigBrady.com>
70808         syntax-check: detect incorrect boolean macro values in config.h
70809         * modules/maintainer-makefile (configure.ac): Parameterize the location
70810         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
70811         The logic is from Eric Blake and the location indicated by Jim Meyering.
70812         Note the more natural CONFIG_HEADER name is prohibited by automake
70813         for backwards compatibility reasons.
70814         * top/maint.mk (sc_Wundef_boolean): New rule.
70816 2010-01-25  Jim Meyering  <meyering@redhat.com>
70818         bootstrap: detect MacOS 10.6's shasum, too
70819         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
70820         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
70822 2010-01-23  Jim Meyering  <meyering@redhat.com>
70824         xstrtoll: new module
70825         * modules/xstrtoll: New file.
70826         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
70827         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
70828         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
70829         ./configure fails if you use this module and lack "long long".
70830         * modules/xstrtoll-tests: New module.
70831         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
70832         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
70833         new init.sh-based test framework.
70835 2010-01-24  Bruno Haible  <bruno@clisp.org>
70837         Tests for module 'yn'.
70838         * modules/yn-tests: New file.
70839         * tests/test-yn.c: New file.
70841         Tests for module 'y1'.
70842         * modules/y1-tests: New file.
70843         * tests/test-y1.c: New file.
70845         Tests for module 'y0'.
70846         * modules/y0-tests: New file.
70847         * tests/test-y0.c: New file.
70849         Tests for module 'tanh'.
70850         * modules/tanh-tests: New file.
70851         * tests/test-tanh.c: New file.
70853         Tests for module 'tan'.
70854         * modules/tan-tests: New file.
70855         * tests/test-tan.c: New file.
70857         Tests for module 'sqrt'.
70858         * modules/sqrt-tests: New file.
70859         * tests/test-sqrt.c: New file.
70861         Tests for module 'sinh'.
70862         * modules/sinh-tests: New file.
70863         * tests/test-sinh.c: New file.
70865         Tests for module 'sin'.
70866         * modules/sin-tests: New file.
70867         * tests/test-sin.c: New file.
70869         Tests for module 'rint'.
70870         * modules/rint-tests: New file.
70871         * tests/test-rint.c: New file.
70873         Tests for module 'remainder'.
70874         * modules/remainder-tests: New file.
70875         * tests/test-remainder.c: New file.
70877         Tests for module 'pow'.
70878         * modules/pow-tests: New file.
70879         * tests/test-pow.c: New file.
70881         Tests for module 'nextafter'.
70882         * modules/nextafter-tests: New file.
70883         * tests/test-nextafter.c: New file.
70885         Tests for module 'modf'.
70886         * modules/modf-tests: New file.
70887         * tests/test-modf.c: New file.
70889         Tests for module 'logb'.
70890         * modules/logb-tests: New file.
70891         * tests/test-logb.c: New file.
70893         Tests for module 'log1p'.
70894         * modules/log1p-tests: New file.
70895         * tests/test-log1p.c: New file.
70897         Tests for module 'log10'.
70898         * modules/log10-tests: New file.
70899         * tests/test-log10.c: New file.
70901         Tests for module 'log'.
70902         * modules/log-tests: New file.
70903         * tests/test-log.c: New file.
70905         Tests for module 'lgamma'.
70906         * modules/lgamma-tests: New file.
70907         * tests/test-lgamma.c: New file.
70909         Tests for module 'ldexp'.
70910         * modules/ldexp-tests: New file.
70911         * tests/test-ldexp.c: New file.
70913         Tests for module 'jn'.
70914         * modules/jn-tests: New file.
70915         * tests/test-jn.c: New file.
70917         Tests for module 'j1'.
70918         * modules/j1-tests: New file.
70919         * tests/test-j1.c: New file.
70921         Tests for module 'j0'.
70922         * modules/j0-tests: New file.
70923         * tests/test-j0.c: New file.
70925         Tests for module 'hypot'.
70926         * modules/hypot-tests: New file.
70927         * tests/test-hypot.c: New file.
70929         Tests for module 'fmod'.
70930         * modules/fmod-tests: New file.
70931         * tests/test-fmod.c: New file.
70933         Tests for module 'fabs'.
70934         * modules/fabs-tests: New file.
70935         * tests/test-fabs.c: New file.
70937         Tests for module 'exp'.
70938         * modules/exp-tests: New file.
70939         * tests/test-exp.c: New file.
70941         Tests for module 'erfc'.
70942         * modules/erfc-tests: New file.
70943         * tests/test-erfc.c: New file.
70945         Tests for module 'erf'.
70946         * modules/erf-tests: New file.
70947         * tests/test-erf.c: New file.
70949         Tests for module 'cosh'.
70950         * modules/cosh-tests: New file.
70951         * tests/test-cosh.c: New file.
70953         Tests for module 'cos'.
70954         * modules/cos-tests: New file.
70955         * tests/test-cos.c: New file.
70957         Tests for module 'copysign'.
70958         * modules/copysign-tests: New file.
70959         * tests/test-copysign.c: New file.
70961         Tests for module 'cbrt'.
70962         * modules/cbrt-tests: New file.
70963         * tests/test-cbrt.c: New file.
70965         Tests for module 'atan2'.
70966         * modules/atan2-tests: New file.
70967         * tests/test-atan2.c: New file.
70969         Tests for module 'atan'.
70970         * modules/atan-tests: New file.
70971         * tests/test-atan.c: New file.
70973         Tests for module 'asin'.
70974         * modules/asin-tests: New file.
70975         * tests/test-asin.c: New file.
70977         Tests for module 'acos'.
70978         * modules/acos-tests: New file.
70979         * tests/test-acos.c: New file.
70981 2010-01-24  Bruno Haible  <bruno@clisp.org>
70983         Fix tests for common <math.h> functions.
70984         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
70985         code snippet that references the function pointer, rather than merely
70986         calling the function. Substitute the FUNC_LIBM variable.
70987         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
70988         * modules/acos (configure.ac): Likewise.
70989         * modules/asin (configure.ac): Likewise.
70990         * modules/atan (configure.ac): Likewise.
70991         * modules/atan2 (configure.ac): Likewise.
70992         * modules/cbrt (configure.ac): Likewise.
70993         * modules/copysign (configure.ac): Likewise.
70994         * modules/cos (configure.ac): Likewise.
70995         * modules/cosh (configure.ac): Likewise.
70996         * modules/erf (configure.ac): Likewise.
70997         * modules/erfc (configure.ac): Likewise.
70998         * modules/exp (configure.ac): Likewise.
70999         * modules/fabs (configure.ac): Likewise.
71000         * modules/fmod (configure.ac): Likewise.
71001         * modules/hypot (configure.ac): Likewise.
71002         * modules/j0 (configure.ac): Likewise.
71003         * modules/j1 (configure.ac): Likewise.
71004         * modules/jn (configure.ac): Likewise.
71005         * modules/ldexp (configure.ac): Likewise.
71006         * modules/lgamma (configure.ac): Likewise.
71007         * modules/log (configure.ac): Likewise.
71008         * modules/log10 (configure.ac): Likewise.
71009         * modules/log1p (configure.ac): Likewise.
71010         * modules/logb (configure.ac): Likewise.
71011         * modules/modf (configure.ac): Likewise.
71012         * modules/nextafter (configure.ac): Likewise.
71013         * modules/pow (configure.ac): Likewise.
71014         * modules/remainder (configure.ac): Likewise.
71015         * modules/rint (configure.ac): Likewise.
71016         * modules/sin (configure.ac): Likewise.
71017         * modules/sinh (configure.ac): Likewise.
71018         * modules/tan (configure.ac): Likewise.
71019         * modules/tanh (configure.ac): Likewise.
71020         * modules/y0 (configure.ac): Likewise.
71021         * modules/y1 (configure.ac): Likewise.
71022         * modules/yn (configure.ac): Likewise.
71024 2010-01-24  Bruno Haible  <bruno@clisp.org>
71026         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
71027         * tests/test-acosl.c (x): New variable.
71028         (main): Store argument in x and fetch it from x.
71029         * tests/test-asinl.c (x): New variable.
71030         (main): Store argument in x and fetch it from x.
71031         * tests/test-atanl.c (x): New variable.
71032         (main): Store argument in x and fetch it from x.
71033         * tests/test-cosl.c (x): New variable.
71034         (main): Store argument in x and fetch it from x.
71035         * tests/test-expl.c (x): New variable.
71036         (main): Store argument in x and fetch it from x.
71037         * tests/test-logl.c (x): New variable.
71038         (main): Store argument in x and fetch it from x.
71039         * tests/test-sinl.c (x): New variable.
71040         (main): Store argument in x and fetch it from x.
71041         * tests/test-sqrtl.c (x): New variable.
71042         (main): Store argument in x and fetch it from x.
71043         * tests/test-tanl.c (x): New variable.
71044         (main): Store argument in x and fetch it from x.
71046 2010-01-24  Bruno Haible  <bruno@clisp.org>
71048         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
71049         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
71050         assignments to the initial TESTS_ENVIRONMENT.
71051         * doc/gnulib.texi (Unit test modules): Document it.
71052         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
71053         TESTS_ENVIRONMENT.
71054         * modules/btowc-tests (Makefile.am): Likewise.
71055         * modules/c-stack-tests (Makefile.am): Likewise.
71056         * modules/c-strcase-tests (Makefile.am): Likewise.
71057         * modules/copy-file-tests (Makefile.am): Likewise.
71058         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
71059         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
71060         * modules/mbrtowc-tests (Makefile.am): Likewise.
71061         * modules/mbscasecmp-tests (Makefile.am): Likewise.
71062         * modules/mbscasestr-tests (Makefile.am): Likewise.
71063         * modules/mbschr-tests (Makefile.am): Likewise.
71064         * modules/mbscspn-tests (Makefile.am): Likewise.
71065         * modules/mbsinit-tests (Makefile.am): Likewise.
71066         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
71067         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
71068         * modules/mbspbrk-tests (Makefile.am): Likewise.
71069         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
71070         * modules/mbsrchr-tests (Makefile.am): Likewise.
71071         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
71072         * modules/mbsspn-tests (Makefile.am): Likewise.
71073         * modules/mbsstr-tests (Makefile.am): Likewise.
71074         * modules/nl_langinfo-tests (Makefile.am): Likewise.
71075         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
71076         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
71077         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
71078         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
71079         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
71080         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
71081         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
71082         * modules/wcrtomb-tests (Makefile.am): Likewise.
71083         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
71084         * modules/wcsrtombs-tests (Makefile.am): Likewise.
71085         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
71086         assignments from TESTS_ENVIRONMENT.
71087         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
71088         augmentation.
71089         * modules/argp-version-etc-tests (Makefile.am): Likewise.
71090         * modules/atexit-tests (Makefile.am): Likewise.
71091         * modules/binary-io-tests (Makefile.am): Likewise.
71092         * modules/closein-tests (Makefile.am): Likewise.
71093         * modules/dprintf-posix-tests (Makefile.am): Likewise.
71094         * modules/exclude-tests (Makefile.am): Likewise.
71095         * modules/fflush-tests (Makefile.am): Likewise.
71096         * modules/fpending-tests (Makefile.am): Likewise.
71097         * modules/fprintf-posix-tests (Makefile.am): Likewise.
71098         * modules/freadahead-tests (Makefile.am): Likewise.
71099         * modules/freadptr-tests (Makefile.am): Likewise.
71100         * modules/freadseek-tests (Makefile.am): Likewise.
71101         * modules/fseek-tests (Makefile.am): Likewise.
71102         * modules/fseeko-tests (Makefile.am): Likewise.
71103         * modules/ftell-tests (Makefile.am): Likewise.
71104         * modules/ftello-tests (Makefile.am): Likewise.
71105         * modules/idpriv-drop-tests (Makefile.am): Likewise.
71106         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
71107         * modules/lseek-tests (Makefile.am): Likewise.
71108         * modules/parse-duration-tests (Makefile.am): Likewise.
71109         * modules/perror-tests (Makefile.am): Likewise.
71110         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
71111         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
71112         * modules/pipe-tests (Makefile.am): Likewise.
71113         * modules/pread-tests (Makefile.am): Likewise.
71114         * modules/printf-posix-tests (Makefile.am): Likewise.
71115         * modules/select-tests (Makefile.am): Likewise.
71116         * modules/sigpipe-tests (Makefile.am): Likewise.
71117         * modules/tsearch-tests (Makefile.am): Likewise.
71118         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
71119         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
71120         * modules/uniname/uniname-tests (Makefile.am): Likewise.
71121         * modules/uniwidth/width-tests (Makefile.am): Likewise.
71122         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
71123         * modules/version-etc-tests (Makefile.am): Likewise.
71124         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
71125         * modules/vprintf-posix-tests (Makefile.am): Likewise.
71126         * modules/xalloc-die-tests (Makefile.am): Likewise.
71127         * modules/xprintf-posix-tests (Makefile.am): Likewise.
71128         * modules/xstrtoimax-tests (Makefile.am): Likewise.
71129         * modules/xstrtol-tests (Makefile.am): Likewise.
71130         * modules/xstrtoumax-tests (Makefile.am): Likewise.
71131         * modules/yesno-tests (Makefile.am): Likewise.
71132         Suggested by Jim Meyering.
71134 2010-01-24  Bruno Haible  <bruno@clisp.org>
71136         More documentation.
71137         * doc/gnulib.texi (Writing modules): New chapter.
71138         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
71139         the new chapter.
71141 2010-01-24  Jim Meyering  <meyering@redhat.com>
71143         maint.mk: do not prepend "./" after filtering
71144         * top/maint.mk (_prepend_srcdir_prefix): New variable
71145         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
71146         "./" when $(srcdir) is ".".
71148         define STREQ(a,b) consistently, removing useless parentheses
71149         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
71150         since the only risk is that "a" or "b" contains an unparenthesized
71151         comma, but if either did that, STREQ would have 3 or more arguments.
71152         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
71153         * lib/fts.c (STREQ): Remove unnecessary parentheses.
71154         * lib/hash-triple.c (STREQ): Likewise.
71155         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
71156         * lib/getugroups.c (STREQ): Likewise.
71158 2010-01-23  Jim Meyering  <meyering@redhat.com>
71160         maint.mk: fix syntax-check in a non-srcdir build directory
71161         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
71162         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
71164 2010-01-22  Jim Meyering  <meyering@redhat.com>
71166         userspec: add unit tests
71167         * tests/test-userspec.c: New file.
71168         * modules/userspec-tests: Likewise.
71170 2010-01-21  Jim Meyering  <meyering@redhat.com>
71172         maint.mk: handle source file names containing "." robustly
71173         * top/maint.mk (_dot_escaped_srcdir): Define.
71174         (VC_LIST): Use it in LHS of sed substitution.
71176 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
71178         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
71179         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
71180         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
71181         from a non-srcdir build.
71183 2010-01-20  Eric Blake  <ebb9@byu.net>
71185         warn-on-use: use instead of link-warning
71186         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
71187         * modules/unistd (Depends-on, Makefile.am): Likewise.
71188         * modules/arpa_inet (Depends-on): Replace link-warning with
71189         warn-on-use.
71190         (Makefile.am): Update rules accordingly.
71191         * modules/ctype (Depends-on, Makefile.am): Likewise.
71192         * modules/dirent (Depends-on, Makefile.am): Likewise.
71193         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
71194         * modules/inttypes (Depends-on, Makefile.am): Likewise.
71195         * modules/langinfo (Depends-on, Makefile.am): Likewise.
71196         * modules/locale (Depends-on, Makefile.am): Likewise.
71197         * modules/math (Depends-on, Makefile.am): Likewise.
71198         * modules/search (Depends-on, Makefile.am): Likewise.
71199         * modules/signal (Depends-on, Makefile.am): Likewise.
71200         * modules/spawn (Depends-on, Makefile.am): Likewise.
71201         * modules/stdlib (Depends-on, Makefile.am): Likewise.
71202         * modules/string (Depends-on, Makefile.am): Likewise.
71203         * modules/strings (Depends-on, Makefile.am): Likewise.
71204         * modules/sys_file (Depends-on, Makefile.am): Likewise.
71205         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
71206         * modules/sys_select (Depends-on, Makefile.am): Likewise.
71207         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
71208         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
71209         * modules/sys_times (Depends-on, Makefile.am): Likewise.
71210         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
71211         * modules/wchar (Depends-on, Makefile.am): Likewise.
71212         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
71213         should be poisoned.
71214         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
71215         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
71216         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
71217         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
71218         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
71219         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
71220         * m4/math_h.m4 (gl_MATH_H): Likewise.
71221         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
71222         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
71223         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
71224         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
71225         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
71226         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
71227         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
71228         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
71229         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
71230         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
71231         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
71232         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
71233         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
71234         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
71235         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
71236         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
71237         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
71238         GL_LINK_WARNING.
71239         * lib/ctype.in.h: Likewise.
71240         * lib/dirent.in.h: Likewise.
71241         * lib/fcntl.in.h: Likewise.
71242         * lib/inttypes.in.h: Likewise.
71243         * lib/langinfo.in.h: Likewise.
71244         * lib/locale.in.h: Likewise.
71245         * lib/math.in.h: Likewise.
71246         * lib/search.in.h: Likewise.
71247         * lib/signal.in.h: Likewise.
71248         * lib/spawn.in.h: Likewise.
71249         * lib/stdio.in.h: Likewise.
71250         * lib/stdlib.in.h: Likewise.
71251         * lib/string.in.h: Likewise.
71252         * lib/strings.in.h: Likewise.
71253         * lib/sys_file.in.h: Likewise.
71254         * lib/sys_ioctl.in.h: Likewise.
71255         * lib/sys_select.in.h: Likewise.
71256         * lib/sys_socket.in.h: Likewise.
71257         * lib/sys_stat.in.h: Likewise.
71258         * lib/sys_times.in.h: Likewise.
71259         * lib/sys_utsname.in.h: Likewise.
71260         * lib/unistd.in.h: Likewise.
71261         * lib/wchar.in.h: Likewise.
71263 2010-01-20  Bruno Haible  <bruno@clisp.org>
71265         Avoid duplicate -lm.
71266         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
71267         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
71268         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
71269         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
71270         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
71271         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
71272         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
71273         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
71274         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
71275         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
71276         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
71277         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
71278         Reported by Paolo Bonzini.
71280 2010-01-19  Bruno Haible  <bruno@clisp.org>
71282         langinfo, nl_langinfo: Relicense under LGPLv2+.
71283         * modules/langinfo (License): Change to LGPLv2+.
71284         * modules/nl_langinfo (License): Likewise.
71285         Patch by David Lutterkort <lutter@redhat.com>.
71287 2010-01-19  Bruno Haible  <bruno@clisp.org>
71289         Avoid compilation error with cc on OSF/1 5.1.
71290         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
71291         statement, not before.
71292         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71294 2010-01-18  Bruno Haible  <bruno@clisp.org>
71296         Avoid a link error due to the __printf__ symbol.
71297         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
71298         and 2.6.x.
71299         (__format__, __printf__): Remove definitions.
71300         * lib/argp-fmtstream.h: Likewise.
71301         * lib/argp.h: Likewise.
71302         * lib/error.h: Likewise.
71303         * lib/vasnprintf.h: Likewise.
71304         * lib/xprintf.h: Likewise.
71305         * lib/xvasprintf.h: Likewise.
71306         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71308 2010-01-18  Bruno Haible  <bruno@clisp.org>
71310         Tests for module 'tanl'.
71311         * modules/tanl-tests: New file.
71312         * tests/test-tanl.c: New file.
71314         Tests for module 'sqrtl'.
71315         * modules/sqrtl-tests: New file.
71316         * tests/test-sqrtl.c: New file.
71318         Tests for module 'sinl'.
71319         * modules/sinl-tests: New file.
71320         * tests/test-sinl.c: New file.
71322         Tests for module 'logl'.
71323         * modules/logl-tests: New file.
71324         * tests/test-logl.c: New file.
71326         Tests for module 'expl'.
71327         * modules/expl-tests: New file.
71328         * tests/test-expl.c: New file.
71330         Tests for module 'cosl'.
71331         * modules/cosl-tests: New file.
71332         * tests/test-cosl.c: New file.
71334         Tests for module 'atanl'.
71335         * modules/atanl-tests: New file.
71336         * tests/test-atanl.c: New file.
71338         Tests for module 'asinl'.
71339         * modules/asinl-tests: New file.
71340         * tests/test-asinl.c: New file.
71342         Tests for module 'acosl'.
71343         * modules/acosl-tests: New file.
71344         * tests/test-acosl.c: New file.
71346         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
71347         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
71348         tanl): Use the standard gnulib idiom.
71349         * lib/cosl.c: Don't include trigl.c and sincosl.c.
71350         * lib/sinl.c: Likewise.
71351         * lib/tanl.c: Don't include trigl.c.
71352         (kernel_tanl): Make static.
71353         * lib/sincosl.c: Include trigl.h first.
71354         * lib/trigl.c: Likewise.
71355         * m4/acosl.m4: New file.
71356         * m4/asinl.m4: New file.
71357         * m4/atanl.m4: New file.
71358         * m4/cosl.m4: New file.
71359         * m4/expl.m4: New file.
71360         * m4/logl.m4: New file.
71361         * m4/sinl.m4: New file.
71362         * m4/sqrtl.m4: New file.
71363         * m4/tanl.m4: New file.
71364         * m4/mathl.m4: Remove file.
71365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
71366         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
71367         Don't initialize GNULIB_MATHL.
71368         * modules/acosl: New file.
71369         * modules/asinl: New file.
71370         * modules/atanl: New file.
71371         * modules/cosl: New file.
71372         * modules/expl: New file.
71373         * modules/logl: New file.
71374         * modules/sinl: New file.
71375         * modules/sqrtl: New file.
71376         * modules/tanl: New file.
71377         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
71378         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
71379         substitute GNULIB_MATHL.
71380         * modules/mathl: Rewritten.
71381         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
71382         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
71383         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
71384         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
71385         * doc/posix-functions/expl.texi: Mention the 'expl' module.
71386         * doc/posix-functions/logl.texi: Mention the 'logl' module.
71387         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
71388         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
71389         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
71391 2010-01-18  Bruno Haible  <bruno@clisp.org>
71393         sqrt: Make gl_FUNC_SQRT requirable.
71394         * m4/sqrt.m4: New file.
71395         * modules/sqrt (Files): Add it.
71396         (configure.ac): Invoke gl_FUNC_SQRT.
71398 2010-01-18  Bruno Haible  <bruno@clisp.org>
71400         New modules for common <math.h> functions.
71401         * m4/mathfunc.m4: New file.
71402         * modules/acos: New file.
71403         * modules/asin: New file.
71404         * modules/atan: New file.
71405         * modules/atan2: New file.
71406         * modules/cbrt: New file.
71407         * modules/copysign: New file.
71408         * modules/cos: New file.
71409         * modules/cosh: New file.
71410         * modules/erf: New file.
71411         * modules/erfc: New file.
71412         * modules/exp: New file.
71413         * modules/fabs: New file.
71414         * modules/fmod: New file.
71415         * modules/hypot: New file.
71416         * modules/j0: New file.
71417         * modules/j1: New file.
71418         * modules/jn: New file.
71419         * modules/ldexp: New file.
71420         * modules/lgamma: New file.
71421         * modules/log: New file.
71422         * modules/log10: New file.
71423         * modules/log1p: New file.
71424         * modules/logb: New file.
71425         * modules/modf: New file.
71426         * modules/nextafter: New file.
71427         * modules/pow: New file.
71428         * modules/remainder: New file.
71429         * modules/rint: New file.
71430         * modules/sin: New file.
71431         * modules/sinh: New file.
71432         * modules/sqrt: New file.
71433         * modules/tan: New file.
71434         * modules/tanh: New file.
71435         * modules/y0: New file.
71436         * modules/y1: New file.
71437         * modules/yn: New file.
71438         * doc/posix-functions/acos.texi: Mention the 'acos' module.
71439         * doc/posix-functions/asin.texi: Mention the 'asin' module.
71440         * doc/posix-functions/atan.texi: Mention the 'atan' module.
71441         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
71442         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
71443         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
71444         * doc/posix-functions/cos.texi: Mention the 'cos' module.
71445         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
71446         * doc/posix-functions/erf.texi: Mention the 'erf' module.
71447         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
71448         * doc/posix-functions/exp.texi: Mention the 'exp' module.
71449         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
71450         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
71451         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
71452         * doc/posix-functions/j0.texi: Mention the 'j0' module.
71453         * doc/posix-functions/j1.texi: Mention the 'j1' module.
71454         * doc/posix-functions/jn.texi: Mention the 'jn' module.
71455         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
71456         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
71457         * doc/posix-functions/log.texi: Mention the 'log' module.
71458         * doc/posix-functions/log10.texi: Mention the 'log10' module.
71459         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
71460         * doc/posix-functions/logb.texi: Mention the 'logb' module.
71461         * doc/posix-functions/modf.texi: Mention the 'modf' module.
71462         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
71463         * doc/posix-functions/pow.texi: Mention the 'pow' module.
71464         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
71465         * doc/posix-functions/rint.texi: Mention the 'rint' module.
71466         * doc/posix-functions/sin.texi: Mention the 'sin' module.
71467         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
71468         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
71469         * doc/posix-functions/tan.texi: Mention the 'tan' module.
71470         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
71471         * doc/posix-functions/y0.texi: Mention the 'y0' module.
71472         * doc/posix-functions/y1.texi: Mention the 'y1' module.
71473         * doc/posix-functions/yn.texi: Mention the 'yn' module.
71475 2010-01-18  Jim Meyering  <meyering@redhat.com>
71477         ignore-value: relax license to LGPLv2+
71478         * modules/ignore-value (License): Relax to LGPLv2+.
71480         getdate: don't leak when TZ contains two or more '"'s
71481         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
71482         double quote in TZ after the first one.
71484         readtokens: do not leak internal token_lengths buffer
71485         * lib/readtokens.c (readtokens): Free the local, lengths,
71486         when the supplied "token_lengths" parameter is NULL.
71488 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71490         Fix a couple of missing LIBTHREAD link failures on AIX.
71491         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
71492         $(LIBTHREAD).
71493         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
71495         Link test-poll against INET_PTON_LIB.
71496         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
71497         for inet_pton on Solaris 10.
71499 2010-01-17  Bruno Haible  <bruno@clisp.org>
71501         unistdio/*-sprintf: Fix typo in module description.
71502         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
71503         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
71504         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
71505         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
71506         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
71507         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
71508         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
71509         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71511 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71513         gnulib-tool: fix filelist for AIX, HP-UX ksh.
71514         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
71515         variables in shell case patterns, for AIX and HP-UX ksh.
71517         Split large sed scripts, for HP-UX sed.
71518         * modules/stdio: Split sed scripts around 50 sed commands,
71519         to avoid HP-UX limit of 99 commands, in the near future.
71520         * modules/string: Likewise.
71521         * modules/unistd: Likewise.
71523         gnulib-tool: avoid writing in the current directory.
71524         * gnulib-tool (func_emit_lib_Makefile_am)
71525         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
71526         not in the current directory, so concurrent gnulib-tool
71527         instances do not interfere.
71529 2010-01-16  Jim Meyering  <meyering@redhat.com>
71531         doc: update users.txt
71532         * users.txt: Add grep.
71533         (diffutils, gzip): Update URLs.
71535 2010-01-12  Bruno Haible  <bruno@clisp.org>
71537         posix_spawn: Avoid test failure on Cygwin.
71538         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
71539         characters.
71540         Reported by Simon Josefsson.
71542 2010-01-12  Bruno Haible  <bruno@clisp.org>
71544         * tests/test-cond.c (main): When skipping the test, show the reason.
71546 2010-01-12  Simon Josefsson  <simon@josefsson.org>
71548         * lib/striconv.c (str_cd_iconv): Avoid if before free.
71550 2010-01-12  Simon Josefsson  <simon@josefsson.org>
71552         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
71553         VC_LIST_ALWAYS_EXCLUDE_REGEX.
71555 2010-01-12  Eric Blake  <ebb9@byu.net>
71557         build: guarantee AS_VAR_IF
71558         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
71559         (gl_AS_VAR_IF): Move...
71560         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
71561         Reported by Simon Josefsson.
71563 2010-01-12  Simon Josefsson  <simon@josefsson.org>
71565         * lib/stdio.in.h: Fix typo.
71567 2010-01-12  Simon Josefsson  <simon@josefsson.org>
71569         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
71570         libgpg-error.
71572 2010-01-12  Simon Josefsson  <simon@josefsson.org>
71574         * tests/test-xalloc-die.sh: Use $EXEEXT.
71576 2010-01-12  Simon Josefsson  <simon@josefsson.org>
71577             Bruno Haible  <bruno@clisp.org>
71579         getlogin, getlogin_r: Avoid test failure.
71580         * tests/test-getlogin.c: Include <stdio.h>.
71581         (main): Skip the test when the function fails because stdin is not a
71582         tty.
71583         * tests/test-getlogin_r.c: Include <stdio.h>.
71584         (main): Skip the test when the function fails because stdin is not a
71585         tty.
71587 2010-01-11  Eric Blake  <ebb9@byu.net>
71589         tests: avoid more large file warnings
71590         * tests/test-fflush.c: Avoid warning about ftell use.
71591         * tests/test-fseek.c: Avoid warning about fseek use.
71593 2010-01-10  Bruno Haible  <bruno@clisp.org>
71595         nproc: Work better on Linux when /proc and /sys are not mounted.
71596         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
71597         as lower bound when, on glibc/Linux systems,
71598         sysconf (_SC_NPROCESSORS_CONF) returns 1.
71599         Suggested by Pádraig Brady <P@draigbrady.com>.
71600         Reported by Dmitry V. Levin <ldv@altlinux.org>.
71602         nproc: Refactor.
71603         * lib/nproc.c (num_processors_via_affinity_mask): New function,
71604         extracted from num_processors.
71605         (num_processors): Call it.
71607 2010-01-11  Jim Meyering  <meyering@redhat.com>
71609         utimecmp: avoid new warning from upcoming gcc-4.5.0
71610         * lib/utimecmp.c (BILLION): Define using #define rather than an
71611         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
71613 2010-01-11  Eric Blake  <ebb9@byu.net>
71615         math: add portability warnings for classification macros
71616         * modules/math (Depends-on): Add warn-on-use.
71617         (Makefile.am): Provide new substitutions.
71618         * m4/math_h.m4 (gl_MATH_H): Require inline.
71619         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
71620         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
71621         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
71622         implement warnings.
71624         unistd: warn on use of environ without module
71625         * modules/unistd (Depends-on): Add warn-on-use.
71626         (Makefile.am): Provide new substitutions.
71627         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
71628         * lib/unistd.in.h (environ): Wrap with a warning helper function.
71630         stdio: warn on suspicious uses
71631         * modules/stdio (Depends-on): Add warn-on-use.
71632         (Makefile.am): Provide new substitutions.
71633         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
71634         fseeko.
71635         * lib/stdio.in.h (gets): Always warn on use.
71636         (fseek, ftell): Adjust when warnings are issued, and honor
71637         _GL_NO_LARGE_FILES as a way to silence the warning.
71638         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
71639         any warning about large file offsets.
71640         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
71641         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
71642         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
71643         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
71644         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
71645         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
71646         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
71647         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
71649         warn-on-use: new module
71650         * modules/warn-on-use: New file.
71651         * build-aux/warn-on-use.h: Likewise.
71652         * m4/warn-on-use.m4: Likewise.
71653         * MODULES.html.sh (Support for building): Mention it.
71655 2010-01-10  Bruno Haible  <bruno@clisp.org>
71657         Tests for module 'unistr/u32-strdup'.
71658         * modules/unistr/u32-strdup-tests: New file.
71659         * tests/unistr/test-u32-strdup.c: New file.
71661         Tests for module 'unistr/u16-strdup'.
71662         * modules/unistr/u16-strdup-tests: New file.
71663         * tests/unistr/test-u16-strdup.c: New file.
71665         Tests for module 'unistr/u8-strdup'.
71666         * modules/unistr/u8-strdup-tests: New file.
71667         * tests/unistr/test-u8-strdup.c: New file.
71668         * tests/unistr/test-strdup.h: New file.
71670         Tests for module 'unistr/u32-strncmp'.
71671         * modules/unistr/u32-strncmp-tests: New file.
71672         * tests/unistr/test-u32-strncmp.c: New file.
71674         Tests for module 'unistr/u16-strncmp'.
71675         * modules/unistr/u16-strncmp-tests: New file.
71676         * tests/unistr/test-u16-strncmp.c: New file.
71678         Tests for module 'unistr/u8-strncmp'.
71679         * modules/unistr/u8-strncmp-tests: New file.
71680         * tests/unistr/test-u8-strncmp.c: New file.
71681         * tests/unistr/test-strncmp.h: New file.
71683         Tests for module 'unistr/u32-strcoll'.
71684         * modules/unistr/u32-strcoll-tests: New file.
71685         * tests/unistr/test-u32-strcoll.c: New file.
71687         Tests for module 'unistr/u16-strcoll'.
71688         * modules/unistr/u16-strcoll-tests: New file.
71689         * tests/unistr/test-u16-strcoll.c: New file.
71691         Tests for module 'unistr/u8-strcoll'.
71692         * modules/unistr/u8-strcoll-tests: New file.
71693         * tests/unistr/test-u8-strcoll.c: New file.
71695         Tests for module 'unistr/u32-strcmp'.
71696         * modules/unistr/u32-strcmp-tests: New file.
71697         * tests/unistr/test-u32-strcmp.c: New file.
71698         * tests/unistr/test-u32-strcmp.h: New file.
71700         Tests for module 'unistr/u16-strcmp'.
71701         * modules/unistr/u16-strcmp-tests: New file.
71702         * tests/unistr/test-u16-strcmp.c: New file.
71703         * tests/unistr/test-u16-strcmp.h: New file.
71705         Tests for module 'unistr/u8-strcmp'.
71706         * modules/unistr/u8-strcmp-tests: New file.
71707         * tests/unistr/test-u8-strcmp.c: New file.
71708         * tests/unistr/test-u8-strcmp.h: New file.
71709         * tests/unistr/test-strcmp.h: New file.
71711         Tests for module 'unistr/u32-strncat'.
71712         * modules/unistr/u32-strncat-tests: New file.
71713         * tests/unistr/test-u32-strncat.c: New file.
71715         Tests for module 'unistr/u16-strncat'.
71716         * modules/unistr/u16-strncat-tests: New file.
71717         * tests/unistr/test-u16-strncat.c: New file.
71719         Tests for module 'unistr/u8-strncat'.
71720         * modules/unistr/u8-strncat-tests: New file.
71721         * tests/unistr/test-u8-strncat.c: New file.
71722         * tests/unistr/test-strncat.h: New file.
71724         Tests for module 'unistr/u32-strcat'.
71725         * modules/unistr/u32-strcat-tests: New file.
71726         * tests/unistr/test-u32-strcat.c: New file.
71728         Tests for module 'unistr/u16-strcat'.
71729         * modules/unistr/u16-strcat-tests: New file.
71730         * tests/unistr/test-u16-strcat.c: New file.
71732         Tests for module 'unistr/u8-strcat'.
71733         * modules/unistr/u8-strcat-tests: New file.
71734         * tests/unistr/test-u8-strcat.c: New file.
71735         * tests/unistr/test-strcat.h: New file.
71737         Tests for module 'unistr/u32-stpncpy'.
71738         * modules/unistr/u32-stpncpy-tests: New file.
71739         * tests/unistr/test-u32-stpncpy.c: New file.
71741         Tests for module 'unistr/u16-stpncpy'.
71742         * modules/unistr/u16-stpncpy-tests: New file.
71743         * tests/unistr/test-u16-stpncpy.c: New file.
71745         Tests for module 'unistr/u8-stpncpy'.
71746         * modules/unistr/u8-stpncpy-tests: New file.
71747         * tests/unistr/test-u8-stpncpy.c: New file.
71748         * tests/unistr/test-stpncpy.h: New file.
71750         Tests for module 'unistr/u32-strncpy'.
71751         * modules/unistr/u32-strncpy-tests: New file.
71752         * tests/unistr/test-u32-strncpy.c: New file.
71754         Tests for module 'unistr/u16-strncpy'.
71755         * modules/unistr/u16-strncpy-tests: New file.
71756         * tests/unistr/test-u16-strncpy.c: New file.
71758         Tests for module 'unistr/u8-strncpy'.
71759         * modules/unistr/u8-strncpy-tests: New file.
71760         * tests/unistr/test-u8-strncpy.c: New file.
71761         * tests/unistr/test-strncpy.h: New file.
71763         Tests for module 'unistr/u32-stpcpy'.
71764         * modules/unistr/u32-stpcpy-tests: New file.
71765         * tests/unistr/test-u32-stpcpy.c: New file.
71767         Tests for module 'unistr/u16-stpcpy'.
71768         * modules/unistr/u16-stpcpy-tests: New file.
71769         * tests/unistr/test-u16-stpcpy.c: New file.
71771         Tests for module 'unistr/u8-stpcpy'.
71772         * modules/unistr/u8-stpcpy-tests: New file.
71773         * tests/unistr/test-u8-stpcpy.c: New file.
71774         * tests/unistr/test-stpcpy.h: New file.
71776         Tests for module 'unistr/u32-strcpy'.
71777         * modules/unistr/u32-strcpy-tests: New file.
71778         * tests/unistr/test-u32-strcpy.c: New file.
71780         Tests for module 'unistr/u16-strcpy'.
71781         * modules/unistr/u16-strcpy-tests: New file.
71782         * tests/unistr/test-u16-strcpy.c: New file.
71784         Tests for module 'unistr/u8-strcpy'.
71785         * modules/unistr/u8-strcpy-tests: New file.
71786         * tests/unistr/test-u8-strcpy.c: New file.
71787         * tests/unistr/test-strcpy.h: New file.
71789         Tests for module 'unistr/u32-strnlen'.
71790         * modules/unistr/u32-strnlen-tests: New file.
71791         * tests/unistr/test-u32-strnlen.c: New file.
71793         Tests for module 'unistr/u16-strnlen'.
71794         * modules/unistr/u16-strnlen-tests: New file.
71795         * tests/unistr/test-u16-strnlen.c: New file.
71797         Tests for module 'unistr/u8-strnlen'.
71798         * modules/unistr/u8-strnlen-tests: New file.
71799         * tests/unistr/test-u8-strnlen.c: New file.
71800         * tests/unistr/test-strnlen.h: New file.
71802         Tests for module 'unistr/u32-strlen'.
71803         * modules/unistr/u32-strlen-tests: New file.
71804         * tests/unistr/test-u32-strlen.c: New file.
71806         Tests for module 'unistr/u16-strlen'.
71807         * modules/unistr/u16-strlen-tests: New file.
71808         * tests/unistr/test-u16-strlen.c: New file.
71810         Tests for module 'unistr/u8-strlen'.
71811         * modules/unistr/u8-strlen-tests: New file.
71812         * tests/unistr/test-u8-strlen.c: New file.
71814         Tests for module 'unistr/u32-prev'.
71815         * modules/unistr/u32-prev-tests: New file.
71816         * tests/unistr/test-u32-prev.c: New file.
71818         Tests for module 'unistr/u16-prev'.
71819         * modules/unistr/u16-prev-tests: New file.
71820         * tests/unistr/test-u16-prev.c: New file.
71822         Tests for module 'unistr/u8-prev'.
71823         * modules/unistr/u8-prev-tests: New file.
71824         * tests/unistr/test-u8-prev.c: New file.
71826         Tests for module 'unistr/u32-next'.
71827         * modules/unistr/u32-next-tests: New file.
71828         * tests/unistr/test-u32-next.c: New file.
71830         Tests for module 'unistr/u16-next'.
71831         * modules/unistr/u16-next-tests: New file.
71832         * tests/unistr/test-u16-next.c: New file.
71834         Tests for module 'unistr/u8-next'.
71835         * modules/unistr/u8-next-tests: New file.
71836         * tests/unistr/test-u8-next.c: New file.
71838         Tests for module 'unistr/u32-strmbtouc'.
71839         * modules/unistr/u32-strmbtouc-tests: New file.
71840         * tests/unistr/test-u32-strmbtouc.c: New file.
71842         Tests for module 'unistr/u16-strmbtouc'.
71843         * modules/unistr/u16-strmbtouc-tests: New file.
71844         * tests/unistr/test-u16-strmbtouc.c: New file.
71846         Tests for module 'unistr/u8-strmbtouc'.
71847         * modules/unistr/u8-strmbtouc-tests: New file.
71848         * tests/unistr/test-u8-strmbtouc.c: New file.
71850         Tests for module 'unistr/u32-strmblen'.
71851         * modules/unistr/u32-strmblen-tests: New file.
71852         * tests/unistr/test-u32-strmblen.c: New file.
71854         Tests for module 'unistr/u16-strmblen'.
71855         * modules/unistr/u16-strmblen-tests: New file.
71856         * tests/unistr/test-u16-strmblen.c: New file.
71858         Tests for module 'unistr/u8-strmblen'.
71859         * modules/unistr/u8-strmblen-tests: New file.
71860         * tests/unistr/test-u8-strmblen.c: New file.
71862         Tests for module 'unistr/u32-cpy-alloc'.
71863         * modules/unistr/u32-cpy-alloc-tests: New file.
71864         * tests/unistr/test-u32-cpy-alloc.c: New file.
71866         Tests for module 'unistr/u16-cpy-alloc'.
71867         * modules/unistr/u16-cpy-alloc-tests: New file.
71868         * tests/unistr/test-u16-cpy-alloc.c: New file.
71870         Tests for module 'unistr/u8-cpy-alloc'.
71871         * modules/unistr/u8-cpy-alloc-tests: New file.
71872         * tests/unistr/test-u8-cpy-alloc.c: New file.
71873         * tests/unistr/test-cpy-alloc.h: New file.
71875         Tests for module 'unistr/u32-mbsnlen'.
71876         * modules/unistr/u32-mbsnlen-tests: New file.
71877         * tests/unistr/test-u32-mbsnlen.c: New file.
71879         Tests for module 'unistr/u16-mbsnlen'.
71880         * modules/unistr/u16-mbsnlen-tests: New file.
71881         * tests/unistr/test-u16-mbsnlen.c: New file.
71883         Tests for module 'unistr/u8-mbsnlen'.
71884         * modules/unistr/u8-mbsnlen-tests: New file.
71885         * tests/unistr/test-u8-mbsnlen.c: New file.
71887         Tests for module 'unistr/u32-chr'.
71888         * modules/unistr/u32-chr-tests: New file.
71889         * tests/unistr/test-u32-chr.c: New file.
71891         Tests for module 'unistr/u16-chr'.
71892         * modules/unistr/u16-chr-tests: New file.
71893         * tests/unistr/test-u16-chr.c: New file.
71895         Tests for module 'unistr/u8-chr'.
71896         * modules/unistr/u8-chr-tests: New file.
71897         * tests/unistr/test-u8-chr.c: New file.
71898         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
71900         Tests for module 'unistr/u32-cmp2'.
71901         * modules/unistr/u32-cmp2-tests: New file.
71902         * tests/unistr/test-u32-cmp2.c: New file.
71904         Tests for module 'unistr/u16-cmp2'.
71905         * modules/unistr/u16-cmp2-tests: New file.
71906         * tests/unistr/test-u16-cmp2.c: New file.
71908         Tests for module 'unistr/u8-cmp2'.
71909         * modules/unistr/u8-cmp2-tests: New file.
71910         * tests/unistr/test-u8-cmp2.c: New file.
71911         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
71913         Tests for module 'unistr/u32-cmp'.
71914         * modules/unistr/u32-cmp-tests: New file.
71915         * tests/unistr/test-u32-cmp.c: New file.
71917         Tests for module 'unistr/u16-cmp'.
71918         * modules/unistr/u16-cmp-tests: New file.
71919         * tests/unistr/test-u16-cmp.c: New file.
71921         Tests for module 'unistr/u8-cmp'.
71922         * modules/unistr/u8-cmp-tests: New file.
71923         * tests/unistr/test-u8-cmp.c: New file.
71924         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
71926         Tests for module 'unistr/u32-set'.
71927         * modules/unistr/u32-set-tests: New file.
71928         * tests/unistr/test-u32-set.c: New file.
71930         Tests for module 'unistr/u16-set'.
71931         * modules/unistr/u16-set-tests: New file.
71932         * tests/unistr/test-u16-set.c: New file.
71934         Tests for module 'unistr/u8-set'.
71935         * modules/unistr/u8-set-tests: New file.
71936         * tests/unistr/test-u8-set.c: New file.
71937         * tests/unistr/test-set.h: New file.
71939         Tests for module 'unistr/u32-move'.
71940         * modules/unistr/u32-move-tests: New file.
71941         * tests/unistr/test-u32-move.c: New file.
71943         Tests for module 'unistr/u16-move'.
71944         * modules/unistr/u16-move-tests: New file.
71945         * tests/unistr/test-u16-move.c: New file.
71947         Tests for module 'unistr/u8-move'.
71948         * modules/unistr/u8-move-tests: New file.
71949         * tests/unistr/test-u8-move.c: New file.
71950         * tests/unistr/test-move.h: New file.
71952         Tests for module 'unistr/u32-cpy'.
71953         * modules/unistr/u32-cpy-tests: New file.
71954         * tests/unistr/test-u32-cpy.c: New file.
71956         Tests for module 'unistr/u16-cpy'.
71957         * modules/unistr/u16-cpy-tests: New file.
71958         * tests/unistr/test-u16-cpy.c: New file.
71960         Tests for module 'unistr/u8-cpy'.
71961         * modules/unistr/u8-cpy-tests: New file.
71962         * tests/unistr/test-u8-cpy.c: New file.
71963         * tests/unistr/test-cpy.h: New file.
71965 2010-01-09  Bruno Haible  <bruno@clisp.org>
71967         Tests for module 'unistr/u32-uctomb'.
71968         * modules/unistr/u32-uctomb-tests: New file.
71969         * tests/unistr/test-u32-uctomb.c: New file.
71971         Tests for module 'unistr/u16-uctomb'.
71972         * modules/unistr/u16-uctomb-tests: New file.
71973         * tests/unistr/test-u16-uctomb.c: New file.
71975         Tests for module 'unistr/u8-uctomb'.
71976         * modules/unistr/u8-uctomb-tests: New file.
71977         * tests/unistr/test-u8-uctomb.c: New file.
71979         Tests for module 'unistr/u32-mbtoucr'.
71980         * modules/unistr/u32-mbtoucr-tests: New file.
71981         * tests/unistr/test-u32-mbtoucr.c: New file.
71983         Tests for module 'unistr/u16-mbtoucr'.
71984         * modules/unistr/u16-mbtoucr-tests: New file.
71985         * tests/unistr/test-u16-mbtoucr.c: New file.
71987         Tests for module 'unistr/u8-mbtoucr'.
71988         * modules/unistr/u8-mbtoucr-tests: New file.
71989         * tests/unistr/test-u8-mbtoucr.c: New file.
71991         Tests for module 'unistr/u32-mbtouc'.
71992         * modules/unistr/u32-mbtouc-tests: New file.
71993         * tests/unistr/test-u32-mbtouc.c: New file.
71995         Tests for module 'unistr/u16-mbtouc'.
71996         * modules/unistr/u16-mbtouc-tests: New file.
71997         * tests/unistr/test-u16-mbtouc.c: New file.
71999         Tests for module 'unistr/u8-mbtouc'.
72000         * modules/unistr/u8-mbtouc-tests: New file.
72001         * tests/unistr/test-u8-mbtouc.c: New file.
72003         Tests for module 'unistr/u32-mbtouc-unsafe'.
72004         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
72005         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
72006         * tests/unistr/test-u32-mbtouc.h: New file.
72008         Tests for module 'unistr/u16-mbtouc-unsafe'.
72009         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
72010         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
72011         * tests/unistr/test-u16-mbtouc.h: New file.
72013         Tests for module 'unistr/u8-mbtouc-unsafe'.
72014         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
72015         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
72016         * tests/unistr/test-u8-mbtouc.h: New file.
72018         Tests for module 'unistr/u32-mblen'.
72019         * modules/unistr/u32-mblen-tests: New file.
72020         * tests/unistr/test-u32-mblen.c: New file.
72022         Tests for module 'unistr/u16-mblen'.
72023         * modules/unistr/u16-mblen-tests: New file.
72024         * tests/unistr/test-u16-mblen.c: New file.
72026         Tests for module 'unistr/u8-mblen'.
72027         * modules/unistr/u8-mblen-tests: New file.
72028         * tests/unistr/test-u8-mblen.c: New file.
72030         Tests for module 'unistr/u32-to-u16'.
72031         * modules/unistr/u32-to-u16-tests: New file.
72032         * tests/unistr/test-u32-to-u16.c: New file.
72034         Tests for module 'unistr/u32-to-u8'.
72035         * modules/unistr/u32-to-u8-tests: New file.
72036         * tests/unistr/test-u32-to-u8.c: New file.
72038         Tests for module 'unistr/u16-to-u32'.
72039         * modules/unistr/u16-to-u32-tests: New file.
72040         * tests/unistr/test-u16-to-u32.c: New file.
72042         Tests for module 'unistr/u16-to-u8'.
72043         * modules/unistr/u16-to-u8-tests: New file.
72044         * tests/unistr/test-u16-to-u8.c: New file.
72046         Tests for module 'unistr/u8-to-u32'.
72047         * modules/unistr/u8-to-u32-tests: New file.
72048         * tests/unistr/test-u8-to-u32.c: New file.
72050         Tests for module 'unistr/u8-to-u16'.
72051         * modules/unistr/u8-to-u16-tests: New file.
72052         * tests/unistr/test-u8-to-u16.c: New file.
72054         Tests for module 'unistr/u32-check'.
72055         * modules/unistr/u32-check-tests: New file.
72056         * tests/unistr/test-u32-check.c: New file.
72058         Tests for module 'unistr/u16-check'.
72059         * modules/unistr/u16-check-tests: New file.
72060         * tests/unistr/test-u16-check.c: New file.
72062         Tests for module 'unistr/u8-check'.
72063         * modules/unistr/u8-check-tests: New file.
72064         * tests/unistr/test-u8-check.c: New file.
72066         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
72067         (category_equals): New function.
72068         (main): Add more tests.
72069         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
72071         * tests/unictype/test-bidi_byname.c (main): Add more tests.
72073 2010-01-10  Bruno Haible  <bruno@clisp.org>
72075         unistr/u*-strcoll: Try harder to distinguish different strings.
72076         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
72077         compare s1 and s2 to see if they are different.
72079 2010-01-10  Bruno Haible  <bruno@clisp.org>
72081         unistr/u*-stpncpy: Fix the return value.
72082         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
72083         description of the return value consistent with stpncpy in glibc.
72084         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
72085         written non-NUL unit.
72087 2010-01-10  Bruno Haible  <bruno@clisp.org>
72089         unistr/u*-next: Add missing dependencies.
72090         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
72091         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
72092         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
72094 2010-01-10  Bruno Haible  <bruno@clisp.org>
72096         unistr/u8-mbsnlen: Fix return value for incomplete character.
72097         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
72098         u8_mblen.
72099         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
72100         Remove unistr/u8-mblen.
72101         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
72102         u16_mblen.
72103         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
72104         Remove unistr/u16-mblen.
72106 2010-01-10  Bruno Haible  <bruno@clisp.org>
72108         wchar: Fix compilation error when <wchar.h> is used from coreutils.
72109         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
72110         Reported by Brian Gough <bjg@gnu.org> and
72111         Chris Clayton <chris2553@googlemail.com> via
72112         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
72114 2010-01-09  Bruno Haible  <bruno@clisp.org>
72116         unistr/u16-to-u32: Reject invalid input.
72117         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
72118         u16_mbtouc.
72119         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
72120         Remove unistr/u16-mbtouc.
72122         unistr/u16-to-u8: Reject invalid input.
72123         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
72124         u16_mbtouc.
72125         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
72126         Remove unistr/u16-mbtouc.
72128         unistr/u8-to-u32: Reject invalid input.
72129         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
72130         u8_mbtouc.
72131         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
72132         Remove unistr/u8-mbtouc.
72134         unistr/u8-to-u16: Reject invalid input.
72135         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
72136         u8_mbtouc.
72137         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
72138         Remove unistr/u8-mbtouc.
72140 2010-01-09  Bruno Haible  <bruno@clisp.org>
72142         Tests for module 'getlogin'.
72143         * modules/getlogin-tests: New file.
72144         * tests/test-getlogin.c: New file.
72146         New module 'getlogin'.
72147         * lib/unistd.in.h (getlogin): New declaration.
72148         * lib/getlogin.c: New file.
72149         * m4/getlogin.m4: New file.
72150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
72151         HAVE_GETLOGIN.
72152         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
72153         HAVE_GETLOGIN.
72154         * modules/getlogin: New file.
72155         * doc/posix-functions/getlogin.texi: Mention the new module.
72156         Reported by John W. Eaton <jwe@gnu.org>.
72158 2010-01-09  Bruno Haible  <bruno@clisp.org>
72160         getlogin_r: Support for native Windows.
72161         * lib/getlogin_r.c: Include <windows.h>
72162         (getlogin_r): Implement for native Windows.
72163         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
72164         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
72165         via John W. Eaton <jwe@gnu.org>.
72167 2010-01-09  Bruno Haible  <bruno@clisp.org>
72169         getlogin_r: Small fixes.
72170         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
72171         succeeds.
72172         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
72173         before testing whether getlogin_r is declared. No need to set
72174         HAVE_DECL_GETLOGIN_R to 1.
72175         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
72177 2010-01-09  Bruno Haible  <bruno@clisp.org>
72179         * lib/unistd.in.h (getlogin_r): Add comment.
72181 2010-01-09  Bruno Haible  <bruno@clisp.org>
72183         Tests for module 'getlogin_r'.
72184         * modules/getlogin_r-tests: New file.
72185         * tests/test-getlogin_r.c: New file.
72187 2010-01-09  Jim Meyering  <meyering@redhat.com>
72189         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
72190         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
72191         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
72193 2010-01-08  Simon Josefsson  <simon@josefsson.org>
72195         * lib/dup2.c (rpl_dup2): Improve comment.
72197 2010-01-08  Eric Blake  <ebb9@byu.net>
72199         maint.mk: allow packages to add makefile @@ exceptions
72200         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
72201         (sc_makefile_check): Rename...
72202         (sc_makefile_at_at_check): ...to this, and use hook.
72204         dup2: work around mingw bug
72205         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
72206         Reported by Simon Josefsson.
72208 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
72210         glob: Fix C++ compilation.
72211         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
72212         C++.
72214 2010-01-07  Bruno Haible  <bruno@clisp.org>
72216         Fix indentation of wctype.in.h, broken since 2007-01-06.
72217         * lib/wctype.in.h: Fix indentation of preprocessor directives.
72219 2010-01-07  Bruno Haible  <bruno@clisp.org>
72221         mbslen: Avoid collision with system function.
72222         * lib/string.in.h [MirBSD]: Include <wchar.h>.
72223         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
72224         * m4/mbslen.m4: New file.
72225         * modules/mbslen (Files): Add it.
72226         (configure.ac): Invoke gl_MBSLEN.
72227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
72228         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
72229         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
72230         via Ian Beckwith <ianb@erislabs.net>.
72232 2010-01-07  Bruno Haible  <bruno@clisp.org>
72234         dirent: Document the last fix.
72235         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
72237 2010-01-07  Bruno Haible  <bruno@clisp.org>
72239         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
72240         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
72241         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
72242         va_list are defined.
72243         * doc/posix-headers/stdio.texi: Document the bug of missing types.
72244         Reported by Eric Blake.
72246 2010-01-07  Bruno Haible  <bruno@clisp.org>
72248         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
72249         * modules/xlist (Depends-on): Add 'list',
72250         * modules/xoset (Depends-on): Add 'oset'.
72251         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72253 2010-01-07  Bruno Haible  <bruno@clisp.org>
72255         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
72256         * doc/posix-functions/strncasecmp.texi: Likewise.
72258 2010-01-07  Bruno Haible  <bruno@clisp.org>
72260         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
72262 2010-01-07  John W. Eaton  <jwe@octave.org>
72264         wctype: allow C++ use
72265         * lib/wctype.in.h: Add extern "C" block for C++.
72267 2010-01-06  Eric Blake  <ebb9@byu.net>
72269         maint.mk: detect incorrect GFDL usage
72270         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
72272 2010-01-06  Jim Meyering  <meyering@redhat.com>
72273         and Eric Blake  <ebb9@byu.net>
72275         maint.mk: ignore multi-line copyright in NEWS
72276         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
72278 2010-01-06  Eric Blake  <ebb9@byu.net>
72280         select: add missing dependency
72281         * modules/select-tests (Depends-on): Move sockets dependency...
72282         * modules/select (Depends-on): ...here.
72283         Reported by Ian Beckwith.
72285         doc: regenerate INSTALL
72286         * doc/INSTALL: Reflect recent autoconf update.
72287         * doc/INSTALL.ISO: Likewise.
72288         * doc/INSTALL.UTF-8: Likewise.
72290         pread: fix compilation on glibc
72291         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
72292         Reported by Ralf Wildenhues.
72294         dirent: fix test failure
72295         * lib/dirent.in.h (includes): Guarantee ino_t.
72296         Reported by Ralf Wildenhues.
72298 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
72300         linkat, renameat: avoid bad free
72301         * lib/at-func2.c (at_func2): Fix typo.
72302         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
72304 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72306         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
72307         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
72308         to avoid failure of symlink test later.
72310 2010-01-06  Eric Blake  <ebb9@byu.net>
72312         stdio, unistd: guarantee ssize_t
72313         * lib/unistd.in.h (includes): Ensure that types required by POSIX
72314         2008 are exposed when needed.
72315         * lib/stdio.in.h (includes): Likewise.
72316         Reported by Ralf Wildenhues.
72318 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
72320         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
72321         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
72322         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
72324 2010-01-06  Jim Meyering  <meyering@redhat.com>
72326         readtokens: this module *does* require xalloc.h
72327         It uses only functions that were omitted by the old syntax-check rule.
72328         * lib/readtokens.c: Include "xalloc.h" once again.
72329         * modules/readtokens (Depends-on): Add xalloc.
72330         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
72332 2010-01-05  Eric Blake  <ebb9@byu.net>
72334         maint: support 'make announcement' from a VPATH build
72335         * top/maint.mk (announcement): Look for correct NEWS file.
72337 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
72339         utimens (fdutimens): ignore a negative FD, per contract
72340         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
72341         when we have a valid file descriptor.  Otherwise, using a brand
72342         new glibc (with just-patched futimens that now fails with EBADF)
72343         would cause this function to fail with ENOSYS.
72344         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
72345         See also http://bugzilla.redhat.com/552320.
72347 2010-01-05  Eric Blake  <ebb9@byu.net>
72349         strcase: document what it provides
72350         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
72351         gnulib module.
72352         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
72353         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
72355 2010-01-05  Jim Meyering  <meyering@redhat.com>
72357         maint: remove useless inclusions of "xalloc.h"
72358         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
72359         * lib/readtokens.c: Likewise.
72360         * lib/same.c: Likewise.
72361         * modules/getloadavg (Depends-on): Remove xalloc.
72362         * modules/readtokens: Likewise.
72363         * modules/same: Likewise.
72365         maint.mk: include 4 more function names in alloca.h-checking regexp
72366         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
72367         regexp.  Before, we would give a false-positive (saying alloca.h
72368         is included unnecessarily) when the only uses involved omitted symbols.
72370         xalloc.h: use consistent formatting
72371         * lib/xalloc.h: Move declarations to start in the first column.
72373 2010-01-05  Eric Blake  <ebb9@byu.net>
72375         mkdir: avoid xalloc
72376         * lib/mkdir.c (includes): Drop unused header.
72377         Reported by John W. Eaton.
72379 2010-01-04  Jim Meyering  <meyering@redhat.com>
72381         nl_langinfo: avoid configure-time syntax error
72382         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
72383         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
72384         the empty string.  Don't let that provoke a shell syntax error.
72386         regcomp, regexec, fnmatch: avoid array bounds read error
72387         * lib/regcomp.c (build_equiv_class): From glibc:
72388         Use only the low 24 bits of a findidx return value as an index
72389         into the weights array.  Patch by Ulrich Drepper:
72390         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
72391         * lib/regexec.c (check_node_accept_bytes): Likewise.
72392         * lib/fnmatch_loop.c (FCT): Likewise.
72394         regcomp: skip collseq lookup when there are no rules
72395         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
72396         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
72398         regcomp: recognize ill-formed { } expressions
72399         * lib/regcomp.c (parse_dup_op): From glibc:
72400         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
72402         regcomp: fix typo in comment
72403         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
72404         s/satisfy/satisfies/.
72406         regcomp: sync from glibc: remove dead store
72407         * lib/regcomp.c (duplicate_node_closure): Remove useless
72408         search_duplicated_node call and dead store.
72410         regcomp: sync from glibc; always use nl_langinfo
72411         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
72412         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
72413         * modules/regex (Depends-on): Add nl_langinfo.
72415 2010-01-04  Eric Blake  <ebb9@byu.net>
72417         fdopendir: fix configure test
72418         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
72420 2010-01-01  Bruno Haible  <bruno@clisp.org>
72422         wchar: Remove unused configure check.
72423         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
72425 2010-01-01  Eric Blake  <ebb9@byu.net>
72427         headers: make check of system header explicit
72428         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
72429         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
72430         ourselves.
72431         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
72432         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72433         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
72434         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
72435         internals.
72436         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
72437         missing.
72438         Suggested by Bruno Haible.
72440 2010-01-01  Jim Meyering  <meyering@redhat.com>
72442         ChangeLog: tweak to eliminate unnecessary copyright line
72443         * ChangeLog: Remove a copyright line that was mistakenly updated
72444         by today's update-copyright run.  Reported by Eric Blake.
72446         test-update-copyright: don't let envvar setting cause test failure
72447         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
72449 2010-01-01  Bruno Haible  <bruno@clisp.org>
72451         localename: Avoid gcc warning.
72452         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
72453         function if it is not used.
72455 2010-01-01  Jim Meyering  <meyering@redhat.com>
72457         update nearly all FSF copyright year lists to include 2010
72458         Use the same procedure as for 2009, outlined in
72459         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
72461         version-etc: set COPYRIGHT_YEAR to 2010
72462         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
72464 2009-12-31  Eric Blake  <ebb9@byu.net>
72466         doc: correct availability of cygwin 1.5.x getopt
72467         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
72468         variables.
72469         * doc/posix-functions/opterr.texi (opterr): Likewise.
72470         * doc/posix-functions/optind.texi (optind): Likewise.
72471         * doc/posix-functions/optopt.texi (optopt): Likewise.
72472         * doc/posix-functions/tzname.texi (tzname): Likewise.
72474         openat: update maintainer
72475         * modules/openat (Maintainer): Add myself.
72477         utimens: avoid shadowing warning
72478         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
72479         buffers into one, to avoid shadowing, as well as avoiding a
72480         redundant stat.
72481         Reported by Jim Meyering.
72483         test-dup2: avoid compiler warning
72484         * tests/test-dup2.c (is_inheritable): Only define if used.
72486 2010-01-01  Bruno Haible  <bruno@clisp.org>
72488         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
72489         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
72490         defined, use wctomb instead of wcrtomb.
72492 2010-01-01  Bruno Haible  <bruno@clisp.org>
72494         iconv: Reject native Solaris iconv.
72495         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
72496         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
72498 2009-12-31  Bruno Haible  <bruno@clisp.org>
72500         * tests/test-signal.c (main): Remove test of 'SIG'.
72502 2009-12-31  Bruno Haible  <bruno@clisp.org>
72504         spawn: Fix incomplete fix.
72505         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
72506         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
72507         warnings for GNULIB_POSIXCHECK again.
72508         Reported by Eric Blake.
72510 2009-12-31  Bruno Haible  <bruno@clisp.org>
72512         Avoid namespace pollution on glibc systems.
72513         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
72514         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
72515         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
72516         glibc systems.
72518 2009-12-31  Bruno Haible  <bruno@clisp.org>
72520         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
72521         (gl_REPLACE_WCHAR_H): Turn into a no-op.
72522         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
72523         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
72524         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
72525         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
72526         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
72528 2009-12-31  Bruno Haible  <bruno@clisp.org>
72530         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
72531         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
72532         afterwards.
72534 2009-12-31  Bruno Haible  <bruno@clisp.org>
72536         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
72537         SYS_UTSNAME_H.
72539 2009-12-31  Bruno Haible  <bruno@clisp.org>
72541         spawn: Fix misapplied patch.
72542         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
72543         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
72544         warnings for GNULIB_POSIXCHECK.
72546 2009-12-31  Bruno Haible  <bruno@clisp.org>
72548         times: Update after sys_times changed.
72549         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
72550         * modules/times (Files): Add it.
72551         (configure.ac): Invoke gl_FUNC_TIMES.
72553 2009-12-31  Bruno Haible  <bruno@clisp.org>
72555         Use AC_C_INLINE where necessary.
72556         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
72557         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
72558         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
72559         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
72560         * m4/mbfile.m4 (gl_MBFILE): Likewise.
72561         * m4/mbiter.m4 (gl_MBITER): Likewise.
72562         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72563         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
72564         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
72565         * modules/u64 (configure.ac): Likewise.
72567 2009-12-31  Bruno Haible  <bruno@clisp.org>
72569         Use AC_C_INLINE instead of module 'inline' where possible.
72570         * modules/inline (Description): Clarify purpose.
72571         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
72572         * modules/count-one-bits (Depends-on): Remove inline.
72573         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
72574         * modules/openat (Depends-on): Remove inline.
72575         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
72576         instead of depending on module 'inline'.
72577         * modules/filevercmp (Depends-on, configure.ac): Likewise.
72578         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
72579         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
72580         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
72581         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
72582         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
72583         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
72584         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
72585         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
72586         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
72587         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
72588         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
72589         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
72590         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
72591         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
72592         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
72593         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
72594         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
72595         Likewise.
72596         * modules/unictype/property-ascii-hex-digit (Depends-on,
72597         configure.ac): Likewise.
72598         * modules/unictype/property-bidi-arabic-digit (Depends-on,
72599         configure.ac): Likewise.
72600         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
72601         configure.ac): Likewise.
72602         * modules/unictype/property-bidi-block-separator (Depends-on,
72603         configure.ac): Likewise.
72604         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
72605         configure.ac): Likewise.
72606         * modules/unictype/property-bidi-common-separator (Depends-on,
72607         configure.ac): Likewise.
72608         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
72609         Likewise.
72610         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
72611         configure.ac): Likewise.
72612         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
72613         configure.ac): Likewise.
72614         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
72615         configure.ac): Likewise.
72616         * modules/unictype/property-bidi-european-digit (Depends-on,
72617         configure.ac): Likewise.
72618         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
72619         configure.ac): Likewise.
72620         * modules/unictype/property-bidi-left-to-right (Depends-on,
72621         configure.ac): Likewise.
72622         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
72623         configure.ac): Likewise.
72624         * modules/unictype/property-bidi-other-neutral (Depends-on,
72625         configure.ac): Likewise.
72626         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
72627         Likewise.
72628         * modules/unictype/property-bidi-segment-separator (Depends-on,
72629         configure.ac): Likewise.
72630         * modules/unictype/property-bidi-whitespace (Depends-on,
72631         configure.ac): Likewise.
72632         * modules/unictype/property-combining (Depends-on, configure.ac):
72633         Likewise.
72634         * modules/unictype/property-composite (Depends-on, configure.ac):
72635         Likewise.
72636         * modules/unictype/property-currency-symbol (Depends-on,
72637         configure.ac): Likewise.
72638         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
72639         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
72640         Likewise.
72641         * modules/unictype/property-default-ignorable-code-point (Depends-on,
72642         configure.ac): Likewise.
72643         * modules/unictype/property-deprecated (Depends-on, configure.ac):
72644         Likewise.
72645         * modules/unictype/property-diacritic (Depends-on, configure.ac):
72646         Likewise.
72647         * modules/unictype/property-extender (Depends-on, configure.ac):
72648         Likewise.
72649         * modules/unictype/property-format-control (Depends-on, configure.ac):
72650         Likewise.
72651         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
72652         Likewise.
72653         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
72654         Likewise.
72655         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
72656         Likewise.
72657         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
72658         Likewise.
72659         * modules/unictype/property-hyphen (Depends-on, configure.ac):
72660         Likewise.
72661         * modules/unictype/property-id-continue (Depends-on, configure.ac):
72662         Likewise.
72663         * modules/unictype/property-id-start (Depends-on, configure.ac):
72664         Likewise.
72665         * modules/unictype/property-ideographic (Depends-on, configure.ac):
72666         Likewise.
72667         * modules/unictype/property-ids-binary-operator (Depends-on,
72668         configure.ac): Likewise.
72669         * modules/unictype/property-ids-trinary-operator (Depends-on,
72670         configure.ac): Likewise.
72671         * modules/unictype/property-ignorable-control (Depends-on,
72672         configure.ac): Likewise.
72673         * modules/unictype/property-iso-control (Depends-on, configure.ac):
72674         Likewise.
72675         * modules/unictype/property-join-control (Depends-on, configure.ac):
72676         Likewise.
72677         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
72678         Likewise.
72679         * modules/unictype/property-line-separator (Depends-on, configure.ac):
72680         Likewise.
72681         * modules/unictype/property-logical-order-exception (Depends-on,
72682         configure.ac): Likewise.
72683         * modules/unictype/property-lowercase (Depends-on, configure.ac):
72684         Likewise.
72685         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
72686         * modules/unictype/property-non-break (Depends-on, configure.ac):
72687         Likewise.
72688         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
72689         Likewise.
72690         * modules/unictype/property-numeric (Depends-on, configure.ac):
72691         Likewise.
72692         * modules/unictype/property-other-alphabetic (Depends-on,
72693         configure.ac): Likewise.
72694         * modules/unictype/property-other-default-ignorable-code-point
72695         (Depends-on, configure.ac): Likewise.
72696         * modules/unictype/property-other-grapheme-extend (Depends-on,
72697         configure.ac): Likewise.
72698         * modules/unictype/property-other-id-continue (Depends-on,
72699         configure.ac): Likewise.
72700         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
72701         Likewise.
72702         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
72703         Likewise.
72704         * modules/unictype/property-other-math (Depends-on, configure.ac):
72705         Likewise.
72706         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
72707         Likewise.
72708         * modules/unictype/property-paired-punctuation (Depends-on,
72709         configure.ac): Likewise.
72710         * modules/unictype/property-paragraph-separator (Depends-on,
72711         configure.ac): Likewise.
72712         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
72713         Likewise.
72714         * modules/unictype/property-pattern-white-space (Depends-on,
72715         configure.ac): Likewise.
72716         * modules/unictype/property-private-use (Depends-on, configure.ac):
72717         Likewise.
72718         * modules/unictype/property-punctuation (Depends-on, configure.ac):
72719         Likewise.
72720         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
72721         Likewise.
72722         * modules/unictype/property-radical (Depends-on, configure.ac):
72723         Likewise.
72724         * modules/unictype/property-sentence-terminal (Depends-on,
72725         configure.ac): Likewise.
72726         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
72727         Likewise.
72728         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
72729         * modules/unictype/property-terminal-punctuation (Depends-on,
72730         configure.ac): Likewise.
72731         * modules/unictype/property-titlecase (Depends-on, configure.ac):
72732         Likewise.
72733         * modules/unictype/property-unassigned-code-value (Depends-on,
72734         configure.ac): Likewise.
72735         * modules/unictype/property-unified-ideograph (Depends-on,
72736         configure.ac): Likewise.
72737         * modules/unictype/property-uppercase (Depends-on, configure.ac):
72738         Likewise.
72739         * modules/unictype/property-variation-selector (Depends-on,
72740         configure.ac): Likewise.
72741         * modules/unictype/property-white-space (Depends-on, configure.ac):
72742         Likewise.
72743         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
72744         Likewise.
72745         * modules/unictype/property-xid-start (Depends-on, configure.ac):
72746         Likewise.
72747         * modules/unictype/property-zero-width (Depends-on, configure.ac):
72748         Likewise.
72749         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
72750         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
72751         Likewise.
72753 2009-12-31  Bruno Haible  <bruno@clisp.org>
72755         Remove unnecessary AC_C_INLINE invocation.
72756         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
72757         since 2009-08-21.
72759 2009-12-31  Jim Meyering  <meyering@redhat.com>
72761         maint.mk: don't require explicit gpg_key_ID in cfg.mk
72762         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
72763         With this change, we can all remove the gpg_key_ID = ... definition
72764         from our respective cfg.mk files.
72766         maint.mk: create announcement template in ~/, not in /tmp
72767         * top/maint.mk (emit_upload_commands): Adjust.
72768         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
72769         Remove temporary file, .ci-msg.
72771 2009-12-31  Eric Blake  <ebb9@byu.net>
72773         link-warning: always build headers with link warnings
72774         * modules/arpa_inet (Makefile.am): Always build replacement
72775         header.
72776         * modules/ctype (Makefile.am): Likewise.
72777         * modules/dirent (Makefile.am): Likewise.
72778         * modules/inttypes (Makefile.am): Likewise.
72779         * modules/langinfo (Makefile.am): Likewise.
72780         * modules/locale (Makefile.am): Likewise.
72781         * modules/spawn (Makefile.am): Likewise.
72782         * modules/sys_file (Makefile.am): Likewise.
72783         * modules/sys_ioctl (Makefile.am): Likewise.
72784         * modules/sys_select (Makefile.am): Likewise.
72785         * modules/sys_socket (Makefile.am): Likewise.
72786         * modules/sys_times (Makefile.am): Likewise.
72787         * modules/sys_utsname (Makefile.am): Likewise.
72788         * modules/sys_wait (Makefile.am): Likewise.
72789         * modules/wchar (Makefile.am): Likewise.
72790         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
72791         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
72792         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
72793         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
72794         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
72795         Likewise.
72796         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
72797         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72798         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
72799         Likewise.
72800         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
72801         Likewise.
72802         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
72803         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
72804         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
72805         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72806         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72807         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
72808         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
72809         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
72810         (gl_WCHAR_H_DEFAULTS): Likewise.
72812 2009-12-31  Eric Blake  <ebb9@byu.net>
72814         signal, spawn: use link warnings
72815         * lib/signal.in.h (sigset_t): Make unconditional.
72816         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
72817         (sigpending, sigprocmask, sigaction): Add link warnings.
72818         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
72819         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
72820         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
72821         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
72822         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
72823         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
72824         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
72825         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
72826         (posix_spawn_file_actions_destroy)
72827         (posix_spawn_file_actions_addopen)
72828         (posix_spawn_file_actions_addclose)
72829         (posix_spawn_file_actions_adddup2): Likewise.
72830         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
72831         * tests/test-signal.c (main): Enhance test.
72833         spawn: improve wrapper support
72834         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
72835         (gl_SPAWN_H_DEFAULTS): New defaults.
72836         * modules/spawn (Makefile.am): Substitute them.
72837         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
72838         Only declare if missing or broken.
72840         sys_times, sys_utsname: use include_next
72841         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
72842         header.
72843         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
72844         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
72845         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
72846         * modules/sys_times (Depends-on): Add include_next.
72847         (Makefile.am): Substitute additional values.
72848         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
72849         * lib/sys_times.in.h (includes): Include native header, if
72850         available.
72851         * lib/sys_utsname.in.h (includes): Likewise.
72852         * tests/test-sys_times.c (main): Enhance test.
72854         fdutimensat: revert prior patch
72855         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
72856         utimens.h.
72857         Reported by Bruno Haible.
72859 2009-12-30  Eric Blake  <ebb9@byu.net>
72861         sys_wait: drop link-warning dependency
72862         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
72863         link-warning efforts.
72864         * lib/sys_wait.in.h: Likewise.
72866         fdutimensat: remove bogus dependency
72867         * modules/fdutimensat (Depends-on): Drop inline.
72869         unistd: fix typo
72870         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
72872 2009-12-30  Bruno Haible  <bruno@clisp.org>
72874         Fix compilation error with Solaris cc.
72875         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
72876         * lib/unicase/u16-is-invariant.c: Likewise.
72877         * lib/unicase/u32-is-invariant.c: Likewise.
72878         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72880 2009-12-30  Bruno Haible  <bruno@clisp.org>
72882         Fix test crash.
72883         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
72884         locales.
72885         Reported by Simon Josefsson <simon@josefsson.org>.
72887 2009-12-30  Bruno Haible  <bruno@clisp.org>
72889         Fix compilation error on most platforms.
72890         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
72891         Reported by Simon Josefsson <simon@josefsson.org>
72892         and Nelson H. F. Beebe <beebe@math.utah.edu>.
72894 2009-12-30  Eric Blake  <ebb9@byu.net>
72896         futimens, utimensat: work around ntfs-3g bug
72897         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
72898         a ctime bug is present, and expand workaround to cover ntfs-3g.
72899         * lib/utimens.c (fdutimens, lutimens): Likewise.
72900         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
72901         (validate_timespec): Adjust return value.
72902         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
72903         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
72904         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
72906 2009-12-29  Eric Blake  <ebb9@byu.net>
72908         link-warning: make usage consistent
72909         * modules/ctype (Depends-on): Add link-warning.
72910         (Makefile.am): Update rules accordingly.
72911         * modules/langinfo (Depends-on, Makefile.am): Likewise.
72912         * modules/locale (Depends-on, Makefile.am): Likewise.
72913         * modules/sys_file (Makefile.am): Likewise.
72914         * modules/getopt-posix (Makefile.am): Delete unused link warning
72915         efforts.
72916         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
72917         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
72918         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
72919         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
72921         stdio: remove unused variables
72922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
72923         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
72924         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
72926         tests: test more substitute headers
72927         * modules/ctype-tests: New file.
72928         * modules/dirent-tests: Likewise.
72929         * modules/spawn-tests: Likewise.
72930         * modules/sys_file-tests: Likewise.
72931         * modules/sys_ioctl-tests: Likewise.
72932         * modules/sys_wait-tests: Likewise.
72933         * tests/test-ctype.c: Likewise.
72934         * tests/test-dirent.c: Likewise.
72935         * tests/test-spawn.c: Likewise.
72936         * tests/test-sys_file.c: Likewise.
72937         * tests/test-sys_ioctl.c: Likewise.
72938         * tests/test-sys_wait.c: Likewise.
72939         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
72940         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
72941         whether or not flock is in use.
72943         tests: remove License section from module
72944         * modules/arpa_inet-tests: Remove unneeded section.
72945         * modules/byteswap-tests: Likewise.
72946         * modules/ceilf-tests: Likewise.
72947         * modules/ceill-tests: Likewise.
72948         * modules/crypto/des-tests: Likewise.
72949         * modules/crypto/gc-arcfour-tests: Likewise.
72950         * modules/crypto/gc-arctwo-tests: Likewise.
72951         * modules/crypto/gc-des-tests: Likewise.
72952         * modules/crypto/gc-hmac-md5-tests: Likewise.
72953         * modules/crypto/gc-hmac-sha1-tests: Likewise.
72954         * modules/crypto/gc-md2-tests: Likewise.
72955         * modules/crypto/gc-md4-tests: Likewise.
72956         * modules/crypto/gc-md5-tests: Likewise.
72957         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
72958         * modules/crypto/gc-rijndael-tests: Likewise.
72959         * modules/crypto/gc-sha1-tests: Likewise.
72960         * modules/crypto/gc-tests: Likewise.
72961         * modules/crypto/md2-tests: Likewise.
72962         * modules/crypto/md4-tests: Likewise.
72963         * modules/fcntl-h-tests: Likewise.
72964         * modules/floorf-tests: Likewise.
72965         * modules/floorl-tests: Likewise.
72966         * modules/frexp-nolibm-tests: Likewise.
72967         * modules/frexp-tests: Likewise.
72968         * modules/frexpl-nolibm-tests: Likewise.
72969         * modules/frexpl-tests: Likewise.
72970         * modules/getaddrinfo-tests: Likewise.
72971         * modules/inttypes-tests: Likewise.
72972         * modules/isfinite-tests: Likewise.
72973         * modules/isinf-tests: Likewise.
72974         * modules/ldexpl-tests: Likewise.
72975         * modules/locale-tests: Likewise.
72976         * modules/math-tests: Likewise.
72977         * modules/netdb-tests: Likewise.
72978         * modules/netinet_in-tests: Likewise.
72979         * modules/printf-frexp-tests: Likewise.
72980         * modules/printf-frexpl-tests: Likewise.
72981         * modules/priv-set-tests: Likewise.
72982         * modules/random_r-tests: Likewise.
72983         * modules/round-tests: Likewise.
72984         * modules/roundf-tests: Likewise.
72985         * modules/roundl-tests: Likewise.
72986         * modules/search-tests: Likewise.
72987         * modules/select-tests: Likewise.
72988         * modules/signal-tests: Likewise.
72989         * modules/stdbool-tests: Likewise.
72990         * modules/stddef-tests: Likewise.
72991         * modules/stdint-tests: Likewise.
72992         * modules/stdio-tests: Likewise.
72993         * modules/stdlib-tests: Likewise.
72994         * modules/string-tests: Likewise.
72995         * modules/strings-tests: Likewise.
72996         * modules/sys_select-tests: Likewise.
72997         * modules/sys_socket-tests: Likewise.
72998         * modules/sys_stat-tests: Likewise.
72999         * modules/sys_time-tests: Likewise.
73000         * modules/sys_utsname-tests: Likewise.
73001         * modules/sysexits-tests: Likewise.
73002         * modules/time-tests: Likewise.
73003         * modules/trunc-tests: Likewise.
73004         * modules/truncf-tests: Likewise.
73005         * modules/truncl-tests: Likewise.
73006         * modules/tsearch-tests: Likewise.
73007         * modules/unistd-tests: Likewise.
73008         * modules/wchar-tests: Likewise.
73009         * modules/wctype-tests: Likewise.
73011         tests: fix license on several tests
73012         * tests/test-des.c: Update to GPLv3+.
73013         * tests/test-flock.c: Likewise.
73014         * tests/test-fsync.c: Likewise.
73015         * tests/test-futimens.h: Likewise.
73016         * tests/test-gc-arcfour.c: Likewise.
73017         * tests/test-gc-arctwo.c: Likewise.
73018         * tests/test-gc-des.c: Likewise.
73019         * tests/test-gc-hmac-md5.c: Likewise.
73020         * tests/test-gc-hmac-sha1.c: Likewise.
73021         * tests/test-gc-md2.c: Likewise.
73022         * tests/test-gc-md4.c: Likewise.
73023         * tests/test-gc-md5.c: Likewise.
73024         * tests/test-gc-pbkdf2-sha1.c: Likewise.
73025         * tests/test-gc-rijndael.c: Likewise.
73026         * tests/test-gc-sha1.c: Likewise.
73027         * tests/test-gc.c: Likewise.
73028         * tests/test-getcwd.c: Likewise.
73029         * tests/test-link.c: Likewise.
73030         * tests/test-link.h: Likewise.
73031         * tests/test-lutimens.h: Likewise.
73032         * tests/test-md2.c: Likewise.
73033         * tests/test-md4.c: Likewise.
73034         * tests/test-mkdir.h: Likewise.
73035         * tests/test-rename.c: Likewise.
73036         * tests/test-rename.h: Likewise.
73037         * tests/test-safe-alloc.c: Likewise.
73038         * tests/test-utimens-common.h: Likewise.
73039         * tests/test-utimens.h: Likewise.
73041         maint: sync license texts
73042         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
73043         * doc/gpl-3.0.texi: Revert copyright year update.
73044         * doc/lgpl-3.0.texi: Likewise.
73046 2009-12-29  Jim Meyering  <meyering@redhat.com>
73048         update nearly all FSF copyright year lists to include 2009
73049         The files named by the following are exempted:
73050             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
73051               test -f "$dst" && { echo "$dst"; continue; }
73052               test -d "$dst" || continue
73053               echo "$dst"/$(basename "$src")
73054             done > exempt
73055             git ls-files tests/unictype >> exempt
73056         In the remaining files, convert to all-interval notation if
73057         - there is already at least one year interval like 2000-2003
73058         - the file is maintained by me
73059         - the file is in lib/uni*/, where that style already prevails
73060         Otherwise, use update-copyright's default.
73062 2009-12-29  Simon Josefsson  <simon@josefsson.org>
73063         and Eric Blake  <ebb9@byu.net>
73065         tests: don't require debug system() to pass
73066         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
73067         * tests/test-rmdir.h (test_rmdir_func): Likewise.
73068         * tests/test-unlink.h (test_unlink_func): Likewise.
73069         * tests/test-fstatat.c (main): ...into callers.
73070         * tests/test-lstat.c (main): Likewise.
73071         * tests/test-rmdir.c (main): Likewise.
73072         * tests/test-unlink.c (main): Likewise.
73073         * tests/test-unlinkat.c (main): Likewise.
73074         * tests/test-areadlink-with-size.c (main): Don't require a
73075         debug-only system call to pass, aiding cross-testing to mingw.
73076         * tests/test-areadlink.c (main): Likewise.
73077         * tests/test-areadlinkat-with-size.c (main): Likewise.
73078         * tests/test-areadlinkat.c (main): Likewise.
73079         * tests/test-canonicalize-lgpl.c (main): Likewise.
73080         * tests/test-canonicalize.c (main): Likewise.
73081         * tests/test-chown.c (main): Likewise.
73082         * tests/test-fchownat.c (main): Likewise.
73083         * tests/test-lchown.c (main): Likewise.
73084         * tests/test-fdutimensat.c (main): Likewise.
73085         * tests/test-futimens.c (main): Likewise.
73086         * tests/test-link.c (main): Likewise.
73087         * tests/test-linkat.c (main): Likewise.
73088         * tests/test-mkdir.c (main): Likewise.
73089         * tests/test-mkdirat.c (main): Likewise.
73090         * tests/test-mkfifo.c (main): Likewise.
73091         * tests/test-mkfifoat.c (main): Likewise.
73092         * tests/test-mknod.c (main): Likewise.
73093         * tests/test-readlink.c (main): Likewise.
73094         * tests/test-remove.c (main): Likewise.
73095         * tests/test-rename.c (main): Likewise.
73096         * tests/test-renameat.c (main): Likewise.
73097         * tests/test-symlink.c (main): Likewise.
73098         * tests/test-symlinkat.c (main): Likewise.
73099         * tests/test-utimens.c (main): Likewise.
73100         * tests/test-utimensat.c (main): Likewise.
73102 2009-12-29  Simon Josefsson  <simon@josefsson.org>
73104         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
73105         on $(UNUSED_PARAMETER_H) to avoid build failure.
73107 2009-12-28  Jim Meyering  <meyering@redhat.com>
73109         update-copyright: you may specify a max. line length other than 72
73110         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
73112         maint: use consistent FSF copyright line syntax
73113         * lib/posixtm.c: Add missing comma in FSF copyright line.
73114         * lib/posixtm.h: Likewise.
73115         * lib/getugroups.c: Add missing ", Inc.".
73117         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
73118         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
73119         FSF copyright line.  Remove trailing blanks.
73121 2009-12-28  Eric Blake  <ebb9@byu.net>
73123         test-dup2: reduce dependencies
73124         * modules/cloexec (Configure.ac): Set witness.
73125         * modules/dup2-tests (Depends-on): Drop cloexec.
73126         * tests/test-dup2.c (main): Skip portion of test if cloexec module
73127         not present.
73128         Suggested by Bruno Haible.
73130 2009-12-26  Bruno Haible  <bruno@clisp.org>
73132         Remove an unneeded dependency.
73133         * modules/fseterr (Depends-on): Remove dup2.
73135 2009-12-26  Eric Blake  <ebb9@byu.net>
73137         tests: use macros.h in more places
73138         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
73139         (ASSERT_STREAM): Provide default of stderr.
73140         * tests/test-dirent-safer.c: Include macros.h, using alternate
73141         stream for assertions.
73142         * tests/test-dup-safer.c: Likewise.
73143         * tests/test-freopen-safer.c: Likewise.
73144         * tests/test-getopt.c: Likewise.
73145         * tests/test-openat-safer.c: Likewise.
73146         * tests/test-pipe.c: Likewise.
73147         * tests/test-popen-safer.c: Likewise.
73148         * modules/dirent-safer-tests (Files): Include macros.h.
73149         * modules/unistd-safer-tests (Files): Likewise.
73150         * modules/freopen-safer-tests (Files): Likewise.
73151         * modules/getopt-posix-tests (Files): Likewise.
73152         * modules/openat-safer-tests (Files): Likewise.
73153         * modules/pipe-tests (Files): Likewise.
73155 2009-12-26  Bruno Haible  <bruno@clisp.org>
73157         javacomp-script: Portability fix.
73158         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
73159         that it also works on Solaris.
73161 2009-12-26  Bruno Haible  <bruno@clisp.org>
73163         localename: Fix storage allocation of gl_locale_name_thread's result.
73164         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
73165         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
73166         all platforms that have 'uselocale'.
73167         (gl_locale_name_thread_unsafe): New function, extracted from
73168         gl_locale_name_thread.
73169         (gl_locale_name_thread): Call struniq on all platforms that have
73170         'uselocale'.
73171         * tests/test-localename.c (test_locale_name_thread): Check that the
73172         resulting strings are permanently allocated.
73173         * modules/localename-tests (Depends-on): Add strdup.
73175 2009-12-26  Bruno Haible  <bruno@clisp.org>
73177         * tests/test-localename.c (categories): Fill in the strings.
73179 2009-12-26  Jim Meyering  <meyering@redhat.com>
73181         isdir: complete the removal of m4/isdir.m4
73182         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
73184         isdir: clean up, since at least grep still uses it
73185         * lib/isdir.c: Include "isdir.h".
73186         (S_ISDIR): Remove now-unneeded definition.
73187         * modules/isdir (Files): Add lib/isdir.h.
73188         * lib/isdir.h: New file, with declaration.
73189         * m4/isdir.m4: Remove file -- unneeded.
73191 2009-12-25  Bruno Haible  <bruno@clisp.org>
73193         selinux-h: Make generated .h files standalone.
73194         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
73195         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
73196         * lib/se-selinux.in.h: Likewise.
73197         * modules/selinux-h (Depends-on): Add unused-parameter.
73198         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
73199         selinux/selinux.h and selinux/context.h.
73200         Suggested by Eric Blake.
73202 2009-12-25  Bruno Haible  <bruno@clisp.org>
73204         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
73205         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
73206         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
73207         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
73208         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
73210 2009-12-24  Bruno Haible  <bruno@clisp.org>
73212         openat: Fix warning.
73213         * lib/openat-proc.c: Include <unistd.h>.
73215 2009-12-24  Bruno Haible  <bruno@clisp.org>
73217         New module 'unused-parameter'.
73218         * build-aux/unused-parameter.h: New file, extracted from earlier
73219         gnulib-common.m4.
73220         * modules/unused-parameter: New file.
73221         * lib/unistr.h: Include unused-parameter.h.
73222         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
73223         _GL_UNUSED.
73224         * modules/unistr/base (Depends-on): Add unused-parameter.
73226 2009-12-24  Bruno Haible  <bruno@clisp.org>
73228         Add missing dependencies to 'extensions' module.
73229         * m4/extensions.m4: Add comment.
73230         * modules/accept4 (Depends-on): Add extensions.
73231         * modules/dup3 (Depends-on): Likewise.
73232         * modules/fcntl (Depends-on): Likewise.
73233         * modules/futimens (Depends-on): Likewise.
73234         * modules/mknod (Depends-on): Likewise.
73235         * modules/pipe2 (Depends-on): Likewise.
73236         * modules/stat-time (Depends-on): Likewise.
73237         * modules/strcasestr-simple (Depends-on): Likewise.
73238         * modules/strsignal (Depends-on): Likewise.
73239         * modules/utimensat (Depends-on): Likewise.
73240         * modules/localcharset (Depends-on): Likewise. Needed because of
73241         gl_FCNTL_O_FLAGS.
73242         * modules/wcrtomb (Depends-on): Likewise. Needed because of
73243         AC_TYPE_MBSTATE_T.
73244         * modules/wcsnrtombs (Depends-on): Likewise.
73245         * modules/wcsrtombs (Depends-on): Likewise.
73247 2009-12-24  Bruno Haible  <bruno@clisp.org>
73249         binary-io: Avoid gcc warning due to SET_BINARY.
73250         * lib/binary-io.h (SET_BINARY): Cast the result to void.
73251         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
73253 2009-12-24  Bruno Haible  <bruno@clisp.org>
73255         Avoid future namespace pollution on glibc systems.
73256         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
73257         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
73258         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
73259         glibc systems.
73261 2009-12-24  Bruno Haible  <bruno@clisp.org>
73263         Refactor common macros used in tests.
73264         * tests/macros.h: New file.
73265         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
73266         and/or <stdlib.h>, if appropriate.
73267         (ASSERT, SIZEOF): Remove macros.
73268         * tests/test-areadlink-with-size.c: Likewise.
73269         * tests/test-areadlinkat.c: Likewise.
73270         * tests/test-areadlinkat-with-size.c: Likewise.
73271         * tests/test-argmatch.c: Likewise.
73272         * tests/test-argv-iter.c: Likewise.
73273         * tests/test-array-mergesort.c: Likewise.
73274         * tests/test-array_list.c: Likewise.
73275         * tests/test-array_oset.c: Likewise.
73276         * tests/test-avltree_list.c: Likewise.
73277         * tests/test-avltree_oset.c: Likewise.
73278         * tests/test-avltreehash_list.c: Likewise.
73279         * tests/test-base64.c: Likewise.
73280         * tests/test-binary-io.c: Likewise.
73281         * tests/test-bitrotate.c: Likewise.
73282         * tests/test-btowc.c: Likewise.
73283         * tests/test-byteswap.c: Likewise.
73284         * tests/test-c-ctype.c: Likewise.
73285         * tests/test-c-stack.c: Likewise.
73286         * tests/test-c-strcasecmp.c: Likewise.
73287         * tests/test-c-strcasestr.c: Likewise.
73288         * tests/test-c-strncasecmp.c: Likewise.
73289         * tests/test-c-strstr.c: Likewise.
73290         * tests/test-canonicalize-lgpl.c: Likewise.
73291         * tests/test-canonicalize.c: Likewise.
73292         * tests/test-carray_list.c: Likewise.
73293         * tests/test-ceilf1.c: Likewise.
73294         * tests/test-ceilf2.c: Likewise.
73295         * tests/test-ceill.c: Likewise.
73296         * tests/test-chown.c: Likewise.
73297         * tests/test-cloexec.c: Likewise.
73298         * tests/test-copy-acl.c: Likewise.
73299         * tests/test-copy-file.c: Likewise.
73300         * tests/test-count-one-bits.c: Likewise.
73301         * tests/test-dprintf-posix.c: Likewise.
73302         * tests/test-dup2.c: Likewise.
73303         * tests/test-dup3.c: Likewise.
73304         * tests/test-duplocale.c: Likewise.
73305         * tests/test-fbufmode.c: Likewise.
73306         * tests/test-fchdir.c: Likewise.
73307         * tests/test-fchownat.c: Likewise.
73308         * tests/test-fcntl-safer.c: Likewise.
73309         * tests/test-fcntl.c: Likewise.
73310         * tests/test-fdopendir.c: Likewise.
73311         * tests/test-fdutimensat.c: Likewise.
73312         * tests/test-fflush2.c: Likewise.
73313         * tests/test-file-has-acl.c: Likewise.
73314         * tests/test-filevercmp.c: Likewise.
73315         * tests/test-flock.c: Likewise.
73316         * tests/test-floorf1.c: Likewise.
73317         * tests/test-floorf2.c: Likewise.
73318         * tests/test-floorl.c: Likewise.
73319         * tests/test-fnmatch.c: Likewise.
73320         * tests/test-fopen.h: Likewise.
73321         * tests/test-fpending.c: Likewise.
73322         * tests/test-fprintf-posix.c: Likewise.
73323         * tests/test-fpurge.c: Likewise.
73324         * tests/test-freadable.c: Likewise.
73325         * tests/test-freadahead.c: Likewise.
73326         * tests/test-freading.c: Likewise.
73327         * tests/test-freadptr.c: Likewise.
73328         * tests/test-freadptr2.c: Likewise.
73329         * tests/test-freadseek.c: Likewise.
73330         * tests/test-freopen.c: Likewise.
73331         * tests/test-frexp.c: Likewise.
73332         * tests/test-frexpl.c: Likewise.
73333         * tests/test-fseek.c: Likewise.
73334         * tests/test-fseeko.c: Likewise.
73335         * tests/test-fstatat.c: Likewise.
73336         * tests/test-fstrcmp.c: Likewise.
73337         * tests/test-fsync.c: Likewise.
73338         * tests/test-ftell.c: Likewise.
73339         * tests/test-ftello.c: Likewise.
73340         * tests/test-func.c: Likewise.
73341         * tests/test-futimens.c: Likewise.
73342         * tests/test-fwritable.c: Likewise.
73343         * tests/test-fwriting.c: Likewise.
73344         * tests/test-getcwd.c: Likewise.
73345         * tests/test-getdate.c: Likewise.
73346         * tests/test-getdelim.c: Likewise.
73347         * tests/test-getdtablesize.c: Likewise.
73348         * tests/test-getgroups.c: Likewise.
73349         * tests/test-getline.c: Likewise.
73350         * tests/test-getndelim2.c: Likewise.
73351         * tests/test-glob.c: Likewise.
73352         * tests/test-hash.c: Likewise.
73353         * tests/test-i-ring.c: Likewise.
73354         * tests/test-iconv-utf.c: Likewise.
73355         * tests/test-iconv.c: Likewise.
73356         * tests/test-idpriv-drop.c: Likewise.
73357         * tests/test-idpriv-droptemp.c: Likewise.
73358         * tests/test-inet_ntop.c: Likewise.
73359         * tests/test-inet_pton.c: Likewise.
73360         * tests/test-isblank.c: Likewise.
73361         * tests/test-isfinite.c: Likewise.
73362         * tests/test-isinf.c: Likewise.
73363         * tests/test-isnan.c: Likewise.
73364         * tests/test-isnand.h: Likewise.
73365         * tests/test-isnanf.h: Likewise.
73366         * tests/test-isnanl.h: Likewise.
73367         * tests/test-lchown.c: Likewise.
73368         * tests/test-ldexpl.c: Likewise.
73369         * tests/test-link.c: Likewise.
73370         * tests/test-linkat.c: Likewise.
73371         * tests/test-linked_list.c: Likewise.
73372         * tests/test-linkedhash_list.c: Likewise.
73373         * tests/test-localename.c: Likewise.
73374         * tests/test-lseek.c: Likewise.
73375         * tests/test-lstat.c: Likewise.
73376         * tests/test-mbmemcasecmp.c: Likewise.
73377         * tests/test-mbmemcasecoll.c: Likewise.
73378         * tests/test-mbrtowc.c: Likewise.
73379         * tests/test-mbscasecmp.c: Likewise.
73380         * tests/test-mbscasestr1.c: Likewise.
73381         * tests/test-mbscasestr2.c: Likewise.
73382         * tests/test-mbscasestr3.c: Likewise.
73383         * tests/test-mbscasestr4.c: Likewise.
73384         * tests/test-mbschr.c: Likewise.
73385         * tests/test-mbscspn.c: Likewise.
73386         * tests/test-mbsinit.c: Likewise.
73387         * tests/test-mbsncasecmp.c: Likewise.
73388         * tests/test-mbsnrtowcs.c: Likewise.
73389         * tests/test-mbspbrk.c: Likewise.
73390         * tests/test-mbspcasecmp.c: Likewise.
73391         * tests/test-mbsrchr.c: Likewise.
73392         * tests/test-mbsrtowcs.c: Likewise.
73393         * tests/test-mbsspn.c: Likewise.
73394         * tests/test-mbsstr1.c: Likewise.
73395         * tests/test-mbsstr2.c: Likewise.
73396         * tests/test-mbsstr3.c: Likewise.
73397         * tests/test-memchr.c: Likewise.
73398         * tests/test-memchr2.c: Likewise.
73399         * tests/test-memcmp.c: Likewise.
73400         * tests/test-memmem.c: Likewise.
73401         * tests/test-memrchr.c: Likewise.
73402         * tests/test-mkdir.c: Likewise.
73403         * tests/test-mkdirat.c: Likewise.
73404         * tests/test-mkfifo.c: Likewise.
73405         * tests/test-mkfifoat.c: Likewise.
73406         * tests/test-mknod.c: Likewise.
73407         * tests/test-nanosleep.c: Likewise.
73408         * tests/test-nl_langinfo.c: Likewise.
73409         * tests/test-obstack-printf.c: Likewise.
73410         * tests/test-open.c: Likewise.
73411         * tests/test-openat.c: Likewise.
73412         * tests/test-pipe-filter-gi1.c: Likewise.
73413         * tests/test-pipe-filter-gi2-main.c: Likewise.
73414         * tests/test-pipe-filter-ii1.c: Likewise.
73415         * tests/test-pipe-filter-ii2-main.c: Likewise.
73416         * tests/test-pipe2.c: Likewise.
73417         * tests/test-popen.h: Likewise.
73418         * tests/test-posixtm.c: Likewise.
73419         * tests/test-pread.c: Likewise.
73420         * tests/test-printf-frexp.c: Likewise.
73421         * tests/test-printf-frexpl.c: Likewise.
73422         * tests/test-printf-posix.c: Likewise.
73423         * tests/test-priv-set.c: Likewise.
73424         * tests/test-quotearg.c: Likewise.
73425         * tests/test-random_r.c: Likewise.
73426         * tests/test-rawmemchr.c: Likewise.
73427         * tests/test-rbtree_list.c: Likewise.
73428         * tests/test-rbtree_oset.c: Likewise.
73429         * tests/test-rbtreehash_list.c: Likewise.
73430         * tests/test-readlink.c: Likewise.
73431         * tests/test-remove.c: Likewise.
73432         * tests/test-rename.c: Likewise.
73433         * tests/test-renameat.c: Likewise.
73434         * tests/test-rmdir.c: Likewise.
73435         * tests/test-round1.c: Likewise.
73436         * tests/test-roundf1.c: Likewise.
73437         * tests/test-roundl.c: Likewise.
73438         * tests/test-safe-alloc.c: Likewise.
73439         * tests/test-sameacls.c: Likewise.
73440         * tests/test-set-mode-acl.c: Likewise.
73441         * tests/test-setenv.c: Likewise.
73442         * tests/test-sigaction.c: Likewise.
73443         * tests/test-signbit.c: Likewise.
73444         * tests/test-sleep.c: Likewise.
73445         * tests/test-snprintf-posix.c: Likewise.
73446         * tests/test-snprintf.c: Likewise.
73447         * tests/test-sprintf-posix.c: Likewise.
73448         * tests/test-stat-time.c: Likewise.
73449         * tests/test-stat.c: Likewise.
73450         * tests/test-strcasestr.c: Likewise.
73451         * tests/test-strchrnul.c: Likewise.
73452         * tests/test-strerror.c: Likewise.
73453         * tests/test-striconv.c: Likewise.
73454         * tests/test-striconveh.c: Likewise.
73455         * tests/test-striconveha.c: Likewise.
73456         * tests/test-strsignal.c: Likewise.
73457         * tests/test-strstr.c: Likewise.
73458         * tests/test-strtod.c: Likewise.
73459         * tests/test-strverscmp.c: Likewise.
73460         * tests/test-symlink.c: Likewise.
73461         * tests/test-symlinkat.c: Likewise.
73462         * tests/test-trunc1.c: Likewise.
73463         * tests/test-trunc2.c: Likewise.
73464         * tests/test-truncf1.c: Likewise.
73465         * tests/test-truncf2.c: Likewise.
73466         * tests/test-truncl.c: Likewise.
73467         * tests/test-uname.c: Likewise.
73468         * tests/test-unlink.c: Likewise.
73469         * tests/test-unlinkat.c: Likewise.
73470         * tests/test-unsetenv.c: Likewise.
73471         * tests/test-usleep.c: Likewise.
73472         * tests/test-utimens.c: Likewise.
73473         * tests/test-utimensat.c: Likewise.
73474         * tests/test-vasnprintf-posix.c: Likewise.
73475         * tests/test-vasnprintf-posix2.c: Likewise.
73476         * tests/test-vasnprintf.c: Likewise.
73477         * tests/test-vasprintf-posix.c: Likewise.
73478         * tests/test-vasprintf.c: Likewise.
73479         * tests/test-vdprintf-posix.c: Likewise.
73480         * tests/test-vfprintf-posix.c: Likewise.
73481         * tests/test-vprintf-posix.c: Likewise.
73482         * tests/test-vsnprintf-posix.c: Likewise.
73483         * tests/test-vsnprintf.c: Likewise.
73484         * tests/test-vsprintf-posix.c: Likewise.
73485         * tests/test-wcrtomb.c: Likewise.
73486         * tests/test-wcsnrtombs.c: Likewise.
73487         * tests/test-wcsrtombs.c: Likewise.
73488         * tests/test-wctype.c: Likewise.
73489         * tests/test-wcwidth.c: Likewise.
73490         * tests/test-xfprintf-posix.c: Likewise.
73491         * tests/test-xmemdup0.c: Likewise.
73492         * tests/test-xprintf-posix.c: Likewise.
73493         * tests/test-xvasprintf.c: Likewise.
73494         * tests/unicase/test-locale-language.c: Likewise.
73495         * tests/unicase/test-mapping-part1.h: Likewise.
73496         * tests/unicase/test-predicate-part1.h: Likewise.
73497         * tests/unicase/test-u8-casecmp.c: Likewise.
73498         * tests/unicase/test-u8-casecoll.c: Likewise.
73499         * tests/unicase/test-u8-casefold.c: Likewise.
73500         * tests/unicase/test-u8-is-cased.c: Likewise.
73501         * tests/unicase/test-u8-is-casefolded.c: Likewise.
73502         * tests/unicase/test-u8-is-lowercase.c: Likewise.
73503         * tests/unicase/test-u8-is-titlecase.c: Likewise.
73504         * tests/unicase/test-u8-is-uppercase.c: Likewise.
73505         * tests/unicase/test-u8-tolower.c: Likewise.
73506         * tests/unicase/test-u8-totitle.c: Likewise.
73507         * tests/unicase/test-u8-toupper.c: Likewise.
73508         * tests/unicase/test-u16-casecmp.c: Likewise.
73509         * tests/unicase/test-u16-casecoll.c: Likewise.
73510         * tests/unicase/test-u16-casefold.c: Likewise.
73511         * tests/unicase/test-u16-is-cased.c: Likewise.
73512         * tests/unicase/test-u16-is-casefolded.c: Likewise.
73513         * tests/unicase/test-u16-is-lowercase.c: Likewise.
73514         * tests/unicase/test-u16-is-titlecase.c: Likewise.
73515         * tests/unicase/test-u16-is-uppercase.c: Likewise.
73516         * tests/unicase/test-u16-tolower.c: Likewise.
73517         * tests/unicase/test-u16-totitle.c: Likewise.
73518         * tests/unicase/test-u16-toupper.c: Likewise.
73519         * tests/unicase/test-u32-casecmp.c: Likewise.
73520         * tests/unicase/test-u32-casecoll.c: Likewise.
73521         * tests/unicase/test-u32-casefold.c: Likewise.
73522         * tests/unicase/test-u32-is-cased.c: Likewise.
73523         * tests/unicase/test-u32-is-casefolded.c: Likewise.
73524         * tests/unicase/test-u32-is-lowercase.c: Likewise.
73525         * tests/unicase/test-u32-is-titlecase.c: Likewise.
73526         * tests/unicase/test-u32-is-uppercase.c: Likewise.
73527         * tests/unicase/test-u32-tolower.c: Likewise.
73528         * tests/unicase/test-u32-totitle.c: Likewise.
73529         * tests/unicase/test-u32-toupper.c: Likewise.
73530         * tests/unicase/test-ulc-casecmp.c: Likewise.
73531         * tests/unicase/test-ulc-casecoll.c: Likewise.
73532         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
73533         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
73534         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
73535         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
73536         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
73537         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
73538         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
73539         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
73540         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
73541         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
73542         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
73543         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
73544         * tests/unictype/test-bidi_byname.c: Likewise.
73545         * tests/unictype/test-bidi_name.c: Likewise.
73546         * tests/unictype/test-bidi_of.c: Likewise.
73547         * tests/unictype/test-bidi_test.c: Likewise.
73548         * tests/unictype/test-block_list.c: Likewise.
73549         * tests/unictype/test-block_of.c: Likewise.
73550         * tests/unictype/test-block_test.c: Likewise.
73551         * tests/unictype/test-categ_and.c: Likewise.
73552         * tests/unictype/test-categ_and_not.c: Likewise.
73553         * tests/unictype/test-categ_byname.c: Likewise.
73554         * tests/unictype/test-categ_name.c: Likewise.
73555         * tests/unictype/test-categ_none.c: Likewise.
73556         * tests/unictype/test-categ_of.c: Likewise.
73557         * tests/unictype/test-categ_or.c: Likewise.
73558         * tests/unictype/test-categ_test_withtable.c: Likewise.
73559         * tests/unictype/test-combining.c: Likewise.
73560         * tests/unictype/test-decdigit.c: Likewise.
73561         * tests/unictype/test-digit.c: Likewise.
73562         * tests/unictype/test-mirror.c: Likewise.
73563         * tests/unictype/test-numeric.c: Likewise.
73564         * tests/unictype/test-pr_byname.c: Likewise.
73565         * tests/unictype/test-pr_test.c: Likewise.
73566         * tests/unictype/test-predicate-part1.h: Likewise.
73567         * tests/unictype/test-scripts.c: Likewise.
73568         * tests/unictype/test-sy_c_ident.c: Likewise.
73569         * tests/unictype/test-sy_java_ident.c: Likewise.
73570         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
73571         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
73572         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
73573         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
73574         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
73575         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
73576         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
73577         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
73578         * tests/uninorm/test-canonical-decomposition.c: Likewise.
73579         * tests/uninorm/test-compat-decomposition.c: Likewise.
73580         * tests/uninorm/test-composition.c: Likewise.
73581         * tests/uninorm/test-decomposing-form.c: Likewise.
73582         * tests/uninorm/test-decomposition.c: Likewise.
73583         * tests/uninorm/test-u8-nfc.c: Likewise.
73584         * tests/uninorm/test-u8-nfd.c: Likewise.
73585         * tests/uninorm/test-u8-nfkc.c: Likewise.
73586         * tests/uninorm/test-u8-nfkd.c: Likewise.
73587         * tests/uninorm/test-u8-normcmp.c: Likewise.
73588         * tests/uninorm/test-u8-normcoll.c: Likewise.
73589         * tests/uninorm/test-u16-nfc.c: Likewise.
73590         * tests/uninorm/test-u16-nfd.c: Likewise.
73591         * tests/uninorm/test-u16-nfkc.c: Likewise.
73592         * tests/uninorm/test-u16-nfkd.c: Likewise.
73593         * tests/uninorm/test-u16-normcmp.c: Likewise.
73594         * tests/uninorm/test-u16-normcoll.c: Likewise.
73595         * tests/uninorm/test-u32-nfc.c: Likewise.
73596         * tests/uninorm/test-u32-nfd.c: Likewise.
73597         * tests/uninorm/test-u32-nfkc.c: Likewise.
73598         * tests/uninorm/test-u32-nfkd.c: Likewise.
73599         * tests/uninorm/test-u32-normalize-big.c: Likewise.
73600         * tests/uninorm/test-u32-normcmp.c: Likewise.
73601         * tests/uninorm/test-u32-normcoll.c: Likewise.
73602         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
73603         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
73604         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
73605         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
73606         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
73607         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
73608         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
73609         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
73610         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
73611         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
73612         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
73613         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
73614         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
73615         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
73616         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
73617         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
73618         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
73619         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
73620         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
73621         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
73622         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
73623         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
73624         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
73625         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
73626         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
73627         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
73628         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
73629         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
73630         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
73631         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
73632         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
73633         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
73634         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
73635         * tests/uniwidth/test-u8-strwidth.c: Likewise.
73636         * tests/uniwidth/test-u8-width.c: Likewise.
73637         * tests/uniwidth/test-u16-strwidth.c: Likewise.
73638         * tests/uniwidth/test-u16-width.c: Likewise.
73639         * tests/uniwidth/test-u32-strwidth.c: Likewise.
73640         * tests/uniwidth/test-u32-width.c: Likewise.
73641         * tests/uniwidth/test-uc_width.c: Likewise.
73642         * tests/uniwidth/test-uc_width2.c: Likewise.
73643         * modules/acl-tests (Files): Add tests/macros.h.
73644         * modules/areadlink-tests (Files): Likewise.
73645         * modules/areadlink-with-size-tests (Files): Likewise.
73646         * modules/areadlinkat-tests (Files): Likewise.
73647         * modules/areadlinkat-with-size-tests (Files): Likewise.
73648         * modules/argmatch-tests (Files): Likewise.
73649         * modules/argv-iter-tests (Files): Likewise.
73650         * modules/array-list-tests (Files): Likewise.
73651         * modules/array-mergesort-tests (Files): Likewise.
73652         * modules/array-oset-tests (Files): Likewise.
73653         * modules/avltree-list-tests (Files): Likewise.
73654         * modules/avltree-oset-tests (Files): Likewise.
73655         * modules/avltreehash-list-tests (Files): Likewise.
73656         * modules/base64-tests (Files): Likewise.
73657         * modules/binary-io-tests (Files): Likewise.
73658         * modules/bitrotate-tests (Files): Likewise.
73659         * modules/btowc-tests (Files): Likewise.
73660         * modules/byteswap-tests (Files): Likewise.
73661         * modules/c-ctype-tests (Files): Likewise.
73662         * modules/c-stack-tests (Files): Likewise.
73663         * modules/c-strcase-tests (Files): Likewise.
73664         * modules/c-strcasestr-tests (Files): Likewise.
73665         * modules/c-strstr-tests (Files): Likewise.
73666         * modules/canonicalize-lgpl-tests (Files): Likewise.
73667         * modules/canonicalize-tests (Files): Likewise.
73668         * modules/carray-list-tests (Files): Likewise.
73669         * modules/ceilf-tests (Files): Likewise.
73670         * modules/ceill-tests (Files): Likewise.
73671         * modules/chown-tests (Files): Likewise.
73672         * modules/cloexec-tests (Files): Likewise.
73673         * modules/copy-file-tests (Files): Likewise.
73674         * modules/count-one-bits-tests (Files): Likewise.
73675         * modules/dprintf-posix-tests (Files): Likewise.
73676         * modules/dup2-tests (Files): Likewise.
73677         * modules/dup3-tests (Files): Likewise.
73678         * modules/duplocale-tests (Files): Likewise.
73679         * modules/fbufmode-tests (Files): Likewise.
73680         * modules/fchdir-tests (Files): Likewise.
73681         * modules/fcntl-safer-tests (Files): Likewise.
73682         * modules/fcntl-tests (Files): Likewise.
73683         * modules/fdopendir-tests (Files): Likewise.
73684         * modules/fdutimensat-tests (Files): Likewise.
73685         * modules/fflush-tests (Files): Likewise.
73686         * modules/filevercmp-tests (Files): Likewise.
73687         * modules/flock-tests (Files): Likewise.
73688         * modules/floorf-tests (Files): Likewise.
73689         * modules/floorl-tests (Files): Likewise.
73690         * modules/fnmatch-tests (Files): Likewise.
73691         * modules/fopen-safer-tests (Files): Likewise.
73692         * modules/fopen-tests (Files): Likewise.
73693         * modules/fpending-tests (Files): Likewise.
73694         * modules/fprintf-posix-tests (Files): Likewise.
73695         * modules/fpurge-tests (Files): Likewise.
73696         * modules/freadable-tests (Files): Likewise.
73697         * modules/freadahead-tests (Files): Likewise.
73698         * modules/freading-tests (Files): Likewise.
73699         * modules/freadptr-tests (Files): Likewise.
73700         * modules/freadseek-tests (Files): Likewise.
73701         * modules/freopen-tests (Files): Likewise.
73702         * modules/frexp-nolibm-tests (Files): Likewise.
73703         * modules/frexp-tests (Files): Likewise.
73704         * modules/frexpl-nolibm-tests (Files): Likewise.
73705         * modules/frexpl-tests (Files): Likewise.
73706         * modules/fseek-tests (Files): Likewise.
73707         * modules/fseeko-tests (Files): Likewise.
73708         * modules/fstrcmp-tests (Files): Likewise.
73709         * modules/fsync-tests (Files): Likewise.
73710         * modules/ftell-tests (Files): Likewise.
73711         * modules/ftello-tests (Files): Likewise.
73712         * modules/func-tests (Files): Likewise.
73713         * modules/futimens-tests (Files): Likewise.
73714         * modules/fwritable-tests (Files): Likewise.
73715         * modules/fwriting-tests (Files): Likewise.
73716         * modules/getcwd-tests (Files): Likewise.
73717         * modules/getdate-tests (Files): Likewise.
73718         * modules/getdelim-tests (Files): Likewise.
73719         * modules/getdtablesize-tests (Files): Likewise.
73720         * modules/getgroups-tests (Files): Likewise.
73721         * modules/getline-tests (Files): Likewise.
73722         * modules/getndelim2-tests (Files): Likewise.
73723         * modules/glob-tests (Files): Likewise.
73724         * modules/hash-tests (Files): Likewise.
73725         * modules/i-ring-tests (Files): Likewise.
73726         * modules/iconv-tests (Files): Likewise.
73727         * modules/iconv_open-utf-tests (Files): Likewise.
73728         * modules/idpriv-drop-tests (Files): Likewise.
73729         * modules/idpriv-droptemp-tests (Files): Likewise.
73730         * modules/inet_ntop-tests (Files): Likewise.
73731         * modules/inet_pton-tests (Files): Likewise.
73732         * modules/isblank-tests (Files): Likewise.
73733         * modules/isfinite-tests (Files): Likewise.
73734         * modules/isinf-tests (Files): Likewise.
73735         * modules/isnan-tests (Files): Likewise.
73736         * modules/isnand-nolibm-tests (Files): Likewise.
73737         * modules/isnand-tests (Files): Likewise.
73738         * modules/isnanf-nolibm-tests (Files): Likewise.
73739         * modules/isnanf-tests (Files): Likewise.
73740         * modules/isnanl-nolibm-tests (Files): Likewise.
73741         * modules/isnanl-tests (Files): Likewise.
73742         * modules/lchown-tests (Files): Likewise.
73743         * modules/ldexpl-tests (Files): Likewise.
73744         * modules/link-tests (Files): Likewise.
73745         * modules/linkat-tests (Files): Likewise.
73746         * modules/linked-list-tests (Files): Likewise.
73747         * modules/linkedhash-list-tests (Files): Likewise.
73748         * modules/localename-tests (Files): Likewise.
73749         * modules/lseek-tests (Files): Likewise.
73750         * modules/lstat-tests (Files): Likewise.
73751         * modules/mbmemcasecmp-tests (Files): Likewise.
73752         * modules/mbmemcasecoll-tests (Files): Likewise.
73753         * modules/mbrtowc-tests (Files): Likewise.
73754         * modules/mbscasecmp-tests (Files): Likewise.
73755         * modules/mbscasestr-tests (Files): Likewise.
73756         * modules/mbschr-tests (Files): Likewise.
73757         * modules/mbscspn-tests (Files): Likewise.
73758         * modules/mbsinit-tests (Files): Likewise.
73759         * modules/mbsncasecmp-tests (Files): Likewise.
73760         * modules/mbsnrtowcs-tests (Files): Likewise.
73761         * modules/mbspbrk-tests (Files): Likewise.
73762         * modules/mbspcasecmp-tests (Files): Likewise.
73763         * modules/mbsrchr-tests (Files): Likewise.
73764         * modules/mbsrtowcs-tests (Files): Likewise.
73765         * modules/mbsspn-tests (Files): Likewise.
73766         * modules/mbsstr-tests (Files): Likewise.
73767         * modules/memchr-tests (Files): Likewise.
73768         * modules/memchr2-tests (Files): Likewise.
73769         * modules/memcmp-tests (Files): Likewise.
73770         * modules/memmem-tests (Files): Likewise.
73771         * modules/memrchr-tests (Files): Likewise.
73772         * modules/mkdir-tests (Files): Likewise.
73773         * modules/mkfifo-tests (Files): Likewise.
73774         * modules/mkfifoat-tests (Files): Likewise.
73775         * modules/mknod-tests (Files): Likewise.
73776         * modules/nanosleep-tests (Files): Likewise.
73777         * modules/nl_langinfo-tests (Files): Likewise.
73778         * modules/obstack-printf-tests (Files): Likewise.
73779         * modules/open-tests (Files): Likewise.
73780         * modules/openat-tests (Files): Likewise.
73781         * modules/pipe-filter-gi-tests (Files): Likewise.
73782         * modules/pipe-filter-ii-tests (Files): Likewise.
73783         * modules/pipe2-tests (Files): Likewise.
73784         * modules/popen-safer-tests (Files): Likewise.
73785         * modules/popen-tests (Files): Likewise.
73786         * modules/posixtm-tests (Files): Likewise.
73787         * modules/pread-tests (Files): Likewise.
73788         * modules/printf-frexp-tests (Files): Likewise.
73789         * modules/printf-frexpl-tests (Files): Likewise.
73790         * modules/printf-posix-tests (Files): Likewise.
73791         * modules/priv-set-tests (Files): Likewise.
73792         * modules/quotearg-tests (Files): Likewise.
73793         * modules/random_r-tests (Files): Likewise.
73794         * modules/rawmemchr-tests (Files): Likewise.
73795         * modules/rbtree-list-tests (Files): Likewise.
73796         * modules/rbtree-oset-tests (Files): Likewise.
73797         * modules/rbtreehash-list-tests (Files): Likewise.
73798         * modules/readlink-tests (Files): Likewise.
73799         * modules/remove-tests (Files): Likewise.
73800         * modules/rename-tests (Files): Likewise.
73801         * modules/renameat-tests (Files): Likewise.
73802         * modules/rmdir-tests (Files): Likewise.
73803         * modules/round-tests (Files): Likewise.
73804         * modules/roundf-tests (Files): Likewise.
73805         * modules/roundl-tests (Files): Likewise.
73806         * modules/safe-alloc-tests (Files): Likewise.
73807         * modules/setenv-tests (Files): Likewise.
73808         * modules/sigaction-tests (Files): Likewise.
73809         * modules/signbit-tests (Files): Likewise.
73810         * modules/sleep-tests (Files): Likewise.
73811         * modules/snprintf-posix-tests (Files): Likewise.
73812         * modules/snprintf-tests (Files): Likewise.
73813         * modules/sprintf-posix-tests (Files): Likewise.
73814         * modules/stat-tests (Files): Likewise.
73815         * modules/stat-time-tests (Files): Likewise.
73816         * modules/strcasestr-tests (Files): Likewise.
73817         * modules/strchrnul-tests (Files): Likewise.
73818         * modules/strerror-tests (Files): Likewise.
73819         * modules/striconv-tests (Files): Likewise.
73820         * modules/striconveh-tests (Files): Likewise.
73821         * modules/striconveha-tests (Files): Likewise.
73822         * modules/strsignal-tests (Files): Likewise.
73823         * modules/strstr-tests (Files): Likewise.
73824         * modules/strtod-tests (Files): Likewise.
73825         * modules/strverscmp-tests (Files): Likewise.
73826         * modules/symlink-tests (Files): Likewise.
73827         * modules/symlinkat-tests (Files): Likewise.
73828         * modules/trunc-tests (Files): Likewise.
73829         * modules/truncf-tests (Files): Likewise.
73830         * modules/truncl-tests (Files): Likewise.
73831         * modules/uname-tests (Files): Likewise.
73832         * modules/unicase/cased-tests (Files): Likewise.
73833         * modules/unicase/ignorable-tests (Files): Likewise.
73834         * modules/unicase/locale-language-tests (Files): Likewise.
73835         * modules/unicase/tolower-tests (Files): Likewise.
73836         * modules/unicase/totitle-tests (Files): Likewise.
73837         * modules/unicase/toupper-tests (Files): Likewise.
73838         * modules/unicase/u8-casecmp-tests (Files): Likewise.
73839         * modules/unicase/u8-casecoll-tests (Files): Likewise.
73840         * modules/unicase/u8-casefold-tests (Files): Likewise.
73841         * modules/unicase/u8-is-cased-tests (Files): Likewise.
73842         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
73843         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
73844         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
73845         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
73846         * modules/unicase/u8-tolower-tests (Files): Likewise.
73847         * modules/unicase/u8-totitle-tests (Files): Likewise.
73848         * modules/unicase/u8-toupper-tests (Files): Likewise.
73849         * modules/unicase/u16-casecmp-tests (Files): Likewise.
73850         * modules/unicase/u16-casecoll-tests (Files): Likewise.
73851         * modules/unicase/u16-casefold-tests (Files): Likewise.
73852         * modules/unicase/u16-is-cased-tests (Files): Likewise.
73853         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
73854         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
73855         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
73856         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
73857         * modules/unicase/u16-tolower-tests (Files): Likewise.
73858         * modules/unicase/u16-totitle-tests (Files): Likewise.
73859         * modules/unicase/u16-toupper-tests (Files): Likewise.
73860         * modules/unicase/u32-casecmp-tests (Files): Likewise.
73861         * modules/unicase/u32-casecoll-tests (Files): Likewise.
73862         * modules/unicase/u32-casefold-tests (Files): Likewise.
73863         * modules/unicase/u32-is-cased-tests (Files): Likewise.
73864         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
73865         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
73866         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
73867         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
73868         * modules/unicase/u32-tolower-tests (Files): Likewise.
73869         * modules/unicase/u32-totitle-tests (Files): Likewise.
73870         * modules/unicase/u32-toupper-tests (Files): Likewise.
73871         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
73872         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
73873         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
73874         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
73875         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
73876         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
73877         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
73878         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
73879         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
73880         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
73881         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
73882         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
73883         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
73884         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
73885         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
73886         * modules/unictype/bidicategory-name-tests (Files): Likewise.
73887         * modules/unictype/bidicategory-of-tests (Files): Likewise.
73888         * modules/unictype/bidicategory-test-tests (Files): Likewise.
73889         * modules/unictype/block-list-tests (Files): Likewise.
73890         * modules/unictype/block-of-tests (Files): Likewise.
73891         * modules/unictype/block-test-tests (Files): Likewise.
73892         * modules/unictype/category-C-tests (Files): Likewise.
73893         * modules/unictype/category-Cc-tests (Files): Likewise.
73894         * modules/unictype/category-Cf-tests (Files): Likewise.
73895         * modules/unictype/category-Cn-tests (Files): Likewise.
73896         * modules/unictype/category-Co-tests (Files): Likewise.
73897         * modules/unictype/category-Cs-tests (Files): Likewise.
73898         * modules/unictype/category-L-tests (Files): Likewise.
73899         * modules/unictype/category-Ll-tests (Files): Likewise.
73900         * modules/unictype/category-Lm-tests (Files): Likewise.
73901         * modules/unictype/category-Lo-tests (Files): Likewise.
73902         * modules/unictype/category-Lt-tests (Files): Likewise.
73903         * modules/unictype/category-Lu-tests (Files): Likewise.
73904         * modules/unictype/category-M-tests (Files): Likewise.
73905         * modules/unictype/category-Mc-tests (Files): Likewise.
73906         * modules/unictype/category-Me-tests (Files): Likewise.
73907         * modules/unictype/category-Mn-tests (Files): Likewise.
73908         * modules/unictype/category-N-tests (Files): Likewise.
73909         * modules/unictype/category-Nd-tests (Files): Likewise.
73910         * modules/unictype/category-Nl-tests (Files): Likewise.
73911         * modules/unictype/category-No-tests (Files): Likewise.
73912         * modules/unictype/category-P-tests (Files): Likewise.
73913         * modules/unictype/category-Pc-tests (Files): Likewise.
73914         * modules/unictype/category-Pd-tests (Files): Likewise.
73915         * modules/unictype/category-Pe-tests (Files): Likewise.
73916         * modules/unictype/category-Pf-tests (Files): Likewise.
73917         * modules/unictype/category-Pi-tests (Files): Likewise.
73918         * modules/unictype/category-Po-tests (Files): Likewise.
73919         * modules/unictype/category-Ps-tests (Files): Likewise.
73920         * modules/unictype/category-S-tests (Files): Likewise.
73921         * modules/unictype/category-Sc-tests (Files): Likewise.
73922         * modules/unictype/category-Sk-tests (Files): Likewise.
73923         * modules/unictype/category-Sm-tests (Files): Likewise.
73924         * modules/unictype/category-So-tests (Files): Likewise.
73925         * modules/unictype/category-Z-tests (Files): Likewise.
73926         * modules/unictype/category-Zl-tests (Files): Likewise.
73927         * modules/unictype/category-Zp-tests (Files): Likewise.
73928         * modules/unictype/category-Zs-tests (Files): Likewise.
73929         * modules/unictype/category-and-not-tests (Files): Likewise.
73930         * modules/unictype/category-and-tests (Files): Likewise.
73931         * modules/unictype/category-byname-tests (Files): Likewise.
73932         * modules/unictype/category-name-tests (Files): Likewise.
73933         * modules/unictype/category-none-tests (Files): Likewise.
73934         * modules/unictype/category-of-tests (Files): Likewise.
73935         * modules/unictype/category-or-tests (Files): Likewise.
73936         * modules/unictype/category-test-withtable-tests (Files): Likewise.
73937         * modules/unictype/combining-class-tests (Files): Likewise.
73938         * modules/unictype/ctype-alnum-tests (Files): Likewise.
73939         * modules/unictype/ctype-alpha-tests (Files): Likewise.
73940         * modules/unictype/ctype-blank-tests (Files): Likewise.
73941         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
73942         * modules/unictype/ctype-digit-tests (Files): Likewise.
73943         * modules/unictype/ctype-graph-tests (Files): Likewise.
73944         * modules/unictype/ctype-lower-tests (Files): Likewise.
73945         * modules/unictype/ctype-print-tests (Files): Likewise.
73946         * modules/unictype/ctype-punct-tests (Files): Likewise.
73947         * modules/unictype/ctype-space-tests (Files): Likewise.
73948         * modules/unictype/ctype-upper-tests (Files): Likewise.
73949         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
73950         * modules/unictype/decimal-digit-tests (Files): Likewise.
73951         * modules/unictype/digit-tests (Files): Likewise.
73952         * modules/unictype/mirror-tests (Files): Likewise.
73953         * modules/unictype/numeric-tests (Files): Likewise.
73954         * modules/unictype/property-alphabetic-tests (Files): Likewise.
73955         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
73956         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
73957         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
73958         Likewise.
73959         * modules/unictype/property-bidi-block-separator-tests (Files):
73960         Likewise.
73961         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
73962         Likewise.
73963         * modules/unictype/property-bidi-common-separator-tests (Files):
73964         Likewise.
73965         * modules/unictype/property-bidi-control-tests (Files): Likewise.
73966         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
73967         Likewise.
73968         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
73969         Likewise.
73970         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
73971         Likewise.
73972         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
73973         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
73974         Likewise.
73975         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
73976         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
73977         Likewise.
73978         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
73979         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
73980         * modules/unictype/property-bidi-segment-separator-tests (Files):
73981         Likewise.
73982         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
73983         * modules/unictype/property-byname-tests (Files): Likewise.
73984         * modules/unictype/property-combining-tests (Files): Likewise.
73985         * modules/unictype/property-composite-tests (Files): Likewise.
73986         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
73987         * modules/unictype/property-dash-tests (Files): Likewise.
73988         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
73989         * modules/unictype/property-default-ignorable-code-point-tests (Files):
73990         Likewise.
73991         * modules/unictype/property-deprecated-tests (Files): Likewise.
73992         * modules/unictype/property-diacritic-tests (Files): Likewise.
73993         * modules/unictype/property-extender-tests (Files): Likewise.
73994         * modules/unictype/property-format-control-tests (Files): Likewise.
73995         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
73996         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
73997         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
73998         * modules/unictype/property-hex-digit-tests (Files): Likewise.
73999         * modules/unictype/property-hyphen-tests (Files): Likewise.
74000         * modules/unictype/property-id-continue-tests (Files): Likewise.
74001         * modules/unictype/property-id-start-tests (Files): Likewise.
74002         * modules/unictype/property-ideographic-tests (Files): Likewise.
74003         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
74004         * modules/unictype/property-ids-trinary-operator-tests (Files):
74005         Likewise.
74006         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
74007         * modules/unictype/property-iso-control-tests (Files): Likewise.
74008         * modules/unictype/property-join-control-tests (Files): Likewise.
74009         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
74010         * modules/unictype/property-line-separator-tests (Files): Likewise.
74011         * modules/unictype/property-logical-order-exception-tests (Files):
74012         Likewise.
74013         * modules/unictype/property-lowercase-tests (Files): Likewise.
74014         * modules/unictype/property-math-tests (Files): Likewise.
74015         * modules/unictype/property-non-break-tests (Files): Likewise.
74016         * modules/unictype/property-not-a-character-tests (Files): Likewise.
74017         * modules/unictype/property-numeric-tests (Files): Likewise.
74018         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
74019         * modules/unictype/property-other-default-ignorable-code-point-tests
74020         (Files): Likewise.
74021         * modules/unictype/property-other-grapheme-extend-tests (Files):
74022         Likewise.
74023         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
74024         * modules/unictype/property-other-id-start-tests (Files): Likewise.
74025         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
74026         * modules/unictype/property-other-math-tests (Files): Likewise.
74027         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
74028         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
74029         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
74030         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
74031         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
74032         * modules/unictype/property-private-use-tests (Files): Likewise.
74033         * modules/unictype/property-punctuation-tests (Files): Likewise.
74034         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
74035         * modules/unictype/property-radical-tests (Files): Likewise.
74036         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
74037         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
74038         * modules/unictype/property-space-tests (Files): Likewise.
74039         * modules/unictype/property-terminal-punctuation-tests (Files):
74040         Likewise.
74041         * modules/unictype/property-test-tests (Files): Likewise.
74042         * modules/unictype/property-titlecase-tests (Files): Likewise.
74043         * modules/unictype/property-unassigned-code-value-tests (Files):
74044         Likewise.
74045         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
74046         * modules/unictype/property-uppercase-tests (Files): Likewise.
74047         * modules/unictype/property-variation-selector-tests (Files): Likewise.
74048         * modules/unictype/property-white-space-tests (Files): Likewise.
74049         * modules/unictype/property-xid-continue-tests (Files): Likewise.
74050         * modules/unictype/property-xid-start-tests (Files): Likewise.
74051         * modules/unictype/property-zero-width-tests (Files): Likewise.
74052         * modules/unictype/scripts-tests (Files): Likewise.
74053         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
74054         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
74055         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
74056         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
74057         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
74058         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
74059         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
74060         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
74061         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
74062         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
74063         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
74064         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
74065         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
74066         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
74067         * modules/uninorm/composition-tests (Files): Likewise.
74068         * modules/uninorm/decomposing-form-tests (Files): Likewise.
74069         * modules/uninorm/decomposition-tests (Files): Likewise.
74070         * modules/uninorm/filter-tests (Files): Likewise.
74071         * modules/uninorm/nfc-tests (Files): Likewise.
74072         * modules/uninorm/nfd-tests (Files): Likewise.
74073         * modules/uninorm/nfkc-tests (Files): Likewise.
74074         * modules/uninorm/nfkd-tests (Files): Likewise.
74075         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
74076         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
74077         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
74078         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
74079         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
74080         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
74081         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
74082         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
74083         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
74084         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
74085         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
74086         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
74087         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
74088         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
74089         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
74090         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
74091         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
74092         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
74093         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
74094         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
74095         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
74096         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
74097         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
74098         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
74099         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
74100         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
74101         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
74102         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
74103         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
74104         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
74105         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
74106         * modules/uniwidth/u8-width-tests (Files): Likewise.
74107         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
74108         * modules/uniwidth/u16-width-tests (Files): Likewise.
74109         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
74110         * modules/uniwidth/u32-width-tests (Files): Likewise.
74111         * modules/uniwidth/width-tests (Files): Likewise.
74112         * modules/unlink-tests (Files): Likewise.
74113         * modules/unsetenv-tests (Files): Likewise.
74114         * modules/usleep-tests (Files): Likewise.
74115         * modules/utimens-tests (Files): Likewise.
74116         * modules/utimensat-tests (Files): Likewise.
74117         * modules/vasnprintf-posix-tests (Files): Likewise.
74118         * modules/vasnprintf-tests (Files): Likewise.
74119         * modules/vasprintf-posix-tests (Files): Likewise.
74120         * modules/vasprintf-tests (Files): Likewise.
74121         * modules/vdprintf-posix-tests (Files): Likewise.
74122         * modules/vfprintf-posix-tests (Files): Likewise.
74123         * modules/vprintf-posix-tests (Files): Likewise.
74124         * modules/vsnprintf-posix-tests (Files): Likewise.
74125         * modules/vsnprintf-tests (Files): Likewise.
74126         * modules/vsprintf-posix-tests (Files): Likewise.
74127         * modules/wcrtomb-tests (Files): Likewise.
74128         * modules/wcsnrtombs-tests (Files): Likewise.
74129         * modules/wcsrtombs-tests (Files): Likewise.
74130         * modules/wctype-tests (Files): Likewise.
74131         * modules/wcwidth-tests (Files): Likewise.
74132         * modules/xmemdup0-tests (Files): Likewise.
74133         * modules/xprintf-posix-tests (Files): Likewise.
74134         * modules/xvasprintf-tests (Files): Likewise.
74136 2009-12-24  Eric Blake  <ebb9@byu.net>
74138         test-nanosleep: fix typo
74139         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
74140         patch.
74141         Reported by Bruno Haible.
74143 2009-12-24  Bruno Haible  <bruno@clisp.org>
74145         Reduce namespace pollution on glibc systems.
74146         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
74147         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
74148         systems.
74149         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
74150         <getopt.h> on glibc systems.
74151         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
74152         systems.
74153         * lib/fcntl.c: Include <unistd.h> here instead.
74155 2009-12-24  Bruno Haible  <bruno@clisp.org>
74157         * lib/stdlib.in.h (includes): Fix typo in today's commit.
74159 2009-12-24  Eric Blake  <ebb9@byu.net>
74161         tests: add signature checks
74162         * tests/signature.h (SIGNATURE_CHECK): New file.
74163         * modules/atexit-tests (Files): Use it.
74164         * modules/btowc-tests (Files): Likewise.
74165         * modules/canonicalize-lgpl-tests (Files): Likewise.
74166         * modules/ceilf-tests (Files): Likewise.
74167         * modules/ceill-tests (Files): Likewise.
74168         * modules/chown-tests (Files): Likewise.
74169         * modules/dprintf-posix-tests (Files): Likewise.
74170         * modules/dup2-tests (Files): Likewise.
74171         * modules/dup3-tests (Files): Likewise.
74172         * modules/duplocale-tests (Files): Likewise.
74173         * modules/fchdir-tests (Files): Likewise.
74174         * modules/fcntl-tests (Files): Likewise.
74175         * modules/fdopendir-tests (Files): Likewise.
74176         * modules/fflush-tests (Files): Likewise.
74177         * modules/flock-tests (Files): Likewise.
74178         * modules/floorf-tests (Files): Likewise.
74179         * modules/floorl-tests (Files): Likewise.
74180         * modules/fnmatch-tests (Files): Likewise.
74181         * modules/fopen-tests (Files): Likewise.
74182         * modules/fprintf-posix-tests (Files): Likewise.
74183         * modules/freopen-tests (Files): Likewise.
74184         * modules/frexp-nolibm-tests (Files): Likewise.
74185         * modules/frexp-tests (Files): Likewise.
74186         * modules/frexpl-nolibm-tests (Files): Likewise.
74187         * modules/frexpl-tests (Files): Likewise.
74188         * modules/fseek-tests (Files): Likewise.
74189         * modules/fseeko-tests (Files): Likewise.
74190         * modules/fsync-tests (Files): Likewise.
74191         * modules/ftell-tests (Files): Likewise.
74192         * modules/ftello-tests (Files): Likewise.
74193         * modules/futimens-tests (Files): Likewise.
74194         * modules/getaddrinfo-tests (Files): Likewise.
74195         * modules/getcwd-tests (Files): Likewise.
74196         * modules/getdelim-tests (Files): Likewise.
74197         * modules/getdtablesize-tests (Files): Likewise.
74198         * modules/getgroups-tests (Files): Likewise.
74199         * modules/gethostname-tests (Files): Likewise.
74200         * modules/getline-tests (Files): Likewise.
74201         * modules/getopt-posix-tests (Files): Likewise.
74202         * modules/gettimeofday-tests (Files): Likewise.
74203         * modules/glob-tests (Files): Likewise.
74204         * modules/iconv-tests (Files): Likewise.
74205         * modules/inet_ntop-tests (Files): Likewise.
74206         * modules/inet_pton-tests (Files): Likewise.
74207         * modules/isblank-tests (Files): Likewise.
74208         * modules/lchown-tests (Files): Likewise.
74209         * modules/ldexpl-tests (Files): Likewise.
74210         * modules/link-tests (Files): Likewise.
74211         * modules/linkat-tests (Files): Likewise.
74212         * modules/lseek-tests (Files): Likewise.
74213         * modules/lstat-tests (Files): Likewise.
74214         * modules/mbrtowc-tests (Files): Likewise.
74215         * modules/mbsinit-tests (Files): Likewise.
74216         * modules/mbsnrtowcs-tests (Files): Likewise.
74217         * modules/mbsrtowcs-tests (Files): Likewise.
74218         * modules/memchr-tests (Files): Likewise.
74219         * modules/memcmp-tests (Files): Likewise.
74220         * modules/memmem-tests (Files): Likewise.
74221         * modules/memrchr-tests (Files): Likewise.
74222         * modules/mkdir-tests (Files): Likewise.
74223         * modules/mkfifo-tests (Files): Likewise.
74224         * modules/mkfifoat-tests (Files): Likewise.
74225         * modules/mknod-tests (Files): Likewise.
74226         * modules/nanosleep-tests (Files): Likewise.
74227         * modules/nl_langinfo-tests (Files): Likewise.
74228         * modules/obstack-printf-tests (Files): Likewise.
74229         * modules/open-tests (Files): Likewise.
74230         * modules/openat-tests (Files): Likewise.
74231         * modules/perror-tests (Files): Likewise.
74232         * modules/pipe2-tests (Files): Likewise.
74233         * modules/poll-tests (Files): Likewise.
74234         * modules/popen-tests (Files): Likewise.
74235         * modules/posix_spawn-tests (Files): Likewise.
74236         * modules/posix_spawnp-tests (Files): Likewise.
74237         * modules/pread-tests (Files): Likewise.
74238         * modules/printf-posix-tests (Files): Likewise.
74239         * modules/pty-tests (Files): Likewise.
74240         * modules/random_r-tests (Files): Likewise.
74241         * modules/rawmemchr-tests (Files): Likewise.
74242         * modules/readlink-tests (Files): Likewise.
74243         * modules/remove-tests (Files): Likewise.
74244         * modules/rename-tests (Files): Likewise.
74245         * modules/renameat-tests (Files): Likewise.
74246         * modules/rmdir-tests (Files): Likewise.
74247         * modules/round-tests (Files): Likewise.
74248         * modules/roundf-tests (Files): Likewise.
74249         * modules/roundl-tests (Files): Likewise.
74250         * modules/select-tests (Files): Likewise.
74251         * modules/setenv-tests (Files): Likewise.
74252         * modules/sigaction-tests (Files): Likewise.
74253         * modules/sleep-tests (Files): Likewise.
74254         * modules/snprintf-posix-tests (Files): Likewise.
74255         * modules/snprintf-tests (Files): Likewise.
74256         * modules/sprintf-posix-tests (Files): Likewise.
74257         * modules/stat-tests (Files): Likewise.
74258         * modules/strcasestr-tests (Files): Likewise.
74259         * modules/strchrnul-tests (Files): Likewise.
74260         * modules/strerror-tests (Files): Likewise.
74261         * modules/strsignal-tests (Files): Likewise.
74262         * modules/strstr-tests (Files): Likewise.
74263         * modules/strtod-tests (Files): Likewise.
74264         * modules/strverscmp-tests (Files): Likewise.
74265         * modules/symlink-tests (Files): Likewise.
74266         * modules/symlinkat-tests (Files): Likewise.
74267         * modules/times-tests (Files): Likewise.
74268         * modules/trunc-tests (Files): Likewise.
74269         * modules/truncf-tests (Files): Likewise.
74270         * modules/truncl-tests (Files): Likewise.
74271         * modules/tsearch-tests (Files): Likewise.
74272         * modules/uname-tests (Files): Likewise.
74273         * modules/unlink-tests (Files): Likewise.
74274         * modules/unsetenv-tests (Files): Likewise.
74275         * modules/usleep-tests (Files): Likewise.
74276         * modules/utimensat-tests (Files): Likewise.
74277         * modules/vasprintf-tests (Files): Likewise.
74278         * modules/vdprintf-posix-tests (Files): Likewise.
74279         * modules/vfprintf-posix-tests (Files): Likewise.
74280         * modules/vprintf-posix-tests (Files): Likewise.
74281         * modules/vsnprintf-posix-tests (Files): Likewise.
74282         * modules/vsnprintf-tests (Files): Likewise.
74283         * modules/vsprintf-posix-tests (Files): Likewise.
74284         * modules/wcrtomb-tests (Files): Likewise.
74285         * modules/wcsnrtombs-tests (Files): Likewise.
74286         * modules/wcsrtombs-tests (Files): Likewise.
74287         * modules/wcwidth-tests (Files): Likewise.
74288         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
74289         * tests/test-isinf.c (isinf): Likewise.
74290         * tests/test-isnan.c (isnan): Likewise.
74291         * tests/test-signbit.c (signbit): Likewise.
74292         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
74293         declaration, either as macro or with correct signature.
74294         (select): Ensure function under test is declared with correct
74295         signature in correct header.
74296         * tests/test-atexit.c (atexit): Likewise.
74297         * tests/test-btowc.c (btowc): Likewise.
74298         * tests/test-canonicalize-lgpl.c (realpath)
74299         (canonicalize_file_name): Likewise.
74300         * tests/test-ceilf1.c (ceilf): Likewise.
74301         * tests/test-ceill.c (ceill): Likewise.
74302         * tests/test-chown.c (chown): Likewise.
74303         * tests/test-dprintf-posix.c (dprintf): Likewise.
74304         * tests/test-dup2.c (dup2): Likewise.
74305         * tests/test-dup3.c (dup3): Likewise.
74306         * tests/test-duplocale.c (duplocale): Likewise.
74307         * tests/test-fchdir.c (fchdir): Likewise.
74308         * tests/test-fchownat.c (fchownat): Likewise.
74309         * tests/test-fcntl.c (fcntl): Likewise.
74310         * tests/test-fdopendir.c (fdopendir): Likewise.
74311         * tests/test-fflush.c (fflush): Likewise.
74312         * tests/test-flock.c (flock): Likewise.
74313         * tests/test-floorf1.c (floorf): Likewise.
74314         * tests/test-floorl.c (floorl): Likewise.
74315         * tests/test-fnmatch.c (fnmatch): Likewise.
74316         * tests/test-fopen.c (fopen): Likewise.
74317         * tests/test-fprintf-posix.c (fprintf): Likewise.
74318         * tests/test-freopen.c (freopen): Likewise.
74319         * tests/test-frexp.c (frexp): Likewise.
74320         * tests/test-frexpl.c (frexpl): Likewise.
74321         * tests/test-fseek.c (fseek): Likewise.
74322         * tests/test-fseeko.c (fseeko): Likewise.
74323         * tests/test-fstatat.c (fstatat): Likewise.
74324         * tests/test-fsync.c (fsync): Likewise.
74325         * tests/test-ftell.c (ftell): Likewise.
74326         * tests/test-ftello.c (ftello): Likewise.
74327         * tests/test-futimens.c (futimens): Likewise.
74328         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
74329         (gai_strerror): Likewise.
74330         * tests/test-getcwd.c (getcwd): Likewise.
74331         * tests/test-getdelim.c (getdelim): Likewise.
74332         * tests/test-getdtablesize.c (getdtablesize): Likewise.
74333         * tests/test-getgroups.c (getgroups): Likewise.
74334         * tests/test-gethostname.c (gethostname): Likewise.
74335         * tests/test-getline.c (getline): Likewise.
74336         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
74337         Likewise.
74338         * tests/test-gettimeofday.c (gettimeofday): Likewise.
74339         * tests/test-glob.c (glob, globfree): Likewise.
74340         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
74341         * tests/test-inet_ntop.c (inet_ntop): Likewise.
74342         * tests/test-inet_pton.c (inet_pton): Likewise.
74343         * tests/test-isblank.c (isblank): Likewise.
74344         * tests/test-lchown.c (lchown): Likewise.
74345         * tests/test-ldexpl.c (ldexpl): Likewise.
74346         * tests/test-link.c (link): Likewise.
74347         * tests/test-linkat.c (linkat): Likewise.
74348         * tests/test-lseek.c (lseek): Likewise.
74349         * tests/test-lstat.c (lstat): Likewise.
74350         * tests/test-mbrtowc.c (mbrtowc): Likewise.
74351         * tests/test-mbsinit.c (mbsinit): Likewise.
74352         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
74353         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
74354         * tests/test-memchr.c (memchr): Likewise.
74355         * tests/test-memcmp.c (memcmp): Likewise.
74356         * tests/test-memmem.c (memmem): Likewise.
74357         * tests/test-memrchr.c (memrchr): Likewise.
74358         * tests/test-mkdir.c (mkdir): Likewise.
74359         * tests/test-mkdirat.c (mkdirat): Likewise.
74360         * tests/test-mkfifo.c (mkfifo): Likewise.
74361         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
74362         * tests/test-mknod.c (mknod): Likewise.
74363         * tests/test-nanosleep.c (nanosleep): Likewise.
74364         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
74365         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
74366         Likewise.
74367         * tests/test-open.c (open): Likewise.
74368         * tests/test-openat.c (openat): Likewise.
74369         * tests/test-perror.c (perror): Likewise.
74370         * tests/test-pipe2.c (pipe2): Likewise.
74371         * tests/test-poll.c (poll): Likewise.
74372         * tests/test-popen.c (popen, pclose): Likewise.
74373         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
74374         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
74375         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
74376         (posix_spawn_file_actions_destroy)
74377         (posix_spawn_file_actions_addclose)
74378         (posix_spawn_file_actions_addopen)
74379         (posix_spawn_file_actions_adddup2): Likewise.
74380         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
74381         * tests/test-pread.c (pread): Likewise.
74382         * tests/test-printf-posix.c (printf): Likewise.
74383         * tests/test-pty.c (openpty, forkpty): Likewise.
74384         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
74385         (random_r): Likewise.
74386         * tests/test-rawmemchr.c (rawmemchr): Likewise.
74387         * tests/test-readlink.c (readlink): Likewise.
74388         * tests/test-remove.c (remove): Likewise.
74389         * tests/test-rename.c (rename): Likewise.
74390         * tests/test-renameat.c (renameat): Likewise.
74391         * tests/test-rmdir.c (rmdir): Likewise.
74392         * tests/test-round1.c (round): Likewise.
74393         * tests/test-roundf1.c (roundf): Likewise.
74394         * tests/test-roundl.c (roundl): Likewise.
74395         * tests/test-setenv.c (setenv): Likewise.
74396         * tests/test-sigaction.c (sigaction): Likewise.
74397         * tests/test-sleep.c (sleep): Likewise.
74398         * tests/test-snprintf.c (snprintf): Likewise.
74399         * tests/test-sprintf-posix.c (sprintf): Likewise.
74400         * tests/test-stat.c (stat): Likewise.
74401         * tests/test-stpncpy.c (stpncpy): Likewise.
74402         * tests/test-strcasestr.c (strcasestr): Likewise.
74403         * tests/test-strchrnul.c (strchrnul): Likewise.
74404         * tests/test-strerror.c (strerror): Likewise.
74405         * tests/test-strsignal.c (strsignal): Likewise.
74406         * tests/test-strstr.c (strstr): Likewise.
74407         * tests/test-strtod.c (strtod): Likewise.
74408         * tests/test-strverscmp.c (strverscmp): Likewise.
74409         * tests/test-symlink.c (symlink): Likewise.
74410         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
74411         * tests/test-times.c (times): Likewise.
74412         * tests/test-trunc1.c (trunc): Likewise.
74413         * tests/test-truncf1.c (truncf): Likewise.
74414         * tests/test-truncl.c (truncl): Likewise.
74415         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
74416         Likewise.
74417         * tests/test-uname.c (uname): Likewise.
74418         * tests/test-unlink.c (unlink): Likewise.
74419         * tests/test-unlinkat.c (unlinkat): Likewise.
74420         * tests/test-unsetenv.c (unsetenv): Likewise.
74421         * tests/test-usleep.c (usleep): Likewise.
74422         * tests/test-utimensat.c (utimensat): Likewise.
74423         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
74424         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
74425         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
74426         * tests/test-vprintf-posix.c (vprintf): Likewise.
74427         * tests/test-vsnprintf.c (vsnprintf): Likewise.
74428         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
74429         * tests/test-wcrtomb.c (wcrtomb): Likewise.
74430         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
74431         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
74432         * tests/test-wcwidth.c (wcwidth): Likewise.
74434         build: pull in conditional headers during GNULIB_POSIXCHECK
74435         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
74436         definitions from any conditionally-included headers.
74437         * lib/stdlib.in.h (includes): Likewise.
74438         * lib/unistd.in.h (includes): Likewise.
74440 2009-12-24  Bruno Haible  <bruno@clisp.org>
74442         * tests/test-argv-iter.c: Include header file being tested immediately
74443         after config.h.
74444         * tests/test-base64.c: Likewise.
74445         * tests/test-flock.c: Likewise.
74446         * tests/test-fsync.c: Likewise.
74447         * tests/test-getdate.c: Likewise.
74448         * tests/test-getndelim2.c: Likewise.
74449         * tests/test-isfinite.c: Likewise.
74450         * tests/test-isinf.c: Likewise.
74451         * tests/test-strerror.c: Likewise.
74452         * tests/test-strsignal.c: Likewise.
74454 2009-12-23  Eric Blake  <ebb9@byu.net>
74456         unistd: work around cygwin bug
74457         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
74458         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
74459         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
74461 2009-12-23  Bruno Haible  <bruno@clisp.org>
74463         localename: More tests.
74464         * tests/test-localename.c (SIZEOF): New macro.
74465         (categories): New variable.
74466         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
74467         test_locale_name_default): Add test w.r.t. thread locale.
74468         (test_locale_name_thread): New function.
74469         (main): Invoke it.
74471         localename: Make aware of thread locale.
74472         * lib/localename.h (gl_locale_name_thread): New declaration.
74473         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
74474         behaviour with respect to thread locale.
74475         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
74476         <langinfo.h>, glthread/lock.h.
74477         (SIZE_BITS): New macro.
74478         (string_hash): New function.
74479         (struct hash_node): New type.
74480         (HASH_TABLE_SIZE): New macro.
74481         (struniq_hash_table, struniq_lock): New variables.
74482         (struniq): New function.
74483         (gl_locale_name_thread): New function.
74484         (gl_locale_name): Invoke it.
74485         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
74486         * modules/localename (Depends-on): Add lock.
74487         Reported by Mike Gran <spk121@yahoo.com>.
74489 2009-12-23  Eric Blake  <ebb9@byu.net>
74491         va-args: new module
74492         * modules/va-args: New file.
74493         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
74494         * MODULES.html.sh (Core language properties): Mention it.
74496         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
74497         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
74498         named alias for __attribute__((__unused__)).
74499         * lib/chown.c: Update client.
74500         * lib/fchmodat.c: Likewise.
74501         * lib/fts.c: Likewise.
74502         * lib/getdate.y: Likewise.
74503         * lib/getgroups.c: Likewise.
74504         * lib/getopt.c: Likewise.
74505         * lib/getugroups.c: Likewise.
74506         * lib/mkdir.c: Likewise.
74507         * lib/mkfifo.c: Likewise.
74508         * lib/mkfifoat.c: Likewise.
74509         * lib/mknod.c: Likewise.
74510         * lib/mknodat.c: Likewise.
74511         * lib/readlink.c: Likewise.
74512         * lib/se-context.in.h: Likewise.
74513         * lib/se-selinux.in.h: Likewise.
74514         * lib/sockets.c: Likewise.
74515         * lib/symlink.c: Likewise.
74516         * lib/symlinkat.c: Likewise.
74517         * lib/unicodeio.c: Likewise.
74518         * lib/unistr.h: Likewise.
74519         * tests/test-areadlink.c: Likewise.
74520         * tests/test-areadlinkat.c: Likewise.
74521         * tests/test-filenamecat.c: Likewise.
74522         * tests/test-fseeko.c: Likewise.
74523         * tests/test-ftello.c: Likewise.
74524         * tests/test-getdate.c: Likewise.
74525         * tests/test-getgroups.c: Likewise.
74526         * tests/test-gethostname.c: Likewise.
74527         * tests/test-quotearg.c: Likewise.
74528         * tests/test-version-etc.c: Likewise.
74529         * tests/test-xalloc-die.c: Likewise.
74530         * tests/test-xfprintf-posix.c: Likewise.
74531         * tests/test-xprintf-posix.c: Likewise.
74532         * tests/test-xvasprintf.c: Likewise.
74534         tests: avoid compiler warnings
74535         * tests/test-fcntl.c (main): Delete unused parameters.
74536         * tests/test-freopen-safer.c (main): Likewise.
74537         * tests/test-xalloc-die.c (main): Mark unused parameters.
74538         * tests/test-fseeko.c (main): Likewise.
74539         * tests/test-ftello.c (main): Likewise.
74540         * tests/test-nanosleep.c (main): Avoid declaration warning.
74541         * tests/test-sleep.c (main): Likewise.
74542         * tests/test-unsetenv.c (main): Silence warning about string
74543         literal.
74544         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
74546 2009-12-23  Bruno Haible  <bruno@clisp.org>
74548         * tests/test-localename.c (test_locale_name): New function, extracted
74549         from main. Also test mixed situations.
74550         (test_locale_name_posix, test_locale_name_environ,
74551         test_locale_name_default): New functions.
74552         (main): Invoke them all.
74553         * modules/localename-tests (configure.ac): Test for newlocale.
74555 2009-12-23  Bruno Haible  <bruno@clisp.org>
74557         unistd: Ensure getcwd gets declared before being overridden.
74558         * lib/unistd.in.h: Conditionally include <io.h>.
74560 2009-12-22  Bruno Haible  <bruno@clisp.org>
74562         wchar: Diagnose broken combination of glibc and gcc versions and flags.
74563         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
74564         (gl_WCHAR_H): Invoke it.
74565         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
74566         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
74567         Reported by Karl Berry <karl@freefriends.org>.
74569 2009-12-22  Eric Blake  <ebb9@byu.net>
74571         math, unistd: avoid redundant includes
74572         * lib/math.in.h (isnan): No need to re-include <math.h>.
74573         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
74575         getsubopt: work around cygwin bug
74576         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
74577         avoid conflicting with system getsubopt.
74578         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
74579         bug.
74581         getopt: synchronize from glibc
74582         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
74583         parameter order.  Adjust all callers.
74584         (_getopt_internal_r, main): Adjust quoting in error messages.
74585         Drop considerations for outdated POSIX 1003.2 error message.
74586         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
74587         callers.
74588         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
74590         test-getopt: test stderr behavior
74591         * modules/getopt-posix-tests (Depends-on): Add dup2.
74592         * tests/test-getopt.c (ASSERT): Avoid stderr.
74593         (main): Move stderr to a temporary file.
74594         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
74595         Instead, add parameter to inform caller if output occurred.
74596         (test_getopt): Adjust all existing tests to expect silence, and
74597         add new tests of leading ":".
74598         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
74599         glibc shortcomings with leading "-:" or "+:" in optstring.
74600         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
74601         Likewise.
74602         * doc/posix-functions/getopt.texi (getopt): Likewise.
74604         test-getopt: enhance test
74605         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
74606         supports optind=0.
74607         * tests/test-getopt.c (OPTIND_MIN): Move...
74608         * tests/test-getopt.h (OPTIND_MIN): ...here.
74609         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
74610         Require that optind=0 works, since modern BSD supports it in
74611         addition to optreset, and since coreutils expects it.
74612         (test_getopt_long_only): New test.
74613         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
74614         glibc shortcomings with 'W;', and enforcement of optind=0.
74615         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
74616         Likewise.
74618 2009-12-21  Bruno Haible  <bruno@clisp.org>
74620         localename: Improvements for MacOS X and Cygwin.
74621         * lib/localename.h (gl_locale_name_environ): New declaration.
74622         * lib/localename.c (gl_locale_name_environ): New function, extracted from
74623         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
74624         (gl_locale_name_posix): Invoke it.
74625         (gl_locale_name_default): Add comments. Use Windows native API also on
74626         Cygwin.
74628 2009-12-21  Bruno Haible  <bruno@clisp.org>
74630         Update list of Win32 locale ids.
74631         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
74632         (LANG_SAMI): Renamed from LANG_SAAMI.
74633         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
74634         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
74635         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
74636         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
74637         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
74638         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
74639         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
74640         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
74641         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
74642         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
74643         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
74644         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
74645         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
74646         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
74647         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
74648         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
74649         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
74650         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
74651         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
74652         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
74653         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
74654         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
74655         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
74656         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
74657         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
74658         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
74659         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
74660         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
74661         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
74662         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
74663         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
74664         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
74665         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
74666         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
74667         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
74668         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
74669         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
74670         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
74671         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
74672         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
74673         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
74674         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
74675         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
74676         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
74677         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
74678         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
74679         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
74680         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
74681         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
74682         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
74683         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
74684         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
74685         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
74686         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
74687         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
74688         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
74689         Add more languages and countries for Sami, Sorbian. Add more countries
74690         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
74691         for Pashto. Change country for Syriac, Tswana.
74693 2009-12-21  Eric Blake  <ebb9@byu.net>
74695         test-utimens: avoid spurious failure
74696         * tests/test-chown.h (nap): Factor...
74697         * tests/nap.h: ...into new file.
74698         * tests/test-lchown.h (nap): Avoid duplication.
74699         * tests/test-utimens-common.h (nap): Use shared implementation,
74700         necessary on file systems with 1-second resolution.
74701         * modules/chown-tests (Files): Include new file.
74702         * modules/fdutimensat-tests (Files): Likewise.
74703         * modules/futimens-tests (Files): Likewise.
74704         * modules/lchown-tests (Files): Likewise.
74705         * modules/openat-tests (Files): Likewise.
74706         * modules/utimens-tests (Files): Likewise.
74707         * modules/utimensat-tests (Files): Likewise.
74709 2009-12-19  Eric Blake  <ebb9@byu.net>
74711         futimens, utimensat: work around Linux bug
74712         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
74713         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
74714         * lib/utimensat.c (rpl_utimensat): Work around it.
74715         * lib/futimens.c (rpl_futimens): Adjust comment.
74717         utimens: work around Linux ctime bug
74718         * lib/utimens.c (detect_ctime_bug): New helper function.
74719         (update_timespec): Differentiate between workaround needed for
74720         this bug vs. what is needed for systems that lack utimensat.
74721         (fdutimens, lutimens): Work around bug.
74723         utimens: check for ctime update
74724         * tests/test-utimens-common.h (check_ctime): Define.
74725         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
74726         * tests/test-futimens.h (test_futimens): Likewise.
74727         * tests/test-lutimens.h (test_lutimens): Likewise.
74728         * doc/posix-functions/futimens.texi (futimens): Document the bug.
74729         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
74731 2009-12-19  Bruno Haible  <bruno@clisp.org>
74733         dprintf-posix: Check against memory leak fixed on 2009-12-15.
74734         * tests/test-dprintf-posix2.sh: New file.
74735         * tests/test-dprintf-posix2.c: New file.
74736         * modules/dprintf-posix-tests (Files): Add them.
74737         (configure.ac): Check for getrlimit and setrlimit.
74738         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
74740 2009-12-19  Bruno Haible  <bruno@clisp.org>
74742         fprintf-posix: Check against memory leak fixed on 2009-12-15.
74743         * tests/test-fprintf-posix3.sh: New file.
74744         * tests/test-fprintf-posix3.c: New file.
74745         * modules/fprintf-posix-tests (Files): Add them.
74746         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
74748 2009-12-19  Eric Blake  <ebb9@byu.net>
74750         dirfd: fix prototype
74751         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
74752         * lib/dirfd.c (dirfd): Likewise.
74754         canonicalize: reduce memory usage
74755         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
74756         allocation to size.
74757         Reported by Solar Designer <solar@openwall.com>.
74759 2009-12-19  Bruno Haible  <bruno@clisp.org>
74761         New module attribute 'Applicability'.
74762         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
74763         * gnulib-tool: New option --extract-applicability.
74764         (func_usage): Document it.
74765         (sed_extract_prog): Recognize it.
74766         (func_get_applicability): New function.
74767         (func_import): Generalize handling of 'link-warning' module.
74768         * modules/link-warning (Applicability): New section.
74769         * modules/arg-nonnull (Applicability): New section.
74770         Repoted by Simon Josefsson <simon@josefsson.org>.
74772 2009-12-19  Bruno Haible  <bruno@clisp.org>
74774         fflush: tweak
74775         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
74776         * lib/fseeko.c (rpl_fseeko): Likewise.
74778 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
74780         * lib/gl_list.h: Fix typo in comment.
74782 2009-12-16  Eric Blake  <ebb9@byu.net>
74784         fcntl: use to simplify other modules
74785         * modules/cloexec (Depends-on): Add fcntl.
74786         * modules/fchdir (Depends-on): Likewise.
74787         * modules/fd-safer-flag (Depends-on): Likewise.
74788         * modules/unistd-safer (Depends-on): Likewise.
74789         * modules/dup3 (configure.ac): Set module indicator.
74790         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
74791         missing.
74792         * lib/fchdir.c (_gl_register_dup): Fix comment.
74793         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
74794         * lib/dup-safer.c (dup_safer): Likewise.
74795         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
74796         * lib/dup3.c (dup3): Likewise.
74797         * tests/test-fchdir.c (main): Enhance test.
74798         Fixes a dup_cloexec bug reported by Ondřej Vašík.
74800         fcntl: port portions of fcntl to mingw
74801         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
74802         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
74803         replacement for mingw.
74804         * modules/fcntl (Description): Update.
74805         (Depends-on): Add dup2.
74806         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
74807         * modules/fcntl-h (Makefile.am): Substitute it.
74808         * lib/fcntl.in.h (fcntl): Update declaration.
74809         (F_DUPFD, F_GETFD): New macros, when needed.
74810         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
74811         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
74812         * tests/test-fcntl.c (check_flags, main): Enhance test for items
74813         we now guarantee.
74815         fcntl: work around cygwin bug in F_DUPFD
74816         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
74817         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
74818         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
74819         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
74820         * doc/posix-functions/fcntl.texi (fcntl): Document it.
74822         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
74823         * modules/fcntl (Files): List new files.
74824         (configure.ac): Run a test.
74825         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
74826         * lib/fcntl.c (rpl_fcntl): Likewise.
74827         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
74828         (gl_FCNTL_H): Always replace fcntl.h.
74829         * modules/fcntl-h (Makefile.am): Substitute witnesses.
74830         * lib/fcntl.in.h (fcntl): Declare replacement.
74831         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
74832         needed, plus a witness.
74833         * doc/posix-functions/fcntl.texi (fcntl): Document this.
74834         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
74835         * tests/test-fcntl.c: New file.
74836         * modules/fcntl-tests: Likewise.
74838         binary-io: avoid potential compilation warning
74839         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
74840         directives.
74842         fflush: avoid compilation error on NetBSD
74843         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
74844         between off_t and fpos_t, since the latter is sometimes a struct.
74845         * lib/fseeko.c (rpl_fseeko): Likewise.
74846         Reported by Alexander Nasonov <alnsn@yandex.ru>.
74848 2009-12-15  Eric Blake  <ebb9@byu.net>
74850         fcntl-h, stdio, sys_ioctl: fix declarations
74851         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
74852         function must not take arguments.
74853         * lib/sys_ioctl.in.h (ioctl): Likewise.
74854         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
74855         (open): Add a link warning.
74857 2009-12-15  Jim Meyering  <meyering@redhat.com>
74859         areadlink, areadlink-with-size: relax license to LGPLv2+
74860         * modules/areadlink (License): Relax to LGPLv2+.
74861         * modules/areadlink-with-size (License): Likewise.
74863 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
74864             Bruno Haible  <bruno@clisp.org>
74866         *printf: Fix memory leak.
74867         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
74868         * lib/vfprintf.c (vfprintf): Likewise.
74869         * lib/dprintf.c (dprintf): Likewise.
74870         * lib/vdprintf.c (vdprintf): Likewise.
74872 2009-12-14  Eric Blake  <ebb9@byu.net>
74874         accept4: adjust module dependencies
74875         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
74877         utimens: one more try at avoiding compiler warning
74878         * lib/utimens.c (lutimens): Lower scope of result.
74880 2009-12-13  Bruno Haible  <bruno@clisp.org>
74882         Move the malloc checking from module 'list' to new module 'xlist'.
74883         * modules/xlist: New file.
74884         * lib/gl_xlist.h: New file.
74885         * lib/gl_xlist.c: New file.
74886         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
74887         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
74888         gl_list_add_last, gl_list_add_before, gl_list_add_after,
74889         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
74890         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
74891         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
74892         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
74893         gl_sortedlist_nx_add): New declarations.
74894         (struct gl_list_implementation): Rename and change methods accordingly.
74895         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
74896         (gl_list_nx_create): Renamed from gl_list_create.
74897         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
74898         (gl_list_nx_set_at): Renamed from gl_list_set_at.
74899         (gl_list_nx_add_first): Renamed from gl_list_add_first.
74900         (gl_list_nx_add_last): Renamed from gl_list_add_last.
74901         (gl_list_nx_add_before): Renamed from gl_list_add_before.
74902         (gl_list_nx_add_after): Renamed from gl_list_add_after.
74903         (gl_list_nx_add_at): Renamed from gl_list_add_at.
74904         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
74905         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
74906         gl_list_create_empty.
74907         (gl_list_nx_create): Renamed from gl_list_create.
74908         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
74909         (gl_list_nx_set_at): Renamed from gl_list_set_at.
74910         (gl_list_nx_add_first): Renamed from gl_list_add_first.
74911         (gl_list_nx_add_last): Renamed from gl_list_add_last.
74912         (gl_list_nx_add_before): Renamed from gl_list_add_before.
74913         (gl_list_nx_add_after): Renamed from gl_list_add_after.
74914         (gl_list_nx_add_at): Renamed from gl_list_add_at.
74915         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
74916         * lib/gl_array_list.c: Don't include xalloc.h.
74917         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
74918         NULL upon out-of-memory.
74919         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
74920         out-of-memory.
74921         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
74922         Change return type to 'int'.
74923         (gl_array_nx_set_at): Renamed from gl_array_set_at.
74924         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
74925         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
74926         upon out-of-memory.
74927         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
74928         upon out-of-memory.
74929         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
74930         upon out-of-memory.
74931         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
74932         upon out-of-memory.
74933         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
74934         out-of-memory.
74935         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
74936         Update.
74937         (gl_array_list_implementation): Update.
74938         * lib/gl_carray_list.c: Don't include xalloc.h.
74939         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
74940         Return NULL upon out-of-memory.
74941         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
74942         out-of-memory.
74943         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
74944         Change return type to 'int'.
74945         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
74946         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
74947         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
74948         upon out-of-memory.
74949         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
74950         upon out-of-memory.
74951         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
74952         out-of-memory.
74953         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
74954         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
74955         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
74956         Update.
74957         (gl_carray_list_implementation): Update.
74958         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
74959         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
74960         gl_linked_create_empty. Return NULL upon out-of-memory.
74961         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
74962         out-of-memory.
74963         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
74964         Change return type to 'int'. Return -1 upon out-of-memory.
74965         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
74966         out-of-memory.
74967         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
74968         upon out-of-memory.
74969         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
74970         upon out-of-memory.
74971         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
74972         NULL upon out-of-memory.
74973         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
74974         upon out-of-memory.
74975         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
74976         out-of-memory.
74977         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
74978         Update.
74979         * lib/gl_linked_list.c: Don't include xalloc.h.
74980         (gl_linked_list_implementation): Update.
74981         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
74982         (add_to_bucket): Change return type to 'int'.
74983         (gl_linkedhash_list_implementation): Update.
74984         * lib/gl_anytree_list1.h (free_subtree): New function.
74985         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
74986         gl_tree_create_empty. Return NULL upon out-of-memory.
74987         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
74988         Change return type to 'int'. Return -1 upon out-of-memory.
74989         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
74990         out-of-memory.
74991         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
74992         (gl_tree_remove_node): New function, moved here from
74993         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
74994         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
74995         Update.
74996         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
74997         malloc, not xmalloc. Return NULL upon out-of-memory.
74998         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
74999         out-of-memory.
75000         (gl_tree_remove_node_from_tree): New function, extracted from
75001         gl_tree_remove_node.
75002         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
75003         upon out-of-memory.
75004         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
75005         out-of-memory.
75006         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
75007         upon out-of-memory.
75008         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
75009         upon out-of-memory.
75010         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
75011         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
75012         not xmalloc. Return NULL upon out-of-memory.
75013         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
75014         out-of-memory.
75015         (gl_tree_remove_node_from_tree): New function, extracted from
75016         gl_tree_remove_node.
75017         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
75018         upon out-of-memory.
75019         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
75020         out-of-memory.
75021         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
75022         upon out-of-memory.
75023         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
75024         upon out-of-memory.
75025         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
75026         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
75027         gl_anytree_list1.h before gl_anyavltree_list2.h.
75028         (gl_avltree_list_implementation): Update.
75029         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
75030         gl_anytree_list1.h before gl_anyavltree_list2.h.
75031         (gl_rbtree_list_implementation): Update.
75032         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
75033         Change return type to 'int'. Return -1 upon out-of-memory. Use
75034         __builtin_expect.
75035         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
75036         (gl_avltreehash_list_implementation): Update.
75037         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
75038         (gl_rbtreehash_list_implementation): Update.
75039         * modules/array-list (Depends-on): Remove xalloc.
75040         * modules/carray-list (Depends-on): Likewise.
75041         * modules/linked-list (Depends-on): Likewise.
75042         * modules/linkedhash-list (Depends-on): Likewise.
75043         * modules/avltree-list (Depends-on): Likewise.
75044         * modules/rbtree-list (Depends-on): Likewise.
75045         * modules/avltreehash-list (Depends-on): Likewise.
75046         * modules/rbtreehash-list (Depends-on): Likewise.
75048         * modules/xsublist: New file.
75049         * lib/gl_xsublist.h: New file.
75050         * lib/gl_xsublist.c: New file.
75051         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
75052         (gl_sublist_nx_create): New declaration.
75053         * lib/gl_sublist.c: Don't include xalloc.h.
75054         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
75055         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
75056         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
75057         Change return type to 'int'. Return -1 upon out-of-memory.
75058         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
75059         upon out-of-memory.
75060         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
75061         NULL upon out-of-memory.
75062         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
75063         upon out-of-memory.
75064         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
75065         NULL upon out-of-memory.
75066         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
75067         NULL upon out-of-memory.
75068         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
75069         upon out-of-memory.
75070         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
75071         (gl_sublist_list_implementation): Update.
75072         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
75073         upon out-of-memory.
75074         * modules/sublist (Depends-on): Remove xalloc.
75076         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
75077         * tests/test-carray_list.c: Likewise.
75078         * tests/test-linked_list.c: Likewise.
75079         * tests/test-linkedhash_list.c: Likewise.
75080         * tests/test-avltree_list.c: Likewise.
75081         * tests/test-rbtree_list.c: Likewise.
75082         * tests/test-avltreehash_list.c: Likewise.
75083         * tests/test-rbtreehash_list.c: Likewise.
75084         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
75085         * modules/carray-list-tests (Makefile.am): Likewise.
75086         * modules/linked-list-tests (Makefile.am): Likewise.
75087         * modules/linkedhash-list-tests (Makefile.am): Likewise.
75088         * modules/avltree-list-tests (Makefile.am): Likewise.
75089         * modules/rbtree-list-tests (Makefile.am): Likewise.
75090         * modules/avltreehash-list-tests (Makefile.am): Likewise.
75091         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
75093         * NEWS: Mention the changes.
75095         * lib/clean-temp.c: Include gl_xlist.h.
75096         * modules/clean-temp (Depends-on): Add xlist.
75098         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
75099         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
75101         * tests/test-array_oset.c: Include gl_xlist.h.
75102         * modules/array-oset-tests (Depends-on): Add xlist.
75104         Reported by José E. Marchesi <jemarch@gnu.org>.
75106 2009-12-13  Bruno Haible  <bruno@clisp.org>
75108         Move the malloc checking from module 'oset' to new module 'xoset'.
75109         * modules/xoset: New file.
75110         * lib/gl_xoset.h: New file.
75111         * lib/gl_xoset.c: New file.
75112         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
75113         declarations.
75114         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
75115         (struct gl_oset_implementation): Rename and change methods accordingly.
75116         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
75117         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
75118         'int'. Mark as __warn_unused_result__.
75119         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
75120         gl_oset_create_empty.
75121         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
75122         'int'.
75123         * lib/gl_array_oset.c: Don't include xalloc.h.
75124         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
75125         malloc, not xmalloc.
75126         (grow): Change return type to 'int'. Don't call xalloc_die.
75127         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
75128         to 'int'.
75129         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
75130         'int'.
75131         (gl_array_oset_implementation): Update.
75132         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
75133         gl_tree_create_empty.
75134         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
75135         'int'.
75136         * lib/gl_avltree_oset.c: Don't include xalloc.h.
75137         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
75138         xmalloc.
75139         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
75140         not xmalloc.
75141         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
75142         xmalloc.
75143         (gl_avltree_oset_implementation): Update.
75144         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
75145         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
75146         xmalloc.
75147         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
75148         not xmalloc.
75149         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
75150         xmalloc.
75151         (gl_rbtree_oset_implementation): Update.
75152         * modules/array-oset (Depends-on): Remove xalloc.
75153         * modules/avltree-oset (Depends-on): Likewise.
75154         * modules/rbtree-oset (Depends-on): Likewise.
75155         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
75156         * tests/test-avltree_oset.c: Likewise.
75157         * tests/test-rbtree_oset.c: Likewise.
75158         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75159         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
75160         * modules/rbtree-oset-tests (Makefile.am): Likewise.
75161         * NEWS: Mention the change.
75163 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
75165         maint.mk: allow a project to override release-prep commands
75166         * top/maint.mk (alpha, beta, stable): Move release-preparatory
75167         commands into a new rule.
75168         (release-prep): New rule.
75169         (release-prep-hook): New overridable variable.
75171 2009-12-13  Bruno Haible  <bruno@clisp.org>
75173         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
75175 2009-12-13  Jim Meyering  <meyering@redhat.com>
75177         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
75178         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
75180 2009-12-12  Bruno Haible  <bruno@clisp.org>
75182         duplocale: Tweak.
75183         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
75185 2009-12-12  Karl Berry  <karl@gnu.org>
75187         * config/srclist.txt (strtoll.c): tab changes, no more sync.
75189 2009-12-12  Bruno Haible  <bruno@clisp.org>
75191         * m4/po.m4: Undo incorrect untabification.
75193 2009-12-12  Bruno Haible  <bruno@clisp.org>
75195         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
75196         * modules/c-strtod (Depends-on): Add locale.
75197         * modules/c-strtold (Depends-on): Likewise.
75199 2009-12-12  Bruno Haible  <bruno@clisp.org>
75201         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
75203 2009-12-11  Eric Blake  <ebb9@byu.net>
75205         setenv: relax requirement in light of POSIX ruling
75206         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
75207         not NULL.
75208         * tests/test-setenv.c (main): Relax test.
75209         * tests/test-unsetenv.c (main): Likewise.
75210         * doc/posix-functions/setenv.texi (setenv): Document this.
75211         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
75213 2009-12-11  Bruno Haible  <bruno@clisp.org>
75215         New module 'fd-safer-flag'.
75216         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
75217         * lib/dup-safer.c (dup_safer_flag): Remove function.
75218         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
75219         * lib/fd-safer.c (fd_safer_flag): Remove function.
75220         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
75221         * modules/cloexec (configure.ac): Drop indicator macro.
75222         * modules/fd-safer-flag: New file.
75223         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
75224         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
75225         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
75227 2009-12-11  Bruno Haible  <bruno@clisp.org>
75229         Tests for module 'nl_langinfo'.
75230         * modules/nl_langinfo-tests: New file.
75231         * tests/test-nl_langinfo.sh: New file.
75232         * tests/test-nl_langinfo.c: New file.
75234         New module 'nl_langinfo'.
75235         * lib/nl_langinfo.c: New file.
75236         * m4/nl_langinfo.m4: New file.
75237         * modules/nl_langinfo: New file.
75238         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
75240 2009-12-11  Bruno Haible  <bruno@clisp.org>
75242         Tests for module 'langinfo'.
75243         * modules/langinfo-tests: New file.
75244         * tests/test-langinfo.c: New file.
75246         New module 'langinfo'.
75247         * lib/langinfo.in.h: New file.
75248         * m4/langinfo_h.m4: New file.
75249         * modules/langinfo: New file.
75250         * doc/posix-headers/langinfo.texi: Mention the new module.
75252 2009-12-11  Bruno Haible  <bruno@clisp.org>
75254         * lib/config.charset: Untabify.
75256 2009-12-11  Bruno Haible  <bruno@clisp.org>
75258         * modules/unistd-safer (configure.ac): Drop indicator macro.
75260 2009-12-11  Bruno Haible  <bruno@clisp.org>
75262         Move pipe2-safer code to its own file.
75263         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
75264         * lib/pipe-safer.c (pipe2_safer): Remove function.
75265         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
75266         (Makefile.am): Add it to lib_SOURCES.
75268 2009-12-10  Bruno Haible  <bruno@clisp.org>
75270         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
75272 2009-12-10  Bruno Haible  <bruno@clisp.org>
75274         Declare which arguments expect non-NULL values, for GCC and clang.
75275         * build-aux/arg-nonnull.h: New file.
75276         * modules/arg-nonnull: New file.
75277         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
75278         (inet_ntop, inet_pton): Use it.
75279         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
75280         (closedir, dirfd, opendir, scandir, alphasort): Use it.
75281         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
75282         (open, openat): Use it.
75283         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
75284         (fnmatch): Use it.
75285         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
75286         (getopt, getopt_long, getopt_long_only): Use it.
75287         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
75288         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
75289         Use it.
75290         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
75291         (iconv_open): Use it.
75292         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
75293         (strtoimax, strtoumax): Use it.
75294         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
75295         (duplocale): Use it.
75296         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
75297         (frexp, frexpl): Use it.
75298         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
75299         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
75300         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
75301         (tsearch, tfind, tdelete, twalk): Use it.
75302         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
75303         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
75304         sigpending): Use it.
75305         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
75306         (posix_spawn, posix_spawnp, posix_spawnattr_init,
75307         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
75308         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
75309         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
75310         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
75311         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
75312         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
75313         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
75314         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
75315         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
75316         Use it.
75317         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
75318         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
75319         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
75320         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
75321         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
75322         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
75323         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
75324         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
75325         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
75326         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
75327         strtoull, unsetenv): Use it.
75328         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
75329         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
75330         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
75331         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
75332         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
75333         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
75334         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
75335         (strcasecmp, strncasecmp): Use it.
75336         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
75337         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
75338         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
75339         rpl_setsockopt): Use it.
75340         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
75341         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
75342         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
75343         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
75344         (gettimeofday): Use it.
75345         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
75346         (times): Use it.
75347         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
75348         (uname): Use it.
75349         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
75350         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
75351         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
75352         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
75353         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
75354         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
75355         unlinkat, write): Use it.
75356         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
75357         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
75358         * lib/argv-iter.h: Include arg-nonnull.h.
75359         (_ATTRIBUTE_NONNULL_): Remove macro.
75360         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
75361         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
75362         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
75363         optimization.
75364         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
75365         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
75366         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
75367         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
75368         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
75369         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
75370         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
75371         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
75372         * modules/arpa_inet (Depends-on): Add arg-nonnull.
75373         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
75374         * modules/dirent (Depends-on): Add arg-nonnull.
75375         (Makefile.am): Insert arg-nonnull.h into dirent.h.
75376         * modules/fcntl-h (Depends-on): Add arg-nonnull.
75377         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
75378         * modules/fnmatch (Depends-on): Add arg-nonnull.
75379         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
75380         * modules/getopt-posix (Depends-on): Add arg-nonnull.
75381         (Makefile.am): Insert arg-nonnull.h into getopt.h.
75382         * modules/glob (Depends-on): Add arg-nonnull.
75383         (Makefile.am): Insert arg-nonnull.h into glob.h.
75384         * modules/iconv_open (Depends-on): Add arg-nonnull.
75385         (Makefile.am): Insert arg-nonnull.h into iconv.h.
75386         * modules/inttypes (Depends-on): Add arg-nonnull.
75387         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
75388         * modules/locale (Depends-on): Add arg-nonnull.
75389         (Makefile.am): Insert arg-nonnull.h into locale.h.
75390         * modules/math (Depends-on): Add arg-nonnull.
75391         (Makefile.am): Insert arg-nonnull.h into math.h.
75392         * modules/netdb (Depends-on): Add arg-nonnull.
75393         (Makefile.am): Insert arg-nonnull.h into netdb.h.
75394         * modules/search (Depends-on): Add arg-nonnull.
75395         (Makefile.am): Insert arg-nonnull.h into search.h.
75396         * modules/signal (Depends-on): Add arg-nonnull.
75397         (Makefile.am): Insert arg-nonnull.h into signal.h.
75398         * modules/spawn (Depends-on): Add arg-nonnull.
75399         (Makefile.am): Insert arg-nonnull.h into spawn.h.
75400         * modules/stdio (Depends-on): Add arg-nonnull.
75401         (Makefile.am): Insert arg-nonnull.h into stdio.h.
75402         * modules/stdlib (Depends-on): Add arg-nonnull.
75403         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
75404         * modules/string (Depends-on): Add arg-nonnull.
75405         (Makefile.am): Insert arg-nonnull.h into string.h.
75406         * modules/strings (Depends-on): Add arg-nonnull.
75407         (Makefile.am): Insert arg-nonnull.h into strings.h.
75408         * modules/sys_socket (Depends-on): Add arg-nonnull.
75409         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
75410         * modules/sys_stat (Depends-on): Add arg-nonnull.
75411         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
75412         * modules/sys_time (Depends-on): Add arg-nonnull.
75413         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
75414         * modules/sys_times (Depends-on): Add arg-nonnull.
75415         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
75416         * modules/sys_utsname (Depends-on): Add arg-nonnull.
75417         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
75418         * modules/time (Depends-on): Add arg-nonnull.
75419         (Makefile.am): Insert arg-nonnull.h into time.h.
75420         * modules/unistd (Depends-on): Add arg-nonnull.
75421         (Makefile.am): Insert arg-nonnull.h into unistd.h.
75422         * modules/wchar (Depends-on): Add arg-nonnull.
75423         (Makefile.am): Insert arg-nonnull.h into wchar.h.
75424         * modules/argv-iter (Depends-on): Add arg-nonnull.
75425         * tests/test-canonicalize.c (null_ptr): New function.
75426         (main): Use it.
75427         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
75428         (main): Use it.
75429         * tests/test-memmem.c (null_ptr): New function.
75430         (main): Use it.
75431         Reported by Jim Meyering.
75433 2009-12-10  Bruno Haible  <bruno@clisp.org>
75435         Use spaces for indentation, not tabs.
75436         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
75437         * m4/*.m4: Untabify.
75438         * build-aux/*.h: Untabify.
75439         * tests/**/*.[hc]: Untabify.
75440         * README: New section "Indent with spaces, not TABs", based on
75441         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
75442         * NEWS: Mention the change.
75444 2009-12-10  Bruno Haible  <bruno@clisp.org>
75446         pty test: Fix link error.
75447         * modules/pty-tests (Makefile.am): Add the default LDADD value to
75448         test_pty_LDADD.
75450 2009-12-07  Simon Josefsson  <simon@josefsson.org>
75452         * modules/pty: New file.
75453         * modules/pty-tests: New file.
75454         * m4/pty.m4: New file.
75455         * tests/test-pty.c: New file.
75456         * doc/glibc-headers/pty.texi: Modified.
75457         * doc/glibc-functions/forkpty.texi: Modified.
75458         * doc/glibc-functions/openpty.texi: Modified.
75460 2009-12-10  Bruno Haible  <bruno@clisp.org>
75462         Avoid syntax error in C++ mode.
75463         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
75465 2009-12-10  Bruno Haible  <bruno@clisp.org>
75467         Use sed with option -e.
75468         * gnulib-tool (func_version, func_emit_copyright_notice,
75469         func_emit_initmacro_end, func_import, func_create_testdir): Pass
75470         option -e to sed.
75471         * modules/link-warning (Makefile.am): Likewise.
75473 2009-12-10  Jim Meyering  <meyering@redhat.com>
75475         mgetgroups: do not write bytes beyond end of malloc'd buffer
75476         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
75477         username, we call getgroups with a one-element-shorter buffer,
75478         but still told it the length was original, max_n_groups.
75480 2009-12-09  Eric Blake  <ebb9@byu.net>
75482         cloexec: relax license
75483         * modules/cloexec (Maintainer): Add myself.
75484         (License): Use LGPL, not GPL.
75486         link-warning: optimize generation
75487         * modules/link-warning (Makefile.am): Reduce process usage.
75489 2009-12-09  Bruno Haible  <bruno@clisp.org>
75491         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
75492         workaround was added on 2009-11-17.
75494 2009-12-09  Jim Meyering  <meyering@redhat.com>
75495             Bruno Haible  <bruno@clisp.org>
75497         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
75498         * modules/link-warning (Makefile.am): Make the comment-removing sed
75499         command more robust in the face of bootstrap-prepended comment lines.
75501 2009-12-09  Bruno Haible  <bruno@clisp.org>
75503         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
75504         most one group.
75506 2009-12-09  Simon Josefsson  <simon@josefsson.org>
75507             Bruno Haible  <bruno@clisp.org>
75509         * build-aux/link-warning.h: Add copyright notice.
75510         * modules/link-warning (Makefile.am): Generate link-warning.h from
75511         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
75512         * NEWS: Mention change in link-warning module.
75513         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
75514         * modules/dirent (Makefile.am): Add dependency to dirent.h.
75515         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
75516         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
75517         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
75518         * modules/math (Makefile.am): Add dependency to math.h.
75519         * modules/search (Makefile.am): Add dependency to search.h.
75520         * modules/signal (Makefile.am): Add dependency to signal.h.
75521         * modules/spawn (Makefile.am): Add dependency to spawn.h.
75522         * modules/stdio (Makefile.am): Add dependency to stdio.h.
75523         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
75524         * modules/string (Makefile.am): Add dependency to string.h.
75525         * modules/strings (Makefile.am): Add dependency to strings.h.
75526         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
75527         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
75528         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
75529         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
75530         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
75531         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
75532         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
75533         * modules/unistd (Makefile.am): Add dependency to unistd.h.
75534         * modules/wchar (Makefile.am): Add dependency to wchar.h.
75536 2009-12-09  Bruno Haible  <bruno@clisp.org>
75538         fchdir: Optimize away rpl_fstat when possible.
75539         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
75540         REPLACE_OPEN_DIRECTORY.
75541         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
75543 2009-12-09  Bruno Haible  <bruno@clisp.org>
75545         * lib/fchdir.c: Update comment.
75547 2009-12-09  Bruno Haible  <bruno@clisp.org>
75549         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
75551 2009-12-08  Eric Blake  <ebb9@byu.net>
75553         fchdir: avoid memory leak on re-registration.
75554         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
75556 2009-12-08  Jim Meyering  <meyering@redhat.com>
75558         init.sh: avoid Solaris 10 /bin/sh portability problem
75559         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
75560         sourced script:
75561           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
75562           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
75563           bar
75564         tests/init.sh relied on that, accepting a --set-path=DIR argument,
75565         and two tests used that idiom.
75566         * tests/init.sh: Update suggested usage comments.
75567         (path_prepend_): New function, to be used in place
75568         of the --src-path=DIR option.
75569         (setup_): Move PATH-prepending code into path_prepend_.
75570         * tests/test-pread.sh: Adapt to new usage.
75571         * tests/test-xalloc-die.sh: Likewise.
75573 2009-12-08  Simon Josefsson  <simon@josefsson.org>
75575         * doc/gnulib.texi (Glibc pty.h): Add.
75576         * doc/glibc-functions/forkpty.texi: Add.
75577         * doc/glibc-functions/openpty.texi: Add.
75578         Suggested by Bruno Haible.
75580 2009-12-08  Eric Blake  <ebb9@byu.net>
75582         fchdir: fix logic bugs
75583         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
75584         * tests/test-fchdir.c (main): Enhance test.
75585         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
75586         is in use.
75588         dup2: fix logic bugs
75589         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
75590         REPLACE_DUP2 to decide when rpl_dup2 is needed.
75591         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
75592         exists.
75593         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
75595 2009-12-07  Eric Blake  <ebb9@byu.net>
75597         unlink: fix m4 detection
75598         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
75600         unistd-safer: add unit test
75601         * modules/unistd-safer-tests: New file.
75602         * tests/test-dup-safer.c: Likewise.
75603         * tests/test-cloexec.c (setmode): Avoid compiler warning.
75604         * tests/test-dup2.c (setmode): Likewise.
75605         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
75607         cloexec: preserve text vs. binary across dup_cloexec
75608         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
75609         mode.
75610         * modules/dup2-tests (Depends-on): Add binary-io.
75611         * modules/cloexec-tests (Depends-on): Likewise.
75612         * tests/test-dup2.c (setmode, is_mode): New helpers.
75613         (main): Add tests that translation mode is preserved.
75614         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
75615         Reported by Bruno Haible.
75617         mgetgroups: reduce duplicate listings
75618         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
75619         resulting array.
75620         * tests/test-chown.h (test_chown): Simplify client.
75621         * tests/test-lchown.h (test_lchown): Likewise.
75623 2009-12-06  Bruno Haible  <bruno@clisp.org>
75625         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
75626         value.
75628 2009-12-06  Bruno Haible  <bruno@clisp.org>
75630         * lib/progname.c: Include stdio.h, stdlib.h.
75631         (set_program_name): Reject a NULL argument.
75633 2009-12-05  Eric Blake  <ebb9@byu.net>
75635         pipe2-safer: new module
75636         * modules/pipe2-safer: New file.
75637         * lib/unistd-safer.h (pipe2_safer): New prototype.
75638         * lib/unistd--.h (pipe2): New wrapper.
75639         * lib/pipe-safer.c (pipe2_safer): New function.
75640         * modules/pipe (Depends-on): Add pipe2-safer.
75641         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
75643         stdlib-safer: preserve cloexec flag for mkostemp[s]
75644         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
75645         fd_safer_flag.
75647         unistd-safer: allow preservation of cloexec status via flag
75648         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
75649         prototypes.
75650         * lib/dup-safer.c (dup_safer_flag): New function.
75651         * lib/fd-safer.c (fd_safer_flag): Likewise.
75652         * modules/cloexec (configure.ac): Set witness.
75654         test-dup2: enhance test
75655         * modules/dup2-tests (Depends-on): Add cloexec.
75656         * tests/test-dup2.c (main): Enhance test.
75658         cloexec: add dup_cloexec
75659         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
75660         header and comments.
75661         * lib/cloexec.c (set_cloexec_flag): Add comments.
75662         (dup_cloexec): New function, with mingw implementation borrowed
75663         from...
75664         * lib/w32spawn.h (dup_noinherit): ...here.
75665         * modules/execute (Depends-on): Add cloexec.
75666         * modules/pipe (Depends-on): Likewise.
75667         * modules/cloexec (Depends-on): Add dup2.
75668         * modules/cloexec-tests (Files): New file.
75669         * tests/test-cloexec.c: Likewise.
75671         test-xalloc-die: fix test for mingw
75672         * modules/xalloc-die-tests (Files): Add tests/init.sh.
75673         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
75674         directory and .exe suffix off argv[0] output.
75676         test-fseeko: fix test for mingw
75677         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
75678         than undefining fseek, so test will pass on mingw.
75680 2009-12-05  Bruno Haible  <bruno@clisp.org>
75682         * lib/progname.h (set_program_name): Clarify specification.
75683         * lib/progname.c (set_program_name): Likewise.
75684         Reported by Jim Meyering.
75686 2009-12-05  Jim Meyering  <meyering@redhat.com>
75688         maint.mk: backslash-escape parens in default regexp
75689         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
75690         backslash-escape the literal parentheses.
75692         maint.mk: news-date-check: use grep -E
75693         * top/maint.mk (today): Define a Make variable, not a...
75694         (news-date-check): ...shell variable.
75695         (news-date-regexp): Use the Make variable.
75696         Use grep's -E option.  Change the failing diagnostic to mention
75697         the variable, $(news-date-regexp).
75699 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
75701         maintainer-makefile: allow customization of NEWS entry format
75702         * top/maint.mk (news-date-regexp): New overridable variable.
75703         (news-date-check): Use it.
75705 2009-12-04  Eric Blake  <ebb9@byu.net>
75707         mgetgroups: add xgetgroups, and avoid ENOSYS failures
75708         * lib/mgetgroups.h (xgetgroups): New prototype.
75709         * lib/mgetgroups.c (xgetgroups): New wrapper.
75710         (mgetgroups): Handle ENOSYS.
75711         * modules/mgetgroups (Depends-on): Add realloc.
75712         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
75714         mgetgroups: avoid argument promotion issues with -1
75715         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
75716         for invalid gid_t.
75717         * tests/test-chown.h (getegid, test_chown): Likewise.
75718         * tests/test-lchown.h (getegid, test_lchown): Likewise.
75720 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
75722         exclude: Fix header file problems.
75723         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
75725 2009-12-01  Jim Meyering  <meyering@redhat.com>
75727         fts: fts_open: do not let an empty string cause immediate failure
75728         This is required in support of GNU rm, for which the command
75729         "rm A '' B" must process and remove both A and B, in spite of
75730         the empty string argument.
75731         * lib/fts.c (fts_open): Do not let the presence of an empty string
75732         cause fts_open to fail immediately.  Most fts-using tools must be
75733         able to process all arguments, in order, and can be expected to
75734         diagnose such arguments themselves.
75736 2009-11-30  Eric Blake  <ebb9@byu.net>
75738         utimens: fix compilation error
75739         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
75740         Declare variable at right scope.
75742 2009-11-29  Jim Meyering  <meyering@redhat.com>
75744         bootstrap: handle perl-5.11's changed --version output
75745         * build-aux/bootstrap (get_version): Handle perl separately,
75746         since perl-5.11's --version output is different.
75748 2009-11-28  Jim Meyering  <meyering@redhat.com>
75750         userspec: depend on the inttostr module, too
75751         * modules/userspec (Depends-on): Add inttostr.
75753         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
75754         * lib/userspec.c (parse_with_separator): Do not accept a user ID
75755         number of MAXUID when it evaluates to (uid_t) -1.
75756         Likewise for group ID.  Reported by Matt McCutchen in
75757         <http://savannah.gnu.org/bugs/?28113>
75759         userspec: reformat to use spaces, not TABs
75760         * lib/userspec.c: Expand TABs to spaces.
75761         Add Emacs' "indent-tabs-mode: nil" hint.
75763 2009-11-27  Eric Blake  <ebb9@byu.net>
75765         getopt-gnu: flush out another BSD bug
75766         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
75767         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
75768         flush out BSD bug.
75769         * tests/test-getopt.h (test_getopt): End lists with NULL.
75770         * tests/test-getopt_long.h (test_getopt_long): Likewise.
75771         (test_getopt_long_posix): Enhance test.
75772         * modules/getopt-posix-tests (Depends-on): Add stdbool.
75773         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
75774         getopt-gnu.
75775         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75776         Likewise.
75778 2009-11-27  Simon Josefsson  <simon@josefsson.org>
75780         * modules/idpriv-droptemp-tests (Notice): Fix text.
75782 2009-11-27  Jim Meyering  <meyering@redhat.com>
75784         test-xalloc-die: avoid spurious failure due to libtool argv difference
75785         In a libtool-enabled project, this test would fail due to a difference
75786         in the emitted program name, e.g.,
75787         -test-xalloc-die: memory exhausted
75788         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
75789         Use program to avoid that.
75790         * modules/xalloc-die-tests (Depends-on): Add progname.
75791         * tests/test-xalloc-die.c: Include progname.h".
75792         (program_name): Remove decl.
75793         (main): Call set_program_name.
75794         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
75796 2009-11-26  Richard Jones  <rjones@redhat.com>
75798         w32sock: leave win32 error in place.
75799         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
75801 2009-11-26  Eric Blake  <ebb9@byu.net>
75803         init.sh: suggest to use skip_ and fail_ functions in comments
75804         * tests/init.sh: Add a sentence.
75806 2009-11-25  Bruno Haible  <bruno@clisp.org>
75808         init.sh: add documentation in comments
75809         * tests/init.sh: Add some developer and user documentation.
75811 2009-11-26  Jim Meyering  <meyering@redhat.com>
75813         init.sh: accommodate even those who specify bogus srcdir manually
75814         * tests/init.sh: Normally, srcdir is guaranteed by automake and
75815         configure-time tests to be sanitized, so that there is no need to
75816         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
75817         (with no double quotes) suffices.  However, since tests may be
75818         invoked manually, and since you may explicitly set srcdir to the
75819         name of a directory containing spaces, do quote its uses here.
75820         * tests/test-pread.sh: Likewise.
75821         Suggested by Bruno Haible.
75823         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
75824         * tests/test-pread.sh: Write no data into the pipe, because
75825         test-pread actually reads none.  This avoids a diagnostic,
75826         "bash: echo: write error: Broken pipe", that arises in the unusual
75827         event something is ignoring SIGPIPE, and might be interpreted
75828         as some sort of failure.  Reported by Bruno Haible.
75830 2009-11-25  Jim Meyering  <meyering@redhat.com>
75832         test-pread: cover failure with ESPIPE and EINVAL
75833         * tests/test-pread.c (main): Test for failure, too.
75834         * tests/test-pread.sh: Invoke with stdin on a pipe.
75835         Suggested by Eric Blake.
75837         pread: improvement and fix
75838         * modules/pread (Depends-on): Depend on lseek, for portability to
75839         e.g., mingw.  Suggested by Eric Blake.
75840         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
75842         unistd.in.h: correct declaration of pread
75843         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
75844         Reported by Richard W.M. Jones.
75846         test-pread.sh: distribute the test script
75847         * modules/pread-tests (Files): Include test-pread.sh.
75849         test-pread.sh: clean up
75850         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
75851         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
75852         That is unnecessary, since it's always ".".
75853         Suggestion from Eric Blake.
75855         test-pread.sh: make executable
75856         * tests/test-pread.sh: Set executable bit.
75857         Reported by Eric Blake.
75859         correct typo in test-pread.sh
75860         * tests/test-pread.sh: Add #! line.
75862         test pread
75863         * tests/test-pread.c: New file.
75864         * tests/test-pread.sh: Likewise.
75865         * modules/pread-tests: Likewise.
75867         pread: new module
75868         * modules/pread: New file.
75869         * lib/unistd.in.h (pread): Define/declare.
75870         * lib/pread.c (pread): New file.
75871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
75872         * modules/unistd (Makefile.am): Substitute witnesses.
75873         * doc/posix-functions/pread.texi (pread): Update.
75874         * MODULES.html.sh: Add pread.
75876 2009-11-25  Jim Meyering  <meyering@redhat.com>
75878         tests/init.sh: new file to be used via most *.sh tests
75879         * tests/init.sh: New file.
75881 2009-11-25  Eric Blake  <ebb9@byu.net>
75883         utimens: work around older Linux failure with symlinks
75884         * lib/utimens.c (lutimensat_works_really): New variable.
75885         (fdutimens, lutimens): Use it to manage kernels that support
75886         nanosecond times on files, but not on symlinks.
75887         Reported by Ondřej Vašík.
75889         utimes: fix configure grammar
75890         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
75892 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
75894         regex: Fix fastmap for multibyte character ranges.
75895         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
75896         characters when a multibyte character range is included.
75898 2009-11-22  Andy Wingo  <wingo@pobox.com>
75900         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
75901         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
75903 2009-11-24  Bruno Haible  <bruno@clisp.org>
75905         doc: Most *_l functions exist in MacOS X 10.5.
75906         * doc/posix-functions/duplocale.texi: Update platforms list.
75907         * doc/posix-functions/freelocale.texi: Likewise.
75908         * doc/posix-functions/newlocale.texi: Likewise.
75909         * doc/posix-functions/uselocale.texi: Likewise.
75910         * doc/posix-functions/isalnum_l.texi: Likewise.
75911         * doc/posix-functions/isalpha_l.texi: Likewise.
75912         * doc/posix-functions/isblank_l.texi: Likewise.
75913         * doc/posix-functions/iscntrl_l.texi: Likewise.
75914         * doc/posix-functions/isdigit_l.texi: Likewise.
75915         * doc/posix-functions/isgraph_l.texi: Likewise.
75916         * doc/posix-functions/islower_l.texi: Likewise.
75917         * doc/posix-functions/isprint_l.texi: Likewise.
75918         * doc/posix-functions/ispunct_l.texi: Likewise.
75919         * doc/posix-functions/isspace_l.texi: Likewise.
75920         * doc/posix-functions/isupper_l.texi: Likewise.
75921         * doc/posix-functions/iswalnum_l.texi: Likewise.
75922         * doc/posix-functions/iswalpha_l.texi: Likewise.
75923         * doc/posix-functions/iswblank_l.texi: Likewise.
75924         * doc/posix-functions/iswcntrl_l.texi: Likewise.
75925         * doc/posix-functions/iswctype_l.texi: Likewise.
75926         * doc/posix-functions/iswdigit_l.texi: Likewise.
75927         * doc/posix-functions/iswgraph_l.texi: Likewise.
75928         * doc/posix-functions/iswlower_l.texi: Likewise.
75929         * doc/posix-functions/iswprint_l.texi: Likewise.
75930         * doc/posix-functions/iswpunct_l.texi: Likewise.
75931         * doc/posix-functions/iswspace_l.texi: Likewise.
75932         * doc/posix-functions/iswupper_l.texi: Likewise.
75933         * doc/posix-functions/iswxdigit_l.texi: Likewise.
75934         * doc/posix-functions/isxdigit_l.texi: Likewise.
75935         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
75936         * doc/posix-functions/strcasecmp_l.texi: Likewise.
75937         * doc/posix-functions/strcoll_l.texi: Likewise.
75938         * doc/posix-functions/strfmon_l.texi: Likewise.
75939         * doc/posix-functions/strftime_l.texi: Likewise.
75940         * doc/posix-functions/strncasecmp_l.texi: Likewise.
75941         * doc/posix-functions/strxfrm_l.texi: Likewise.
75942         * doc/posix-functions/tolower_l.texi: Likewise.
75943         * doc/posix-functions/toupper_l.texi: Likewise.
75944         * doc/posix-functions/towctrans_l.texi: Likewise.
75945         * doc/posix-functions/towlower_l.texi: Likewise.
75946         * doc/posix-functions/towupper_l.texi: Likewise.
75947         * doc/posix-functions/wcscoll_l.texi: Likewise.
75948         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
75949         * doc/posix-functions/wctrans_l.texi: Likewise.
75950         * doc/posix-functions/wctype_l.texi: Likewise.
75951         * doc/glibc-functions/strptime_l.texi: Likewise.
75952         * doc/glibc-functions/strtod_l.texi: Likewise.
75953         * doc/glibc-functions/strtof_l.texi: Likewise.
75954         * doc/glibc-functions/strtol_l.texi: Likewise.
75955         * doc/glibc-functions/strtold_l.texi: Likewise.
75956         * doc/glibc-functions/strtoll_l.texi: Likewise.
75957         * doc/glibc-functions/strtoul_l.texi: Likewise.
75958         * doc/glibc-functions/strtoull_l.texi: Likewise.
75959         * doc/glibc-functions/wcsftime_l.texi: Likewise.
75960         * doc/glibc-functions/wcstod_l.texi: Likewise.
75961         * doc/glibc-functions/wcstof_l.texi: Likewise.
75962         * doc/glibc-functions/wcstol_l.texi: Likewise.
75963         * doc/glibc-functions/wcstold_l.texi: Likewise.
75964         * doc/glibc-functions/wcstoll_l.texi: Likewise.
75965         * doc/glibc-functions/wcstoul_l.texi: Likewise.
75966         * doc/glibc-functions/wcstoull_l.texi: Likewise.
75968 2009-11-24  Bruno Haible  <bruno@clisp.org>
75970         duplocale: Fix logic bug.
75971         * lib/duplocale.c: Don't include <langinfo.h>.
75972         (_NL_LOCALE_NAME): Remove macro.
75973         (rpl_duplocale): Use setlocale instead of nl_langinfo.
75974         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
75976 2009-11-23  Jim Meyering  <meyering@redhat.com>
75978         test-update-copyright: don't hard-code /usr/bin/perl
75979         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
75980         perl to print the current year.  Gilles Espinasse reported that
75981         the replaced use of perl was hard-coded as /usr/bin/perl.
75983 2009-11-23  Bruno Haible  <bruno@clisp.org>
75985         duplocale: Add support for glibc 2.3.x.
75986         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
75988 2009-11-22  Bruno Haible  <bruno@clisp.org>
75990         vasnprintf: Tiny optimization.
75991         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
75992         MacOS X.
75994 2009-11-22  Bruno Haible  <bruno@clisp.org>
75996         Tests for module 'duplocale'.
75997         * modules/duplocale-tests: New file.
75998         * tests/test-duplocale.c: New file.
76000         New module 'duplocale'.
76001         * m4/duplocale.m4: New file.
76002         * lib/locale.in.h (duplocale): New declaration.
76003         * lib/duplocale.c: New file.
76004         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
76005         gl_LOCALE_H_DEFAULTS): New macros.
76006         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
76007         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
76008         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
76009         REPLACE_DUPLOCALE.
76010         * modules/duplocale: New file.
76011         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
76013 2009-11-22  Bruno Haible  <bruno@clisp.org>
76015         * modules/locale-tests (configure.ac): Test for newlocale function.
76016         * tests/test-locale.c: When the system has extended locale functions,
76017         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
76019         locale: Make locale_t available when possible.
76020         * lib/locale.in.h: Include <xlocale.h> when it exists.
76021         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
76022         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
76023         * modules/locale (Depends-on): Add extensions.
76024         (Makefile.am): Also substitute HAVE_XLOCALE_H.
76025         * doc/posix-headers/locale.texi: Document the problem with locale_t.
76027 2009-11-22  Bruno Haible  <bruno@clisp.org>
76029         Add comments.
76030         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
76031         invocation.
76032         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
76033         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
76034         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
76036 2009-11-22  Bruno Haible  <bruno@clisp.org>
76038         error: account for the possibility of freopen (stdout).
76039         * lib/error.c: Include <unistd.h>.
76040         (flush_stdout): New function, extracted from error and error_at_line.
76041         Determine stdout's fd dynamically.
76042         (error, error_at_line): Invoke flush_stdout.
76043         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
76044         * modules/error (Depends-on): Add unistd.
76046 2009-11-22  Bruno Haible  <bruno@clisp.org>
76048         diffseq: Add comment.
76049         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
76051 2009-11-22  Jim Meyering  <meyering@redhat.com>
76053         c-stack: avoid defining an unused static function
76054         * lib/c-stack.c (find_stack_direction): Do not define this function
76055         when it will not be used.
76057         diffseq: avoid spurious gcc warnings
76058         * lib/diffseq.h (IF_LINT2): Define.
76059         (compareseq): Use it to initialize two members of "part".
76060         This avoids two used-uninitialized warnings.
76062 2009-11-21  Jim Meyering  <meyering@redhat.com>
76064         c-stack: avoid "ignoring return value of `write'" warning
76065         * lib/c-stack.c: Include "ignore-value.h".
76066         (die): Explicitly ignore each write return value.
76067         * modules/c-stack (Depends-on): Add ignore-value.
76069 2009-11-21  Bruno Haible  <bruno@clisp.org>
76071         diffseq: reduce scope of variable 'best'.
76072         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
76073         variable, earlier used for two different purposes.
76075 2009-11-21  Jim Meyering  <meyering@redhat.com>
76077         diffseq: remove useless assignment to "best"
76078         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
76079         assignment.  At that point "best" is already guaranteed to be zero.
76081 2009-11-20  Eric Blake  <ebb9@byu.net>
76083         build: mention ftp redirector in release announcements
76084         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
76085         values that used to come from cfg.mk; mention FTP redirect URL.
76086         * build-aux/announce-gen: Mention the mirror list.
76087         Suggested by Karl Berry.
76089         nanosleep: improve port to mingw
76090         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
76091         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
76092         LIB_NANOSLEEP, but only when needed.
76093         * modules/select (Link): Document LIBSOCKET.
76094         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
76095         enough.
76097         nanosleep: work around cygwin bug
76098         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
76099         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
76100         bug.
76101         (getnow): Delete, not needed.
76102         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
76103         LIB_CLOCK_GETTIME.
76104         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
76105         clock-time, gettime.
76106         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
76107         bug.
76108         * modules/nanosleep-tests: New test.
76109         * tests/test-nanosleep.c: New file.
76111         sleep: work around cygwin bug
76112         * lib/sleep.c (rpl_sleep): Work around the bug.
76113         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
76114         (gl_PREREQ_SLEEP): Delete unused macro.
76115         * modules/sleep (Depends-on): Add verify.
76116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
76117         * modules/unistd (Makefile.am): Substitute witness.
76118         * lib/unistd.in.h (sleep): Update prototype.
76119         * doc/posix-functions/sleep.texi (sleep): Document the bug.
76120         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
76121         * modules/sleep-tests (Depends-on): Check for alarm.
76123 2009-11-20  Jim Meyering  <meyering@redhat.com>
76125         maint.mk: improve sc_prohibit_magic_number_exit
76126         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
76127         so it does not match uses like System.exit(1).
76128         Add comments showing how to correct all offenders.
76130 2009-11-19  Eric Blake  <ebb9@byu.net>
76132         xalloc-die-tests: add missing library
76133         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
76135         test-xvasprintf: silence compiler warnings
76136         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
76137         empty string from gcc.
76139 2009-11-19  Jim Meyering  <meyering@redhat.com>
76141         xfreopen: new module, from coreutils
76142         * modules/xfreopen: New module.
76143         * lib/xfreopen.c: New file.
76144         * lib/xfreopen.h: New file.
76145         * MODULES.html.sh (File stream based Input/Output"): Add it.
76147 2009-11-19  Eric Blake  <ebb9@byu.net>
76149         manywarnings: depend on warnings
76150         * modules/manywarnings (Depends-on): Add warnings.
76152         build: avoid compiler warnings
76153         * lib/select.c (rpl_select): Delete unused variable.
76154         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
76156 2009-11-18  Eric Blake  <ebb9@byu.net>
76158         tests: avoid false negative with --with-packager
76159         * tests/test-version-etc.sh: Discard packager information.
76160         * tests/test-argp-version-etc-1.sh: Likewise.
76161         Reported by Mike Frysinger.
76163         utimens: fix regression on Solaris
76164         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
76165         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
76166         can only change fd timestamps via futimesat.  Instead, use an
76167         additional witness macro to avoid BSD bug.
76168         Reported by Jim Meyering.
76170 2009-11-17  Eric Blake  <ebb9@byu.net>
76172         usleep: use it to simplify tests
76173         * modules/stat-time-tests (Depends-on): Add usleep.
76174         (configure.ac): Drop usleep check.
76175         * modules/chown-tests (Depends-on, configure.ac): Likewise.
76176         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
76177         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
76178         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
76179         * modules/openat-tests (Depends-on, configure.ac): Likewise.
76180         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
76181         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
76182         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
76183         Likewise.
76184         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
76185         * tests/test-lchown.h (nap): Likewise.
76186         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
76187         * tests/test-stat-time.c (nap): Likewise.
76188         * tests/test-utimens-common.h (nap): Update comments.
76190         usleep: new module
76191         * modules/usleep: New file.
76192         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
76193         * lib/usleep.c (usleep): Likewise.
76194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
76195         * modules/unistd (Makefile.am): Substitute witnesses.
76196         * lib/unistd.in.h (usleep): Add declaration.
76197         * doc/pastposix-functions/usleep.texi (usleep): Document this.
76198         * MODULES.html.sh (Date and time): Likewise.
76199         * modules/usleep-tests (Depends-on): New test.
76200         * tests/test-usleep.c: New file.
76202         chown: work around OpenBSD bug
76203         * lib/chown.c (rpl_chown): Work around the bug.
76204         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
76205         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
76206         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
76207         * modules/chown (Depends-on): Add stdbool.
76208         * modules/lchown (Depends-on): Likewise.
76209         * doc/posix-functions/chown.texi (chown): Document the bug.
76210         * doc/posix-functions/lchown.texi (lchown): Likewise.
76211         * tests/test-lchown.h (test_chown): Relax test.
76213         mkstemp: avoid conflict with C++ keyword template
76214         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
76215         * lib/mkostemp.c (mkostemp): Likewise.
76216         * lib/mkostemps.c (mkostemps): Likewise.
76217         * lib/mkstemp.c (mkstemp): Likewise.
76218         * lib/mkstemps.c (mkstemps): Likewise.
76220         xalloc-die-tests: optimize
76221         * tests/test-xalloc-die.sh: Reduce number of processes.
76223 2009-11-17  Simon Josefsson  <simon@josefsson.org>
76225         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
76226         patch from ludo@gnu.org (Ludovic Courtès).
76228 2009-11-17  Jim Meyering  <meyering@redhat.com>
76230         version-etc: use proper license string
76231         * modules/version-etc (License): Use LGPL, not LGPLv3+.
76232         * modules/version-etc-fsf: Likewise.
76234 2009-11-17  Simon Josefsson  <simon@josefsson.org>
76236         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
76237         printed to stdout.  Deal with EOL differences.
76239 2009-11-17  Eric Blake  <ebb9@byu.net>
76241         unsetenv: work around Solaris bug
76242         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
76243         * lib/unsetenv.c (rpl_unsetenv): Work around it.
76244         Reported by Jim Meyering.
76246         vasnprintf: avoid compiler warnings
76247         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
76248         variables.
76249         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
76251 2009-11-17  Simon Josefsson  <simon@josefsson.org>
76253         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
76254         settings since xalloc-die is no longer the self test,
76255         xalloc-die.sh is.
76257 2009-11-17  Jim Meyering  <meyering@redhat.com>
76259         test-xalloc-die.sh: make the code agree with the commit log
76260         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
76261         at the end, just in case you happen to have a test-xalloc-die
76262         program in some other PATH directory.
76264         test-xalloc-die.sh: fix a portability bug
76265         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
76266         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
76267         Otherwise, argv[0] (as often seen in diagnostics) would be too
76268         system-dependent, sometimes with, and sometimes without the leading "./".
76270         version-etc-fsf: relax license to LGPLv3+
76271         * modules/version-etc-fsf (License): Relax license.
76273 2009-11-16  Eric Blake  <ebb9@byu.net>
76275         xalloc-die-tests: avoid printing null pointer
76276         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
76277         shell script.
76278         * tests/test-xalloc-die.c (program_name): Declare.
76279         * tests/test-xalloc-die.sh (tmpfiles): New file.
76281         setenv, unsetenv: work around various bugs
76282         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
76283         (setenv) [HAVE_SETENV]: Work around bugs.
76284         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
76285         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
76286         for bugs.
76287         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
76288         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
76289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
76290         * modules/stdlib (Makefile.am): Update substitutions.
76291         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
76292         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
76293         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
76294         * modules/setenv-tests: New test.
76295         * modules/unsetenv-tests: Likewise.
76296         * tests/test-setenv.c: New file.
76297         * tests/test-unsetenv.c: Likewise.
76299 2009-11-16  Jim Meyering  <meyering@redhat.com>
76301         version-etc: relax license to LGPLv3+
76302         * modules/version-etc (License): Relax license.
76304         better AC_REQUIRE expanded-before-required-warning avoidance
76305         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
76306         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
76307         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
76308         which is no longer needed.
76310 2009-11-16  Eric Blake  <ebb9@byu.net>
76312         test-freading: clean up temporary file
76313         * tests/test-freading.c (main): Remove file on success, and use
76314         ASSERT more liberally.
76315         Reported by Jim Meyering.
76317 2009-11-16  Jim Meyering  <meyering@redhat.com>
76319         avoid new AC_REQUIRE expanded-before-required warnings
76320         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
76321         merely using it.
76322         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
76323         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
76325 2009-11-15  Simon Josefsson  <simon@josefsson.org>
76327         * tests/test-xalloc-die.c: New file.
76328         * modules/xalloc-die-tests: New file.
76329         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
76330         XFAIL_TESTS so it can be appended by modules.
76332 2009-11-15  Simon Josefsson  <simon@josefsson.org>
76334         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
76335         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
76337 2009-11-14  Eric Blake  <ebb9@byu.net>
76339         fnmatch: avoid compiler warning
76340         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
76341         to silence compiler warning about mismatch signedness in ?:.
76342         Reported by Robert Millan.
76344         intprops: add double-inclusion guard
76345         * lib/intprops.h: Allow idempotent includes.
76346         Suggested by Bruce Korb.
76348         openat: detect Solaris fchownat bug
76349         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
76350         penalizing glibc chownat when only lchownat is broken.
76351         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
76352         trailing slash bugs.
76353         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
76354         * modules/openat-tests (Files): Include more files.
76355         (Depends-on): Add mgetgroups, sleep, stat-time.
76356         (configure.ac): Add additional checks.
76357         (Makefile.am): Build new test.
76358         * tests/test-fchownat.c: New file.
76360         lchown: detect Solaris and FreeBSD bug
76361         * lib/lchown.c (rpl_lchown): Work around bug.
76362         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
76363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
76364         * modules/unistd (Makefile.am): Populate it.
76365         * lib/unistd.in.h (lchown): Update declaration.
76366         * doc/posix-functions/lchown.texi (lchown): Document the bug.
76367         * modules/lchown-tests: New file.
76368         * tests/test-lchown.h (test_lchown): Likewise.
76369         * tests/test-lchown.c (main): Likewise.
76371         chown: detect Solaris and FreeBSD bug
76372         * lib/chown.c (rpl_chown): Work around bug.
76373         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
76374         (gl_PREREQ_CHOWN): Delete.
76375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
76376         * modules/unistd (Makefile.am): Populate it.
76377         * lib/unistd.in.h (chown): Update declaration.
76378         * lib/lchown.c (chown): Update client.
76379         * modules/lchown (Depends-on): Add lstat.
76380         * doc/posix-functions/chown.texi (chown): Document the bug.
76381         * doc/posix-functions/getgroups.texi (getgroups): Document
76382         getgroups pitfall.
76383         * modules/chown-tests: New file.
76384         * tests/test-chown.h (test_chown): Likewise.
76385         * tests/test-chown.c (main): Likewise.
76387 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
76389         gnulib-tool: correctly detect absence of m4 directories
76390         * gnulib-tool: Avoid extra newline on data passed to wc -l.
76392 2009-11-14  Jim Meyering  <meyering@redhat.com>
76394         maint.mk: Prohibit inclusion of "xalloc.h" without use.
76395         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
76397 2009-11-14  John W. Eaton  <jwe@gnu.org>
76399         strftime.h: wrap function declaration in extern "C" block
76400         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
76402 2009-11-13  Eric Blake  <ebb9@byu.net>
76404         getgroups: avoid compiler warning
76405         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
76407         getgroups: work around FreeBSD bug
76408         * lib/getgroups.c (rpl_getgroups): Work around the bug.
76409         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
76410         * doc/posix-functions/getgroups.texi (getgroups): Document it.
76411         * tests/test-getgroups.c (main): Fix buffer overrun.
76413         getgroups: avoid compilation failure
76414         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
76415         * modules/getgroups (Depends-on): Add stdint.
76417 2009-11-13  Jim Meyering  <meyering@redhat.com>
76419         test-getgroups: avoid compilation failure
76420         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
76422 2009-11-13  Eric Blake  <ebb9@byu.net>
76424         mgetgroups: new module, taken from coreutils
76425         * modules/mgetgroups: New file.
76426         * lib/mgetgroups.h: Likewise.
76427         * lib/mgetgroups.c (mgetgroups): Likewise.
76428         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
76429         * MODULES.html.sh (Users and groups): Mention it.
76431         getgroups: don't expose GETGROUPS_T to user
76432         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
76433         an element at a time if GETGROUPS_T is wrong size.
76434         * lib/getugroups.h (getugroups): Change signature.
76435         * lib/unistd.in.h (getgroups): Likewise.
76436         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
76437         signature needs fixing.
76438         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
76439         AC_TYPE_GETGROUPS.
76440         * modules/group-member (Depends-on): Add getgroups.
76441         * lib/group-member.c (group_info, get_group_info): Use gid_t.
76442         (group_member): Rely on getgroups replacement.
76443         * lib/getugroups.c (getugroups): Use gid_t.
76444         * tests/test-getgroups.c (main): Likewise.
76445         * NEWS: Mention the signature change.
76446         * doc/posix-functions/getgroups.texi (getgroups): Mention the
76447         problem with signature.
76448         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
76449         GETGROUPS_T is still useful for setgroups.
76451         getgroups, getugroups: provide stubs for mingw
76452         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
76453         * lib/getugroups.c (getugroups): Likewise.
76454         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
76455         function.  Modernize replacement scheme.
76456         (gl_PREREQ_GETGROUPS): Delete.
76457         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
76458         * modules/getgroups (configure.ac): Declare witness.
76459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
76460         * modules/unistd (Depends-on): Substitute witness.
76461         * lib/unistd.in.h (getgroups): Declare replacement.
76463         getgroups: avoid calling exit
76464         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
76465         drop xalloc.
76466         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
76467         dependencies.
76468         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
76469         exiting, in the rare case of malloc failure.
76471         getgroups: fix logic error
76472         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
76473         has more than 20 groups.
76474         * modules/getgroups-tests: New test.
76475         * tests/test-getgroups.c: New file.
76477 2009-11-13  Simon Josefsson  <simon@josefsson.org>
76479         * tests/test-base64.c: Improve.
76481 2009-11-13  Simon Josefsson  <simon@josefsson.org>
76483         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
76484         Blake <ebb9@byu.net>.
76486 2009-11-13  Simon Josefsson  <simon@josefsson.org>
76488         * tests/test-xvasprintf.c: Add %s%s related checks.
76490 2009-11-12  Eric Blake  <ebb9@byu.net>
76492         version-etc: match standards.texi style
76493         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
76494         and use <> only for URLs.
76496 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
76498         fts: do not fail on a submount during traversal
76499         * lib/fts.c (fts_build): Read the stat info again after opening
76500         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
76501         Original report at http://bugzilla.redhat.com/501848.
76503 2009-11-12  Jim Meyering  <meyering@redhat.com>
76505         bootstrap: sync from coreutils
76506         * build-aux/bootstrap (bootstrap_epilogue): New function.
76507         Use git_modules_config in one more place.  This make bootstrap's
76508         --gnulib-srcdir option more useful for testing.
76510         bootstrap: generalize autoheader check
76511         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
76512         AC_CONFIG_HEADERS.
76514 2009-11-11  Eric Blake  <ebb9@byu.net>
76516         mkfifoat: use new modules for Solaris and BSD bugs
76517         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
76518         * lib/mkfifoat.c (mknodat): Split...
76519         * lib/mknodat.c (mknodat): ...into new file.
76520         * modules/mkfifoat (Files): Ship new file.
76521         (Depends-on): Add mkfifo, mknod.
76522         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
76523         (Depends-on): Add symlink.
76524         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
76525         redundant with test_mkfifo.h.
76526         (do_mkfifoat, do_mknodat): New helpers.
76528         mknod: new module
76529         * modules/mknod: New file.
76530         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
76531         * lib/mknod.c (mknod): Likewise.
76532         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
76533         defaults.
76534         * modules/sys_stat (Makefile.am): Substitute them.
76535         * lib/sys_stat.in.h (mknod): Declare replacement.
76536         * MODULES.html.sh (Support for systems lacking POSIX:2008):
76537         Document it.
76538         * doc/posix-functions/mknod.texi (mknod): Likewise.
76539         * modules/mknod-tests: New test.
76540         * tests/test-mknod.c: Likewise.
76542         mkfifo: new module
76543         * modules/mkfifo: New file.
76544         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
76545         * lib/mkfifo.c (mkfifo): Likewise.
76546         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
76547         defaults.
76548         * modules/sys_stat (Makefile.am): Substitute them.
76549         * lib/sys_stat.in.h (mkfifo): Declare replacement.
76550         * MODULES.html.sh (Support for systems lacking POSIX:2008):
76551         Document it.
76552         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
76553         * modules/mkfifo-tests: New test.
76554         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
76555         from test-mkfifoat.c.
76556         * tests/test-mkfifo.c: New file.
76558         readlink: detect FreeBSD bug
76559         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
76560         slash on symlink.
76561         * doc/posix-functions/readlink.texi (readlink): Document the bug.
76562         * tests/test-readlink.h (test_readlink): Enhance test.
76564         symlink: detect FreeBSD bug
76565         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
76566         slash on symlink.
76567         * doc/posix-functions/symlink.texi (symlink): Document the bug.
76568         * tests/test-symlink.h (test_symlink): Enhance test.
76570 2009-11-10  Eric Blake  <ebb9@byu.net>
76572         link: detect FreeBSD bug
76573         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
76574         symlink.
76575         * doc/posix-functions/link.texi (link): Document the bug.
76576         * tests/test-link.h (test_link): Enhance test.
76577         * tests/test-linkat.c (main): Update caller.
76579         unlink, remove: detect FreeBSD bug
76580         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
76581         slash on symlink.
76582         * doc/posix-functions/unlink.texi (unlink): Document the bug.
76583         * doc/posix-functions/remove.texi (remove): Likewise.
76584         * tests/test-unlink.h (test_unlink): Enhance test.
76585         * tests/test-remove.c (main): Likewise.
76587 2009-11-09  Eric Blake  <ebb9@byu.net>
76589         rename: detect FreeBSD bug
76590         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
76591         slash on symlink.
76592         * modules/renameat-tests (Depends-on): Add filenamecat.
76593         * tests/test-rename.h (test_rename): Allow one more errno.
76594         * tests/test-renameat.c (main): Likewise.
76595         * doc/posix-functions/rename.texi (rename): Document the bug.
76597         open: detect FreeBSD bug
76598         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
76599         symlink.
76600         * doc/posix-functions/open.texi (open): Document the bug.
76601         * doc/posix-functions/utimes.texi (utimes): Likewise.
76602         * tests/test-open.h (test_open): Add parameters, and test symlink
76603         handling.
76604         * tests/test-open.c (main): Adjust caller.
76605         * tests/test-fcntl-safer.c (main): Likewise.
76606         * modules/open-tests (Depends-on): Add stdbool, symlink.
76607         * modules/fcntl-safer-tests (Depends-on): Likewise.
76608         * tests/test-openat.c (main): Add test-open tests.
76610         stat: detect FreeBSD bug
76611         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
76612         symlink.
76613         * doc/posix-functions/stat.texi (stat): Document the bug.
76614         * tests/test-stat.h (test_stat_func): Add argument.
76615         * tests/test-stat.c (main): Adjust caller.
76616         * tests/test-fstatat.c (main): Likewise.
76617         * modules/stat-tests (Depends-on): Add stdbool, symlink.
76618         Reported by Jim Meyering.
76620 2009-11-09  James Youngman  <jay@gnu.org>
76622         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
76623         * lib/strftime.c: Correct placement of #include "ignore-value.h".
76625 2009-11-08  Jim Meyering  <meyering@redhat.com>
76627         utimens: remove invalid futimesat call
76628         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
76629         It used the file descriptor of the target file as the DIR_FD
76630         parameter and NULL as the file name.  That caused failure with
76631         errno == EFAULT on FreeBSD-8.0-rc2
76633 2009-11-07  Eric Blake  <ebb9@byu.net>
76635         fflush, freadseek: use fseeko, not fseek
76636         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
76637         (clear_ungetc_buffer): Avoid potential problems on large files.
76638         * lib/freadseek.c (freadseek): Likewise.
76639         * modules/freadseek (Depends-on): Add fseeko.
76640         * modules/fseek (configure.ac): Set a witness.
76641         * tests/test-fflush.c (main): Use fseeko.
76642         * tests/test-fpurge.c (fseek): Disable link warning.
76643         * tests/test-freadable.c (fseek): Likewise.
76644         * tests/test-freading.c (fseek): Likewise.
76645         * tests/test-fseeko.c (fseek): Likewise.
76646         * tests/test-ftell.c (fseek): Likewise.
76647         * tests/test-ftello.c (fseek): Likewise.
76648         * tests/test-fwritable.c (fseek): Likewise.
76649         * tests/test-fwriting.c (fseek): Likewise.
76651 2009-11-06  Simon Josefsson  <simon@josefsson.org>
76653         * modules/memchr (Depends-on): Drop getpagesize dependency.
76655 2009-11-06  Simon Josefsson  <simon@josefsson.org>
76657         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
76658         Reported by Ludovic Courtès.
76659         * build-aux/pmccabe2html: Improve example usage.
76660         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
76662 2009-11-06  Jim Meyering  <meyering@redhat.com>
76664         do-release-commit-and-tag: New module.
76665         Automate the release-commit and tag process.
76666         * build-aux/do-release-commit-and-tag: New script, from coreutils.
76667         * modules/do-release-commit-and-tag: New file.
76668         * MODULES.html.sh (Support for maintaining and releasing): Add it.
76670 2009-11-06  Simon Josefsson  <simon@josefsson.org>
76672         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
76673         because test-select.c uses inet_pton.
76675 2009-11-06  Simon Josefsson  <simon@josefsson.org>
76677         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
76678         GETADDRINFO_LIB.  Bump serial number.
76679         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
76680         Suggested by Eric Blake <ebb9@byu.net>.
76682 2009-11-05  Eric Blake  <ebb9@byu.net>
76684         strtod: detect darwin bug
76685         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
76686         Reported by Leo Davis.
76688         freopen-safer: new module
76689         * modules/freopen-safer: New module.
76690         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
76691         * lib/freopen-safer.c (freopen_safer): New file.
76692         * lib/stdio-safer.h (freopen_safer): New declaration.
76693         * lib/stdio--.h (freopen): New override.
76694         * MODULES.html.sh (File stream based Input/Output): Mention it.
76695         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
76696         freopen-safer module.
76697         * doc/posix-functions/stderr.texi (stderr): Likewise.
76698         * doc/posix-functions/stdin.texi (stdin): Likewise.
76699         * doc/posix-functions/stdout.texi (stdout): Likewise.
76700         * modules/freopen-safer-tests: New test.
76701         * tests/test-reopen-safer.c: New file.
76703 2009-11-05  Jim Meyering  <meyering@redhat.com>
76705         maint.mk: Prohibit inclusion of "close-stream.h" without use.
76706         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
76708 2009-11-05  Simon Josefsson  <simon@josefsson.org>
76710         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
76712 2009-11-05  Simon Josefsson  <simon@josefsson.org>
76714         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
76716 2009-11-05  Simon Josefsson  <simon@josefsson.org>
76718         Fix link error.
76719         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
76720         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
76722 2009-11-05  Simon Josefsson  <simon@josefsson.org>
76724         * tests/test-func.c: Also test value of __func__.
76726 2009-11-05  Simon Josefsson  <simon@josefsson.org>
76728         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
76729         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
76731 2009-11-05  Bruno Haible  <bruno@clisp.org>
76733         Fix link error.
76734         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
76735         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
76736         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
76738 2009-11-05  Bruno Haible  <bruno@clisp.org>
76740         Tests for module 'inet_pton'.
76741         * modules/inet_pton-tests: New file.
76742         * tests/test-inet_pton.c: New file.
76744 2009-11-05  Bruno Haible  <bruno@clisp.org>
76746         Tests for module 'inet_ntop'.
76747         * modules/inet_ntop-tests: New file.
76748         * tests/test-inet_ntop.c: New file.
76750 2009-11-04  Eric Blake  <ebb9@byu.net>
76752         stdlib-safer: wrap all mkstemp variants
76753         * modules/mkostemp (configure.ac): Set witness.
76754         * modules/mkostemps (configure.ac): Likewise.
76755         * modules/mkstemps (configure.ac): Likewise.
76756         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
76757         (mkstemps_safer): Wrap more functions.
76758         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
76759         wrapping.
76760         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
76761         (mkstemps_safer): Implement the wrappers.
76763         mkstemps, mkostemps: new modules
76764         * modules/mkostemps: New module.
76765         * modules/mkstemps: Likewise.
76766         * lib/mkostemps.c (mkostemps): New file.
76767         * lib/mkstemps.c (mkstemps): Likewise.
76768         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
76769         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
76770         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
76771         * modules/stdlib (Makefile.am): Substitute them.
76772         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
76773         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
76774         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
76775         * doc/gnulib.texi (Glibc stdlib.h): Include them.
76776         * MODULES.html.sh (File system functions): Mention them.
76778         tempname: resync from glibc
76779         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
76780         same values for __GT_FILE as glibc.  Abort even when assertions
76781         are disabled.
76782         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
76783         match its value otherwise.  Allow idempotent inclusion.
76784         * lib/mkdtemp.c (mkdtemp): Adjust caller.
76785         * lib/mkostemp.c (mkostemp): Likewise.
76786         * lib/mkstemp.c (mkstemp): Likewise.
76787         * lib/tmpfile.c (tmpfile): Likewise.
76788         * NEWS: Document this.
76790         utimens: fix use of futimens on older Linux
76791         * lib/utimens.c (fdutimens): Use updated, rather than original,
76792         timespec to avoid bug in older Linux kernel.
76793         Reported by Simon Josefsson.
76795 2009-11-04  Bruno Haible  <bruno@clisp.org>
76797         Make num_processors more flexible and consistent.
76798         * lib/nproc.h (enum nproc_query): New type.
76799         (num_processors): Add a 'query' argument.
76800         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
76801         (num_processors): Add a 'query' argument. Test the value of the
76802         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
76803         mingw, count the number of CPUs available for the current process.
76804         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
76805         Check for sched_getaffinity and sched_getaffinity_np.
76806         * modules/nproc (Depends-on): Add c-ctype, extensions.
76807         * NEWS: Mention the change.
76809 2009-11-03  Bruno Haible  <bruno@clisp.org>
76811         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
76813 2009-11-03  Jim Meyering  <meyering@redhat.com>
76815         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
76816         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
76817         if it is defined.
76819 2009-11-02  Eric Blake  <ebb9@byu.net>
76821         mktime, timegm: share common declaration
76822         * lib/mktime-internal.h: New file.
76823         * lib/mktime.c: Use it rather than open-coding a declaration.
76824         * lib/timegm.c: Likewise.
76825         * modules/mktime (Files): Ship it.
76826         * modules/timegm (Files): Likewise.
76827         Suggested by Bruno Haible.
76829         test-update-copyright: update test to match script changes
76830         * tests/test-update-copyright.sh: Avoid hard-coding perl
76831         location.  Don't update *.bak created by earlier runs.
76833 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76834             Simon Josefsson  <simon@josefsson.org>
76835             Bruno Haible  <bruno@clisp.org>
76837         Fix link error on Solaris 8.
76838         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
76839         also in libnsl. Define also INET_PTON_LIB.
76840         * modules/inet_pton (Link): New section.
76842 2009-11-02  Simon Josefsson  <simon@josefsson.org>
76843             Bruno Haible  <bruno@clisp.org>
76845         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
76846         * modules/inet_ntop (Link): New section.
76847         Reported by Boyan Kasarov <bkasarov@gmail.com>.
76849 2009-11-02  Eric Blake  <ebb9@byu.net>
76851         maint: avoid compiler warnings in m4 macros
76852         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
76853         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
76855 2009-11-02  Simon Josefsson  <simon@josefsson.org>
76857         * m4/pmccabe2html.m4: Remove file.
76858         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
76859         function.  Change maintainer.
76860         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
76861         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
76862         Courtès).
76864 2009-10-31  Eric Blake  <ebb9@byu.net>
76866         fseeko: fix m4 regression
76867         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
76868         regression from 2009-10-27.
76869         Reported by Ralf Wildenhues.
76871 2009-10-31  Jim Meyering  <meyering@redhat.com>
76873         inttostr: aesthetics and improved (compile-time) safety
76874         Define inttype_is_signed rather than inttype_is_unsigned,
76875         since the sole use is via "#if inttype_is_signed".
76876         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
76877         inttype_is_unsigned.
76878         * lib/offtostr.c (inttype_is_signed): Likewise.
76879         * lib/uinttostr.c (inttype_is_signed): Likewise.
76880         * lib/umaxtostr.c (inttype_is_signed): Likewise.
76881         * lib/inttostr.c (inttostr): Use verify to cross-check the
76882         inttype_is_signed value and the signedness of the actual type.
76883         * modules/inttostr (Depends-on): Add verify.
76885 2009-10-30  Eric Blake  <ebb9@byu.net>
76887         build: avoid compiler warnings
76888         * lib/fchmodat.c (lchmod): Mark unused variables.
76889         * lib/getopt.c (_getopt_initialize): Likewise.
76890         * lib/mktime.c (__mktime_internal): Provide prototype.
76891         * lib/inttostr.c (inttostr): Avoid compiler warning even with
76892         older gcc that do not understand #pragma GCC diagnostic.
76893         * lib/uinttostr.c (inttype_is_unsigned): Define.
76894         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
76896 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
76898         stat: fix compilation on AIX
76899         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
76900         only see struct stat64.
76902 2009-10-30  Eric Blake  <ebb9@byu.net>
76904         exclude: make more robust
76905         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
76906         rather than masking a coding bug.
76907         Suggested by Bruno Haible.
76909 2009-10-30  Jim Meyering  <meyering@redhat.com>
76911         perl scripts: remove #!/usr/bin/perl in favor of more portable...
76912         Rather than putting #!/usr/bin/perl on the first line,
76913         start with a variant of what's recommended by "man perlrun" that
76914         invokes the first "perl" program from your shell's search path.
76915         * build-aux/gitlog-to-changelog: Replace #!... as above.
76916         Add a "Local Variables" perl mode setting.
76917         Prompted by a patch from Ludovic Courtès.
76918         Improved by Eric Blake.
76919         * build-aux/useless-if-before-free: Likewise.
76920         * build-aux/announce-gen: Likewise.
76921         * build-aux/update-copyright: Likewise.
76923 2009-10-29  Eric Blake  <ebb9@byu.net>
76925         filenamecat-lgpl: adjust clients
76926         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
76927         filenamecat.
76928         * modules/renameat (Depends-on): Likewise.
76930         filenamecat: split into filenamecat-lgpl
76931         * modules/filenamecat-lgpl: New module.
76932         * modules/filenamecat (Files): Move library-safe files into
76933         filenamecat-lgpl.
76934         (Depends-on): Add filenamecat-lgpl.
76935         (configure.ac): Declare witness.
76936         * lib/filenamecat.h (file_name_concat): Only declare when using
76937         GPL module.
76938         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
76939         Move...
76940         * lib/filenamecat-lgpl.c: ...into new file.
76941         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
76942         (gl_FILE_NAME_CONCAT): Use it.
76943         * MODULES.html.sh (File system functions): Mention new module.
76945         argp: avoid memory leak
76946         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
76947         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
76948         base_name, since the latter malloc()s and can call exit().
76949         Leak introduced 2006-07-03.
76951         dirname-lgpl: adjust clients that don't need full dirname
76952         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
76953         * modules/filenamecat (Depends-on): Likewise.
76954         * modules/linkat (Depends-on): Likewise.
76955         * modules/mkancesdirs (Depends-on): Likewise.
76956         * modules/mkdir (Depends-on): Likewise.
76957         * modules/openat (Depends-on): Likewise.
76958         * modules/savewd (Depends-on): Likewise.
76959         * modules/rename (Depends-on): Likewise.
76960         (License): Relax license.
76961         * modules/mkdir-tests (Depends-on): Drop progname.
76962         (Makefile.am): Delete unneeded LDADD.
76963         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
76965         dirname: split into dirname-lgpl
76966         * modules/dirname-lgpl: New module.
76967         * modules/dirname (Files): Move library-safe files into
76968         dirname-lgpl.
76969         (Depends-on): Add dirname-lgpl.
76970         (configure.ac): Declare witness.
76971         * modules/double-slash-root (License): Relax license.
76972         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
76973         module.
76974         * lib/dirname.c (dir_len, mdir_name): Move...
76975         * lib/dirname-lgpl.c: ...into new file.
76976         * lib/basename.c (last_component, base_len): Move...
76977         * lib/basename-lgpl.c: ...into new file.
76978         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
76979         (gl_DIRNAME): Use it.
76980         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
76981         Mention new module.
76982         * modules/dirname-tests (Depends-on): Add progname.
76983         * tests/test-dirname.c (program_name): Delete.
76985         mkdir: make safe for libraries
76986         * modules/mkdir (Depends-on): Drop xalloc.
76987         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
76988         exit.
76990         tests: avoid some compiler warnings
76991         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
76992         literals.
76993         * tests/test-memchr.c (main): Avoid type mismatch.
76994         * tests/test-arpa_inet.c (main): Avoid unused parameters.
76995         * tests/test-base64.c (main): Likewise.
76996         * tests/test-getdelim.c (main): Likewise.
76997         * tests/test-gethostname.c (main): Likewise.
76998         * tests/test-getline.c (main): Likewise.
76999         * tests/test-netinet_in.c (main): Likewise.
77000         * tests/test-select.c (open_server_socket, main): Likewise.
77001         * tests/test-select-stdin.c (main): Likewise.
77002         * tests/test-sockets.c (main): Likewise.
77003         * tests/test-strsignal.c (main): Likewise.
77004         * tests/test-sys_select.c (main): Likewise.
77005         * tests/test-sys_socket.c (main): Likewise.
77006         * tests/test-u64.c (main): Likewise.
77007         * tests/test-xfprintf-posix.c (main): Likewise.
77008         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
77010         sockets: avoid compiler warning
77011         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
77013         maint: detect usage(1) and other suspicious exits
77014         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
77016 2009-10-29  Jim Meyering  <meyering@redhat.com>
77018         timespec: long-to-int truncation could make timespec_cmp malfunction
77019         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
77020         a multiple of 2^32 nanoseconds as no difference.
77022 2009-10-28  Jim Meyering  <meyering@redhat.com>
77024         fprintftime: wrap macro code argument in "do {...} while(0)"
77025         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
77026         cpy macro must be a statement that can be followed by a semicolon.
77027         Now that the else clause contains a comment and is hence longer
77028         than one line, I require curly braces.  That in turn requires
77029         that we wrap this code block in the standard do...while(0).
77031         fprintftime: remove stray semicolon from previous change
77032         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
77034         fprintftime: avoid a warning about ignored fwrite return value
77035         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
77036         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
77037         that is unsafe.
77038         * modules/fprintftime (Depends-on): Add ignore-value.
77040         exclude: avoid an unwarranted warning
77041         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
77043 2009-10-27  Eric Blake  <ebb9@byu.net>
77045         fseek: avoid compilation failure when fflush is replaced
77046         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
77047         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
77048         module is in use.
77049         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
77050         module is not in use; since REPLACE_FSEEK worked otherwise.
77051         (GNULIB_FTELLO): Likewise for ftell.
77052         Reported by Ian Beckwith and others.
77054 2009-10-27  Bruno Haible  <bruno@clisp.org>
77056         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
77057         Reported by Jim Meyering.
77059 2009-10-27  Jim Meyering  <jim@meyering.net>
77060             Bruno Haible  <bruno@clisp.org>
77062         Avoid warning despite dropping the return value of fwrite.
77063         * lib/unicodeio.c: Include ignore-value.h.
77064         (fwrite_success_callback): Explicitly ignore fwrite's return value.
77065         * modules/unicodeio (Depends-on): Add ignore-value.
77067 2009-10-26  Eric Blake  <ebb9@byu.net>
77069         areadlinkat: fix fallback path
77070         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
77071         pointer and zero.
77073 2009-10-22  Pádraig Brady  <P@draigBrady.com>
77075         Use a better IO block size for modern systems
77076         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
77077         * lib/md2.c: Likewise.
77078         * lib/md4.c: Likewise.
77079         * lib/md5.c: Likewise.
77080         * lib/sha1.c: Likewise.
77081         * lib/sha256.c: Likewise.
77082         * lib/sha512.c: Likewise.
77084 2009-10-22  Eric Blake  <ebb9@byu.net>
77086         tests: avoid several compiler warnings
77087         * tests/test-getcwd.c (main): Avoid buffer underflow.
77088         * tests/test-getdate.c (main): String literals are not safe with
77089         putenv, so use setenv.  Declare unused argument.
77090         * modules/getdate-tests (Depends-on): Add setenv.
77091         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
77092         problems with string literals in char *.
77093         * tests/test-hash.c (main): Avoid shadowing declaration.
77094         (insert_new): Treat string literals as char const *.
77095         * tests/test-getopt.h (test_getopt): Likewise.
77096         (getopt_loop): Alter types to minimize casting elsewhere.
77097         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
77098         (test_getopt_long_posix): Likewise.
77099         (do_getopt_long): Add wrapper to minimize casting.
77100         * tests/test-atexit.c (clear_temp_file): Use void.
77101         * tests/test-areadlink-with-size.c (main): Declare unused
77102         arguments.
77103         * tests/test-areadlink.c (main): Likewise.
77104         * tests/test-areadlinkat-with-size.c (main): Likewise.
77105         * tests/test-areadlinkat.c (main): Likewise.
77106         * tests/test-canonicalize-lgpl.c (main): Likewise.
77107         * tests/test-canonicalize.c (main): Likewise.
77108         * tests/test-dirent-safer.c (main): Likewise.
77109         * tests/test-dirname.c (main): Likewise.
77110         * tests/test-dup2.c (main): Likewise.
77111         * tests/test-fchdir.c (main): Likewise.
77112         * tests/test-fcntl-h.c (main): Likewise.
77113         * tests/test-fcntl-safer.c (main): Likewise.
77114         * tests/test-fdopendir.c (main): Likewise.
77115         * tests/test-fdutimensat.c (main): Likewise.
77116         * tests/test-fflush.c (main): Likewise.
77117         * tests/test-filenamecat.c (main): Likewise.
77118         * tests/test-filevercmp.c (main): Likewise.
77119         * tests/test-fopen-safer.c (main): Likewise.
77120         * tests/test-fopen.c (main): Likewise.
77121         * tests/test-fpending.c (main): Likewise.
77122         * tests/test-fpurge.c (main): Likewise.
77123         * tests/test-freading.c (main): Likewise.
77124         * tests/test-fstatat.c (main): Likewise.
77125         * tests/test-fsync.c (main): Likewise.
77126         * tests/test-futimens.c (main): Likewise.
77127         * tests/test-getndelim2.c (main): Likewise.
77128         * tests/test-gettimeofday.c (main): Likewise.
77129         * tests/test-getopt.c (main): Likewise.
77130         * tests/test-i-ring.c (main): Likewise.
77131         * tests/test-inttypes.c (main): Likewise.
77132         * tests/test-link.c (main): Likewise.
77133         * tests/test-lstat.c (main): Likewise.
77134         * tests/test-math.c (main): Likewise.
77135         * tests/test-md5.c (main): Likewise.
77136         * tests/test-memchr2.c (main): Likewise.
77137         * tests/test-memrchr.c (main): Likewise.
77138         * tests/test-mkdir.c (main): Likewise.
77139         * tests/test-mkdirat.c (main): Likewise.
77140         * tests/test-mkfifoat.c (main): Likewise.
77141         * tests/test-open.c (main): Likewise.
77142         * tests/test-openat-safer.c (main): Likewise.
77143         * tests/test-openat.c (main): Likewise.
77144         * tests/test-quotearg.c (main): Likewise.
77145         * tests/test-rawmemchr.c (main): Likewise.
77146         * tests/test-readlink.c (main): Likewise.
77147         * tests/test-remove.c (main): Likewise.
77148         * tests/test-rename.c (main): Likewise.
77149         * tests/test-renameat.c (main): Likewise.
77150         * tests/test-rmdir.c (main): Likewise.
77151         * tests/test-sha1.c (main): Likewise.
77152         * tests/test-signal.c (main): Likewise.
77153         * tests/test-sigaction.c (main): Likewise.
77154         * tests/test-stat.c (main): Likewise.
77155         * tests/test-stat-time.c (main): Likewise.
77156         * tests/test-stddef.c (main): Likewise.
77157         * tests/test-stdint.c (main): Likewise.
77158         * tests/test-stdio.c (main): Likewise.
77159         * tests/test-stdlib.c (main): Likewise.
77160         * tests/test-strchrnul.c (main): Likewise.
77161         * tests/test-strerror.c (main): Likewise.
77162         * tests/test-string.c (main): Likewise.
77163         * tests/test-strtod.c (main): Likewise.
77164         * tests/test-strverscmp.c (main): Likewise.
77165         * tests/test-symlink.c (main): Likewise.
77166         * tests/test-symlinkat.c (main): Likewise.
77167         * tests/test-sys_stat.c (main): Likewise.
77168         * tests/test-sys_time.c (main): Likewise.
77169         * tests/test-time.c (main): Likewise.
77170         * tests/test-unistd.c (main): Likewise.
77171         * tests/test-unlink.c (main): Likewise.
77172         * tests/test-unlinkat.c (main): Likewise.
77173         * tests/test-utimens.c (main): Likewise.
77174         * tests/test-utimensat.c (main): Likewise.
77175         * tests/test-version-etc.c (main): Likewise.
77176         * tests/test-wchar.c (main): Likewise.
77177         * tests/test-wctype.c (main): Likewise.
77178         * tests/test-xprintf-posix.c (main): Likewise.
77179         * tests/test-posixtm.c (main): Likewise.
77180         (STREQ): Delete unused macro.
77181         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
77182         shadowed variables.
77183         * tests/test-memchr.c (main): Likewise.
77185 2009-10-21  Eric Blake  <ebb9@byu.net>
77187         areadlinkat: avoid failure on older glibc
77188         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
77189         rather than mis-comparing 0 against FUNC_RESULT of char*.
77191 2009-10-21  Bruno Haible  <bruno@clisp.org>
77193         * modules/stpncpy (License): Relicense under LGPLv2+.
77194         Reported by David Lutterkort <lutter@redhat.com>.
77196 2009-10-20  Eric Blake  <ebb9@byu.net>
77198         utimensat: work around Solaris 9 bug
77199         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
77200         has trailing slash bugs.
77201         * tests/test-lutimens.h (test_lutimens): Enhance test.
77202         * tests/test-utimens.h (test_utimens): Likewise.
77203         * doc/posix-functions/utime.texi (utime): Enhance documentation.
77204         * doc/posix-functions/utimes.texi (utimes): Likewise.
77205         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77206         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
77207         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
77208         * doc/posix-functions/futimens.texi (futimens): Likewise.
77210         fdutimensat: new module
77211         * modules/fdutimensat: New file.
77212         * lib/fdutimensat.c (fdutimensat): Likewise.
77213         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
77214         * MODULES.html.sh (File system functions): Mention module.
77215         * modules/fdutimensat-tests: New test.
77216         * tests/test-fdutimensat.c: Likewise.
77218         doc: regenerate INSTALL
77219         * doc/INSTALL: Reflect recent autoconf update.
77220         * doc/INSTALL.ISO: Likewise.
77221         * doc/INSTALL.UTF-8: Likewise.
77223 2009-10-20  Pádraig Brady  <P@draigBrady.com>
77225         acl: warn if ACL support is not detected
77226         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
77228 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
77230         * lib/nproc.h: Add extern "C" block for C++.
77232 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
77233             Bruno Haible  <bruno@clisp.org>
77235         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
77236         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
77237         * doc/posix-functions/isalpha.texi: Likewise.
77238         * doc/posix-functions/isblank.texi: Likewise.
77239         * doc/posix-functions/iscntrl.texi: Likewise.
77240         * doc/posix-functions/isdigit.texi: Likewise.
77241         * doc/posix-functions/isgraph.texi: Likewise.
77242         * doc/posix-functions/islower.texi: Likewise.
77243         * doc/posix-functions/isprint.texi: Likewise.
77244         * doc/posix-functions/ispunct.texi: Likewise.
77245         * doc/posix-functions/isspace.texi: Likewise.
77246         * doc/posix-functions/isupper.texi: Likewise.
77247         * doc/posix-functions/isxdigit.texi: Likewise.
77249 2009-10-18  Bruno Haible  <bruno@clisp.org>
77251         Tests for module 'isblank'.
77252         * modules/isblank-tests: New file.
77253         * tests/test-isblank.c: New file.
77255         New module 'isblank'.
77256         * lib/isblank.c: New file.
77257         * m4/isblank.m4: New file.
77258         * modules/isblank: New file.
77259         * doc/posix-functions/isblank.texi: Mention the new module.
77261 2009-10-18  Bruno Haible  <bruno@clisp.org>
77263         New module 'ctype'.
77264         * lib/ctype.in.h: New file.
77265         * m4/ctype.m4: New file.
77266         * modules/ctype: New file.
77267         * doc/posix-headers/ctype.texi: Mention the new module.
77269 2009-10-18  Jim Meyering  <meyering@redhat.com>
77271         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
77272         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
77273         right after its initialization, rather than farther down.
77274         Keeping these in close proximity makes it easier to ensure
77275         that each such variable is initialized.  E.g.,
77277             LIB_CLOCK_GETTIME=
77278             AC_SUBST([LIB_CLOCK_GETTIME])
77280         This change also increments these serial numbers.
77281         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
77282         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
77283         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77285 2009-10-18  Bruno Haible  <bruno@clisp.org>
77287         Don't let environment variables perturb build.
77288         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
77289         (gl_PREREQ_GETHRXTIME): ... not here.
77291 2009-10-18  Bruno Haible  <bruno@clisp.org>
77293         Avoid symlink attack in localcharset module.
77294         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
77295         (O_NOFOLLOW): Define fallback.
77296         (get_charset_aliases): Don't open the file if it is a symbolic link.
77297         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
77298         gl_FCNTL_H.
77299         (gl_FCNTL_H): Require it.
77300         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
77301         * modules/localcharset (Files): Add m4/fcntl_h.m4.
77302         Reported by Fergal Glynn <fglynn@veracode.com>.
77304 2009-10-18  Bruno Haible  <bruno@clisp.org>
77306         Implement nproc for mingw.
77307         * lib/nproc.c: Include <windows.h>
77308         (num_processors): On native Windows platforms, try GetSystemInfo.
77310 2009-10-18  Bruno Haible  <bruno@clisp.org>
77312         Implement nproc for IRIX.
77313         * lib/nproc.c: Include <sys/sysmp.h>.
77314         (num_processors): On IRIX systems, try sysmp.
77315         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
77317 2009-10-18  Bruno Haible  <bruno@clisp.org>
77319         Implement nproc for HP-UX.
77320         * lib/nproc.c: Include <sys/pstat.h>
77321         (num_processors): On HP-UX systems, try pstat_getdynamic.
77322         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
77323         pstat_getdynamic.
77325 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
77326             Bruno Haible  <bruno@clisp.org>
77328         Implement nproc for NetBSD, OpenBSD.
77329         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
77330         (ARRAY_SIZE): New macro.
77331         (num_processors): On BSD systems, try sysctl of HW_NCPU.
77332         * m4/nproc.m4: New file.
77333         * modules/nproc (Files): Add m4/nproc.m4.
77334         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
77335         (Makefile.am): Instead, augment lib_SOURCES.
77337 2009-10-18  Bruno Haible  <bruno@clisp.org>
77339         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
77340         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
77341         sys/param.h.
77343 2009-10-16  Eric Blake  <ebb9@byu.net>
77345         utimensat: new module
77346         * modules/utimensat: New file.
77347         * lib/utimensat.c (utimensat): Likewise.
77348         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
77349         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
77350         so we can work around Linux bugs.
77351         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
77352         * modules/sys_stat (Makefile.am): Substitute them.
77353         * lib/sys_stat.in.h (utimensat): Declare it.
77354         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
77355         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77356         * modules/utimensat-tests: New test.
77357         * tests/test-utimensat.c: Likewise.
77359         utimens: let lutimens work on non-symlinks
77360         * lib/utimens.c (lutimens): Fall back to utimens rather than
77361         failing with ENOSYS, when file is not a symlink.
77362         (utimens): Reduce redirection.
77363         * tests/test-lutimens.h (test_lutimens): Update test to cover
77364         non-symlinks.
77365         * tests/test-utimens.h (test_utimens): Update test to cover
77366         symlinks.
77367         * tests/test-utimens.c (main): Update caller.
77369         utimens: cache whether utimensat syscall works
77370         * lib/utimens.c (utimensat_works_really): New cache variable.
77371         (fdutimens, lutimens): Use it to avoid failing syscall.
77373         test-stat-time, test-utimens: improve portability
77374         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
77375         ext4 on alpha, and for cygwin.
77376         * tests/test-utimens-common.h: New file.
77377         (nap): Factor delays into single function.
77378         * tests/test-lutimens.h (test_lutimens): Use new header.
77379         * tests/test-futimens.h (test_futimens): Likewise.
77380         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
77381         timestamps to occur from same machine, as was done previously for
77382         test_utimens.
77383         * modules/utimens-tests (Files): Ship new file.
77384         * modules/futimens-tests (Files): Likewise.
77385         Reported in part by Jim Meyering.
77387         sys_stat: sort replacement declarations
77388         * lib/sys_stat.in.h: Sort declarations.
77389         * lib/futimens.c (futimens): Fix typo.
77391 2009-10-15  Jim Meyering  <meyering@redhat.com>
77393         don't let environment settings perturb build
77394         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
77395         could cause a configure-time and/or build-time malfunction.
77396         Typically, a configure-time function-in-library test is performed
77397         via code like this:
77399           LIB_VAR=
77400           AC_SUBST([LIB_VAR])
77401           prefix_saved_LIBS=$LIBS
77402             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
77403                        [test "$ac_cv_search_FUNC" = "none required" ||
77404                         LIB_VAR=$ac_cv_search_FUNC])
77405           LIBS=$prefix_saved_LIBS
77407         However, in each of the files affected by this change, the LIB_VAR=
77408         initialization was omitted.  Thus, when set in the environment, its
77409         value would propagate into generated Makefiles when FUNC is not found
77410         in LIB_NAME.
77411         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
77412         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
77413         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77415 2009-10-14  Eric Blake  <ebb9@byu.net>
77417         fchdir: avoid infinite recursion in mingw
77418         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
77419         recursing.
77421         test-stat-time: port to mingw
77422         * tests/test-stat-time.c (force_unlink): Return a value.
77423         (test_ctime) [W32]: Fix compilation error.
77424         (nap): Don't call usleep with too large an argument.  Use
77425         force_unlink.
77426         * doc/pastposix-functions/usleep.texi (usleep): Document the
77427         portability issue.
77429 2009-10-13  Jim Meyering  <meyering@redhat.com>
77431         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
77432         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
77433         * modules/pipe-filter-ii: Likewise.
77434         * modules/sys_socket-tests: Likewise.
77435         * modules/tsearch-tests: Likewise.
77436         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
77437         (check): Depend on it.
77439 2009-10-12  Eric Blake  <ebb9@byu.net>
77441         utimens-tests: port to NFS file systems
77442         * tests/test-utimens.h (test_utimens): Refactor utimecmp
77443         comparisons to avoid spurious failures from timestamp drift
77444         between NFS machines.
77446 2009-10-12  Eric Blake  <ebb9@byu.net>
77448         stat-time-tests: minor cleanups
77449         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
77450         * tests/test-stat-time.c (nap): Separate assignment from call.
77451         Suggested by Paolo Bonzini and Bruno Haible.
77453         sys_stat: guarantee struct timespec
77454         * lib/sys_stat.in.h (includes): Always include <time.h>
77455         * modules/sys_stat (Depends-on): Add time.
77456         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
77457         mode_t permission values.
77458         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
77459         get at subsecond timestamps.
77461 2009-10-10  Eric Blake  <ebb9@byu.net>
77463         futimens: new module
77464         * modules/futimens: New file.
77465         * lib/futimens.c (futimens): Likewise.
77466         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
77467         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
77468         we can work around Linux bugs.
77469         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
77470         * modules/sys_stat (Makefile.am): Substitute them.
77471         * lib/sys_stat.in.h (futimens): Declare it.
77472         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
77473         * doc/posix-functions/futimens.texi (futimens): Likewise.
77474         * modules/futimens-tests: New test.
77475         * tests/test-futimens.c: Likewise.
77477         utimens: introduce fdutimens
77478         * lib/utimens.h (fdutimens): New prototype.
77479         * lib/utimens.c (gl_futimens): Move guts...
77480         (fdutimens): ...to new interface.
77481         * tests/test-utimens.c (do_fdutimens): Use it.
77483         utimens: add UTIME_NOW and UTIME_OMIT support
77484         * lib/utimens.c (validate_timespec, update_timespec): New helper
77485         functions.
77486         (gl_futimens, lutimens): Use them.
77487         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
77488         stdbool, sys_stat.
77489         (Link): Mention resulting library dependency.
77490         * modules/utimecmp (Link): Likewise.
77491         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
77492         (Makefile.am): Pick up library dependency.
77493         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
77494         definition.
77495         * tests/test-sys_stat.c: Test the definitions.
77496         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
77497         * NEWS: Document library dependency.
77499         utimecmp: support symlink timestamps
77500         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
77501         hashing when possible.  Use pathconf when available.
77502         (SYSCALL_RESOLUTION): Recognize tighter resolution.
77503         * modules/utimecmp (Depends-on): Add lstat.
77505         utimens: add lutimens interface
77506         * lib/utimens.c (lutimens): New function.
77507         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
77508         * lib/utimens.h (lutimens): Declare new interface.
77509         * tests/test-utimens.c (main): Enhance test.
77510         * tests/test-lutimens.h (test_lutimens): New file.
77511         * modules/utimens-tests (Files): Distribute it.
77512         (Depends-on): Add symlink.
77513         (configure.ac): Check for usleep.
77515         utimens: validate futimens usage
77516         * lib/utimens.c (gl_futimens): Require valid fd up front, using
77517         fewer syscalls on failure later on.  Avoid compiler warning on
77518         mingw.
77519         * modules/utimens (Depends-on): Add dup2.
77521         utimens: add test
77522         * modules/utimens-tests: New test.
77523         * tests/test-utimens.h: New file.
77524         * tests/test-futimens.h: Likewise.
77525         * tests/test-utimens.c: Likewise.
77527         doc: mention timestamp portability issues
77528         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
77529         instead.
77530         * doc/posix-functions/utime.texi (utime): Likewise.
77531         * doc/posix-functions/utimes.texi (utimes): Likewise.
77532         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
77533         instead.
77534         * doc/posix-functions/futimens.texi (futimens): Mention utimens
77535         module.
77536         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77537         Mention weakness with symlink timestamps.
77538         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
77539         to utimensat/futimens instead.
77540         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
77542         test-dup2: enhance test
77543         * tests/test-dup2.c (main): Also check AT_FDCWD.
77545         test-stat-time: avoid more spurious failures
77546         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
77547         xfs; and avoid race if the two timestamps cross quantization edge.
77549         relocatable: prefer 'file system' over 'filesystem'
77550         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
77551         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
77552         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
77553         * doc/relocatable.texi (Enabling Relocatability): Likewise.
77554         * lib/relocatable.c (compute_curr_prefix): Likewise.
77556 2009-10-10  Jim Meyering  <meyering@redhat.com>
77558         stat-time-tests: check for the usleep function
77559         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
77561 2009-10-10  Bruno Haible  <bruno@clisp.org>
77563         * modules/xnanosleep: Put the Link section after the Include section.
77565 2009-10-09  Eric Blake  <ebb9@byu.net>
77567         dup2: work around FreeBSD 6.1 bug
77568         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
77569         * doc/posix-functions/dup2.texi (dup2): Document it.
77570         Reported by Nelson H. F. Beebe and Jim Meyering.
77572         test-stat-time: port to buggy NFS clients
77573         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
77574         (test_ctime): Also skip test if mtime and ctime are skewed.
77576         maint: prefer 'file system' over 'filesystem'
77577         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
77578         * doc/posix-functions/lstat.texi (lstat): Likewise.
77579         * lib/file-has-acl.c (file_has_acl): Likewise.
77580         * lib/fwriteerror.c [TEST]: Likewise.
77581         * tests/test-areadlink.h (test_areadlink): Likewise.
77582         * tests/test-areadlinkat-with-size.c (main): Likewise.
77583         * tests/test-areadlinkat.c (main): Likewise.
77584         * tests/test-canonicalize-lgpl.c (main): Likewise.
77585         * tests/test-canonicalize.c (main): Likewise.
77586         * tests/test-fstatat.c (main): Likewise.
77587         * tests/test-linkat.c (main): Likewise.
77588         * tests/test-lstat.h (test_lstat_func): Likewise.
77589         * tests/test-mkdir.h (test_mkdir): Likewise.
77590         * tests/test-readlink.h (test_readlink): Likewise.
77591         * tests/test-remove.c (main): Likewise.
77592         * tests/test-rename.h (test_rename): Likewise.
77593         * tests/test-renameat.c (main): Likewise.
77594         * tests/test-rmdir.h (test_rmdir_func): Likewise.
77595         * tests/test-symlink.h (test_symlink): Likewise.
77596         * tests/test-symlinkat.c (main): Likewise.
77597         * tests/test-unlink.h (test_unlink_func): Likewise.
77598         * tests/test-unlinkat.c (main): Likewise.
77600         maint: make realtime library usage explicit
77601         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
77602         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
77603         * modules/settime (Link): Likewise.
77604         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
77606         test-stat-time: speed up execution
77607         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
77608         warning on mingw.
77609         (nap): New helper function.
77610         (prepare_test): Use it to reduce sleep time.
77611         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
77612         execution.
77613         * modules/stat-time-tests (configure.ac): Check for usleep.
77615 2009-10-09  Jim Meyering  <meyering@redhat.com>
77617         selinux-h: always use getfilecon wrappers
77618         * lib/getfilecon.c: New file.
77619         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
77620         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
77621         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
77622         (fgetfilecon): Provide a stub.
77623         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
77624         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
77625         file unconditionally.
77626         When <selinux/selinux.h> is found, arrange to use wrappers.
77627         * modules/selinux-h (Files): Add getfilecon.c.
77628         (Makefile.am): Substitute include-next-related bits
77629         into the now-always-generated selinux/selinux.h file.
77630         * doc/glibc-functions/lgetfilecon.texi: New file.
77631         * doc/glibc-functions/fgetfilecon.texi: New file.
77632         * doc/glibc-functions/getfilecon.texi: New file.
77633         * doc/glibc-functions/getfilecon-desc.texi: New file.
77634         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
77635         which to pull in the new files.
77636         * MODULES.html.sh (Misc): Add selinux-h.
77638 2009-10-08  Jim Meyering  <meyering@redhat.com>
77640         unistd: fix comment typo
77641         * lib/unistd.in.h (euidaccess): Fix a comment typo.
77643 2009-10-08  Eric Blake  <ebb9@byu.net>
77645         areadlink: use SIZE_MAX consistently
77646         * modules/areadlink (Depends-on): Add stdint.
77647         * modules/areadlink-with-size (Depends-on): Likewise.
77648         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
77649         gives NULL; drop sys/types, since unistd gives size_t; and add
77650         stdint for SIZE_MAX.
77651         (SIZE_MAX): Rely on headers.
77652         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
77653         and add stdint.
77654         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
77655         (SIZE_MAX): Likewise.
77656         (INITIAL_BUF_SIZE): Turn into enum.
77657         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
77659 2009-10-08  Jim Meyering  <meyering@redhat.com>
77661         areadlinkat: avoid compilation failure
77662         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
77663         Fix typo in comment.
77665 2009-10-07  Eric Blake  <ebb9@byu.net>
77667         areadlinkat-with-size: new module
77668         * modules/areadlinkat-with-size: New module.
77669         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
77670         * lib/areadlink.h (areadlinkat): Declare it.
77671         * MODULES.html.sh (File system functions): Mention it.
77672         * modules/areadlinkat-with-size-tests: New test.
77673         * tests/test-areadlinkat-with-size.c: New file.
77675         xreadlinkat: new module
77676         * modules/xreadlinkat: New module.
77677         * lib/xreadlinkat.c (xreadlinkat): New file.
77678         * lib/xreadlink.h (xreadlinkat): Declare it.
77679         * MODULES.html.sh (File system functions): Mention it.
77681         areadlinkat: new module
77682         * lib/at-func.c (FUNC_FAIL): New define.
77683         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
77684         * modules/areadlinkat: New module.
77685         * lib/linkat.c (areadlinkat): Move...
77686         * lib/areadlinkat.c (areadlinkat): ...to new file.
77687         * lib/areadlink.h (areadlinkat): Declare it.
77688         * modules/linkat (Depends-on): Add areadlinkat.
77689         * MODULES.html.sh (File system functions): Mention it.
77690         * modules/areadlinkat-tests: New test.
77691         * tests/test-areadlinkat.c: New file.
77693         areadlink, areadlink-with-size: add tests
77694         * modules/areadlink-tests: New test.
77695         * modules/areadlink-with-size-tests: Likewise.
77696         * tests/test-areadlink.h: New file.
77697         * tests/test-areadlink.c: Likewise.
77698         * tests/test-areadlink-with-size.c: Likewise.
77700         maint: minor cleanups
77701         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
77702         _UNUSED_PARAMETER_ instead.
77703         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
77704         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
77705         * modules/linkat-tests (Files): Distribute test-link.h.
77707         openat, utimens: whitespace cleanup
77708         * lib/openat.c: Prefer space throughout, rather than mix of 8
77709         spaces vs. tabs.
77710         * lib/at-func.c: Likewise.
77711         * lib/utimens.c: Likewise.
77713         openat: avoid using wrong fd
77714         * lib/openat.c (openat_permissive): Reject user's fd if saving the
77715         working directory chooses same fd.
77716         * lib/at-func.c (AT_FUNC_NAME): Likewise.
77718         mkdir, mkdirat: fix cygwin 1.5.x bug
77719         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
77720         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
77721         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
77722         bug.
77723         (gl_PREREQ_MKDIR): Delete unused macro.
77724         * modules/mkdir (Files): Track file rename.
77725         (configure.ac): Update macro name.
77726         * modules/openat (Depends-on): Add mkdir.
77727         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
77729         mkdir, mkdirat: add tests
77730         * modules/mkdir-tests: New test.
77731         * tests/test-mkdir.h: New file.
77732         * tests/test-mkdir.c: Likewise.
77733         * tests/test-mkdirat.c: Likewise.
77734         * modules/openat-tests (Files): Add new files.
77735         (Makefile.am): Run new test.
77737 2009-10-06  Eric Blake  <ebb9@byu.net>
77739         doc: tweak *at function documentation
77740         * doc/posix-functions/faccessat.texi (faccessat): Mention
77741         known issue with replacement.
77742         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
77743         * doc/posix-functions/linkat.texi (linkat): Likewise.
77744         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
77745         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
77746         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
77747         * doc/posix-functions/renameat.texi (renameat): Likewise.
77748         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
77750         openat: fix GNU/Hurd bug in unlinkat
77751         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
77752         broken.
77753         * doc/posix-functions/unlink.texi (unlink): Document this.
77754         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
77756         fdopendir: fix GNU/Hurd bug
77757         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
77758         allowing non-directory fds.
77759         * lib/fdopendir.c (rpl_fdopendir): Work around it.
77760         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
77761         * modules/dirent (Makefile.am): Substitute it.
77762         * lib/dirent.in.h (fdopendir): Declare replacement.
77763         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
77764         * tests/test-fdopendir.c (main): Test something other than
77765         /dev/null, since on Hurd that behaves like a directory.
77767         test-symlink: port to GNU/Hurd
77768         * tests/test-symlink.h (test_symlink): Relax expected errno.
77770         doc: tweak more cygwin information
77771         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
77772         now compatible with glibc.
77773         * doc/posix-functions/getopt.texi (getopt): Likewise.
77775         getopt-gnu: add another test
77776         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
77777         guarantee behavior relied on by m4.
77778         * tests/test-getopt.c (main): Use it.
77779         * modules/getopt-posix-tests (Depends-on): Add setenv.
77780         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
77782         getopt: fix compilation on darwin
77783         * lib/getopt.in.h (includes): Leave breadcrumbs during system
77784         include.
77785         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
77786         Reported by Ludovic Courtès.
77788 2009-10-06  Bruno Haible  <bruno@clisp.org>
77790         * modules/size_max (Description): Discourage its use.
77791         Reported by Simon Josefsson.
77793 2009-10-06  Jim Meyering  <meyering@redhat.com>
77795         linkat: avoid compilation failure
77796         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
77798 2009-10-05  Eric Blake  <ebb9@byu.net>
77800         linkat: support Linux 2.6.17
77801         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
77802         linkat on Linux, but allow cache variable override.
77803         * lib/linkat.c (rpl_linkat): Define override.
77804         * modules/linkat (Depends-on): Add symlinkat.
77805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
77806         * modules/unistd (Makefile.am): Substitute it.
77807         * lib/unistd.in.h (linkat): Declare replacement.
77808         Reported by Pádraig Brady.
77810         quotearg: port test to systems with C.UTF-8 locale
77811         * tests/test-quotearg.c (struct result_strings): Add another
77812         member, differentiating between C.ASCII and C.UTF-8 handling.
77813         (compare_strings): Add parameter.
77814         (main): Adjust all callers.
77816         getopt: avoid clash with FreeBSD _getopt_internal
77817         * lib/getopt.in.h (_getopt_internal): Override the name.
77818         * lib/getopt_int.h (includes): Pick up any overrides.
77819         Reported by Reuben Thomas.
77821         hash: allow C89 compilation
77822         * lib/hash.c (check_tuning): Move declaration before statement.
77823         Reported by Reuben Thomas.
77825 2009-10-05  Karl Berry  <karl@gnu.org>
77827         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
77829 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
77830             Bruno Haible  <bruno@clisp.org>
77832         * lib/uname.c (uname): Use a table-driven algorithm to compute
77833         Windows NT versions.
77835 2009-10-04  Bruno Haible  <bruno@clisp.org>
77837         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
77838         program_invocation_short_name.
77839         * modules/progname (configure.ac): Test for presence of
77840         program_invocation_short_name.
77841         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
77843 2009-10-04  Bruno Haible  <bruno@clisp.org>
77845         * lib/progname.c (set_program_name): Fix comment.
77846         Reported by Jim Meyering.
77848 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
77849             Bruno Haible  <bruno@clisp.org>
77851         * lib/uname.c: Include <string.h>.
77852         (uname): Do only one call to GetVersionEx in the common case.
77854 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
77855             Bruno Haible  <bruno@clisp.org>
77857         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
77858         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
77859         (uname): Add support for Windows CE and various non-x86 CPU types.
77861 2009-10-03  Bruno Haible  <bruno@clisp.org>
77863         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
77864         invocation to tests/configure.ac.
77865         Reported by Ian Beckwith <ianb@erislabs.net>.
77867 2009-10-02  Eric Blake  <ebb9@byu.net>
77869         fchdir: avoid compiler warning
77870         * lib/fchdir.c (canonicalize_file_name)
77871         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
77873         test-open: support mingw errno values
77874         * tests/test-open.h (test_open): Relax test.
77875         * tests/test-fopen.h (test_fopen): Likewise.
77876         * tests/test-openat-safer.c (main): Likewise.
77878         open: fix opening directory on mingw
77879         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
77881         test-open: on GNU/Hurd, /dev/null is a directory
77882         * tests/test-fopen.h (main): Rename...
77883         (test_fopen): ...to this.  Use a guaranteed non-directory when
77884         confirming open behavior on trailing slash.
77885         * tests/test-openat-safer.c (main): Likewise.
77886         * tests/test-open.h (main): Likewise....
77887         (test_open): ...to this.
77888         * tests/test-fopen.c (main): Adjust caller.
77889         * tests/test-fopen-safer.c (main): Likewise.
77890         * tests/test-open.c (main): Likewise.
77891         * tests/test-fcntl-safer.c (main): Likewise.
77892         Reported by Samuel Thibault.
77894         rename, fchdir: don't ignore chdir failure
77895         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
77896         * lib/rename.c (rpl_rename) [W32]: Likewise.
77897         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
77898         an empty destination directory if source cannot be renamed,
77899         although there is still possibility for failure.
77900         * doc/posix-functions/rename.texi (rename): Document the race.
77901         Reported by Jim Meyering.
77903         maint: cleanup whitespace in recent commits
77904         * lib/rename.c (rpl_rename): Remove tabs.
77905         * tests/test-link.h (test_link): Likewise.
77906         * lib/fchdir.c (get_name): Likewise.
77907         Reported by Jim Meyering.
77909 2009-10-02  Ben Pfaff  <blp@gnu.org>
77911         relocatable-prog-wrapper: Add missing dependency on
77912         double-slash-root.
77913         * modules/relocatable-prog-wrapper: Add dependency.
77914         Reported by Ian Beckwith <ianb@erislabs.net>.
77916 2009-10-02  Eric Blake  <ebb9@byu.net>
77918         renameat: fix Solaris bugs
77919         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
77920         needed fixing.
77921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
77922         * modules/stdio (Makefile.am): Substitute it.
77923         * lib/stdio.in.h (renameat): Declare replacement.
77924         * lib/renameat.c (rpl_renameat): Implement fix.
77926         renameat: new module
77927         * modules/renameat: New file.
77928         * lib/renameat.c (renameat): Likewise.
77929         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
77930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
77931         * modules/stdio (Makefile.am): Substitute them.
77932         * lib/stdio.in.h (renameat): Declare it.
77933         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
77934         * doc/posix-functions/renameat.texi (renameat): Likewise.
77935         * modules/renameat-tests: New test.
77936         * tests/test-renameat.c: Likewise.
77938         rename: fix mingw bugs
77939         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
77940         directory overwrite bugs.
77942         rename: fix another cygwin 1.5 bug
77943         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
77944         checks.
77945         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
77946         unnecessary cygwin workarounds.  Also work around bug with moving
77947         full directory onto an empty one.
77948         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
77950         rename-dest-slash: merge into rename module
77951         * modules/rename-dest-slash (Status): Mark obsolete.
77952         (Depends-on): Add rename.
77953         (Files): Let rename do it all.
77954         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
77955         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
77956         * m4/rename-dest-slash.m4: ...so this file can be deleted.
77957         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
77958         * lib/rename.c (rpl_rename): Update comments.
77960         rename: fix cygwin 1.5.x bugs
77961         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
77962         * lib/rename.c (rpl_rename): Work around them.
77963         * modules/rename (Depends-on): Add same-inode.
77965         rename: fix Solaris 10 bug
77966         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
77967         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
77968         was the only bug.
77970         rename: fix Solaris 9 bug
77971         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
77972         on non-directory.  Avoid calling exit.
77973         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
77974         strdup.
77975         * modules/rename-tests (Depends-on): Drop lstat.
77976         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
77977         (gl_PREREQ_RENAME): Delete unused macro.
77979         rename-dest-slash: fix NetBSD bug
77980         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
77981         links.
77982         * modules/rename-dest-slash (Depends-on): Add same-inode.
77984         rename-tests: new test, exposes several platform bugs
77985         * modules/rename-tests: New file.
77986         * tests/test-rename.h: Likewise.
77987         * tests/test-rename.c: Likewise.
77988         * doc/posix-functions/rename.texi (rename): Improve documentation,
77989         including bugs that will eventually be fixed in gnulib.
77991 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
77993         * lib/uname.c: Include <stdlib.h>
77994         (uname): Assume version info is available.
77996 2009-10-02  Jim Meyering  <meyering@redhat.com>
77998         gnu-web-doc-update: correct --help output
77999         * build-aux/gnu-web-doc-update: Make --help output relevant.
78001         gnu-web-doc-update: add standard options
78002         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
78004         gnu-web-doc-update: New module.
78005         Use this script to automatically update the on-line web documentation
78006         for your GNU project at http://www.gnu.org/software/$pkg/manual/
78007         * modules/gnu-web-doc-update: New file, from coreutils.
78008         * build-aux/gnu-web-doc-update: New script.
78010 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
78012         link: LoadLibrary is not needed.
78013         * lib/link.c: Use GetModuleHandle.
78015 2009-10-01  Eric Blake  <ebb9@byu.net>
78017         getopt: bump serial number
78018         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
78019         change.
78021         tests: tighten link, rmdir, and remove tests
78022         * tests/test-link.h (includes): No need to use <config.h> here.
78023         Clean up if directory hard link was created, otherwise test for
78024         trailing '.'.
78025         * tests/test-linkat.c (main): Simplify.
78026         * tests/test-remove.c (main): Enhance test for trailing '.'.
78027         * tests/test-rmdir.h (test_rmdir_func): Likewise.
78029 2009-10-01  Jim Meyering  <meyering@redhat.com>
78031         maint.mk: requiring "make major" was annoying, for a "minor" release.
78032         What is intended is "stable", to contrast with alpha and beta,
78033         so require "make stable", not "make major".
78034         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
78035         (get_tool_versions): Likewise.
78036         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
78038 2009-09-30  Ben Pfaff  <blp@gnu.org>
78040         Fix broken build of replacement for Windows tmpfile().
78041         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
78042         flags argument added along with the 'mkostemp' module.
78044 2009-09-28  Bruno Haible  <bruno@clisp.org>
78046         Avoid identifier clash with POSIX function 'remove' defined as a macro.
78047         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
78048         to 'remove_elt'.
78049         (gl_list_remove): Update.
78050         * lib/gl_list.c (gl_list_remove): Update.
78051         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
78052         to 'remove_elt'.
78053         (gl_oset_remove): Update.
78054         * lib/gl_list.c (gl_oset_remove): Update.
78055         Reported by Eric Blake.
78057 2009-09-28  Eric Blake  <ebb9@byu.net>
78059         doc: mention yet more cygwin 1.7 status
78060         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
78061         cygwin.
78062         * doc/glibc-functions/execvpe.texi (execvpe): New file.
78063         * doc/gnulib.texi (Glibc unistd.h): Mention it.
78065         argp: fix test failure
78066         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
78067         that are not upper-case.  Pass correct range to tolower.
78069 2009-09-27  Jim Meyering  <meyering@redhat.com>
78071         test-yesno: work around sparc-dash here-document infelicity
78072         Without this change, the literal \177 byte in a here document
78073         would make dash 0.5.5.1-3 access uninitialized memory.
78074         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
78075         Instead, use a marker, "@", and filter through tr to create the desired
78076         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
78078 2009-09-27  Bruno Haible  <bruno@clisp.org>
78080         Disable untested support for new flavours of ACLs on AIX.
78081         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
78082         progress.
78083         * lib/set-mode-acl.c (qset_acl): Likewise.
78085 2008-12-07  Bruno Haible  <bruno@clisp.org>
78087         Add support for new flavours of ACLs on AIX. (Untested.)
78088         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
78089         (file_has_acl): Add support for newer AIX.
78090         * lib/set-mode-acl.c (qset_acl): Likewise.
78091         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
78092         Rainer Tammer <tammer@tammer.net>.
78094 2009-09-26  Eric Blake  <ebb9@byu.net>
78096         argp: fix compilation of getopt
78097         * lib/getopt.in.h (includes): Use different guard than glibc.
78098         Reported by Sergey Poznyakoff.
78100         doc: mention more cygwin 1.7 status
78101         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
78102         bug.
78103         * doc/posix-functions/execl.texi (execl): Likewise.
78104         * doc/posix-functions/execle.texi (execle): Likewise.
78105         * doc/posix-functions/execlp.texi (execlp): Likewise.
78106         * doc/posix-functions/execv.texi (execv): Likewise.
78107         * doc/posix-functions/execve.texi (execve): Likewise.
78108         * doc/posix-functions/execvp.texi (execvp): Likewise.
78109         * doc/glibc-functions/canonicalize_file_name.texi
78110         (canonicalize_file_name): Cygwin 1.7 now provides this.
78111         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
78112         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
78113         on AT_SYMLINK_NOFOLLOW.
78115 2009-09-24  Eric Blake  <ebb9@byu.net>
78117         test-linkat: make test more robust
78118         * tests/test-linkat.c (main): Avoid collision with EEXIST.
78120         getopt: fix inclusion guards for cygwin
78121         * modules/getopt-posix (Depends-on): Add include-next.
78122         (Makefile.am): Substitute more items in replacement header.
78123         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
78124         <getopt.h>.
78125         * lib/getopt.in.h (includes): Use split inclusion guard, and
78126         prefer <getopt.h> over include <unistd.h> when one is present.
78127         (option): Also override name of 'struct option'.
78129         same-inode: revert prior change; it is not yet ready
78130         * NEWS: Undo mention of this change.
78131         * lib/same-inode.h (same-inode.h): Undo tri-state change.
78132         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
78133         * lib/cycle-check.c (cycle_check): Likewise.
78134         * lib/same.c (same_name): Likewise.
78135         * lib/at-func2.c (at_func2): Likewise.
78137 2009-09-23  Eric Blake  <ebb9@byu.net>
78139         linkat: new module
78140         * modules/linkat: New file.
78141         * lib/at-func2.c (at_func2): Likewise.
78142         * lib/linkat.c (linkat): Likewise.
78143         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
78144         * lib/openat-priv.h (at_func2): Add declaration.
78145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
78146         * modules/unistd (Makefile.am): Substitute them.
78147         * lib/unistd.in.h (linkat): Declare it.
78148         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78149         * doc/posix-functions/linkat.texi (linkat): Likewise.
78150         * doc/posix-functions/link.texi (link): Tweak wording.
78151         * tests/test-link.c (main): Move guts...
78152         * tests/test-link.h (test_link): ...into new file.
78153         * modules/linkat-tests: New test.
78154         * tests/test-linkat.c: Likewise.
78155         * modules/link-tests (Files): Ship new file.
78156         (Depends-on): Add stdbool.
78158         dirname: add library-safe mdir_name
78159         * lib/dirname.h (mdir_name): New prototype.
78160         * lib/dirname.c (dir_name): Move guts...
78161         (mdir_name): ...to new function that avoids xalloc_die.
78163         fchdir: another mingw fix
78164         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
78165         * lib/fchdir.c (get_name): New helper method; skips canonicalize
78166         on mingw (where it has not yet been ported), and make it optional
78167         elsewhere.
78168         (_gl_register_fd): Use it.
78170         same-inode: make SAME_INODE tri-state, to port to mingw
78171         * NEWS: Mention this change.
78172         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
78173         st_ino always being 0.
78174         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
78175         * lib/cycle-check.c (cycle_check): Likewise.
78176         * lib/same.c (same_name): Likewise.
78178         lstat: avoid mingw compilation error
78179         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
78180         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
78181         lstat ourselves.
78182         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
78183         was adequate.
78184         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
78185         the checks for lstat.
78186         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
78188         link: fix test failure on Solaris 9
78189         * lib/link.c (rpl_link): Don't assume link will catch bogus
78190         trailing slash on source.
78192         test-symlinkat: enhance test
78193         * tests/test-readlink.c (main): Move guts...
78194         * tests/test-readlink.h (test_readlink): ...into new file.
78195         * tests/test-symlink.c (main): Move guts...
78196         * tests/test-symlink.h (test_symlink): ...into new file.
78197         * tests/test-symlinkat.c (main): Use new files for further
78198         coverage.
78199         (do_symlink, do_readlink): New helper functions.
78200         * modules/symlink-tests (Files): Ship new file.
78201         (Depends-on): Add stdbool.
78202         * modules/readlink-tests (Files): Ship new file.
78203         (Depends-on): Add stdbool.
78204         * modules/symlinkat-tests (Files): Use new files.
78206 2009-09-23  Eric Blake  <ebb9@byu.net>
78208         readlink: document portability issue with symlink length
78209         * doc/posix-functions/lstat.texi (lstat): Mention that some file
78210         systems have bogus st_size on symlinks, and mention the
78211         areadlink-with-size module.
78212         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
78213         * doc/posix-functions/readlink.texi (readlink): Mention the
78214         areadlink module, and ERANGE failure.
78215         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
78216         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
78218         readlink: fix Solaris 9 bug with trailing slash
78219         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
78220         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
78221         * doc/posix-functions/readlink.texi (readlink): Document this.
78222         * modules/readlink-tests: New test.
78223         * tests/test-readlink.c: Likewise.
78225         readlink: fix cygwin 1.5.x bug with return type
78226         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
78227         * lib/unistd.in.h (readlink): Use ssize_t.
78228         * lib/readlink.c (readlink): Likewise.
78229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78230         * modules/unistd (Makefile.am): Substitute it.
78231         * lib/unistd.in.h (readlink): Declare replacement.
78232         * doc/posix-functions/readlink.texi (readlink): Document this.
78234         symlink: use throughout gnulib
78235         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
78236         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
78237         symlink is not used.
78238         * modules/symlinkat (Depends-on): Add symlink.
78239         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
78240         * modules/canonicalize-tests (Depends-on): Likewise.
78241         * modules/lstat-tests (Depends-on): Likewise.
78242         * modules/openat-tests (Depends-on): Likewise.
78243         * modules/remove-tests (Depends-on): Likewise.
78244         * modules/rmdir-tests (Depends-on): Likewise.
78245         * modules/unlink-tests (Depends-on): Likewise.
78246         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
78247         * tests/test-canonicalize.c (symlink): Likewise.
78248         * tests/test-fstatat.c (symlink): Likewise.
78249         * tests/test-lstat.c (symlink): Likewise.
78250         * tests/test-remove.c (symlink): Likewise.
78251         * tests/test-rmdir.c (symlink): Likewise.
78252         * tests/test-unlink.c (symlink): Likewise.
78253         * tests/test-unlinkat.c (symlink): Likewise.
78255         symlink: new module, for Solaris 9 bug
78256         * modules/symlink: New file.
78257         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
78258         * lib/symlink.c: Likewise.
78259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78260         * modules/unistd (Makefile.am): Substitute them.
78261         * lib/unistd.in.h (symlink): Declare replacement.
78262         * MODULES.html.sh (File system functions): Mention it.
78263         * doc/posix-functions/symlink.texi (symlink): Likewise.
78264         * modules/symlink-tests: New test.
78265         * tests/test-symlink.c: Likewise.
78267 2009-09-23  Bruno Haible  <bruno@clisp.org>
78269         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
78270         when needed.
78271         Test case: gnulib-tool --import --with-tests atexit inttypes.
78272         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
78274 2009-09-23  Bruno Haible  <bruno@clisp.org>
78276         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
78277         subcommand, not in a subshell.
78279 2009-09-22  Eric Blake  <ebb9@byu.net>
78281         unistd: sort replacement declarations
78282         * lib/unistd.in.h: Sort declarations.
78284         open, openat: minor optimization
78285         * lib/open.c (open): If open succeeded, len is non-zero.
78286         * lib/openat.c (rpl_openat): Likewise.
78288         link-follow: ensure correct result
78289         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
78290         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
78291         distinguish between possible failures.
78293 2009-09-21  Eric Blake  <ebb9@byu.net>
78295         fts: avoid compiler warning
78296         * lib/fts.c (dirent_inode_sort_may_be_useful)
78297         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
78299 2009-09-19  Bruno Haible  <bruno@clisp.org>
78301         * lib/progreloc.c (canonicalize_file_name): New declaration.
78303 2009-09-19  Eric Blake  <ebb9@byu.net>
78305         link: fix quoting
78306         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
78308         openat: fix openat bugs on Solaris 9
78309         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
78310         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
78311         * modules/openat (Depends-on): Add open.
78312         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
78313         * modules/fcntl-h (Makefile.am): Substitute it.
78314         * lib/fcntl.in.h (openat): Declare replacement.
78315         * doc/posix-functions/openat.texi (openat): Document this.
78317         openat: move fstatat and unlinkat into correct files
78318         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
78319         compiled.
78320         * lib/openat.c (fstatat, unlinkat): Move...
78321         * lib/fstatat.c (fstatat): ...into correct files.
78322         * lib/unlinkat.c (unlinkat): Likewise.
78324         openat: fix unlinkat bugs on Solaris 9
78325         * lib/unlinkat.c (unlinkat): New file.
78326         * modules/openat (Depends-on): Add unlink.
78327         (Files): Distribute it.
78328         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
78329         trailing slash behavior is broken.
78330         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78331         * modules/unistd (Makefile.am): Substitute it.
78332         * lib/unistd.in.h (unlinkat): Declare replacement.
78333         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
78335         openat: fix fstatat bugs on Solaris 9
78336         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
78337         stat.
78338         * doc/posix-functions/fstatat.texi (fstatat): Document this.
78340         test-unlinkat: enhance test, to expose Solaris 9 bug
78341         * tests/test-unlink.c (main): Factor guts...
78342         * tests/test-unlink.h (test_rmdir_func): ...into new file.
78343         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
78344         * tests/test-rmdir.c (main): Adjust caller.
78345         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
78346         (unlinker): New helper function.
78347         (rmdirat): Enhance check.
78348         * modules/rmdir-tests (Depends-on): Add stdbool.
78349         * modules/unlink-tests (Depends-on): Likewise.
78350         (Files): Add test-unlink.h.
78351         * modules/openat-tests (Files): Likewise.
78352         (Depends-on): Add unlinkdir.
78354         test-fstatat: new test, to expose Solaris 9 bugs
78355         * tests/test-stat.c (main): Factor guts...
78356         * tests/test-stat.h (test_stat_func): ...into new file.
78357         * tests/test-lstat.c (main): Factor guts...
78358         * tests/test-lstat.h (test_lstat_func): ...into new file.
78359         * tests/test-fstatat.c: New file.
78360         * modules/stat-tests (Files): Add test-stat.h.
78361         * modules/lstat-tests (Files): Add test-lstat.h.
78362         (Depends-on): Add stdbool.
78363         * modules/openat-tests (Depends-on): Add pathmax.
78364         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
78365         (Makefile.am): Run new test.
78367         remove: new module, for mingw and Solaris 9 bugs
78368         * modules/remove: New file.
78369         * lib/remove.c: Likewise.
78370         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
78371         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
78372         * modules/stdio (Makefile.am): Use them.
78373         * lib/stdio.in.h (remove): Declare replacement.
78374         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78375         * doc/posix-functions/remove.texi (remove): Likewise.
78376         * modules/remove-tests: New test.
78377         * tests/test-remove.c: Likewise.
78379         unlink: new module, for Solaris 9 bug
78380         * modules/unlink: New file.
78381         * lib/unlink.c: Likewise.
78382         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
78383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
78384         * modules/unistd (Makefile.am): Use them.
78385         * lib/unistd.in.h (stat): Declare replacement.
78386         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78387         * doc/posix-functions/unlink.texi (unlink): Likewise.
78388         * modules/unlink-tests: New test.
78389         * tests/test-unlink.c: Likewise.
78391         lstat: fix Solaris 9 bug
78392         * lib/lstat.c (lstat): Also check for trailing slash on
78393         non-symlink, non-directories.  Use stat module to simplify logic.
78394         * doc/posix-functions/lstat.texi (lstat): Document it.
78395         * modules/lstat-tests (Depends-on): Add errno, same-inode.
78396         (configure.ac): Check for symlink.
78397         * tests/test-lstat.c (main): Add more tests.
78399         stat: add as dependency to other modules
78400         * modules/chown (Depends-on): Add stat.
78401         * modules/euidaccess (Depends-on): Likewise.
78402         * modules/fchdir (Depends-on): Likewise.
78403         * modules/isdir (Depends-on): Likewise.
78404         * modules/link (Depends-on): Likewise.
78405         * modules/lstat (Depends-on): Likewise.
78406         * modules/mkdir-p (Depends-on): Likewise.
78407         * modules/modechange (Depends-on): Likewise.
78408         * modules/open (Depends-on): Likewise.
78409         * modules/readlink (Depends-on): Likewise.
78410         * modules/same (Depends-on): Likewise.
78412         stat: fix Solaris 9 bug
78413         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
78414         slash.
78415         * lib/stat.c (rpl_stat): Work around it.
78416         * doc/posix-functions/stat.texi (stat): Update documentation.
78418         stat: new module, for mingw bug
78419         * modules/stat: New file.
78420         * lib/stat.c: Likewise.
78421         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
78422         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78423         * modules/sys_stat (Makefile.am): Use them.
78424         * lib/sys_stat.in.h (stat): Declare replacement.
78425         * lib/openat.c (fstatat): Deal with lstat and stat being function
78426         macros.
78427         * modules/openat (Depends-on): Add inline.
78428         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78429         * doc/posix-functions/stat.texi (stat): Likewise.
78430         * modules/stat-tests: New test.
78431         * tests/test-stat.c: Likewise.
78433 2009-09-19  Jim Meyering  <meyering@redhat.com>
78435         syntax-check: detect unnecessary inclusion of canonicalize.h
78436         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
78438 2009-09-19  Eric Blake  <ebb9@byu.net>
78440         canonicalize-lgpl: adjust clients to use correct header
78441         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
78442         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
78443         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
78444         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
78445         * lib/progreloc.c (includes): Likewise.
78447 2009-09-19  Jim Meyering  <meyering@redhat.com>
78449         test-posixtm.c: correct a comment
78450         * tests/test-posixtm.c: Correct first-line comment.
78451         Spotted by Eric Blake.
78453 2009-09-16  Jim Meyering  <meyering@redhat.com>
78455         posixtm-tests: make T const-correct; add a test case
78456         * tests/test-posixtm.c (T): Declare const.
78457         Add a test for -(2^31+1).
78458         Remove useless can-succeed-only-in-2002 test.
78460         posixtm-tests: adjust the sole failing test
78461         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
78462         expected output matches what mktime now produces.  Cross-checked via
78463         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
78465         posixtm: move #ifdef'd tests into a new module
78466         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
78467         * tests/test-posixtm.c: ... this new file.
78468         * modules/posixtm-tests: New module.
78470 2009-09-19  Eric Blake  <ebb9@byu.net>
78472         openat: simplify use of at-func.c
78473         * lib/at-func.c (includes): Include prerequisites here, to
78474         simplify requirements on client files.
78475         * lib/openat-priv.h: Add double-inclusion guard.
78476         * lib/faccessat.c (includes): Simplify.
78477         * lib/fchmodat.c (includes): Likewise.
78478         * lib/fchownat.c (includes): Likewise.
78479         * lib/mkdirat.c (includes): Likewise.
78480         * lib/mkfifoat.c (includes): Likewise.
78481         * lib/symlinkat.c (includes): Likewise.
78483         openat: allow return of fd 0
78484         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
78485         * modules/save-cwd (Depends-on): Replace fcntl-safer with
78486         unistd-safer.
78487         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
78488         <fcntl.h>; this module does not leak fds.
78489         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
78490         must be allowed to return 0, leaving openat_safer to add the
78491         safety.
78492         (openat_permissive): Avoid writing to just-opened fd 2 if
78493         restoring the current directory fails.
78494         * lib/openat-die.c (openat_restore_fail): Add comment.
78495         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
78496         (save_cwd): Guarantee safe fd, but without use of open_safer.
78497         * tests/test-openat.c: New test.
78498         * modules/openat-tests (Files, Makefile.am): Distribute and build
78499         new file.
78501         relocatable-prog-wrapper: fix build
78502         * modules/relocatable-prog-wrapper (Files): Update name of
78503         canonicalize m4 file, broken on 2009-09-17.
78504         Reported by emad hajjar <aleppos@hotmail.com>.
78506 2009-09-19  Bruno Haible  <bruno@clisp.org>
78508         * lib/safe-alloc.h: Use the standard header with GPL copyright.
78509         * lib/safe-alloc.c: Likewise.
78510         Reported by Ian Beckwith <ianb@erislabs.net>.
78512 2009-09-18  Bruno Haible  <bruno@clisp.org>
78514         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
78515         Reported by <erobles@sensacd.com.mx>.
78517 2009-09-17  Eric Blake  <ebb9@byu.net>
78519         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
78520         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
78521         slashes when checking if last component is missing.
78522         * tests/test-canonicalize.c (main): Test this.
78524         canonicalize, canonicalize-lgpl: honor // if distinct from /
78525         * modules/canonicalize (Files): Add double-slash-root.m4.
78526         * modules/canonicalize-lgpl (Files): Likewise.
78527         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
78528         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
78529         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
78530         fallback definition.
78531         (canonicalize_filename_mode): Use it to protect //.
78532         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
78533         (__realpath): Likewise.
78534         * tests/test-canonicalize.c (main): Test this.
78535         * tests/test-canonicalize-lgpl.c (main): Likewise.
78536         * modules/canonicalize-tests (Depends-on): Add same-inode.
78537         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
78539         canonicalize-lgpl: fix glibc bug with trailing slash
78540         * m4/canonicalize-lgpl.m4: Move contents...
78541         * m4/canonicalize.m4: ...here.
78542         (gl_CANONICALIZE_LGPL): Factor realpath check...
78543         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
78544         glibc 2.3.5 bug, fixed 2005-04-27.
78545         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
78546         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
78547         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
78548         * modules/canonicalize-lgpl (Files): Manage file rename.
78549         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
78550         * modules/stdlib (Makefile.am): Substitute witness.
78551         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
78552         is needed.
78553         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
78554         replacement is required.
78555         * lib/canonicalize.c (canonicalize_file_name): Likewise.
78556         * doc/glibc-functions/canonicalize_file_name.texi
78557         (canonicalize_file_name): Document this.
78558         * doc/posix-functions/realpath.texi (realpath): Likewise.
78560         canonicalize-lgpl: reject non-directory with trailing slash
78561         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
78562         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
78563         catches failures in glibc 2.3.5.
78564         * tests/test-canonicalize.c (main): Likewise.
78566         canonicalize-lgpl: use native realpath if it works
78567         * lib/canonicalize-lgpl.c (realpath): Guard with
78568         FUNC_REALPATH_WORKS.
78569         * lib/stdlib.in.h (realpath): Make declaration optional based on
78570         HAVE_REALPATH.
78571         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
78572         native realpath works.
78573         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
78574         * modules/stdlib (Makefile.am): Substitute witness.
78576         canonicalize, canonicalize-lgpl: use <stdlib.h>
78577         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
78578         (Include): Mention <stdlib.h>.
78579         (configure.ac): Mention functions we provide.
78580         * modules/canonicalize (configure.ac): Likewise.
78581         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
78582         realpath if canonicalize_file_name is missing.
78583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
78584         * modules/stdlib (Makefile.am): Substitute witnesses.
78585         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
78586         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
78587         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
78588         * NEWS: Document this.
78589         * doc/glibc-functions/canonicalize_file_name.texi
78590         (canonicalize_file_name): Likewise.
78591         * doc/posix-functions/realpath.texi (realpath): Likewise.
78592         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
78594         test-canonicalize: consolidate into single C program
78595         * tests/test-canonicalize.sh: Delete; move setup into...
78596         * tests/test-canonicalize.c (main): ...the program, making it
78597         easier to run in debugger.  Add some tests.
78598         * modules/canonicalize-tests (Files): Remove unused file.
78599         (Depends-on): Add progname.
78600         (configure.ac, Makefile.am): Simplify.
78602         test-canonicalize-lgpl: consolidate into single C program
78603         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
78604         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
78605         easier to run in debugger.  Add some tests.
78606         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
78607         (configure.ac, Makefile.am): Simplify.
78609         canonicalize: avoid resolvepath
78610         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
78611         unnecessary checks.
78612         * lib/canonicalize.c (includes): Simplify.
78613         (canonicalize_file_name): Drop resolvepath implementation.
78614         * modules/canonicalize (Depends-on): Drop filenamecat.
78616         canonicalize: don't lose errno
78617         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
78618         over calls to free.
78620         canonicalize: simplify errno handling
78621         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
78622         assignment.
78624         canonicalize, canonicalize-lgpl: update module dependencies
78625         * modules/canonicalize (Depends-on): Add extensions, lstat,
78626         pathmax, stdlib.
78627         (Files): Drop pathmax.h.
78628         (configure.ac): Adjust macro name.
78629         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
78630         lstat, stdlib, sys_stat.
78631         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
78632         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
78633         extensions.
78634         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
78635         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
78636         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
78637         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
78638         declaration, if available.
78639         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
78640         we can rely on the readlink module.
78641         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
78642         (includes): Use <unistd.h> unconditionally.
78644 2009-09-17  Eric Blake  <ebb9@byu.net>
78646         maint: make Include sections of modules consistent
78647         * modules/alloca: Use only header name; no need to list #include.
78648         * modules/alloca-opt: Likewise.
78649         * modules/arpa_inet: Likewise.
78650         * modules/canon-host: Likewise.
78651         * modules/configmake: Likewise.
78652         * modules/dirent: Likewise.
78653         * modules/eealloc: Likewise.
78654         * modules/environ: Likewise.
78655         * modules/fchdir: Likewise.
78656         * modules/fcntl: Likewise.
78657         * modules/fcntl-h: Likewise.
78658         * modules/gethrxtime: Likewise.
78659         * modules/gettime: Likewise.
78660         * modules/ignore-value: Likewise.
78661         * modules/inet_ntop: Likewise.
78662         * modules/inet_pton: Likewise.
78663         * modules/inttypes: Likewise.
78664         * modules/isnand-nolibm: Likewise.
78665         * modules/isnanf-nolibm: Likewise.
78666         * modules/mbchar: Likewise.
78667         * modules/mbfile: Likewise.
78668         * modules/mbiter: Likewise.
78669         * modules/mbuiter: Likewise.
78670         * modules/netdb: Likewise.
78671         * modules/netinet_in: Likewise.
78672         * modules/nproc: Likewise.
78673         * modules/pagealign_alloc: Likewise.
78674         * modules/poll: Likewise.
78675         * modules/printf-frexp: Likewise.
78676         * modules/pthread: Likewise.
78677         * modules/putenv: Likewise.
78678         * modules/random_r: Likewise.
78679         * modules/relocatable-prog: Likewise.
78680         * modules/search: Likewise.
78681         * modules/select: Likewise.
78682         * modules/selinux-h: Likewise.
78683         * modules/settime: Likewise.
78684         * modules/signal: Likewise.
78685         * modules/size_max: Likewise.
78686         * modules/socklen: Likewise.
78687         * modules/ssize_t: Likewise.
78688         * modules/stdarg: Likewise.
78689         * modules/stdbool: Likewise.
78690         * modules/stddef: Likewise.
78691         * modules/stdint: Likewise.
78692         * modules/stdio: Likewise.
78693         * modules/stdlib: Likewise.
78694         * modules/string: Likewise.
78695         * modules/strings: Likewise.
78696         * modules/sys_file: Likewise.
78697         * modules/sys_ioctl: Likewise.
78698         * modules/sys_select: Likewise.
78699         * modules/sys_socket: Likewise.
78700         * modules/sys_stat: Likewise.
78701         * modules/sys_time: Likewise.
78702         * modules/sys_times: Likewise.
78703         * modules/sys_utsname: Likewise.
78704         * modules/sys_wait: Likewise.
78705         * modules/sysexits: Likewise.
78706         * modules/time: Likewise.
78707         * modules/times: Likewise.
78708         * modules/tmpfile: Likewise.
78709         * modules/trim: Likewise.
78710         * modules/unistd: Likewise.
78711         * modules/wchar: Likewise.
78712         * modules/wctype: Likewise.
78714 2009-09-17  Bruno Haible  <bruno@clisp.org>
78716         Make getdate.y compile on QNX and NetBSD 5 / i386.
78717         * m4/getdate.m4 (gl_GETDATE): Conditionally define
78718         TIME_T_FITS_IN_LONG_INT.
78719         * lib/getdate.y (long_time_t): New type.
78720         (relative_time): Change type of 'seconds' field to long_time_t.
78721         (get_date): Update types of local variables. Check against overflow
78722         during conversion from long_time_t to time_t.
78723         Reported by Matt Kraai <kraai@ftbfs.org>
78724         and Hasso Tepper <hasso@netbsd.org>.
78726 2009-09-17  Bruno Haible  <bruno@clisp.org>
78728         * modules/COPYING: Update copyright years.
78729         * modules/README: Likeiwse.
78730         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
78731         Reported by Ian Beckwith <ianb@erislabs.net>.
78733 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
78735         * users.txt: Update references for gnuit package.
78737 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
78739         * m4/getdelim.m4: Fix typo in copyright line.
78741 2009-09-17  Bruno Haible  <bruno@clisp.org>
78743         * lib/atoll.c: Use the standard header with GPL copyright.
78744         * lib/argz.in.h: Likewise.
78745         * lib/glob.c: Likewise.
78746         * lib/glob-libc.h: Likewise.
78747         * lib/random_r.c: Likewise.
78748         * lib/siglist.h: Likewise.
78749         * lib/strsignal.c: Likewise.
78750         Reported by Ian Beckwith <ianb@erislabs.net>.
78752 2009-09-17  Eric Blake  <ebb9@byu.net>
78754         rmdir: ensure correct dependency order
78755         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
78757 2009-09-17  Bruno Haible  <bruno@clisp.org>
78759         Disable assertion that fails on NetBSD 5 / i386.
78760         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
78761         Reported by Sam Steingold <sds@gnu.org>
78762         and Hasso Tepper <hasso@netbsd.org>.
78764 2009-09-16  Eric Blake  <ebb9@byu.net>
78766         unlinkdir: port to mingw
78767         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
78768         on which no one can unlink a directory.
78770         stdlib: sort witness names
78771         * modules/stdlib (Makefile.am): Sort replacements.
78772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
78773         * lib/stdlib.in.h: Likewise.
78775         parse-duration-tests: avoid link failure
78776         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
78777         LIBINTL.
78778         Reported by Tom G. Christensen.
78780         openat-tests: ensure unlinkat behaves like rmdir
78781         * tests/test-rmdir.c (main): Factor guts...
78782         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
78783         * modules/rmdir-tests (Files): Ship new file.
78784         * modules/openat-tests: New test.
78785         * tests/test-unlinkat.c: Likewise.
78787         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
78788         * modules/rmdir-errno (Status, Notice): Now obsolete.
78790         rmdir: work around cygwin 1.5.x and mingw bugs
78791         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
78792         * lib/rmdir.c (rmdir): Work around it.
78793         * modules/rmdir (Status, Notice): No longer obsolete.
78794         (Files): Add dos.m4.
78795         (Depends-on): Add unistd.
78796         (configure.ac): Set witnesses.
78797         (License): Relax to LGPLv2+.
78798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
78799         * modules/unistd (Makefile.am): Substitute witnesses.
78800         * lib/unistd.in.h (rmdir): Declare replacement.
78801         * doc/posix-functions/rmdir.texi (rmdir): Document this.
78802         * modules/rmdir-tests: New tests.
78803         * tests/test-rmdir.c: Likewise.
78805 2009-09-15  Eric Blake  <ebb9@byu.net>
78807         fchdir: improve use of replacement functions
78808         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
78809         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
78810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
78811         REPLACE_CLOSEDIR.
78812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
78813         * modules/sys_stat (Makefile.am): Substitute correct witness.
78814         * modules/dirent (Makefile.am): Likewise.
78815         * modules/unistd (Makefile.am): Likewise.
78816         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
78817         * lib/unistd.in.h (dup): Likewise.
78818         * lib/sys_stat.in.h (fstat): Likewise.
78820         maint: ignore gnulib-tool temp files
78821         * .gitignore: Ignore files created during gnulib-tool --test.
78823 2009-09-13  Jim Meyering  <meyering@redhat.com>
78825         posixtm: don't reject a time that specify "60" as the number of seconds
78826         * lib/posixtm.c (posixtime): The code to reject invalid dates
78827         would also reject a time specified with the .60 suffix.
78828         But POSIX allows that, in order to accommodate leap seconds.
78829         So don't reject it.
78830         (main): Adjust tests accordingly.
78831         * modules/posixtm (Depends-on): Add stpcpy.
78833 2009-09-11  Jim Meyering  <meyering@redhat.com>
78835         announce-gen: include [$release_type] in emitted Subject:
78836         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
78837         e.g., [stable] in the emitted Subject: line.
78839 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78841         Remove obsolete macros from several modules.
78842         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
78843         obsolete Autoconf macros with their modern counterparts.
78844         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
78845         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
78846         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
78847         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78848         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
78849         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
78850         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78851         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
78852         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
78853         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
78854         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
78855         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
78856         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
78857         * m4/sockets.m4 (gl_SOCKETS): Likewise.
78858         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
78859         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
78860         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
78861         * m4/time_r.m4 (gl_TIME_R): Likewise.
78862         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
78863         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
78864         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
78866         Fix copyright header in build-aux scripts.
78867         * build-aux/git-version-gen: Fix copyright header to match GPLv3
78868         recommendation.
78869         * build-aux/ncftpput-ftp: Likewise.
78870         * build-aux/update-copyright: Likewise.
78872 2009-09-09  Eric Blake  <ebb9@byu.net>
78874         test-link: allow Linux choice of errno
78875         * tests/test-link.c (main): Relax test for alternate error.
78877         strndup: fix improper m4 caching
78878         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
78879         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
78880         (gl_PREREQ_STRNDUP): Delete.
78881         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
78882         * modules/string (Makefile.am): Substitute it.
78883         * lib/string.in.h (strndup): Modernize prototype.
78885         getcwd: port to mingw
78886         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
78887         different from the POSIX assumptions made throughout the getcwd
78888         module; fortunately, the mingw getcwd does not need replacement.
78889         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
78890         * modules/getcwd-tests: New test.
78891         * tests/test-getcwd.c: Likewise.
78893         link: fix platform bugs
78894         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
78895         * lib/link.c (link): Work around them.  Fix related mingw bug.
78896         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
78897         * modules/unistd (Makefile.am): Substitute it.
78898         * lib/unistd.in.h (link): Declare replacement.
78899         * doc/posix-functions/link.texi (link): Document this.
78900         * modules/link (Depends-on): Add strdup-posix, sys_stat.
78902         test-link: consolidate into single C program, test more cases
78903         * tests/test-link.sh: Delete.
78904         * tests/test-link.c: Test more error conditions.  Exposes bugs on
78905         at least Cygwin and Solaris.
78906         * modules/link-tests (Files): Remove unused file.
78907         (Depends-on): Add errno, sys_stat.
78908         (Makefile.am): Simplify.
78910 2009-09-08  Bruno Haible  <bruno@clisp.org>
78912         Work around towlower, towupper bug on mingw.
78913         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
78914         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
78915         * doc/posix-functions/towlower.texi: Mention the mingw bug.
78916         * doc/posix-functions/towupper.texi: Likewise.
78917         Reported by Eric Blake.
78919 2009-09-08  Jim Meyering  <meyering@redhat.com>
78921         build: don't try to run autoheader if we don't use it
78922         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
78923         is not used in configure.ac.
78925 2009-09-08  Eric Blake  <ebb9@byu.net>
78927         euidaccess: fix compilation error
78928         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
78930         rawmemchr: relax license
78931         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
78932         okay.
78933         Reported by Jim Meyering.
78935         mkfifoat: new module
78936         * modules/mkfifoat: New file.
78937         * lib/mkfifoat.c: Likewise.
78938         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
78939         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78940         * modules/sys_stat (Makefile.am): Use them.
78941         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
78942         * MODULES.html.sh (File system functions): Mention module.
78943         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
78944         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
78945         * modules/mkfifoat-tests: New test.
78946         * tests/test-mkfifoat.c: Likewise.
78948         strchrnul: relax license
78949         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
78950         okay.
78951         Reported by Jim Meyering.
78953 2009-09-08  Eric Blake  <ebb9@byu.net>
78955         fstatat: fix compilation on Solaris
78956         * lib/fstatat.c (includes): Add fcntl.h.
78957         Reported by Pádraig Brady.
78959 2009-09-07  Eric Blake  <ebb9@byu.net>
78961         rename: modernize replacement
78962         * modules/rename (Depends-on): Add stdio.
78963         (configure.ac): Declare witness.
78964         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
78965         stdio take care of replacement.
78966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
78967         * modules/stdio (Makefile.am): Substitute them.
78968         * lib/stdio.in.h (rename): Declare replacement.
78969         * lib/rename.c (includes): Allow cross-compilation to non-windows
78970         machines.
78971         * doc/posix-functions/rename.texi (rename): Improve
78972         documentation.
78974         stdio: sort witness names
78975         * modules/stdio (Makefile.am): Sort replacements.
78976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
78977         * lib/stdio.in.h: Likewise.
78979         getcwd: minor cleanups
78980         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
78981         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
78983         openat: provide more convenience names
78984         * modules/faccessat (configure.ac): Add C witness.
78985         * lib/unistd.in.h (readlinkat): Fix typo.
78986         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
78987         convenience wrappers.
78988         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
78989         wrappers in syntax checks.
78991 2009-09-06  Eric Blake  <ebb9@byu.net>
78993         doc: fix comments in recent patches
78994         * lib/faccessat.c: Mention correct function.
78995         * lib/fchmodat.c: Likewise.
78996         * lib/fchownat.c: Likewise.
78997         * lib/symlinkat.c: Likewise.
78998         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
78999         constants.
79001         faccessat, symlinkat: continue cleanup of previous patch
79002         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
79003         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
79004         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
79005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
79006         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
79007         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
79008         set.
79010 2009-09-06  Bruno Haible  <bruno@clisp.org>
79012         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
79013         (fstatat): Declare if GNULIB_FSTATAT is set.
79014         (mkdirat): Declare if GNULIB_MKDIRAT is set.
79015         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
79016         (unlinkat): Declare if GNULIB_UNLINKAT is set.
79017         * modules/fcntl-h (Files): Remove m4/openat.m4.
79018         * modules/sys_stat (Files): Remove m4/openat.m4.
79019         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
79020         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
79021         * modules/unistd (Files): Remove m4/openat.m4.
79022         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
79023         GNULIB_OPENAT.
79024         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
79025         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
79026         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
79027         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
79028         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
79029         gl_OPENAT_DEFAULTS.
79030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
79031         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
79032         Don't require gl_OPENAT_DEFAULTS.
79033         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
79034         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
79035         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
79036         (gl_OPENAT_DEFAULTS): Remove macro.
79038 2009-09-06  Bruno Haible  <bruno@clisp.org>
79040         * modules/openat (configure.ac): Remove unneeded witness.
79042 2009-09-06  Bruno Haible  <bruno@clisp.org>
79044         Set errno to ENOSYS when a function is entirely unsupported.
79045         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
79046         EOPNOTSUPP.
79047         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
79048         * modules/chown (Depends-on): Remove errno.
79050 2009-09-06  Bruno Haible  <bruno@clisp.org>
79052         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
79054 2009-09-06  Bruno Haible  <bruno@clisp.org>
79056         * lib/sys_stat.in.h: Fix preprocessor command indentation.
79058 2009-09-06  Ben Pfaff  <blp@gnu.org>
79059             Bruno Haible  <bruno@clisp.org>
79061         Work around a glibc bug in strtok_r.
79062         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
79063         Undefine if UNDEFINE_STRTOK_R is set.
79064         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
79065         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
79066         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
79067         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
79068         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
79069         UNDEFINE_STRTOK_R.
79070         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
79072 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
79074         exclude: minor fix
79075         * lib/exclude.c: Include wctype.h
79077 2009-09-06  Akim Demaille  <demaille@gostai.com>
79079         bootstrap: improve error message
79080         * build-aux/bootstrap (find_tool): Upon failure, report the list
79081         of candidates.
79082         Honor the initial value of the envvar.
79084 2009-09-05  Eric Blake  <ebb9@byu.net>
79086         symlinkat: new module
79087         * modules/symlinkat: New file.
79088         * lib/symlinkat.c: Likewise.
79089         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
79090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79091         * modules/unistd (Makefile.am): Use them.
79092         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
79093         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
79094         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
79095         * MODULES.html.sh (File system functions): Mention module.
79096         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79097         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79098         * modules/symlinkat-tests: New test.
79099         * tests/test-symlinkat.c: Likewise.
79101         test-openat-safer: add more checks
79102         * tests/test-openat-safer.c (main): Check more code paths.
79104 2009-09-05  Jim Meyering  <meyering@redhat.com>
79106         syntax-check: detect unnecessary inclusion of openat.h
79107         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
79109 2009-09-05  Bruno Haible  <bruno@clisp.org>
79111         Support towlower, towupper.
79112         * doc/posix-functions/towlower.texi: Mention module wctype.
79113         * doc/posix-functions/towupper.texi: Likewise.
79114         * lib/wctype.in.h (towlower, towupper): New functions.
79115         * tests/test-wctype.c: Include stdio.h, stdlib.h.
79116         (ASSERT): New macro.
79117         (e): New variable.
79118         (main): Test also towlower, towupper. Test WEOF argument.
79119         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
79121 2009-09-05  Bruno Haible  <bruno@clisp.org>
79123         Fix conversion behaviour when the input is invalid.
79124         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
79125         mark occurring in first pass of indirect conversion.
79126         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
79127         input.
79128         Found by clang's static analyzer.
79130 2009-09-05  Bruno Haible  <bruno@clisp.org>
79132         * tests/test-striconveh.c (main): Test indirect conversion on platforms
79133         where direct conversion is possible.
79135 2009-09-04  Eric Blake  <ebb9@byu.net>
79137         openat: fail with ENOENT on empty name
79138         * lib/openat-proc.c (openat_proc_name): Special-case the empty
79139         buffer.
79141         link-follow: fix logic bug in prior patch
79142         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
79143         reversed sense of yes and no in prior patch.  Avoid confusing
79144         compilation failure with desired semantics.
79146         link-follow: accommodate mingw and cross-compilation
79147         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
79148         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
79149         cross-compilation results to -1, to make linkat easier to
79150         implement when cross-compiling.  Trivially support mingw.
79151         * modules/link-follow (configure.ac): Call new name.
79152         * NEWS: Mention this.
79154 2009-09-03  Eric Blake  <ebb9@byu.net>
79156         faccessat: compile replacement
79157         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
79158         needed.
79160         fts: fix compilation error
79161         * lib/fts.c (includes): Re-add "openat.h", for
79162         openat_needs_fchdir.
79164         faccessat: new module
79165         * modules/faccessat: New file.
79166         * lib/faccessat.c: Likewise.
79167         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
79168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79169         * modules/unistd (Makefile.am): Use it.
79170         * lib/unistd.in.h (faccessat): Declare it.
79171         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
79172         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
79173         * MODULES.html.sh (File system functions): Mention it.
79174         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
79175         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
79177         euidaccess: prefer POSIX over non-standard implementation
79178         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
79179         * lib/euidaccess.c (euidaccess): Use it if available.
79181         openat: make template easier to use
79182         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
79183         AT_FUNC_F2 to be undefined.
79184         (VALIDATE_FLAG): New macro; use it to reject bad flags.
79185         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
79186         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
79187         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
79188         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
79189         Likewise.
79190         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
79191         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
79192         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
79193         Likewise.
79195         openat: declare in POSIX headers
79196         * NEWS: Mention this.
79197         * modules/openat (configure.ac): Declare witnesses.
79198         (Depends-on): Add fcntl-h, sys_stat, unistd.
79199         (Include): Mention correct headers.
79200         * modules/fcntl-h (Depends-on): Add link-warning.
79201         (Files): Add openat.m4.
79202         (Makefile.am): Substitute witnesses.
79203         * modules/sys_stat (Files, Makefile.am): Likewise.
79204         * modules/unistd (Files, Makefile.am): Likewise.
79205         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
79206         (gl_OPENAT_DEFAULTS): New macro.
79207         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
79208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
79209         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
79210         (SYS_STAT_H): Remove unused variable.
79211         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
79212         * lib/fcntl--.h (includes): Remove unneeded header.
79213         * lib/openat-safer.c (includes): Likewise.
79214         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
79215         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
79216         appropriate headers.
79217         (__OPENAT_PREFIX): Delete.
79218         * lib/fcntl.in.h (openat): Provide declaration.
79219         (AT_FDCWD): Fix Solaris bug.
79220         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
79221         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
79222         * lib/fchmodat.c (includes):  Adjust to find declaration.
79223         * lib/fchownat.c (includes): Likewise.
79224         * lib/mkdirat.c (includes): Likewise.
79225         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
79226         still visible.
79228 2009-09-02  Eric Blake  <ebb9@byu.net>
79230         errno: use consistently
79231         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
79232         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
79233         * lib/canonicalize.c (ELOOP): Likewise.
79234         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
79235         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
79236         * lib/lchown.c (EOPNOTSUPP): Likewise.
79237         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
79238         * lib/savewd.c (ESTALE): Likewise.
79239         * lib/settime.c (ENOSYS): Likewise.
79240         * lib/utimens.c (ENOSYS): Likewise.
79241         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
79242         * lib/chdir-safer.c (ELOOP): Likewise.
79243         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
79244         * modules/c-stack (Depends-on): Add errno.
79245         * modules/canonicalize (Depends-on): Likewise.
79246         * modules/chdir-safer (Depends-on): Likewise.
79247         * modules/fdopendir (Depends-on): Likewise.
79248         * modules/inet_ntop (Depends-on): Likewise.
79249         * modules/inet_pton (Depends-on): Likewise.
79250         * modules/lchown (Depends-on): Likewise.
79251         * modules/openat (Depends-on): Likewise.
79252         * modules/savewd (Depends-on): Likewise.
79253         * modules/settime (Depends-on): Likewise.
79254         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
79256         fts: avoid leaking fds
79257         * modules/fts (Depends-on): Add cloexec.
79258         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
79259         flag.
79261         fts: make directory fds more robust
79262         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
79263         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
79265         backupfile, chdir-long, fts, savedir: make safer
79266         * lib/backupfile.c (includes): Use "dirent--.h", since
79267         numbered_backup can write to stderr during readdir.
79268         * lib/savedir.c (includes): Likewise.
79269         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
79270         emulation can write to stderr on failure.
79271         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
79272         * lib/getcwd.c: Document why opendir_safer is unused.
79273         * lib/glob.c: Likewise.
79274         * lib/scandir.c: Likewise.
79275         * lib/openat-proc.c: Likewise, for open_safer.
79276         * modules/backupfile (Depends-on): Add dirent-safer.
79277         * modules/savedir (Depends-on): Likewise.
79278         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
79279         * modules/chdir-long (Depends-on): Add openat-safer.
79281         openat-safer: new module
79282         * modules/openat-safer: New file.
79283         * lib/openat-safer.c: Likewise.
79284         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
79285         * lib/fcntl-safer.h (openat_safer): Declare.
79286         * lib/fcntl--.h (openat): Override.
79287         * MODULES.html.sh (File descriptor based I/O): Mention it.
79288         * lib/openat.h: Add double-inclusion guards.
79289         * lib/openat.c (includes): Only include "fcntl-safer.h", not
79290         "fcntl--.h", so we can implement openat.
79291         * modules/openat-safer-tests: New test.
79292         * tests/test-openat-safer.c: New file.
79294         dirent-safer: new module
79295         * modules/dirent-safer: New file.
79296         * lib/dirent--.h: Likewise.
79297         * lib/dirent-safer.h: Likewise.
79298         * lib/opendir-safer.c: Likewise.
79299         * m4/dirent-safer.m4: Likewise.
79300         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
79301         * modules/dirent-safer-tests: New test.
79302         * tests/test-dirent-safer.c: New file.
79303         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
79305         fdopendir: optimize on mingw
79306         * lib/unistd.in.h (_gl_directory_name): New prototype.
79307         * lib/fchdir.c (_gl_directory_name): Implement it.
79308         (fchdir): Use it to simplify implementation.
79309         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
79310         fchdir, when available, to avoid calling [f]chdir().
79312         fdopendir: split into its own module
79313         * lib/openat.c (fdopendir): Move...
79314         * lib/fdopendir.c: ...into new file.
79315         * modules/fdopendir: New module.
79316         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
79317         * modules/openat (Depends-on): Add fdopendir.
79318         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
79319         fdopendir here.
79320         * modules/savedir (Depends-on): Only need fdopendir, not full
79321         openat.
79322         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
79323         * lib/openat.h (fdopendir): Drop prototype.
79324         * lib/dirent.in.h (fdopendir): Provide prototype.
79325         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
79326         * modules/dirent (Makefile.am): Substitute them.
79327         * MODULES.html.sh (File system functions): Mention it.
79328         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
79329         * modules/fdopendir-tests: New file.
79330         * tests/test-fdopendir.c: Likewise.
79332         fchdir: use more consistent macro convention
79333         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
79334         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
79335         REPLACE_FCHDIR, rather than relying on config.h macros.
79336         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
79337         inside a single make-time REPLACE_FCHDIR block, rather than using
79338         the config.h FCHDIR_REPLACEMENT.
79339         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
79340         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
79341         Manage fstat replacement.
79342         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
79343         REPLACE_FCHDIR.
79344         * modules/sys_stat (Files): Add m4/unistd_h.m4.
79345         (Makefile.am): Substitute REPLACE_FCHDIR.
79346         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
79347         FCHDIR_REPLACEMENT.
79348         * lib/dup-safer.c (dup_safer): Likewise.
79349         * lib/dup2.c (rpl_dup2): Likewise.
79350         * lib/dup3.c (rpl_dup3): Likewise.
79351         * lib/open.c (rpl_open): Likewise.
79353         fchdir: simplify error handling, and support dup3
79354         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
79355         stdbool, malloc-posix, realloc-posix.
79356         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
79357         (ensure_dirs_slot): Return false on allocation failure.
79358         (rpl_dup2): Delete.
79359         (_gl_register_dup): New function.
79360         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
79361         (_gl_register_fd): Close fd on allocation failure.
79362         * lib/fcntl.in.h (_gl_register_fd): Update signature.
79363         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
79364         prototype.
79365         (rpl_dup2_fchdir): Delete prototype.
79366         * lib/open.c (open): Update caller.
79367         * lib/dup2.c (dup2): Track fchdir metadata.
79368         * lib/dup3.c (dup3): Likewise.
79369         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
79370         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
79372 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79374         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
79375         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
79376         don't pass arguments to AC_OUTPUT.
79378 2009-09-02  Bruno Haible  <bruno@clisp.org>
79380         * modules/mkdtemp (License): Relicense under LGPLv2+.
79381         Reported by Paolo Bonzini.
79383 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79385         Replace uses of obsolete autoconf macros in Jim's modules.
79386         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
79387         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
79388         can evoke a warning from autoconf when run with -Wobsolete
79389         enabled.  They were declared obsolete for good reasons (see
79390         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
79391         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
79392         should not continue using the deprecated macros.
79393         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
79394         obsolete Autoconf macros with modern counterparts.
79395         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
79396         * m4/dos.m4 (gl_AC_DOS): Likewise.
79397         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
79398         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
79399         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
79400         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
79401         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
79402         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
79403         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
79404         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
79405         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
79406         Likewise.
79407         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
79408         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
79409         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
79410         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
79411         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
79412         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
79414 2009-09-01  Eric Blake  <ebb9@byu.net>
79416         fchdir: fix off-by-one bug in previous patch
79417         * lib/fchdir.c (rpl_fstat): Use correct bounds.
79418         (_gl_unregister_fd): Delete useless if.
79420 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
79422         maint.mk: sort the list of syntax-check rules
79423         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
79424         easier to get a sense of progress when the rules are run sequentially
79425         and take a long time.
79427 2009-09-01  Simon Josefsson  <simon@josefsson.org>
79429         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
79430         * modules/netinet_in: Likewise.
79431         * modules/sys_file: Likewise.
79432         * modules/sys_ioctl: Likewise.
79433         * modules/sys_select: Likewise.
79434         * modules/sys_socket: Likewise.
79435         * modules/sys_stat: Likewise.
79436         * modules/sys_time: Likewise.
79437         * modules/sys_times: Likewise.
79438         * modules/sys_utsname: Likewise.
79439         * modules/sys_wait: Likewise.
79441 2009-09-01  Jim Meyering  <meyering@redhat.com>
79443         fts: help ensure that return values are not ignored
79444         * lib/fts_.h (__GNUC_PREREQ): Define.
79445         (__attribute_warn_unused_result__): Define.
79446         (fts_children, fts_close, fts_open, fts_read): Declare with
79447         __attribute_warn_unused_result__.
79449         fts: fts_close now fails also when closing a dir file descriptor fails
79450         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
79451         and propagate to caller, along with errno.
79453         announce-gen: correct formatting in --help output
79454         * build-aux/announce-gen (usage): Move the one-line description in
79455         --help output "up", to where it belongs, just after Usage:.
79457 2009-08-31  Eric Blake  <ebb9@byu.net>
79459         fchdir: port to mingw
79460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
79461         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
79462         opened, then use a substitute.
79463         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
79464         replacement.
79465         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
79466         (_gl_register_fd): No need to check stat if open already filters
79467         all directories.
79468         (fchdir): Fix error condition to match POSIX.
79469         * modules/fchdir (Depends-on): Add sys_stat.
79470         * doc/posix-functions/open.texi (open): Document the limitation.
79471         * modules/fchdir-tests: New file.
79472         * tests/test-fchdir.c: Likewise.
79474         canonicalize: allow cross-testing from cygwin to mingw
79475         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
79476         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
79477         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
79478         Likewise.
79479         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
79480         target does not support symlinks.
79481         * tests/test-canonicalize-lgpl.sh: Likewise.
79483         chown: avoid compilation warning on mingw
79484         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
79485         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
79486         mingw.
79487         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
79488         * modules/chown (Depends-on): Add errno.
79490 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
79492         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
79493         command.
79495 2009-08-31  Jim Meyering  <meyering@redhat.com>
79497         canonicalize: remove useless initialization
79498         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
79499         initialization of local, "end".
79501 2009-08-30  Bruno Haible  <bruno@clisp.org>
79503         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
79504         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
79505         ENOSYS.
79507 2009-08-30  Bruno Haible  <bruno@clisp.org>
79509         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
79510         /usr/xpg4/bin/tr when it exists.
79511         * tests/test-pipe-filter-gi1.sh: Likewise.
79513 2009-08-30  Bruno Haible  <bruno@clisp.org>
79515         Work around deficient /usr/bin/id program on Solaris.
79516         * tests/test-file-has-acl.sh (ID): New variable.
79517         * tests/test-set-mode-acl.sh (ID): Likewise.
79518         * tests/test-copy-acl.sh (ID): Likewise.
79519         * tests/test-copy-file.sh (ID): Likewise.
79521 2009-08-30  Bruno Haible  <bruno@clisp.org>
79523         New module 'xstriconveh'.
79524         * lib/xstriconveh.h: New file.
79525         * lib/xstriconveh.c: New file.
79526         * modules/xstriconveh: New file.
79528 2009-08-30  Bruno Haible  <bruno@clisp.org>
79530         Make it easier to use mem_cd_iconveh.
79531         * lib/striconveh.h (iconveh_t): New type.
79532         (iconveh_open, iconveh_close): New declarations.
79533         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
79534         with a single 'const iconveh_t *' argument.
79535         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
79536         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
79537         with a single 'const iconveh_t *' argument.
79538         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
79539         * tests/test-striconveh.c (main): Update.
79540         * NEWS: Mention the change.
79542 2009-08-30  Bruno Haible  <bruno@clisp.org>
79544         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
79545         problem.
79547 2009-08-30  Bruno Haible  <bruno@clisp.org>
79549         Work around iconv_open problem on Solaris.
79550         * lib/iconv_open-solaris.gperf: New file.
79551         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
79552         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
79553         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
79554         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
79555         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
79556         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
79558 2009-08-29  Jim Meyering  <meyering@redhat.com>
79560         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
79561         * top/maint.mk (cvs-check): Remove target; it was just an alias
79562         to the better-named vc-diff-check.
79563         (maintainer-distcheck): Remove rule.  It was used only from
79564         the (alpha/beta/major) target, and all of its commands but one
79565         were coreutils-specific.
79566         (vc-dist): Remove rule.
79567         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
79568         Run vc-diff-check, not vc-dist.
79569         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
79571 2009-08-27  Bruno Haible  <bruno@clisp.org>
79573         * tests/test-bitrotate.c (main): Remove test that uses a shift count
79574         of 0.
79576 2009-08-27  Bruno Haible  <bruno@clisp.org>
79578         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
79579         compilers.
79580         * doc/func.texi: Document the SunPRO C bug.
79582 2009-08-27  Bruno Haible  <bruno@clisp.org>
79584         Fix link error on Solaris.
79585         * tests/test-parse-duration.c (xstrdup): Remove function.
79587 2009-08-26  Pádraig Brady  <P@draigbrady.com>
79589         ignore-value: handle pointer types, too
79590         * lib/ignore-value.h (__attribute__): Remove definition.
79591         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
79592         of a more concise and more-often effective "(void) i" statement.
79593         (ignore_ptr): New function to suppress warnings from functions that
79594         return pointers, and to make it explicit that one function doesn't
79595         handle all cases.
79597 2009-08-25  Bruno Haible  <bruno@clisp.org>
79599         dup2: work around a Linux bug.
79600         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
79601         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
79602         * doc/posix-functions/dup2.texi: Mention the Linux bug.
79603         Reported by Simon Josefsson.
79605 2009-08-25  Jim Meyering  <meyering@redhat.com>
79607         libguestfs uses gnulib
79608         * users.txt: Add libguestfs.
79610 2009-08-24  Eric Blake  <ebb9@byu.net>
79612         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
79613         * lib/pipe2.c (includes): Add binary-io.h.
79614         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
79616 2009-08-24  Bruno Haible  <bruno@clisp.org>
79618         Tolerate declared but missing accept4 syscall.
79619         * lib/accept4.c (accept4): Invoke original accept4 function first, if
79620         available.
79621         * lib/sys_socket.in.h (accept4): If the function is already present,
79622         override it.
79623         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
79624         * modules/accept4 (Makefile.am): Compile accept4.c always.
79625         Reported by Paolo Bonzini and Eric Blake.
79627 2009-08-23  Bruno Haible  <bruno@clisp.org>
79629         New module 'accept4'.
79630         * lib/sys_socket.in.h (accept4): New declaration.
79631         * lib/accept4.c: New file.
79632         * m4/accept4.m4: New file.
79633         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
79634         GNULIB_ACCEPT4, HAVE_ACCEPT4.
79635         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
79636         HAVE_ACCEPT4.
79637         * modules/accept4: New file.
79638         * doc/glibc-functions/accept4.texi: Mention the new module.
79640 2009-08-24  Jim Meyering  <meyering@redhat.com>
79642         progname: also set global program_invocation_name, when possible
79643         Before this change, a libtool-enabled program that calls glibc's
79644         error function would report the program name as
79645         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
79646         * modules/progname (configure.ac): Check for a declaration of
79647         program_invocation_name.
79648         * lib/progname.c:  Include <errno.h>.
79649         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
79650         Set program_invocation_name.
79652 2009-08-23  Bruno Haible  <bruno@clisp.org>
79654         * lib/dup3.c: Include <string.h>.
79656 2009-08-23  Bruno Haible  <bruno@clisp.org>
79658         * lib/dup3.c (dup3): Test only once whether the system actually exists.
79659         * lib/pipe2.c (pipe2): Likewise.
79660         Suggested by Eric Blake.
79662 2009-08-23  Bruno Haible  <bruno@clisp.org>
79664         Tolerate declared but missing dup3 syscall.
79665         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
79666         * lib/unistd.in.h (dup3): If the function is already present,
79667         override it.
79668         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
79669         * modules/dup3 (Makefile.am): Compile dup3.c always.
79670         Reported by Paolo Bonzini.
79672 2009-08-23  Bruno Haible  <bruno@clisp.org>
79674         Tolerate declared but missing pipe2 syscall.
79675         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
79676         available.
79677         * lib/unistd.in.h (pipe2): If the function is already present,
79678         override it.
79679         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
79680         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
79681         Reported by Paolo Bonzini.
79683 2009-08-23  Bruno Haible  <bruno@clisp.org>
79685         * lib/pipe2.c (pipe2): Move #ifs inside function.
79687 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
79689         quotearg: document limitations of quote_these_too
79690         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
79691         those limitations are created.
79692         * lib/quotearg.h (set_char_quoting): Document that digits and
79693         letters that are special after backslash are not permitted.
79694         (quotearg_char): Cross-reference set_char_quoting documentation.
79696 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
79698         quotearg: implement custom_quoting_style
79699         * lib/quotearg.c: (struct quoting_options): Add left_quote and
79700         right_quote fields.
79701         (set_custom_quoting): New public function.
79702         (quotearg_buffer_restyled): Add left_quote and right_quote
79703         arguments, handle them very much like locale quoting, and update
79704         all uses.
79705         (quotearg_n_custom): New public function.
79706         (quotearg_n_custom_mem): New public function.
79707         (quotearg_custom): New public function.
79708         (quotearg_custom_mem): New public function.
79709         * lib/quotearg.h: Prototype and document new public functions.
79710         (enum quoting_style): For escape_quoting_style and
79711         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
79712         ignored even though they're otherwise like c_quoting_style.
79713         Add custom_quoting_style member and document with comparison to
79714         clocale_quoting_style.
79715         * tests/test-quotearg.c (custom_quotes): New array.
79716         (custom_results): New array.
79717         (main): Extend to test custom quoting.
79719 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
79721         quotearg: fix right quote escaping when it's in quote_these_too
79722         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
79723         quote, be sure to prepend only one backslash.
79724         * tests/test-quotearg.c (use_quote_double_quotes): New function.
79725         (main): Test it.
79727 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
79729         quotearg-tests: test escaping of embedded locale quotes
79730         * tests/test-quotearg.c (struct result_strings): Add member for
79731         new input.
79732         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
79733         (inputs): Add new input.
79734         (results_g): Add expected results.
79735         (flag_results): Likewise.
79736         (locale_results): Likewise.
79737         (compare_strings): Check those.
79739 2009-08-23  Bruno Haible  <bruno@clisp.org>
79741         Tests for module 'dup3'.
79742         * modules/dup3-tests: New file.
79743         * tests/test-dup3.c: New file.
79745         New module 'dup3'.
79746         * lib/unistd.in.h (dup3): New declaration.
79747         * lib/dup3.c: New file.
79748         * m4/dup3.m4: New file.
79749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
79750         HAVE_DUP3.
79751         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
79752         * modules/dup3: New file.
79753         * doc/glibc-functions/dup3.texi: Mention the new module.
79755 2009-08-23  Bruno Haible  <bruno@clisp.org>
79757         Tweak the dup2 test.
79758         * tests/test-dup2.c (main): Create the test file empty. Verify that an
79759         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
79760         the test file is still empty. Fix argument order of lseek.
79762 2009-08-23  Bruno Haible  <bruno@clisp.org>
79764         Avoid test link errors when the modules getopt-gnu, gettext are used.
79765         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
79766         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
79768 2009-08-23  Bruno Haible  <bruno@clisp.org>
79770         Fix getdtablesize() on mingw.
79771         * lib/getdtablesize.c (getdtablesize): Implement differently.
79772         * lib/unistd.in.h (getdtablesize): Improve comment.
79774 2009-08-23  Bruno Haible  <bruno@clisp.org>
79776         New module 'mkostemp'.
79777         Based on Ulrich Drepper's 2007-08-10 change in glibc.
79778         * lib/stdlib.in.h (mksotemp): New declaration.
79779         * lib/mkostemp.c: New file, from glibc with modifications.
79780         * lib/tempname.h (GT_FILE): Remove outdated comment.
79781         (gen_tempname): Add flags argument.
79782         * lib/tempname.c (__GT_BIGFILE): Remove macro.
79783         (__GT_FILE): Map to 1.
79784         (small_open, large_open): Remove macros.
79785         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
79786         * lib/mkstemp.c (mkstemp): Update.
79787         * lib/mkdtemp.c (mkdtemp): Likewise.
79788         * m4/mkostemp.m4: New file.
79789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
79790         HAVE_MKOSTEMP.
79791         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
79792         HAVE_MKOSTEMP.
79793         * modules/mkostemp: New file, based on modules/mkstemp.
79794         * doc/glibc-functions/mkostemp.texi: Mention the new module.
79795         * NEWS: Mention the change.
79797 2009-08-23  Bruno Haible  <bruno@clisp.org>
79799         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
79800         Reported by Eric Blake.
79802 2009-08-23  Bruno Haible  <bruno@clisp.org>
79804         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
79805         Reported by Eric Blake.
79807 2009-08-23  Bruno Haible  <bruno@clisp.org>
79809         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
79810         * modules/pipe2 (Depends-on): Likewise.
79812 2009-08-23  Eric Blake  <ebb9@byu.net>
79814         fcntl-h: add O_TTY_INIT support
79815         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
79816         * tests/test-fcntl-h.c (o): Test it.
79817         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
79819         fcntl-h: rename from fcntl, in preparation for fcntl(2)
79820         * modules/fcntl: Move <fcntl.h> header replacement...
79821         * modules/fcntl-h: ...to new name, so as not to collide with
79822         like-named function.
79823         * tests/test-fcntl.c: Rename...
79824         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
79825         * modules/fcntl-tests: Rename...
79826         * modules/fcntl-h-tests: ...to this.  Update test file name.
79827         * modules/chdir-long (Depends-on): Update clients.
79828         * modules/chdir-safer (Depends-on): Likewise.
79829         * modules/fcntl-safer (Depends-on): Likewise.
79830         * modules/fts (Depends-on): Likewise.
79831         * modules/mkancesdirs (Depends-on): Likewise.
79832         * modules/mkdir-p (Depends-on): Likewise.
79833         * modules/open (Depends-on): Likewise.
79834         * modules/savewd (Depends-on): Likewise.
79835         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
79836         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
79838 2009-08-22  Bruno Haible  <bruno@clisp.org>
79840         * modules/binary-io (License): Relicense under LGPL.
79841         * modules/pipe2 (License): Likewise.
79843 2009-08-22  Bruno Haible  <bruno@clisp.org>
79845         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
79846         return value.
79847         * lib/pipe-filter-gi.c (filter_init): Likewise.
79848         Reported by Eric Blake.
79850 2009-08-22  Bruno Haible  <bruno@clisp.org>
79852         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
79853         * modules/pipe (Depends-on): Add pipe2.
79855 2009-08-22  Bruno Haible  <bruno@clisp.org>
79857         Tests for module 'pipe2'.
79858         * modules/pipe2-tests: New file.
79859         * tests/test-pipe2.c: New file.
79861         New module 'pipe2'.
79862         * lib/unistd.in.h (pipe2): New declaration.
79863         * lib/pipe2.c: New file.
79864         * m4/pipe2.m4: New file.
79865         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
79866         HAVE_PIPE2.
79867         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
79868         * modules/pipe2: New file.
79869         * doc/glibc-functions/pipe2.texi: Mention the new module.
79871 2009-08-22  Bruno Haible  <bruno@clisp.org>
79873         Reference some new glibc functions.
79874         * doc/glibc-functions/accept4.texi: New file.
79875         * doc/glibc-functions/dup3.texi: New file.
79876         * doc/glibc-functions/mkostemp.texi: New file.
79877         * doc/glibc-functions/pipe2.texi: New file.
79878         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
79879         (Glibc sys/socket.h): Refer to accept4.
79880         (Glibc unistd.h): Refer to dup3, pipe2.
79881         Reported by Eric Blake.
79883 2009-08-22  Jim Meyering  <meyering@redhat.com>
79884             Bruno Haible  <bruno@clisp.org>
79886         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
79887         This makes it so packages using automake-1.11's silent-rules option
79888         can print e.g., a single "GEN    configmake.h" line, rather than
79889         the 30+ statements that perform the job.  If you want to see the
79890         actual commands, you can still run "make V=1".
79891         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
79892         so that make output is abbreviated when those variables are defined
79893         appropriately.
79894         * modules/argz: Likewise.
79895         * modules/arpa_inet: Likewise.
79896         * modules/byteswap: Likewise.
79897         * modules/configmake: Likewise.
79898         * modules/dirent: Likewise.
79899         * modules/errno: Likewise.
79900         * modules/fcntl: Likewise.
79901         * modules/float: Likewise.
79902         * modules/fnmatch: Likewise.
79903         * modules/getopt-posix: Likewise.
79904         * modules/glob: Likewise.
79905         * modules/iconv_open: Likewise.
79906         * modules/inttypes: Likewise.
79907         * modules/localcharset: Likewise.
79908         * modules/locale: Likewise.
79909         * modules/math: Likewise.
79910         * modules/netdb: Likewise.
79911         * modules/netinet_in: Likewise.
79912         * modules/poll: Likewise.
79913         * modules/posix_spawnp-tests: Likewise.
79914         * modules/sched: Likewise.
79915         * modules/search: Likewise.
79916         * modules/selinux-h: Likewise.
79917         * modules/signal: Likewise.
79918         * modules/spawn: Likewise.
79919         * modules/stdarg: Likewise.
79920         * modules/stdbool: Likewise.
79921         * modules/stddef: Likewise.
79922         * modules/stdint: Likewise.
79923         * modules/stdio: Likewise.
79924         * modules/stdlib: Likewise.
79925         * modules/string: Likewise.
79926         * modules/strings: Likewise.
79927         * modules/sys_file: Likewise.
79928         * modules/sys_ioctl: Likewise.
79929         * modules/sys_select: Likewise.
79930         * modules/sys_socket: Likewise.
79931         * modules/sys_stat: Likewise.
79932         * modules/sys_time: Likewise.
79933         * modules/sys_times: Likewise.
79934         * modules/sys_utsname: Likewise.
79935         * modules/sys_wait: Likewise.
79936         * modules/sysexits: Likewise.
79937         * modules/time: Likewise.
79938         * modules/unistd: Likewise.
79939         * modules/wchar: Likewise.
79940         * modules/wctype: Likewise.
79942 2009-08-22  Jim Meyering  <meyering@redhat.com>
79944         announce-gen: detect write failure
79945         * build-aux/announce-gen: Add Coda at end.
79946         Remove equivalent-but-more-verbose block at top.
79948 2009-08-19  Akim Demaille  <demaille@gostai.com>
79950         bootstrap: --help to stdout.
79951         * bootstrap (usage): Don't send --help to stderr.
79952         Use a here doc instead of a long string.
79954 2009-08-21  Eric Blake  <ebb9@byu.net>
79956         test-popen-safer: split from test-popen
79957         * tests/test-popen.c (main): Move...
79958         * tests/test-popen.h: ...into new file.
79959         * tests/test-popen-safer2.c: New file.
79960         * modules/popen-tests (Files): Add test-popen.h.
79961         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
79962         Suggested by Bruno Haible.
79964         test-fcntl-safer: split from test-open
79965         * tests/test-open.c (main): Move...
79966         * tests/test-open.h: ...into new file.
79967         * tests/test-fcntl-safer.c: New file.
79968         * modules/open-tests (Files): Add test-open.h.
79969         * modules/fcntl-safer-tests: New file.
79970         Suggested by Bruno Haible.
79972         test-fopen-safer: split from test-fopen
79973         * tests/test-fopen.c (main): Move...
79974         * tests/test-fopen.h: ...into new file.
79975         * tests/test-fopen-safer.c: New file.
79976         * modules/fopen-tests (Files): Add test-fopen.h.
79977         * modules/fopen-safer-tests: New file.
79978         Suggested by Bruno Haible.
79980 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
79982         popen-safer: test O_CLOEXEC at run-time.
79983         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
79985 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
79987         fcntl: move more flags to the header
79988         * lib/cloexec.c: Do not define FD_CLOEXEC here.
79989         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
79990         * lib/fcntl.in.h: Do both things here.
79992 2009-08-21  Jim Meyering  <meyering@redhat.com>
79994         consistently remove $@-t before redirecting to it
79995         * modules/argz: Remove $@-t and $@ before redirecting to the former.
79996         * modules/alloca-opt: Likewise.
79997         * modules/byteswap: Likewise.
79998         * modules/fnmatch: Likewise.
79999         * modules/getopt-posix: Likewise.
80000         * modules/glob: Likewise.
80001         * modules/poll: Likewise.
80002         * modules/posix_spawnp-tests: Likewise.
80003         * modules/sys_socket: Likewise.
80004         * modules/sysexits: Likewise.
80006 2009-08-21  Eric Blake  <ebb9@byu.net>
80008         popen: simplify access to original popen
80009         * lib/popen.c (rpl_popen): No need to worry about popen being a
80010         macro.
80011         Reported by Bruno Haible.
80013 2009-08-20  Eric Blake  <ebb9@byu.net>
80015         build: avoid some compiler warnings
80016         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
80017         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
80018         type.
80019         (new_exclude_segment, excluded_file_pattern_p)
80020         (excluded_file_name_p): Reduce scope.
80021         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
80022         old-style declaration.
80024 2009-08-20  Simon Josefsson  <simon@josefsson.org>
80026         * tests/test-exclude1.sh: Handle Windows EOL.
80027         * tests/test-exclude2.sh: Likewise.
80028         * tests/test-exclude3.sh: Likewise.
80029         * tests/test-exclude4.sh: Likewise.
80030         * tests/test-exclude5.sh: Likewise.
80031         * tests/test-exclude6.sh: Likewise.
80032         * tests/test-exclude7.sh: Likewise.
80034 2009-08-19  Akim Demaille  <demaille@gostai.com>
80036         bootstrap: find sha1sum when named gsha1sum.
80037         * bootstrap (find_tool): New.
80038         ($SHA1SUM): New.
80039         Use it.
80041 2009-08-20  Jim Meyering  <meyering@redhat.com>
80043         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
80044         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
80045         expression that converts "." in a file name to "\." in the resulting
80046         regexp.  Start with a dummy statement, so that prior shell variable
80047         definitions are expanded portably.  Reported by Simon Josefsson.
80049 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
80051         Fix polling for writeability of a screen buffer.
80052         * lib/poll.c: Distinguish input and screen buffers for the
80053         Win32 implementation.
80054         * lib/select.c: Likewise.
80056 2009-08-19  Eric Blake  <ebb9@byu.net>
80058         popen-safer: prevent popen from clobbering std descriptors
80059         * modules/popen-safer: New file.
80060         * lib/popen-safer.c: Likewise.
80061         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
80062         * lib/stdio--.h (popen): Provide override.
80063         * lib/stdio-safer.h (popen_safer): Provide declaration.
80064         * tests/test-popen.c (includes): Partially test this.
80065         * modules/popen-safer-tests: New file, for more tests.
80066         * tests/test-popen-safer.c: Likewise.
80067         * MODULES.html.sh (file stream based Input/Output): Mention it.
80069         tests: test some of the *-safer modules
80070         * modules/fopen-safer (Depends-on): Add fopen.
80071         * modules/fcntl-safer (Depends-on): Add fcntl.
80072         * modules/stdlib-safer (Depends-on): Add stdlib.
80073         (configure.ac): Set indicator.
80074         * modules/unistd-safer (configure.ac): Likewise.
80075         * modules/tmpfile-safer (configure.ac): Likewise.
80076         (Depends-on): Add tmpfile.
80077         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
80078         active.
80079         * tests/test-fopen.c (includes): Test safer versions when they are
80080         in use.
80081         * tests/test-open.c (includes): Likewise.
80083         popen: fix cygwin 1.5 bug when stdin closed
80084         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
80085         * modules/popen: New file.
80086         * modules/popen-tests: Likewise.
80087         * tests/test-popen.c: Likewise.
80088         * m4/popen.m4: Likewise.
80089         * lib/popen.c: Likewise.
80090         * lib/stdio.in.h (popen): New declaration.
80091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
80092         * modules/stdio (Makefile.am): Likewise.
80093         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
80095 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
80097         maint.mk: give full control over update-copyright exclusions
80098         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
80099         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
80100         (update-copyright): Don't force inclusion of top-level
80101         ChangeLog.  Don't force exclusion of all COPYING files, but make
80102         them the default exclusion instead.
80104 2009-08-16  Bruno Haible  <bruno@clisp.org>
80106         Fix test failures on Solaris 10.
80107         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
80108         tests when Solaris iconv() is used.
80109         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
80110         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
80111         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
80112         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
80113         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
80115 2009-08-16  Bruno Haible  <bruno@clisp.org>
80117         Fix test failures on Solaris 10.
80118         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
80119         'tr' program and pass it as first argument.
80120         * tests/test-pipe-filter-gi1.sh: Likewise.
80121         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
80122         program as first argument.
80123         * tests/test-pipe-filter-gi1.c (main): Likewise.
80125 2009-08-16  Eric Blake  <ebb9@byu.net>
80127         fpurge: fix previous commits
80128         * modules/fpurge (Makefile.am): Make replacement conditional,
80129         partially reverting 2007-04-29 change; missed in previous
80130         attempt.
80131         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
80132         is missing.
80134 2009-08-16  Bruno Haible  <bruno@clisp.org>
80136         Clarify fpurge's effect on the file position.
80137         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
80138         * tests/test-fpurge.c (main): Make a second pass for checking the file
80139         position.
80141 2009-08-16  Bruno Haible  <bruno@clisp.org>
80143         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
80144         declaration of fpurge is missing.
80145         * tests/test-fpurge.c (main): Check that the file has not more contents
80146         than expected. Close the file before removing it.
80148 2009-08-15  Eric Blake  <ebb9@byu.net>
80150         fpurge: don't wrap working cygwin implementation
80151         * lib/fpurge.c (fpurge): Fix comment typo.
80152         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
80153         1.7 to avoid replacement.
80154         * tests/test-fpurge.c (main): Enhance test.
80156 2009-08-15  Eric Blake  <ebb9@byu.net>
80157         and Jim Meyering  <meyering@redhat.com>
80159         test-update-copyright: skip if perl is insufficient
80160         * tests/test-update-copyright.sh: Failure to run maintainer tool
80161         should not cause testsuite failure on cygwin 1.5.
80163 2009-08-14  Eric Blake  <ebb9@byu.net>
80165         doc: mention more functions added in cygwin 1.7.0
80166         * doc/posix-headers/limits.texi (limits.h): Update for recent
80167         cygwin additions.
80168         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
80169         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
80170         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
80171         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
80172         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
80174 2009-08-14  Eric Blake  <ebb9@byu.net>
80176         maint.mk: simplify update-copyright rule
80177         * top/maint.mk (update-copyright-local): Delete, and document how
80178         to do it in cfg.mk instead.
80179         (update-copyright-exclude-regexp): Delete, and document how to do
80180         it in .x-update-copyright instead.
80181         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
80182         exclude ChangeLog.
80184 2009-08-14  Bruno Haible  <bruno@clisp.org>
80186         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
80188 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
80190         maint.mk: support update-copyright-env
80191         * top/maint.mk (update-copyright-env): Define place-holder.
80192         (update-copyright): Expand $(update-copyright-env) before
80193         invoking update-copyright.
80195 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
80197         update-copyright: implement forced reformatting
80198         * build-aux/update-copyright: Implement and document
80199         UPDATE_COPYRIGHT_FORCE.
80200         * tests/test-update-copyright.sh: Test it.
80202 2009-08-14  Eric Blake  <ebb9@byu.net>
80203         and Bruno Haible  <bruno@clisp.org>
80205         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
80206         * tests/test-locale.c: Revert previous patch related to NULL.
80207         * tests/test-stdio.c: Likewise.
80208         * tests/test-stdlib.c: Likewise.
80209         * tests/test-string.c: Likewise.
80210         * tests/test-unistd.c: Likewise.
80211         * modules/time-tests (Depends-on): Add verify.
80212         * modules/wchar-tests (Depends-on): Likewise.
80213         * tests/test-time.c: Test for NULL compliance.
80214         * tests/test-wchar.c: Likewise.
80215         * modules/locale (Depends-on): Add stddef.
80216         * modules/stdio (Depends-on): Likewise.
80217         * modules/stdlib (Depends-on): Likewise.
80218         * modules/string (Depends-on): Likewise.
80219         * modules/time (Depends-on): Likewise.
80220         * modules/unistd (Depends-on): Likewise.
80221         * modules/wchar (Depends-on): Likewise.
80222         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
80223         * lib/stdlib.in.h (includes): Likewise.
80224         * lib/string.in.h (includes): Likewise.
80225         * lib/time.in.h (includes): Likewise.
80226         * lib/unistd.in.h (includes): Likewise.
80227         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
80228         replaced.
80229         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
80230         * m4/stddef_h.m4: New file.
80231         * modules/stddef: Likewise.
80232         * lib/stddef.in.h: Likewise.
80233         * modules/stddef-tests: Likewise.
80234         * tests/test-stddef.c: Likewise.
80235         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
80236         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
80237         * doc/posix-headers/locale.texi (locale.h): Likewise.
80238         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
80239         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
80240         * doc/posix-headers/string.texi (string.h): Likewise.
80241         * doc/posix-headers/time.texi (time.h): Likewise.
80242         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
80243         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
80245 2009-08-14  Eric Blake  <ebb9@byu.net>
80247         doc: improve git diff of texinfo files
80248         * .gitattributes: Add rule for *.texi files, with hint on how to
80249         use it.
80250         Copied from m4, and based on a report by Bruno Haible.
80252 2009-08-14  Bruno Haible  <bruno@clisp.org>
80254         Disable multithread support by default on Cygwin 1.5.x for real.
80255         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
80257 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
80259         update-copyright: much ado about intervals
80260         * build-aux/update-copyright: Implement and document
80261         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
80262         of copyright year intervals.
80263         Also, document UPDATE_COPYRIGHT_YEAR.
80264         * tests/test-update-copyright.sh: Test it.
80266         update-copyright: convert 2-digit to 4-digit years
80267         * build-aux/update-copyright: Implement and document.
80268         * tests/test-update-copyright.sh: Update.
80270 2009-08-14  Jim Meyering  <meyering@redhat.com>
80272         test-exclude: avoid coreutils "make check" failure
80273         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
80274         just as in test-argmatch.c.
80276 2009-08-13  Eric Blake  <ebb9@byu.net>
80278         test-dup2: fix bad assumption
80279         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
80280         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
80282         test-version-etc: fix CRLF portability issue
80283         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
80284         recognize \r.
80285         * tests/test-argp-version-etc-1.sh: Likewise.
80287         getopt: update client modules
80288         * modules/argp (Depends-on): Use getopt-gnu.
80289         * modules/git-merge-changelog (Depends-on): Likewise.
80290         * modules/long-options (Depends-on): Likewise.
80291         * modules/xstrtol (Depends-on): Likewise.
80293 2009-08-13  Simon Josefsson  <simon@josefsson.org>
80295         * tests/test-version-etc.sh: Don't fail on different
80296         project/version.  Don't fail on CRLF differences.  Rewrite to use
80297         multiple -e instead of multiple sed forks, suggested by Eric Blake
80298         <ebb9@byu.net>.
80299         * tests/test-argp-version-etc-1.sh: Likewise.
80301 2009-08-13  Simon Josefsson  <simon@josefsson.org>
80303         * tests/test-version-etc.sh: Don't fail on different
80304         project/version.
80306 2009-08-12  Bruno Haible  <bruno@clisp.org>
80308         Tests for modules 'getopt-posix', 'getopt-gnu'.
80309         * modules/getopt-posix-tests: New file.
80310         * tests/test-getopt.c: New file.
80311         * tests/test-getopt.h: New file.
80312         * tests/test-getopt_long.h: New file.
80314         New modules 'getopt-posix', 'getopt-gnu'.
80315         * modules/getopt-gnu: New file, renamed from modules/getopt.
80316         * modules/getopt-posix: New file.
80317         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
80318         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
80319         (gl_GETOPT): Remove macro.
80320         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
80321         Disable the test against BSD systems that declare optreset. Test
80322         against mingw bug. Test against lack of support of optional arguments
80323         on many platforms.
80324         * doc/glibc-headers/getopt.texi: Update module name and list of
80325         relevant platforms.
80326         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
80327         'getopt-gnu' and more portability problems.
80328         * NEWS: Mention the changes.
80330 2009-08-12  Bruno Haible  <bruno@clisp.org>
80332         Ensure that optarg etc. get declared by <unistd.h>.
80333         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
80334         AC_USE_SYSTEM_EXTENSIONS.
80335         * modules/getopt (Depends-on): Add 'extensions'.
80337 2009-08-12  Bruno Haible  <bruno@clisp.org>
80339         Avoid test link errors.
80340         * modules/pipe-filter-ii-tests (Makefile.am): Define
80341         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
80342         * modules/pipe-filter-gi-tests (Makefile.am): Define
80343         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
80344         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
80346 2009-08-12  Bruno Haible  <bruno@clisp.org>
80348         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
80349         gl_GETOPT_SUBSTITUTE before.
80350         (gl_GETOPT): Use it.
80351         * m4/argp.m4 (gl_ARGP): Update.
80352         Reported by Sergey Poznyakoff.
80354         * m4/getopt.m4: Reorder macros.
80355         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
80356         (gl_GETOPT_SUBSTITUTE): Remove macro.
80358 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
80360         Minor improvement in gitlog-to-changelog
80362         * build-aux/gitlog-to-changelog: New option `--format' makes
80363         output format string configurable.
80365 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
80367         Optimize exclude: use hash tables for non-wildcard patterns.
80369         * lib/exclude.c: Include hash.h and mbuiter.h
80370         (struct exclude_pattern, exclude_segment): New data types.
80371         (struct exclude): Rewrite.
80372         (fnmatch_pattern_has_wildcards): New function.
80373         (new_exclude_segment, free_exclude_segment): New functions.
80374         (excluded_file_pattern_p, excluded_file_name_p): New functions.
80375         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
80376         * lib/exclude.h (is_fnmatch_pattern): New prototype.
80377         * modules/exclude: Depend on hash and mbuiter.
80379         * modules/exclude-tests: New file.
80380         * tests/test-exclude.c: New file.
80381         * tests/test-exclude1.sh: New file.
80382         * tests/test-exclude2.sh: New file.
80383         * tests/test-exclude3.sh: New file.
80384         * tests/test-exclude4.sh: New file.
80385         * tests/test-exclude5.sh: New file.
80386         * tests/test-exclude6.sh: New file.
80387         * tests/test-exclude7.sh: New file.
80389 2009-08-12  Bruno Haible  <bruno@clisp.org>
80391         Ensure that getopt() gets declared by <unistd.h>.
80392         * lib/unistd.in.h: Conditionally include getopt.h.
80393         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
80394         Set GNULIB_UNISTD_H_GETOPT.
80395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
80396         GNULIB_UNISTD_H_GETOPT.
80397         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
80399 2009-08-12  Bruno Haible  <bruno@clisp.org>
80401         Clarify logic.
80402         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
80403         gl_replace_getopt instead of GETOPT_H.
80405 2009-08-12  Bruno Haible  <bruno@clisp.org>
80407         * m4/getopt.m4: Add comments.
80409 2009-08-12  Bruno Haible  <bruno@clisp.org>
80411         Disable multithread support by default on Cygwin 1.5.x.
80412         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
80413         set gl_use_threads=no if not specified otherwise.
80415 2009-08-11  Bruno Haible  <bruno@clisp.org>
80417         Avoid compilation error on NetBSD 5.0.
80418         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
80419         * tests/test-stdio.c: Likewise.
80420         * tests/test-stdlib.c: Likewise.
80421         * tests/test-string.c: Likewise.
80422         * tests/test-unistd.c: Likewise.
80423         Reported by Greg Troxel <gdt@ir.bbn.com>
80424         at <https://savannah.gnu.org/support/?106973>.
80426 2009-08-11  Bruno Haible  <bruno@clisp.org>
80428         * modules/dup2-tests (Depends-on): Remove close.
80430         Undo 2009-07-19 commit.
80431         * modules/acl-tests (Depends-on): Remove close.
80432         * modules/binary-io-tests (Depends-on): Likewise.
80433         * modules/closein-tests (Depends-on): Likewise.
80434         * modules/flock-tests (Depends-on): Likewise.
80435         * modules/fsync-tests (Depends-on): Likewise.
80436         * modules/lseek-tests (Depends-on): Likewise.
80437         * modules/pipe-tests (Depends-on): Likewise.
80438         * modules/posix_spawn-tests (Depends-on): Likewise.
80439         * modules/posix_spawnp-tests (Depends-on): Likewise.
80440         * modules/stat-time-tests (Depends-on): Likewise.
80441         * modules/yesno-tests (Depends-on): Likewise.
80443 2009-08-10  Bruno Haible  <bruno@clisp.org>
80445         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
80447 2009-08-10  Bruno Haible  <bruno@clisp.org>
80449         Fix a gcc warning.
80450         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
80452 2009-08-10  Bruno Haible  <bruno@clisp.org>
80454         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
80455         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
80456         not only the first time.
80457         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
80458         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
80459         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
80460         is 1, not only the first time.
80462 2009-08-10  Bruno Haible  <bruno@clisp.org>
80464         Make it possible to use module 'gethostname' without module 'close'.
80465         * lib/unistd.in.h (close): Evoke a link error only if
80466         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
80467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
80468         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
80469         * modules/unistd (Makefile.am): Substitute
80470         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
80471         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
80472         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
80473         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
80474         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
80475         * modules/sys_ioctl (Makefile.am): Substitute
80476         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
80477         * modules/socket (configure.ac): On native Windows, set
80478         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
80479         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
80480         Reported by Sam Steingold <sds@gnu.org>.
80482 2009-08-10  Bruno Haible  <bruno@clisp.org>
80484         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
80485         * modules/ioctl (configure.ac): Likewise.
80487 2009-08-10  Bruno Haible  <bruno@clisp.org>
80489         Avoid collision between gnulib wrapper and libintl wrapper.
80490         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
80491         already defined in intl/printf.c.
80492         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
80493         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
80495 2009-08-09  Bruno Haible  <bruno@clisp.org>
80497         Make <sys/select.h> really self-contained, also on Solaris 10.
80498         * lib/sys_select.in.h: Include <string.h>.
80499         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
80500         Solaris 10 problem.
80501         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
80502         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
80503         Reported by Jim Meyering.
80505 2009-08-09  Bruno Haible  <bruno@clisp.org>
80507         Avoid warnings from 'aclocal' that are due to a use of macro name
80508         AM_XGETTEXT_OPTION that is not defined in automake.
80509         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
80510         automake.
80511         * modules/error (configure.ac): Likewise.
80512         * modules/propername (configure.ac): Likewise.
80513         * modules/vasprintf (configure.ac): Likewise.
80514         * modules/verror (configure.ac): Likewise.
80515         * modules/xprintf (configure.ac): Likewise.
80516         * modules/xvasprintf (configure.ac): Likewise.
80518 2009-08-08  Bruno Haible  <bruno@clisp.org>
80520         Avoid compilation error in C++ mode.
80521         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
80522         Reported by Sam Steingold <sds@gnu.org>.
80524 2009-08-08  Bruno Haible  <bruno@clisp.org>
80526         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
80527         for the various Unix platforms.
80528         * doc/posix-headers/limits.texi: Update platforms list regarding
80529         HOST_NAME_MAX.
80530         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
80532 2009-08-07  Jim Meyering  <meyering@redhat.com>
80534         selinux-at: fix typo in a comment
80535         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
80536         Spotted by Paolo Bonzini.
80538         selinux-at: remove redundant m4 code, add documentation
80539         * modules/selinux-at (configure.ac): Remove redundant code.
80540         LIB_SELINUX is already set via the dependent module, selinux-h.
80541         (Include): Add quotes around selinux-at.h.
80542         * lib/selinux-at.h: Add documentation.
80543         Reported by Bruno Haible in
80544         http://marc.info/?l=gnulib-bug&m=124958988300749
80546 2009-08-07  Bruno Haible  <bruno@clisp.org>
80548         Avoid link error on MacOS X 10.3 and 10.4.
80549         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
80550         on non-ELF systems.
80551         * lib/argp-pv.c (argp_program_version): Likewise.
80552         Reported by Simon Josefsson.
80554 2009-08-07  Simon Josefsson  <simon@josefsson.org>
80556         * tests/test-version-etc.sh: Use $EXEEXT.
80558 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
80560         update-copyright: update documentation to point to maint.mk
80561         * build-aux/update-copyright: Here.
80563 2009-08-06  Jim Meyering  <meyering@redhat.com>
80565         maint.mk: support update-copyright-local
80566         * top/maint.mk (update-copyright-local): Define place-holder.
80567         (update-copyright): Depend on $(update-copyright-local).
80569 2009-08-06  Jim Meyering  <meyering@redhat.com>
80571         selinux-at: new module
80572         Initially written for coreutils, this module will soon be
80573         used by findutils, too.
80574         * MODULES.html.sh [Misc]: Add selinux-at.
80575         * lib/selinux-at.h: New file, from coreutils.
80576         * lib/selinux-at.c: Likewise.
80577         * modules/selinux-at: Likewise.
80578         (License): Change from LGPL to GPL, since it depends
80579         on the GPL'd openat module.
80581         doc: update README
80582         * README: Remove references to cogito.
80583         Remove cvs-repo-updating instructions from 2007.
80584         Don't imply that CVS is better if you have limited disk space.
80586 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
80588         update-copyright: support C-style comments
80589         * build-aux/update-copyright: Implement and document.
80590         * tests/test-update-copyright.sh: Test.
80592 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
80594         update-copyright: support omitted "(C)"
80595         * build-aux/update-copyright: Implement and document.  Also,
80596         allow variable whitespace before "(C)".
80597         * tests/test-update-copyright.sh: Test.
80599 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
80601         update-copyright: don't trip on non-FSF copyright statements
80602         * build-aux/update-copyright: Fix so that the first correctly
80603         formatted FSF copyright statement is recognized no matter what
80604         appears before it.  Update documentation.
80605         * tests/test-update-copyright.sh: Test that.
80607 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
80609         update-copyright: clean up code a little
80610         * build-aux/update-copyright: Append "_re" to the name of any
80611         variable holding a regular expression.
80612         Replace "old" and "new" with "stmt" in variable names.
80613         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
80614         handled correctly.
80615         Format code more consistently.
80617 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
80619         update-copyright-tests: improve portability
80620         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
80621         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
80623 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
80625         update-copyright: support @copyright{} and &copy;
80626         * build-aux/update-copyright: Implement and document.
80627         * tests/test-update-copyright.sh: Test.
80629 2009-08-04  Jim Meyering  <meyering@redhat.com>
80631         update-copyright-tests: correctly test EOL=\r\n handling
80632         * tests/test-update-copyright.sh: Put \r at the end of some lines
80633         for the dos-eol tests.  Based on a patch by Joel E. Denny.
80635         maint.mk: make update-copyright exclusion list more configurable
80636         * top/maint.mk (update-copyright): Default to excluding COPYING,
80637         but allow an override, in case someone does want to update that file.
80639         maint.mk: don't update copyright date in COPYING
80640         * top/maint.mk (update-copyright): Exclude COPYING.
80642         maint.mk: add a copyright-updating rule
80643         * top/maint.mk (update-copyright): New rule.
80644         Derived from coreutils/Makefile.am.
80646         update-copyright: rename some variables
80647         * build-aux/update-copyright: Rename a few variables for clarity.
80648         Tweak syntax.  List Joel E. Denny as coauthor.
80650 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
80652         update-copyright: fix bug for 2-digit last year and add tests
80653         * build-aux/update-copyright: Fix bug.
80654         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
80655         specified.
80656         * modules/update-copyright-tests: New
80657         * tests/test-update-copyright.sh: New.
80659 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
80661         update-copyright: handle leading tabs in line prefix
80662         * build-aux/update-copyright: Count leading tabs as 8 spaces
80663         when computing margin.  This helps with the formatting of
80664         ChangeLogs, for example.
80665         Fix documentation a little.
80667 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
80669         update-copyright: support EOL=\r\n
80670         * build-aux/update-copyright: Implement that.
80672 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
80674         update-copyright: automatically format copyright statements
80675         * build-aux/update-copyright: Implement that.
80676         Also, be a little more predictable and safer by always failing
80677         when the full copyright format is not perfectly recognized as an
80678         unbroken whole.  Discussed at
80679         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
80680         Rewrite documentation.
80682 2009-08-03  Bruno Haible  <bruno@clisp.org>
80684         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
80686 2009-08-02  Bruno Haible  <bruno@clisp.org>
80688         Tests for module 'uname'.
80689         * modules/uname-tests: New file.
80690         * tests/test-uname.c: New file.
80692         New module 'uname'.
80693         * lib/uname.c: New file.
80694         * m4/uname.m4: New file.
80695         * modules/uname: New file.
80696         * doc/posix-functions/uname.texi: Mention the new module.
80698 2009-08-02  Bruno Haible  <bruno@clisp.org>
80700         Tests for module 'sys_utsname'.
80701         * modules/sys_utsname-tests: New file.
80702         * tests/test-sys_utsname.c: New file.
80704         New module 'sys_utsname'.
80705         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
80706         * m4/sys_utsname_h.m4: New file.
80707         * modules/sys_utsname: New file.
80708         * doc/posix-headers/sys_utsname.texi: Mention the new module.
80710 2009-08-02  Bruno Haible  <bruno@clisp.org>
80712         Implicitly initialize the sockets library.
80713         * lib/gethostname.c: Include sockets.h.
80714         (rpl_gethostname): Invoke gl_sockets_startup.
80715         * lib/socket.c: Include sockets.h.
80716         (rpl_socket): Invoke gl_sockets_startup.
80717         * modules/gethostname (Depends-on): Add sockets.
80718         * modules/socket (Depends-on): Likewise.
80719         * tests/test-poll.c: Don't include sockets.h.
80720         (main): Don't invoke gl_sockets_startup.
80721         * tests/test-select.c: Don't include sockets.h.
80722         (main): Don't invoke gl_sockets_startup.
80724 2009-08-02  Bruno Haible  <bruno@clisp.org>
80726         Allow multiple calls to gl_sockets_startup.
80727         * lib/sockets.c (initialized_sockets_version): New variable.
80728         (gl_sockets_startup): Do nothing if already called for this or a higher
80729         version.
80730         (gl_sockets_cleanup): Reset initialized_sockets_version.
80732 2009-08-03  Simon Josefsson  <simon@josefsson.org>
80734         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
80735         different project/version.
80737 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
80738             Bruno Haible  <bruno@clisp.org>
80740         Tests for module 'pipe-filter-gi'.
80741         * modules/pipe-filter-gi-tests: New file.
80742         * tests/test-pipe-filter-gi1.sh: New file.
80743         * tests/test-pipe-filter-gi1.c: New file.
80744         * tests/test-pipe-filter-gi2.sh: New file.
80745         * tests/test-pipe-filter-gi2-main.c: New file.
80746         * tests/test-pipe-filter-gi2-child.c: New file.
80748         New module 'pipe-filter-gi'.
80749         * lib/pipe-filter-gi.c: New file.
80750         * modules/pipe-filter-gi: New file.
80752 2009-08-02  Bruno Haible  <bruno@clisp.org>
80753             Paolo Bonzini  <bonzini@gnu.org>
80755         Tests for module 'pipe-filter-ii'.
80756         * modules/pipe-filter-ii-tests: New file.
80757         * tests/test-pipe-filter-ii1.sh: New file.
80758         * tests/test-pipe-filter-ii1.c: New file.
80759         * tests/test-pipe-filter-ii2.sh: New file.
80760         * tests/test-pipe-filter-ii2-main.c: New file.
80761         * tests/test-pipe-filter-ii2-child.c: New file.
80763         New module 'pipe-filter-ii'.
80764         * lib/pipe-filter.h: New file.
80765         * lib/pipe-filter-ii.c: New file.
80766         * lib/pipe-filter-aux.h: New file.
80767         * modules/pipe-filter-ii: New file.
80769 2009-08-02  Simon Josefsson  <simon@josefsson.org>
80771         * lib/gc-libgcrypt.c: Change copyright to FSF.
80772         * lib/gc-gnulib.c: Likewise.
80774 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
80776         * lib/gethostname.c: Include limits.h.
80778 2009-08-02  Simon Josefsson  <simon@josefsson.org>
80779             Bruno Haible  <bruno@clisp.org>
80781         Ensure HOST_NAME_MAX as part of the gethostname module.
80782         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
80783         define also HOST_NAME_MAX.
80784         * tests/test-gethostname.c: Include <limits.h>.
80785         (main): Check also HOST_NAME_MAX.
80786         * doc/posix-headers/limits.texi: Document the mingw problem.
80788 2009-08-02  Bruno Haible  <bruno@clisp.org>
80790         * lib/gethostname.c (gethostname): Fix handling of large len argument.
80791         Add comments.
80793 2009-03-31  Simon Josefsson  <simon@josefsson.org>
80795         * lib/gethostname.c: Add Windows wrapper.
80796         * m4/gethostname.m4: Look for gethostname in -lws2_32.
80797         * modules/gethostname: Depend on sys_socket & errno, for also
80798         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
80799         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
80801 2009-07-31  Jim Meyering  <meyering@redhat.com>
80803         getloadavg: fix symbol name in comment
80804         * lib/getloadavg.c: Correct a typo I introduced when adding
80805         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
80806         Matt Kraai spotted the problem.
80808 2009-07-29  Matt Kraai  <mkraai@beckman.com>
80810         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
80811         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
80812         code also if ! defined N_NAME_POINTER.
80813         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
80814         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
80815         but the n_name member is a 12-byte array.
80817 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
80819         update-copyright: generalize comment handling
80820         * build-aux/update-copyright: Handle copyright statements
80821         within more comment styles.
80822         Document usage.
80823         Report any file with an external copyright holder or parse failure.
80825 2009-07-29  Jim Meyering  <meyering@redhat.com>
80827         mktime: correct setting of REPLACE_MKTIME
80828         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
80830         update-copyright: new module
80831         * modules/update-copyright: New file.
80832         * build-aux/update-copyright: New file.
80833         * MODULES.html.sh (maint+release support): Add update-copyright.
80835 2009-07-27  Bruno Haible  <bruno@clisp.org>
80837         Fix compilation error when <ctime> is used and mktime is replaced.
80838         * lib/time.in.h (mktime): New declaration.
80839         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
80840         REPLACE_MKTIME instead of defining mktime in config.h.
80841         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
80842         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
80843         Reported by Ross McFarland <rwmcfa1@neces.com>.
80845 2009-07-27  Bruno Haible  <bruno@clisp.org>
80847         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
80848         Reported by Matt Kraai <mkraai@beckman.com>.
80850 2009-07-25  Jim Meyering  <meyering@redhat.com>
80852         maint.mk: avoid warnings about missing files
80853         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
80854         diagnostic when .prev-version does not exist.
80855         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
80856         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
80857         nonexistent cfg.mk.
80858         Suggestions from Simon Josefsson.
80860 2009-07-25  Bruno Haible  <bruno@clisp.org>
80862         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
80863         defined as macros. Needed on QNX 6.4.1.
80864         Reported by Matt Kraai <mkraai@beckman.com>.
80866 2009-07-23  Jim Meyering  <meyering@redhat.com>
80868         maint.mk: invoke "make dist" with a working value of XZ_OPT
80869         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
80871 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
80873         Make fseeko.c compile on QNX.
80874         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
80876 2009-07-22  Peter Simons  <simons@cryp.to>
80878         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
80879         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
80880         * lib/md4.h: Likewise.
80881         * lib/md5.h: Likewise.
80882         * lib/sha1.h: Likewise.
80883         * lib/sha256.h: Likewise.
80884         * lib/sha512.h: Likewise.
80886         tests-sha1: don't assign literal string to 'char *' variable
80887         * tests/test-sha1.c (main): Declare locals with "const" to match
80888         attributes of the right hand side.
80890 2009-07-21  Eric Blake  <ebb9@byu.net>
80892         dup2: fix more mingw problems
80893         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
80894         fd to itself.
80895         * doc/posix-functions/dup2.texi (dup2): Document the bug.
80896         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
80897         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
80898         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
80899         care of mingw bugs.
80901 2009-07-21  Jim Meyering  <meyering@redhat.com>
80903         vc-list-files: avoid failure when /bin/sh is dash
80904         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
80905         On some Debian based systems, /bin/sh is a symlink to dash, and running
80906         this command would omit the "/" following each 'tests' prefix:
80907           dash -x build-aux/vc-list-files -C . tests
80908         That is because bash and dash work differently:
80909           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
80910           bash ok
80911           dash odd
80913 2009-07-21  Eric Blake  <ebb9@byu.net>
80915         dup2-tests: test previous patch
80916         * modules/dup2-tests: New file.
80917         * tests/test-dup2.c: Likewise.
80918         * tests/test-open.c (main): Avoid unspecified behavior.
80919         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
80920         test.
80922         dup2: work around mingw and cygwin 1.5 bug
80923         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
80924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80925         * modules/unistd (Makefile.am): Substitute it.
80926         * lib/unistd.in.h (dup2): Declare the replacement.
80927         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
80928         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
80929         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
80930         * modules/execute (Depends-on): Add dup2.
80931         * modules/fseterr (Depends-on): Likewise.
80932         * modules/pipe (Depends-on): Likewise.
80933         * modules/posix_spawn-internal (Depends-on): Likewise.
80935 2009-07-21  Bruno Haible  <bruno@clisp.org>
80937         * modules/.gitattributes: New file.
80939 2009-07-20  Bruno Haible  <bruno@clisp.org>
80941         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
80942         (main): Use it.
80944 2009-07-20  Eric Blake  <ebb9@byu.net>
80946         test-pipe: make a bit more robust.
80947         * tests/test-pipe.c (myerr): Allow error messages regardless of
80948         what we do to stderr.
80949         (test_pipe): Rearrange to avoid deadlock.
80950         (child_main): Try a larger read, to ensure we avoided deadlock.
80951         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
80952         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
80953         if misused.
80955 2009-07-19  Jim Meyering  <meyering@redhat.com>
80957         fts: avoid false-positive cycle-detection
80958         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
80959         for each new command line argument.
80961 2009-07-19  Bruno Haible  <bruno@clisp.org>
80963         Fix build error on mingw with the modules sys_select and unistd.
80964         * modules/acl-tests (Depends-on): Add close.
80965         * modules/binary-io-tests (Depends-on): Likewise.
80966         * modules/closein-tests (Depends-on): Likewise.
80967         * modules/flock-tests (Depends-on): Likewise.
80968         * modules/fsync-tests (Depends-on): Likewise.
80969         * modules/lseek-tests (Depends-on): Likewise.
80970         * modules/pipe-tests (Depends-on): Likewise.
80971         * modules/posix_spawn-tests (Depends-on): Likewise.
80972         * modules/posix_spawnp-tests (Depends-on): Likewise.
80973         * modules/stat-time-tests (Depends-on): Likewise.
80974         * modules/yesno-tests (Depends-on): Likewise.
80976 2009-07-19  Bruno Haible  <bruno@clisp.org>
80978         Unify conditionals.
80979         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
80980         macros, not at the compiler macros.
80981         * lib/pipe.c: Likewise.
80982         * lib/execute.c: Likewise.
80983         * lib/spawni.c: Likewise.
80985 2009-07-19  Bruno Haible  <bruno@clisp.org>
80987         Fix handling of closed stdin/stdout/stderr on mingw.
80988         * lib/w32spawn.h: Include unistd.h.
80989         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
80990         file descriptor with O_NOINHERIT flag.
80991         (fd_safer_noinherit): New function, based on fd-safer.c.
80992         (dup_safer_noinherit): New function, based on dup-safer.c.
80993         (undup_safer_noinherit): New function.
80994         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
80995         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
80996         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
80997         instead of fd_safer.
80998         * tests/test-pipe.c: Include <windows.h>.
80999         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
81000         result.
81002         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
81003         from main.
81004         (test_pipe): Pass an extra argument for disambiguation.
81005         (main): Invoke parent_main or child_main.
81007         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
81008         consistently.
81010 2009-07-18  Eric Blake  <ebb9@byu.net>
81012         test-pipe: fix mingw build
81013         * tests/test-pipe.c (main): Avoid fcntl on mingw.
81015 2009-07-18  Bruno Haible  <bruno@clisp.org>
81017         * modules/pipe-tests (Makefile.am): Fix typo.
81019 2009-07-18  Eric Blake  <ebb9@byu.net>
81021         error: fix mingw build
81022         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
81023         Reported by Bruno Haible.
81025         error: avoid undefined use of stdout
81026         * lib/error.c (error, error_at_line): Check that fd 1 is open
81027         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
81028         is handling faults and the close_stdout module wants to report the
81029         detection of closed stdout as an error.
81031 2009-07-17  Eric Blake  <ebb9@byu.net>
81033         pipe: be robust in face of closed fds
81034         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
81035         should cause child to misbehave.
81036         * modules/pipe-tests: New module.
81037         * tests/test-pipe.c: New file.
81038         * tests/test-pipe.sh: New file.
81039         Reported by Akim Demaille.
81041 2009-07-14  Bruno Haible  <bruno@clisp.org>
81043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
81044         Reported by anonymous kc.
81046 2009-07-07  Jim Meyering  <meyering@redhat.com>
81048         maint.mk: don't look for translatable strings in *.m4 or *.mk
81049         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
81050         when searching for translatable strings.
81052 2009-07-05  Jim Meyering  <meyering@redhat.com>
81054         remove superfluous parentheses in STREQ definition
81055         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
81056         * lib/getugroups.c (STREQ): Likewise.
81057         * lib/fnmatch.c (STREQ): Likewise.
81058         Spotted by Bruno Haible.
81060 2009-07-04  Jim Meyering  <meyering@redhat.com>
81062         argv-iter: new module
81063         * MODULES.html.sh: Add argv-iter.
81064         * lib/argv-iter.c, lib/argv-iter.h: New files.
81065         * modules/argv-iter: New file.
81066         * modules/argv-iter-tests: New file.
81067         * tests/test-argv-iter.c: Test it.
81069 2009-07-04  Bruno Haible  <bruno@clisp.org>
81071         Fix assertion.
81072         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
81073         contains more exact copies of a given entry than file2, leave the extra
81074         copies unpaired rather than aborting.
81075         Reported by Eric Blake.
81077 2009-07-02  Bruno Haible  <bruno@clisp.org>
81079         Speedup git-merge-changelog for git cherry-pick.
81080         * lib/git-merge-changelog.c (struct entries_mapping): New type.
81081         (entries_mapping_get): New function, extracted from compute_mapping.
81082         (entries_mapping_reverse_get): New function.
81083         (compute_mapping): Add a 'full' argument. Return the result in a
81084         'struct entries_mapping'.
81085         (main): Update. Access the mappings through entries_mapping_get.
81086         Reported by Eric Blake.
81088 2009-07-02  Bruno Haible  <bruno@clisp.org>
81090         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
81091         best_i.
81093 2009-07-02  Bruno Haible  <bruno@clisp.org>
81095         Speed up approximate search for matching ChangeLog entries.
81096         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
81097         argument. Call fstrcmp_bounded instead of fstrcmp.
81098         (compute_mapping, try_split_merged_entry, main): Update callers.
81100 2009-07-02  Bruno Haible  <bruno@clisp.org>
81102         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
81104 2009-06-30  Bruno Haible  <bruno@clisp.org>
81106         Reduce the number of uc_is_cased calls.
81107         * lib/unicase.h (casing_suffix_context_t): Add
81108         'first_char_except_ignorable' field.
81109         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
81110         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
81111         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
81112         Update initializer.
81113         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
81114         case-ignorable characters.
81115         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
81116         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
81117         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
81118         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
81119         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
81121 2009-06-30  Bruno Haible  <bruno@clisp.org>
81123         Tests for module 'unicase/ignorable'.
81124         * modules/unicase/ignorable-tests: New file.
81125         * tests/unicase/test-ignorable.c: New file, generated by
81126         gen-uni-tables.
81128         Tests for module 'unicase/cased'.
81129         * modules/unicase/cased-tests: New file.
81130         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
81131         * tests/unicase/test-predicate-part1.h: New file, derived from
81132         tests/unictype/test-predicate-part1.h.
81133         * tests/unicase/test-predicate-part2.h: New file, same as
81134         tests/unictype/test-predicate-part2.h.
81136         Fix evaluation of "Before C" condition of FINAL_SIGMA.
81137         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
81138         (output_casing_properties): New function.
81139         (main): Call it.
81140         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
81141         * lib/unicase/cased.c: Include unictype/bitmap.h.
81142         (uc_is_cased): Define through a bitmap lookup.
81143         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
81144         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
81145         (uc_is_case_ignorable): Define through a bitmap lookup.
81146         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
81147         lib/unictype/bitmap.h.
81148         (Depends-on): Add inline. Clean up.
81149         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
81150         lib/unictype/bitmap.h.
81151         (Depends-on): Add inline. Clean up.
81152         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
81153         recognition.
81154         * tests/unicase/test-u16-tolower.c (main): Likewise.
81155         * tests/unicase/test-u32-tolower.c (main): Likewise.
81157 2009-06-30  Bruno Haible  <bruno@clisp.org>
81159         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
81160         * lib/unicase/u16-casemap.c: Likewise.
81161         * lib/unicase/u32-casemap.c: Likewise.
81163 2009-06-29  Bruno Haible  <bruno@clisp.org>
81165         Define u32_casefold as a wrapper around u32_ct_casefold.
81166         * lib/unicase/u32-casefold.c: Update.
81167         * modules/unicase/u32-casefold (Depends-on): Add
81168         unicase/u32-ct-casefold, unicase/empty-prefix-context,
81169         unicase/empty-suffix-context. Clean up.
81171         Define u16_casefold as a wrapper around u16_ct_casefold.
81172         * lib/unicase/u16-casefold.c: Update.
81173         * modules/unicase/u16-casefold (Depends-on): Add
81174         unicase/u16-ct-casefold, unicase/empty-prefix-context,
81175         unicase/empty-suffix-context. Clean up.
81177         Define u8_casefold as a wrapper around u8_ct_casefold.
81178         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
81179         * lib/unicase/u8-casefold.c: Update.
81180         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
81181         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
81183         Define u32_totitle as a wrapper around u32_ct_totitle.
81184         * lib/unicase/u32-totitle.c: Update.
81185         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
81186         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
81188         Define u16_totitle as a wrapper around u16_ct_totitle.
81189         * lib/unicase/u16-totitle.c: Update.
81190         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
81191         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
81193         Define u8_totitle as a wrapper around u8_ct_totitle.
81194         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
81195         functions.
81196         (FUNC): Delegate to U_CT_TOTITLE.
81197         * lib/unicase/u8-totitle.c: Update.
81198         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
81199         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
81201         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
81202         invocation.
81203         * modules/unicase/u32-tolower (Depends-on): Add
81204         unicase/empty-prefix-context, unicase/empty-suffix-context.
81206         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
81207         invocation.
81208         * modules/unicase/u16-tolower (Depends-on): Add
81209         unicase/empty-prefix-context, unicase/empty-suffix-context.
81211         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
81212         * modules/unicase/u8-tolower (Depends-on): Add
81213         unicase/empty-prefix-context, unicase/empty-suffix-context.
81215         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
81216         invocation.
81217         * modules/unicase/u32-toupper (Depends-on): Add
81218         unicase/empty-prefix-context, unicase/empty-suffix-context.
81220         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
81221         invocation.
81222         * modules/unicase/u16-toupper (Depends-on): Add
81223         unicase/empty-prefix-context, unicase/empty-suffix-context.
81225         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
81226         * modules/unicase/u8-toupper (Depends-on): Add
81227         unicase/empty-prefix-context, unicase/empty-suffix-context.
81229         New module 'unicase/u32-ct-casefold'.
81230         * lib/unicase/u32-ct-casefold.c: New file.
81231         * modules/unicase/u32-ct-casefold: New file.
81233         New module 'unicase/u16-ct-casefold'.
81234         * lib/unicase/u16-ct-casefold.c: New file.
81235         * modules/unicase/u16-ct-casefold: New file.
81237         New module 'unicase/u8-ct-casefold'.
81238         * lib/unicase/u8-ct-casefold.c: New file.
81239         * lib/unicase/u-ct-casefold.h: New file, derived from
81240         lib/unicase/u-casefold.h.
81241         * modules/unicase/u8-ct-casefold: New file.
81243         New module 'unicase/u32-ct-totitle'.
81244         * lib/unicase/u32-ct-totitle.c: New file.
81245         * modules/unicase/u32-ct-totitle: New file.
81247         New module 'unicase/u16-ct-totitle'.
81248         * lib/unicase/u16-ct-totitle.c: New file.
81249         * modules/unicase/u16-ct-totitle: New file.
81251         New module 'unicase/u8-ct-totitle'.
81252         * lib/unicase/u8-ct-totitle.c: New file.
81253         * lib/unicase/u-ct-totitle.h: New file, derived from
81254         lib/unicase/u-totitle.h.
81255         * modules/unicase/u8-ct-totitle: New file.
81257         New module 'unicase/u32-ct-tolower'.
81258         * lib/unicase/u32-ct-tolower.c: New file.
81259         * modules/unicase/u32-ct-tolower: New file.
81261         New module 'unicase/u16-ct-tolower'.
81262         * lib/unicase/u16-ct-tolower.c: New file.
81263         * modules/unicase/u16-ct-tolower: New file.
81265         New module 'unicase/u8-ct-tolower'.
81266         * lib/unicase/u8-ct-tolower.c: New file.
81267         * modules/unicase/u8-ct-tolower: New file.
81269         New module 'unicase/u32-ct-toupper'.
81270         * lib/unicase/u32-ct-toupper.c: New file.
81271         * modules/unicase/u32-ct-toupper: New file.
81273         New module 'unicase/u16-ct-toupper'.
81274         * lib/unicase/u16-ct-toupper.c: New file.
81275         * modules/unicase/u16-ct-toupper: New file.
81277         New module 'unicase/u8-ct-toupper'.
81278         * lib/unicase/u8-ct-toupper.c: New file.
81279         * modules/unicase/u8-ct-toupper: New file.
81281         Add context arguments to u*_casemap functions.
81282         * lib/unicase/unicasemap.h: Include unicase.h.
81283         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
81284         suffix_context arguments.
81285         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
81286         functions.
81287         (FUNC): Add prefix_context and suffix_context arguments. Use
81288         uc_is_cased and uc_is_case_ignorable.
81289         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
81290         * lib/unicase/u16-casemap.c: Likewise.
81291         * lib/unicase/u32-casemap.c: Likewise.
81292         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
81293         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
81294         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
81295         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
81296         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
81297         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
81299         New module 'unicase/u32-suffix-context'.
81300         * lib/unicase/u32-suffix-context.c: New file.
81301         * modules/unicase/u32-suffix-context: New file.
81303         New module 'unicase/u16-suffix-context'.
81304         * lib/unicase/u16-suffix-context.c: New file.
81305         * modules/unicase/u16-suffix-context: New file.
81307         New module 'unicase/u8-suffix-context'.
81308         * lib/unicase/u8-suffix-context.c: New file.
81309         * lib/unicase/u-suffix-context.h: New file.
81310         * modules/unicase/u8-suffix-context: New file.
81312         New module 'unicase/empty-suffix-context'.
81313         * lib/unicase/empty-suffix-context.c: New file.
81314         * modules/unicase/empty-suffix-context: New file.
81316         New module 'unicase/u32-prefix-context'.
81317         * lib/unicase/u32-prefix-context.c: New file.
81318         * modules/unicase/u32-prefix-context: New file.
81320         New module 'unicase/u16-prefix-context'.
81321         * lib/unicase/u16-prefix-context.c: New file.
81322         * modules/unicase/u16-prefix-context: New file.
81324         New module 'unicase/u8-prefix-context'.
81325         * lib/unicase/u8-prefix-context.c: New file.
81326         * lib/unicase/u-prefix-context.h: New file.
81327         * lib/unicase/context.h: New file.
81328         * modules/unicase/u8-prefix-context: New file.
81330         New module 'unicase/empty-prefix-context'.
81331         * lib/unicase/empty-prefix-context.c: New file.
81332         * modules/unicase/empty-prefix-context: New file.
81334         New module 'unicase/ignorable'.
81335         * lib/unicase/ignorable.c: New file.
81336         * modules/unicase/ignorable: New file.
81338         New module 'unicase/cased'.
81339         * lib/unicase/caseprop.h: New file.
81340         * lib/unicase/cased.c: New file.
81341         * modules/unicase/cased: New file.
81343         New functions for case mapping of substrings.
81344         * lib/unicase.h (casing_prefix_context_t): New type.
81345         (unicase_empty_prefix_context): New variable.
81346         (u8_casing_prefix_context, u16_casing_prefix_context,
81347         u32_casing_prefix_context, u8_casing_prefixes_context,
81348         u16_casing_prefixes_context, u32_casing_prefixes_context): New
81349         declarations.
81350         (casing_suffix_context_t): New type.
81351         (unicase_empty_suffix_context): New variable.
81352         (u8_casing_suffix_context, u16_casing_suffix_context,
81353         u32_casing_suffix_context, u8_casing_suffixes_context,
81354         u16_casing_suffixes_context, u32_casing_suffixes_context,
81355         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
81356         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
81357         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
81358         declarations.
81360 2009-06-28  Jim Meyering  <meyering@redhat.com>
81362         boostrap: indent only with spaces
81363         * build-aux/bootstrap: Indent only with spaces, never TABs.
81365         bootstrap: split long lines
81366         * build-aux/bootstrap: Keep line length < 80.
81368         bootstrap: sync from coreutils
81369         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
81370         just as autoreconf does.  Verify a list of prerequisite
81371         package-name,version-number pairs if defined in bootstrap.conf.
81372         Refer to README-prereq, if prerequisites are not satisfied.
81374 2009-06-27  Eric Blake  <ebb9@byu.net>
81376         tests: add test for bogus NULL definition
81377         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
81378         * tests/test-stdlib.c: Likewise.
81379         * tests/test-string.c: Likewise.
81380         * tests/test-locale.c: Likewise.
81381         * tests/test-unistd.c: Likewise.
81382         * modules/stdio-tests (Depends-on): Add verify.
81383         * modules/stdlib-tests (Depends-on): Likewise.
81384         * modules/string-tests (Depends-on): Likewise.
81385         * modules/locale-tests (Depends-on): Likewise.
81386         * modules/unistd-tests (Depends-on): Likewise.
81388 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
81390         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
81391         self-explaining comment.
81392         * m4/selinux-selinux-h: Update serial.
81393         (gl_LIBSELINUX): New macro, adding a warning for missing development
81394         packages to code extracted from...
81395         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
81396         Add warning for missing development packages here, too.
81398 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
81400         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
81402 2009-06-25  Eric Blake  <ebb9@byu.net>
81404         version-etc: fix regression
81405         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
81406         gcc.
81407         (version_etc): Use it, to catch bugs with trailing NULL.
81408         * lib/version-etc.c (version_etc_arn): Delete unused argument.
81409         (version_etc_va): Fix logic bug.
81410         * modules/version-etc-tests: Add test.
81411         * tests/test-version-etc.c: New file.
81412         * tests/test-version-etc.sh: Likewise.
81414 2009-06-25  Sam Steingold  <sds@gnu.org>
81416         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
81417         mbtowc declaration.
81419 2009-06-25  Eric Blake  <ebb9@byu.net>
81421         fpurge: migrate into <stdio.h>
81422         * lib/fpurge.h: Delete...
81423         * lib/stdio.in.h (fpurge): ...and declare here, instead.
81424         * lib/fpurge.c (fpurge): Change declaring header.
81425         * modules/fpurge (Files): Drop deleted file.
81426         (Depends-on): Add stdio.
81427         (configure.ac): Set witness.
81428         * modules/stdio (Makefile.am): Support fpurge macros.
81429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
81430         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
81431         * lib/fflush.c: Update client.
81432         * tests/test-fpurge.c: Likewise.
81433         * NEWS: Mention the change.
81435 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81437         * lib/argp-version-etc.c (program_authors): Add const
81438         qualifier.
81439         * lib/version-etc.c: Fix typos in the comments.
81440         * modules/argp-version-etc: Depends on version-etc.
81442 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81444         argp-version-etc: new module.
81446         * lib/argp-version-etc.c: New file.
81447         * lib/argp-version-etc.h: New file.
81448         * modules/argp-version-etc: New file.
81449         * modules/argp-version-etc-tests: New file.
81450         * tests/test-argp-version-etc.c: New test.
81451         * tests/test-argp-version-etc-1.sh: New test.
81453 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81455         Provide additional interfaces and documentation for version-etc
81456         module.
81458         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
81459         interfaces.
81460         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
81461         prototypes.
81463 2009-06-24  Bruno Haible  <bruno@clisp.org>
81465         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
81466         HAVE_LIB${NAME} macro.
81467         Reported by Sam Steingold <sds@gnu.org>.
81469 2009-06-23  Simon Josefsson  <simon@josefsson.org>
81471         * modules/hash-tests (test_hash_LDADD): Link to libintl when
81472         needed.
81474 2009-06-21  Bruno Haible  <bruno@clisp.org>
81476         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
81477         work.
81478         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
81479         together with LIB${NAME}, LTLIB${NAME}.
81480         Reported by Sam Steingold <sds@gnu.org>.
81482 2009-06-20  Jim Meyering  <meyering@redhat.com>
81484         tests: make sc_require_test_exit_idiom more generic
81485         * top/maint.mk (Exit_witness_file): New overridable variable.
81486         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
81487         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
81489 2009-06-19  Jim Meyering  <meyering@redhat.com>
81491         hash: reverse order of src/dst parameters in an internal interface
81492         * lib/hash.c (transfer_entries): Reverse order of parameters to
81493         put DST before SRC.  Adjust callers.
81495         tests: test-hash: avoid wholesale duplication
81496         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
81497         Instead, use a loop and add a single conditional.
81499         tests: test-hash: allow seed selection via a command line argument
81500         * tests/test-hash.c (get_seed): New function.
81501         (main): Use it.
81503 2009-06-19  Eric Blake  <ebb9@byu.net>
81505         hash: avoid memory leak on allocation failure
81506         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
81507         failure.  Factor repeated algorithm...
81508         (transfer_entries): ...into new helper routine.
81509         (hash_delete): React to hash_rehash return value.
81511         hash: reduce memory pressure in hash_rehash no-op case
81512         * lib/hash.c (next_prime): Avoid overflow.
81513         (hash_initialize): Factor bucket size computation...
81514         (compute_bucket_size): ...into new helper function.
81515         (hash_rehash): Use new function and open coding to reduce memory
81516         pressure, and avoid a memory leak in USE_OBSTACK code.
81517         Reported by Jim Meyering.
81519 2009-06-18  Eric Blake  <ebb9@byu.net>
81521         hash: make rotation more obvious
81522         * modules/hash (Depends-on): Add bitrotate and stdint.
81523         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
81524         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
81525         (SIZE_MAX): Rely on headers for definition.
81526         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
81527         (raw_hasher): Use rotr_sz.
81528         Suggested by Jim Meyering.
81530         hash: fix memory leak in last patch
81531         * lib/hash.c (hash_rehash): Avoid memory leak.
81533         hash: avoid no-op rehashing
81534         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
81536         hash: provide default callback functions
81537         * lib/hash.c (raw_hasher, raw_comparator): New functions.
81538         (hash_initialize): Use them as defaults.
81539         * tests/test-hash.c (main): Test this.
81541         hash: minor optimization
81542         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
81543         when possible.
81544         (hash_initialize): Document this promise.
81545         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
81546         * tests/test-hash.c (hash_compare_strings): Test this.
81548 2009-06-18  Bruno Haible  <bruno@clisp.org>
81550         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
81551         going to be replaced anyway.
81553 2009-06-18  Bruno Haible  <bruno@clisp.org>
81555         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
81556         in one place.
81557         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
81558         be replaced anyway.
81560 2009-06-18  Eric Blake  <ebb9@byu.net>
81562         hash: check for resize before insertion
81563         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
81564         threshold before insertion, so that a pathological hash_rehash
81565         that fills every bucket can still trigger another rehash.
81567 2009-06-18  Jim Meyering  <meyering@redhat.com>
81569         hash-tests: add a loop around the small tests
81570         * tests/test-hash.c (main): Repeat small tests with selected
81571         small initial table sizes.
81573 2009-06-17  Eric Blake  <ebb9@byu.net>
81575         hash: minor cleanups
81576         * lib/hash.h (hash_entry): Make opaque, by moving...
81577         * lib/hash.c (hash_entry): ...here.
81578         (hash_insert): Clarify restrictions on what can be inserted.
81579         (hash_get_next): Clarify when it is safe to remove an element
81580         during traversal.
81581         (check_tuning): Skip verification when tuning is known safe.
81582         (hash_initialize): Clarify restrictions on tuning.
81584 2009-06-17  Jim Meyering  <jim@meyering.net>
81585         and Eric Blake  <ebb9@byu.net>
81587         hash-tests: new module
81588         * modules/hash-tests: New file.
81589         * tests/test-hash.c: New file.
81591 2009-06-17  Eric Blake  <ebb9@byu.net>
81593         strstr-simple: document new module
81594         * MODULES.html.sh: Document new module.
81596         strstr, strcasestr: replace on platforms with broken memchr
81597         * modules/strstr: Split into...
81598         * modules/strstr-simple: ...new module that does not care about
81599         performance, but does care about glibc bug.
81600         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
81601         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
81602         if platform memchr is broken, per Debian bug 521737.
81603         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
81604         memchr.
81605         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
81606         * doc/posix-functions/strstr.texi (strstr): Document the fix.
81607         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
81608         * modules/mountlist (Depends-on): Add strstr-simple.
81609         * modules/gen-uni-tables (Depends-on): Likewise.
81610         * modules/argz (Depends-on): Add strstr.
81612 2009-06-17  Bruno Haible  <bruno@clisp.org>
81614         * modules/posix_spawn-internal (Depends-on): Add errno.
81616 2009-06-17  Bruno Haible  <bruno@clisp.org>
81618         Define missing ESTALE on Interix 3.5.
81619         * lib/errno.in.h (ESTALE): Assign a value if missing.
81620         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
81621         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
81622         missing.
81623         * doc/posix-headers/errno.texi: Mention the Interix bug.
81624         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
81626 2009-06-15  Eric Blake  <ebb9@byu.net>
81628         memchr, memchr2: add valgrind exception
81629         * lib/memchr.valgrind: New file.
81630         * lib/memchr2.valgrind: New file.
81631         * modules/memchr (Files): Distribute valgrind file.
81632         * modules/memchr2 (Files): Likewise.
81634         docs: memchr is no longer obsolete
81635         * MODULES.html.sh: Move memchr from obsolete to string.h section.
81636         * lib/string.in.h (memchr): Simplify logic.
81638 2009-06-14  Jim Meyering  <meyering@redhat.com>
81640         link-follow: fix the "checking..." message to not mention trailing slash
81641         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
81642         never considered trailing slashes.
81644 2009-06-14  Bruno Haible  <bruno@clisp.org>
81646         * m4/memchr.m4: Mention also the bug on IA-64.
81647         * doc/posix-functions/memchr.texi: Likewise.
81649 2009-06-12  Eric Blake  <ebb9@byu.net>
81651         memchr: detect broken x86_64 and alpha implementations
81652         * modules/memchr-tests (Depends-on): Move mmap detection...
81653         * modules/memchr (Depends-on): ...here.
81654         (configure.ac): Set indicator.
81655         * lib/string.in.h (memchr): Declare replacement.
81656         * modules/string (Makefile.am): Trigger replacement.
81657         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
81658         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
81659         bugs.
81660         * doc/posix-functions/memchr.texi (memchr): Document the bug.
81661         * modules/getpagesize (License): Relax license.
81663 2009-06-11  Bruno Haible  <bruno@clisp.org>
81665         * lib/idpriv.h: Add more references.
81667 2009-06-08  Bruno Haible  <bruno@clisp.org>
81669         Tests for module 'idpriv-droptemp'.
81670         * modules/idpriv-droptemp-tests: New file.
81671         * tests/test-idpriv-droptemp.sh: New file.
81672         * tests/test-idpriv-droptemp.su.sh: New file.
81673         * tests/test-idpriv-droptemp.c: New file.
81675         New module 'idpriv-droptemp'.
81676         * lib/idpriv-droptemp.c: New file.
81677         * modules/idpriv-droptemp: New file.
81679 2009-06-08  Bruno Haible  <bruno@clisp.org>
81681         Tests for module 'idpriv-drop'.
81682         * modules/idpriv-drop-tests: New file.
81683         * tests/test-idpriv-drop.sh: New file.
81684         * tests/test-idpriv-drop.su.sh: New file.
81685         * tests/test-idpriv-drop.c: New file.
81687         New module 'idpriv-drop'.
81688         * lib/idpriv.h: New file.
81689         * lib-idpriv-drop.c: New file.
81690         * m4/idpriv.m4: New file.
81691         * modules/idpriv-drop: New file.
81693 2009-06-08  Bruno Haible  <bruno@clisp.org>
81695         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
81696         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
81697         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
81698         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
81699         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
81700         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
81701         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
81703 2009-06-08  Eric Blake  <ebb9@byu.net>
81705         test-strstr: use memory fence, when possible
81706         * tests/test-strstr.c (main): Use memory fence, in order to be
81707         more likely to trigger Debian bug 521737.
81708         * modules/strstr-tests (Files): Pull in additional files.
81710         memchr: no longer obsolete, for wider field testing
81711         * modules/memchr (Status, Notice): Delete, this module is no
81712         longer obsolete.
81713         * modules/vasnprintf (Depends-on): Add memchr.
81715 2009-06-07  Jim Meyering  <meyering@redhat.com>
81717         hash: declare some functions with the warn_unused_result attribute
81718         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
81720 2009-06-07  Bruno Haible  <bruno@clisp.org>
81722         * tests/test-alignof.c: Don't test int64_t if it does not exist.
81723         Reported by Eric Blake.
81725 2009-06-06  Eric Blake  <ebb9@byu.net>
81727         test-alignof: fix typo with long double
81728         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
81729         compiler error.
81731 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
81733         Escape non-texinfo { and }s.
81734         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
81735         markup error.
81737 2009-06-04  Jim Meyering  <meyering@redhat.com>
81739         gitlog-to-changelog: don't infloop on an empty commit log
81740         * build-aux/gitlog-to-changelog: Warn about an empty log message.
81741         Reported by Boris Petersen <transacid@centerim.org>.
81743 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
81745         version-etc: extend for packagers
81746         Add three new configure options, intended for packagers:
81747           --with-packager="packager name"
81748           --with-packager-version="packager-specific version"
81749           --with-packager-bug-reports="packager bug reporting"
81750         An example with coreutils:
81751           $ ./configure \
81752             --with-packager=Gentoo \
81753             --with-packager-bug-report=http://bugs.gentoo.org/ \
81754             --with-packager-version="patchset 1.6"
81755           $ ./src/ls --version | head -n2
81756           ls (GNU coreutils) 7.1-dirty
81757           Packaged by Gentoo (patchset 1.6)
81758         Note that the bug reporting info via --help doesn't show up because
81759         coreutils uses its own custom emit_bug_reporting_address() implementation
81760         in src/system.h.  If it didn't, it'd look like:
81761           $ ./src/ls --help | tail -n4
81762           Report bugs to <bug-coreutils@gnu.org>.
81763           Report Gentoo bugs to <http://bugs.gentoo.org/>.
81764           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
81765           General help using GNU software: <http://www.gnu.org/gethelp/>.
81766         * lib/version-etc.c: Print new information, if provided.
81767         * m4/version-etc.m4: New file.
81768         * modules/version-etc (Files): Add m4/version-etc.m4.
81769         (configure.ac): Add gl_VERSION_ETC.
81771 2009-05-31  Bruno Haible  <bruno@clisp.org>
81773         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
81774         and 'int64_t'.
81775         * modules/alignof-tests (Dependencies): Add stdint.
81776         Reported by Eric Blake.
81778 2009-05-31  Bruno Haible  <bruno@clisp.org>
81780         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
81781         restriction due to compiler bugs.
81782         Reported by Eric Blake.
81784 2009-05-31  Simon Josefsson  <simon@josefsson.org>
81785             Bruno Haible  <bruno@clisp.org>
81787         Fix test-alignof failure.
81788         * lib/alignof.h (alignof_slot): New macro.
81789         (alignof_type): New macro, with the same semantics as the previous
81790         'alignof'.
81791         (alignof): Alias to alignof_slot.
81792         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
81793         check that the results are usable as constant expressions.
81795 2009-05-31  Bruno Haible  <bruno@clisp.org>
81797         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
81798         * tests/test-memchr.c (main): Check that memchr does not read past the
81799         first occurrence of the byte.
81800         * tests/test-strstr.c (main): Update comment.
81801         Suggested by Eric Blake.
81803 2009-05-30  Bruno Haible  <bruno@clisp.org>
81805         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
81806         detail how to use dumpbin.
81807         Reported by David Byron <dbyron@dbyron.com>.
81809 2009-06-02  Simon Josefsson  <simon@josefsson.org>
81811         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
81813 2009-06-02  Simon Josefsson  <simon@josefsson.org>
81815         * m4/manywarnings.m4: Add GCC 4.4 warnings.
81817 2009-05-28  Bruno Haible  <bruno@clisp.org>
81819         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
81820         build-aux/ files.
81822 2009-05-28  Simon Josefsson  <simon@josefsson.org>
81824         * gnulib-tool (func_import): Transform license on build-aux/ files too.
81826 2009-05-27  Simon Josefsson  <simon@josefsson.org>
81828         * gnulib-tool (sed_transform_main_lib_file)
81829         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
81830         regexps.
81832 2009-05-26  Simon Josefsson  <simon@josefsson.org>
81834         * tests/test-strstr.c: Add another self-test.
81835         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
81836         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
81838 2009-05-23  Bruno Haible  <bruno@clisp.org>
81840         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
81841         change.
81843 2009-05-21  Bruno Haible  <bruno@clisp.org>
81845         Simplify use of mode_t varargs.
81846         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
81847         uses 'mode_t' or 'int'.
81848         * lib/openat.c (openat): Likewise.
81849         * lib/open-safer.c (open_safer): Likewise.
81850         * m4/mode_t.m4: New file.
81851         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
81852         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
81853         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
81854         * modules/open (Files): Add m4/mode_t.m4.
81855         * modules/openat (Files): Likewise.
81856         * modules/fcntl-safer (Files): Likewise.
81857         Suggested by Eric Blake.
81859 2009-05-21  Pádraig Brady  <P@draigbrady.com>
81861         * doc/glibc-functions/fallocate.texi: New file.
81862         * doc/gnulib.texi: Include it.
81864 2009-05-21  Eric Blake  <ebb9@byu.net>
81865             Bruno Haible  <bruno@clisp.org>
81867         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
81868         invocations.
81869         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
81871 2009-05-21  Eric Blake  <ebb9@byu.net>
81872             Bruno Haible  <bruno@clisp.org>
81874         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
81875         include_next. Fix of 2008-11-20 commit.
81876         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
81877         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
81878         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
81879         NEXT_MATH_H.
81880         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
81881         instead of NEXT_MATH_H.
81883 2009-05-21  Bruno Haible  <bruno@clisp.org>
81885         Avoid redefinition warnings for SIZE_MAX.
81886         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
81887         Reported by Simon Josefsson.
81889 2009-05-21  Bruno Haible  <bruno@clisp.org>
81891         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
81892         AC_CACHE_VAL.
81894 2009-05-20  Bruno Haible  <bruno@clisp.org>
81896         Make zeroptr.h work on mingw.
81897         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
81898         mprotect.
81899         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
81900         * modules/memchr2-tests (configure.ac): Likewise.
81901         * modules/memcmp-tests (configure.ac): Likewise.
81902         * modules/memmem-tests (configure.ac): Likewise.
81903         * modules/memrchr-tests (configure.ac): Likewise.
81904         Reported by Simon Josefsson.
81906 2009-05-20  Simon Josefsson  <simon@josefsson.org>
81908         * tests/test-glob.c: Include string.h for strcmp prototype.
81910 2009-05-20  Simon Josefsson  <simon@josefsson.org>
81912         * modules/getdelim (Depends-on): Add explicit stdint, although it
81913         was implicitly already pulled in via realloc-posix.
81914         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
81916 2009-05-20  Simon Josefsson  <simon@josefsson.org>
81918         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
81919         G. Christensen" <tgc@jupiterrise.com>.
81920         * m4/sys_socket_h.m4: Check for sa_family_t.
81921         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
81922         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
81923         * tests/test-sys_socket.c: Check that sa_family_t works.
81925 2009-05-18  Eric Blake  <ebb9@byu.net>
81927         maint.mk: allow gnulib_dir in VPATH build
81928         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
81930 2009-05-15  Jim Meyering  <meyering@redhat.com>
81932         maint.mk: Give gnulib_dir a default definition.
81933         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
81934         Thus, most packages no longer need to specify this variable in cfg.mk
81936 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
81938         rename.m4: fix typos that would make non-mingw cross-configure fail
81939         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
81941 2009-05-13  Eric Blake  <ebb9@byu.net>
81943         mmap-anon: avoid out-of-order autoconf expansion
81944         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
81945         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
81946         * modules/memchr-tests (Depends-on): Add extensions.
81947         * modules/memchr2-tests (Depends-on): Add extensions.
81948         * modules/memcmp-tests (Depends-on): Add extensions.
81949         * modules/memmem-tests (Depends-on): Add extensions.
81950         * modules/memrchr-tests (Depends-on): Add extensions.
81952 2009-05-13  Bruno Haible  <bruno@clisp.org>
81954         Make some tests ISO C 99 compliant.
81955         * tests/zerosize-ptr.h: New file.
81956         * tests/test-memchr.c: Include zerosize-ptr.h.
81957         (main): Use a zero-size object pointer instead of NULL.
81958         * tests/test-memchr2.c: Include zerosize-ptr.h.
81959         (main): Use a zero-size object pointer instead of NULL.
81960         * tests/test-memcmp.c: Include zerosize-ptr.h.
81961         (main): Use a zero-size object pointer instead of NULL.
81962         * tests/test-memmem.c: Include zerosize-ptr.h.
81963         (main): Use a zero-size object pointer instead of NULL.
81964         * tests/test-memrchr.c: Include zerosize-ptr.h.
81965         (main): Use a zero-size object pointer instead of NULL.
81966         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
81967         m4/mmap-anon.m4.
81968         (Depends-on): Add getpagesize.
81969         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
81970         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
81971         m4/mmap-anon.m4.
81972         (Depends-on): Add getpagesize.
81973         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
81974         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
81975         m4/mmap-anon.m4.
81976         (Depends-on): Add getpagesize.
81977         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
81978         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
81979         m4/mmap-anon.m4.
81980         (Depends-on): Add getpagesize.
81981         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
81982         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
81983         m4/mmap-anon.m4.
81984         (Depends-on): Add getpagesize.
81985         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
81987 2009-05-12  Bruno Haible  <bruno@clisp.org>
81989         Tests for module 'alignof'.
81990         * modules/alignof-tests: New file.
81991         * tests/test-alignof.c: New file.
81993 2009-05-12  Bruno Haible  <bruno@clisp.org>
81995         Fix alignof macro.
81996         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
81997         vendor compilers that are always correct.
81999 2009-05-12  Bruno Haible  <bruno@clisp.org>
82001         Make the MAP_ANONYMOUS detection work on HP-UX 11.
82002         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
82003         not whether its fully works.
82005 2009-05-12  Bruno Haible  <bruno@clisp.org>
82007         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
82009 2009-05-12  Jim Meyering  <meyering@redhat.com>
82011         * top/maint.mk: Adjust backslash alignment.
82013 2009-05-11  Simon Josefsson  <simon@josefsson.org>
82015         * top/maint.mk: Make $(srcdir)/build-aux configurable.
82017 2009-05-11  Eric Blake  <ebb9@byu.net>
82019         argp: avoid undefined behavior
82020         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
82021         macros.
82023 2009-05-08  Simon Josefsson  <simon@josefsson.org>
82025         * tests/test-vc-list-files-git.sh: Do git config of user.email and
82026         user.name to prevent git commit from complaining.
82028 2009-05-10  Bruno Haible  <bruno@clisp.org>
82030         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
82031         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
82032         it rewrites every file name only once.
82033         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
82035 2009-05-08  Bruno Haible  <bruno@clisp.org>
82037         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
82038         instead of 'max'.
82040 2009-05-08  Simon Josefsson  <simon@josefsson.org>
82042         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
82043         sockaddr_storage test.
82045 2009-05-07  Simon Josefsson  <simon@josefsson.org>
82047         * modules/sys_socket (Makefile.am): Substitute
82048         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
82049         * m4/sys_socket_h.m4: Check for sockaddr_storage.
82050         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
82051         * tests/test-sys_socket.c: Check sockaddr_storage.
82053 2009-05-08  Bruno Haible  <bruno@clisp.org>
82055         New module 'alignof'.
82056         * lib/alignof.h: New file.
82057         * modules/alignof: New file.
82059 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82060             Bruno Haible  <bruno@clisp.org>
82062         Fix test-file-has-acl on FreeBSD.
82063         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
82064         mask is implicitly added.
82065         * tests/test-file-has-acl.c: Include <signal.h>.
82066         (main): Terminate the test after 5 seconds.
82067         * modules/acl-tests (configure.ac): Check for alarm function.
82069 2009-05-04  Bruno Haible  <bruno@clisp.org>
82071         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
82072         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
82073         * modules/errno (configure.ac): Drop AC_REQUIRE.
82074         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
82075         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
82077 2009-05-04  Simon Josefsson  <simon@josefsson.org>
82079         * modules/glob-tests: New module.
82080         * tests/test-glob.c: Add.
82082 2009-05-04  Simon Josefsson  <simon@josefsson.org>
82084         * modules/fnmatch-tests: New module.
82085         * tests/test-fnmatch.c: Add.
82087 2009-05-04  Eric Blake  <ebb9@byu.net>
82089         maint: make the new no-submodule-changes rule VPATH-safe
82090         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
82092 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82093             Bruno Haible  <bruno@clisp.org>
82095         acl: Fix infinite loop on FreeBSD.
82096         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
82097         of return value from acl_get_entry.
82098         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
82099         Likewise.
82101 2009-05-03  Bruno Haible  <bruno@clisp.org>
82103         * lib/acl-internal.h (acl_entries): Clarify return value.
82104         * lib/acl_entries.c (acl_entries): Likewise.
82106 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82108         Bug fix in acl module.
82109         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
82111 2009-05-03  Bruno Haible  <bruno@clisp.org>
82113         Create gperf-generated file in the source dir, not in the build dir.
82114         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
82115         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
82116         * modules/unicase/locale-language (unicase/locale-languages.h):
82117         Likewise.
82118         * modules/unicase/special-casing (unicase/special-casing-table.h):
82119         Likewise.
82120         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
82121         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
82122         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
82123         Reported by Ralf Wildenhues.
82125 2009-05-03  Bruno Haible  <bruno@clisp.org>
82127         * modules/fnmatch (Description, configure.ac): Taken from
82128         fnmatch-posix.
82129         * modules/fnmatch-posix: Turn into a symbolic reference to the
82130         'fnmatch' module, and deprecate.
82131         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
82133 2009-05-03  Bruno Haible  <bruno@clisp.org>
82135         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
82136         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
82137         Reported by Ralf Wildenhues.
82139 2009-05-04  Simon Josefsson  <simon@josefsson.org>
82141         * m4/fnmatch.m4: Fix fnmatch re-define.
82143 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82145         priv-set: new module and tests; adapt write-any-file
82146         * lib/priv-set.c: New file.
82147         * lib/priv-set.h: New file.
82148         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
82149         * lib/write-any-file.c: Simplify by using priv-set module.
82150         * m4/priv-set.m4: New file.
82151         * modules/priv-set: New file.
82152         * modules/unlinkdir: Add dependency on priv-set module.
82153         * modules/write-any-file: Likewise.
82155         Tests for module 'priv-set'.
82156         * modules/priv-set-tests: New file.
82157         * tests/test-priv-set.c: New file.
82159 2009-05-03  Jim Meyering  <meyering@redhat.com>
82160             Bruno Haible  <bruno@clisp.org>
82162         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
82163         use the converted UTF-8 variant of the name instead.
82165 2009-05-03  Jim Meyering  <meyering@redhat.com>
82167         tests: tighten some getdate tests
82168         * tests/test-getdate.c (main): Tighten tests: require equality,
82169         not just greater than.  Set TZ envvar to UTC0.
82171 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
82173         getdate: correctly interpret "next monday" when run on a Monday
82174         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
82175         that e.g., "next tues" (when run on a tuesday) results in a date
82176         that is one week in the future, and not today's date.
82177         I.e., add a week when the wday is the same as the current one.
82178         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
82179         and earlier by Martin Bernreuther and Jan Minář.
82180         * tests/test-getdate.c (main): Check that "next DAY" is always in
82181         the future and that "last DAY" is always in the past.
82183 2009-05-02  Jim Meyering  <meyering@redhat.com>
82185         build: ensure that a release build fails when a submodule is unclean
82186         * top/maint.mk (no-submodule-changes): New rule.
82187         (alpha beta major): Depend on it.
82189 2009-05-02  Bruno Haible  <bruno@clisp.org>
82191         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
82192         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
82193         shell variable gl_fnmatch_required to detect which variant is
82194         requested.
82195         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
82196         gl_FUNC_FNMATCH_POSIX.
82197         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
82198         exclude fnmatch-posix.
82200 2009-05-02  Bruno Haible  <bruno@clisp.org>
82202         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
82203         * modules/mbsrtowcs (License): Change to LGPLv2+.
82204         * modules/strnlen1 (License): Likewise.
82205         Reported by Simon Josefsson.
82207 2009-05-02  Bruno Haible  <bruno@clisp.org>
82209         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
82210         "cross".
82211         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
82212         gnulib-tool was called with option --source-base=lib.
82214 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82216         Use automake *-local hooks without commands, for extensibility.
82217         * modules/localcharset (Makefile.am): Rename install-exec-local
82218         rule to install-exec-localcharset, and make it a prerequisite of
82219         install-exec-local.  Likewise, rename the uninstall-local rule to
82220         uninstall-localcharset, and make it a prerequisite of the former.
82222 2009-05-01  Bruno Haible  <bruno@clisp.org>
82224         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
82225         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
82226         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
82227         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
82228         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
82229         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
82230         m4/locale-zh.m4, m4/codeset.m4.
82232         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
82233         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
82234         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
82235         m4/locale-zh.m4.
82237         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
82238         REPLACE_WCRTOMB if mbstate_t must be replaced.
82239         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
82240         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
82242 2009-05-01  Bruno Haible  <bruno@clisp.org>
82244         Avoid compiler warnings when redefining macros defined by <libintl.h>.
82245         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
82246         dngettext, dcngettext, textdomain, bindtextdomain,
82247         bind_textdomain_codeset): Undefine before redefining.
82249 2009-04-30  Bruno Haible  <bruno@clisp.org>
82251         Fix bug introduced on 2009-04-25.
82252         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
82253         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
82254         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
82255         is defined.
82256         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
82257         is defined.
82258         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
82259         is defined.
82260         Reported by Elbert_Pol <elbert.pol@gmail.com>.
82262 2009-04-28  Bruno Haible  <bruno@clisp.org>
82264         Comment tweaks.
82265         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
82266         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
82267         * lib/unicase.h (u*_casexfrm): Likewise.
82268         Reported by Paolo Bonzini.
82270 2009-04-28  Bruno Haible  <bruno@clisp.org>
82272         Fix a compilation error.
82273         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
82274         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
82275         Reported by Jim Meyering.
82277 2009-04-27  Bruno Haible  <bruno@clisp.org>
82279         New module 'libunistring'.
82280         * modules/libunistring: New file.
82281         * m4/libunistring.m4: New file.
82282         * MODULES.html.sh (Unicode string functions): Add it.
82284 2009-04-27  Eric Blake  <ebb9@byu.net>
82286         maint.mk: allow package-specific header to provide <config.h>
82287         * top/maint.mk (sc_require_config_h): New variable.
82288         (sc_require_config_h, sc_require_config_h_first): Use it.
82290 2009-04-27  Simon Josefsson  <simon@josefsson.org>
82292         * top/maint.mk (sc_avoid_if_before_free): Except
82293         useless-if-before-free script.
82295 2009-04-27  Eric Blake  <ebb9@byu.net>
82297         maintainer-makefile: depend on all required helper scripts
82298         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
82299         useless-if-before-free.
82300         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
82301         version, rather than assuming gnulib checkout is available.
82302         Reported by Simen Josefsson.
82304 2009-04-26  Bruno Haible  <bruno@clisp.org>
82306         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
82307         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
82308         "../" or "..".
82310 2009-04-26  Bruno Haible  <bruno@clisp.org>
82312         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
82313         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
82314         AC_LIB_HAVE_LINKFLAGS.
82316 2009-04-26  Bruno Haible  <bruno@clisp.org>
82318         Simplify calling convention of u*_conv_from_encoding.
82319         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
82320         u32_conv_from_encoding): Expect a resultbuf argument and return the
82321         result directly as a pointer.
82322         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
82323         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
82324         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
82325         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
82326         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
82327         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
82328         Update.
82329         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
82330         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
82331         * lib/vasnprintf.c (VASNPRINTF): Update.
82332         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
82333         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
82334         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
82335         * NEWS: Mention the change.
82337 2009-04-26  Bruno Haible  <bruno@clisp.org>
82339         Simplify calling convention of u*_conv_to_encoding.
82340         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
82341         u32_conv_to_encoding): Expect a resultbuf argument and return the
82342         result directly as a pointer.
82343         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
82344         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
82345         freeing scaled_offsets if mem_iconveha failed.
82346         * lib/unicase/u-casexfrm.h (FUNC): Update.
82347         * lib/uninorm/u-normxfrm.h (FUNC): Update.
82348         * lib/vasnprintf.c (VASNPRINTF): Update.
82349         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
82350         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
82351         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
82352         * NEWS: Mention the change.
82354 2009-04-26  Bruno Haible  <bruno@clisp.org>
82356         Avoid test failures on AIX and OSF/1.
82357         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
82358         malloc(0).
82359         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
82360         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
82361         Likewise.
82362         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
82363         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
82364         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
82365         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
82366         * doc/posix-functions/malloc.texi: Document the portability problem
82367         related to malloc(0).
82369 2009-04-26  Bruno Haible  <bruno@clisp.org>
82371         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
82372         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
82373         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
82375 2009-04-25  Bruno Haible  <bruno@clisp.org>
82377         Avoid link error when creating a namespace clean library.
82378         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
82379         as macro with arguments if already defined as an alias.
82380         * lib/signbitf.c (gl_signbitf): Don't undefine.
82381         * lib/signbitd.c (gl_signbitd): Don't undefine.
82382         * lib/signbitl.c (gl_signbitl): Don't undefine.
82384 2009-04-25  Jim Meyering  <meyering@redhat.com>
82386         vc-list-files: fix another quoting bug
82387         * build-aux/vc-list-files: Avoid sed backslash expansion
82388         of pathological directory names.
82390 2009-04-25  Eric Blake  <ebb9@byu.net>
82392         vc-list-files: fix shell quoting error
82393         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
82394         timestamp.
82396 2009-04-25  Jim Meyering  <meyering@redhat.com>
82398         vc-list-files: restore lost functionality with subdir argument
82399         * build-aux/vc-list-files: When given a non-"." sub-directory
82400         argument, substitute the $dir/ prefix back onto each resulting name.
82401         Otherwise, coreutils' root_tests check would fail.
82403 2009-04-24  Eric Blake  <ebb9@byu.net>
82405         vc-list-files: ignore git symlinks
82406         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
82407         than ls-files, to ignore git symlinks.
82409         maint.mk: import improvements from m4
82410         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
82411         (move_if_change): Delete unused macro.
82412         (news-date-check, vc-diff-check): Support VPATH builds.
82413         (announcement): Likewise.  Split --bootstrap-tools list...
82414         (boostrap-tools): ...into separate list, which can be overridden
82415         in cfg.mk.
82416         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
82417         requiring dependency on useless-if-before-free module.
82418         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
82419         Support VPATH builds.
82421 2009-04-24  Jim Meyering  <meyering@redhat.com>
82423         maint.mk: remove coreutils-specific rules and variables
82424         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
82425         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
82426         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
82428         maint.mk: remove obsolete rule
82429         * top/maint.mk (rel-check): Remove rule.
82430         (WGET, WGETFLAGS): Remove now-unused variables.
82432 2009-04-24  Simon Josefsson  <simon@josefsson.org>
82434         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
82435         consistency.
82437         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
82438         '$(PATH_SEPARATOR)' instead of ':'.
82440 2009-04-24  Simon Josefsson  <simon@josefsson.org>
82442         * lib/getopt1.c (main): Use 'const' for static array.
82444 2009-04-24  Simon Josefsson  <simon@josefsson.org>
82446         * top/maint.mk: Sync with coreutils.
82447         * NEWS: Explain incompatibilities.
82449 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82450             Bruno Haible  <bruno@clisp.org>
82452         Fix cross-compilation results.
82453         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
82454         statement, as third argument of AC_TRY_RUN.
82455         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
82456         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
82457         Likewise.
82458         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
82459         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
82460         Likewise.
82461         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
82462         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
82463         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
82465 2009-04-20  Bruno Haible  <bruno@clisp.org>
82467         Avoid test failure on mingw.
82468         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
82470 2009-04-20  Bruno Haible  <bruno@clisp.org>
82472         Avoid compilation error on mingw.
82473         * modules/localename-tests (Depends-on): Add locale.
82475 2009-04-19  Bruno Haible  <bruno@clisp.org>
82477         Support for building a shared library on Windows platforms.
82478         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
82479         (main): Test the presence of UNINORM_NFC here.
82480         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
82481         (main): Test the presence of UNINORM_NFD here.
82482         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
82483         (main): Test the presence of UNINORM_NFKC here.
82484         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
82485         (main): Test the presence of UNINORM_NFKD here.
82487 2009-04-19  Bruno Haible  <bruno@clisp.org>
82489         Avoid a compiler warning.
82490         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
82491         Change type of variable 'sequence'.
82493 2009-04-19  Bruno Haible  <bruno@clisp.org>
82495         * modules/configmake (Makefile.am): When the contents of configmake.h
82496         does not change, arrange to preserve its modification time.
82498 2009-04-17  Simon Josefsson  <simon@josefsson.org>
82500         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
82501         gettext domain.
82503 2009-04-16  Jim Meyering  <meyering@redhat.com>
82505         useless-if-before-free: improve conversion code
82506         * build-aux/useless-if-before-free: Adjust code-in-comment to match
82507         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
82509 2009-04-14  Bruno Haible  <bruno@clisp.org>
82511         * modules/fcntl (Depends-on): Add extensions.
82512         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
82514 2009-04-12  Ben Pfaff  <blp@gnu.org>
82516         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
82517         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
82519 2009-03-20  Ben Pfaff  <blp@gnu.org>
82521         Make rename replace existing destinations on Windows.
82522         * m4/rename.m4: Add test for Mingw.
82523         * lib/rename.c: Add rename replacement that uses MoveFileEx with
82524         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
82525         * doc/posix-functions/rename.texi: Document.
82527 2009-04-10  Bruno Haible  <bruno@clisp.org>
82529         New include file "iconveh.h".
82530         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
82531         * lib/striconveh.h: Include it.
82532         (enum iconv_ilseq_handler): Remove definition.
82533         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
82534         striconveh.h.
82535         * lib/striconveha.c: Include striconveh.h.
82536         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
82537         * modules/striconveh (Files): Add lib/iconveh.h.
82538         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
82539         lib/striconveh.h.
82541 2009-04-10  Bruno Haible  <bruno@clisp.org>
82543         * lib/uniconv.h: Update comment.
82545 2009-04-10  Bruno Haible  <bruno@clisp.org>
82547         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
82548         always.
82549         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
82550         * lib/unistr/u16-mbtouc-aux.c: Likewise.
82551         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
82552         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
82553         "unistring-notinline.h", so that the function gets defined always.
82554         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
82555         * lib/unistr/u8-uctomb.c: Likewise.
82556         * lib/unistr/u16-mbtouc.c: Likewise.
82557         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
82558         * lib/unistr/u16-uctomb.c: Likewise.
82559         * lib/unistr/u32-mbtouc.c: Likewise.
82560         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
82561         * lib/unistr/u32-uctomb.c: Likewise.
82563 2009-04-10  Bruno Haible  <bruno@clisp.org>
82565         Mark 'utime' obsolete.
82566         * modules/utime (Status, Notice): New sections.
82567         Suggested by Jim Meyering.
82569         Fix cross-compile guess for utime test.
82570         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
82571         autoconf.
82572         * doc/posix-functions/utime.texi: Give more precisions.
82573         Reported by Jan <ipif@ymail.com>.
82575 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
82577         filevercmp: correct today's change
82578         * lib/filevercmp.c: Also handle coreutils' test inputs.
82579         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
82581         Fix regression in 'filevercmp' module. Thanks Sven Joachim
82582         for reporting it.
82583         * lib/filevercmp.c: Special handle for "", "." and "..".
82584         * tests/test-filevercmp.c: Enlarge the set suite.
82586 2009-04-07  Jim Meyering  <meyering@redhat.com>
82588         useless-if-before-free: show how to remove braced useless free, too
82589         * build-aux/useless-if-before-free: still only in a comment, though.
82591 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
82593         maint.mk: import changes to syntax-check macros from coreutils
82594         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
82595         Use them in the relevant macros.
82597 2009-04-06  Bruno Haible  <bruno@clisp.org>
82599         Fix unportable use of bit-fields.
82600         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
82601         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
82602         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
82604 2009-04-06  Bruno Haible  <bruno@clisp.org>
82606         Avoid test failures on AIX and OSF/1.
82607         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
82608         that malloc(0) = NULL.
82609         * tests/unicase/test-u8-tolower.c (check): Likewise.
82610         * tests/unicase/test-u8-totitle.c (check): Likewise.
82611         * tests/unicase/test-u8-toupper.c (check): Likewise.
82612         * tests/unicase/test-u16-casefold.c (check): Likewise.
82613         * tests/unicase/test-u16-tolower.c (check): Likewise.
82614         * tests/unicase/test-u16-totitle.c (check): Likewise.
82615         * tests/unicase/test-u16-toupper.c (check): Likewise.
82616         * tests/unicase/test-u32-casefold.c (check): Likewise.
82617         * tests/unicase/test-u32-tolower.c (check): Likewise.
82618         * tests/unicase/test-u32-totitle.c (check): Likewise.
82619         * tests/unicase/test-u32-toupper.c (check): Likewise.
82620         * tests/uninorm/test-u8-nfc.c (check): Likewise.
82621         * tests/uninorm/test-u8-nfd.c (check): Likewise.
82622         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
82623         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
82624         * tests/uninorm/test-u16-nfc.c (check): Likewise.
82625         * tests/uninorm/test-u16-nfd.c (check): Likewise.
82626         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
82627         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
82628         * tests/uninorm/test-u32-nfc.c (check): Likewise.
82629         * tests/uninorm/test-u32-nfd.c (check): Likewise.
82630         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
82631         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
82633 2009-04-05  Bruno Haible  <bruno@clisp.org>
82635         Work around an autoconf limitation.
82636         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
82637         comment line if it would be longer than 3 KB.
82639 2009-04-05  Bruno Haible  <bruno@clisp.org>
82641         Avoid test failure with libiconv-1.13.
82642         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
82643         of the expected test results.
82645 2009-04-05  Bruno Haible  <bruno@clisp.org>
82647         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
82648         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
82649         that it should be installed.
82651 2009-04-05  Bruno Haible  <bruno@clisp.org>
82653         * gnulib-tool: New option --copy-file.
82654         (func_usage): Document it.
82655         (func_dest_tmpfilename): Moved out of func_import.
82656         (func_add_file, func_update_file): New functions, extracted from
82657         func_import.
82658         (func_import): Update.
82660 2009-04-05  Karl Berry  <karl@gnu.org>
82662         * README: prominently mention gnulib-tool.
82663         Rearrange sections so getting the code is near the top.
82665 2009-04-05  Bruno Haible  <bruno@clisp.org>
82667         * lib/unicase.h: Mention u*_cmp2.
82668         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
82669         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
82670         * lib/unicase/ulc-casecmp.c: Likewise.
82671         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
82672         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
82673         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
82674         unistr/u8-cmp.
82675         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
82676         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
82677         unistr/u16-cmp.
82678         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
82679         unistr/u32-cmp.
82681         * lib/uninorm.h: Mention u*_cmp2.
82682         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
82683         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
82684         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
82685         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
82686         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
82687         unistr/u8-cmp.
82688         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
82689         unistr/u16-cmp.
82690         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
82691         unistr/u32-cmp.
82693         New module 'unistr/u32-cmp2'.
82694         * lib/unistr/u32-cmp2.c: New file.
82695         * modules/unistr/u32-cmp2: New file.
82697         New module 'unistr/u16-cmp2'.
82698         * lib/unistr/u16-cmp2.c: New file.
82699         * modules/unistr/u16-cmp2: New file.
82701         New module 'unistr/u8-cmp2'.
82702         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
82703         * lib/unistr/u8-cmp2.c: New file.
82704         * lib/unistr/u-cmp2.h: New file.
82705         * modules/unistr/u8-cmp2: New file.
82707 2009-04-05  Bruno Haible  <bruno@clisp.org>
82709         * lib/unictype.h (uc_property_is_valid): New macro.
82710         * tests/unictype/test-pr_byname.c (main): Use it.
82712         * lib/unistr.h: Doc fixes.
82713         * lib/uniconv.h: Doc fixes.
82714         * lib/unictype.h: Doc fixes.
82716 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
82718         Port coreutils 7.2 to Solaris 8.
82720         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
82721         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
82722         for Solaris 8.  This is a bit of a hack, as it means it's the
82723         caller's responsibility to add -lnsl if needed, but most likely it
82724         won't be needed since only getaddrinfo uses this and getaddrinfo
82725         isn't needed on Solaris 8.
82727         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
82728         problem to Solaris 8 encountered with coreutils 7.2, which
82729         resulted in a message "fnmatch.c:292: warning: passing argument 4
82730         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
82731         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
82733 2009-04-03  Simon Josefsson  <simon@josefsson.org>
82735         * m4/ld-version-script.m4: Add FIXME comment.
82737 2009-04-02  Simon Josefsson  <simon@josefsson.org>
82739         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
82740         SOVERSION variable.
82742 2009-04-02  Bruno Haible  <bruno@clisp.org>
82744         * Makefile (info, html, dvi, pdf): Combine the rules.
82745         Suggested by Jim Meyering.
82747 2009-04-01  Bruno Haible  <bruno@clisp.org>
82749         * Makefile (info, html, dvi, pdf): New targets.
82750         Reported by Reuben Thomas <rrt@sc3d.org>.
82752 2009-04-01  Bruno Haible  <bruno@clisp.org>
82754         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
82755         can be put into PATH.
82756         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
82758 2009-04-01  Bruno Haible  <bruno@clisp.org>
82760         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
82762 2009-04-01  Bruno Haible  <bruno@clisp.org>
82764         Rename module 'visibility'.
82765         * modules/lib-symbol-visibility: Renamed from modules/visibility.
82766         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
82767         * doc/gnulib.texi: Update.
82768         * MODULES.html.sh (Misc): Update.
82769         * NEWS: Mention the change.
82771 2009-04-01  Simon Josefsson  <simon@josefsson.org>
82773         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
82774         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
82775         Eric Blake <ebb9@byu.net> for review.
82776         * MODULES.html.sh: Add lib-msvc-compat.
82777         * doc/gnulib.texi: Link to new section.
82778         * m4/ld-output-def.m4: New file.
82779         * doc/ld-output-def.texi: New file.
82781 2009-04-01  Simon Josefsson  <simon@josefsson.org>
82783         Rename ld-version-script to lib-symbol-versions.  Suggested by
82784         Bruno Haible <bruno@clisp.org>.
82785         * modules/ld-version-script: Renamed to lib-symbol-versions.
82786         * doc/ld-version-script.texi: Fix module name.
82787         * MODULES.html.sh: Add lib-symbol-versions.
82789 2009-03-31  Simon Josefsson  <simon@josefsson.org>
82791         * modules/u64-tests: New file.
82792         * tests/test-u64.c: New file.
82794 2009-03-04  Simon Josefsson  <simon@josefsson.org>
82796         * MODULES.html.sh: Mention u64.
82797         * modules/u64: New module.
82798         * modules/crypto/sha512: Depend on u64 module instead of providing
82799         u64.h.
82801 2009-03-27  Eric Blake  <ebb9@byu.net>
82803         test-strerror: make debugging EAI_SYSTEM easier
82804         * modules/getaddrinfo-tests (Depends-on): Add strerror.
82805         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
82806         failure was EAI_SYSTEM.
82808 2009-03-25  Bruno Haible  <bruno@clisp.org>
82810         Fix a problem with --enable-relocatable on Solaris 7.
82811         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
82812         since 2008-02-24.
82814 2009-03-25  Eric Blake  <ebb9@byu.net>
82816         test-sockets: avoid gcc warning
82817         * tests/test-sockets.c (main): Silence compiler warning.
82819 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82821         New modules nproc, pthread, contributed by Glen Lenker.
82823         * MODULES.html.sh: Add pthread, nproc.
82824         * lib/nproc.c: New file.
82825         * lib/nproc.h: New file.
82826         * lib/pthread.in.h: New file.
82827         * m4/pthread.m4: New file.
82828         * modules/nproc: New file.
82829         * modules/pthread: New file.
82831 2009-03-24  Simon Josefsson  <simon@josefsson.org>
82833         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
82834         New variable.
82836 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
82838         filevercmp: handle simple~ and numbered.~3~ backup suffixes
82839         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
82840         * tests/test-filevercmp.c: Add tests for backup suffixes.
82842 2009-03-24  Simon Josefsson  <simon@josefsson.org>
82844         * modules/stdlib (Depends-on): Add stdint, needed when defining
82845         struct random_data on, for example, HP-UX 10.20.  Reported by
82846         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
82848 2009-03-24  Simon Josefsson  <simon@josefsson.org>
82850         * lib/readline.c (readline): Call fflush on stdout after printing
82851         prompt.
82853 2009-03-20  Bruno Haible  <bruno@clisp.org>
82855         Remove dependency from 'close' module to -lws2_32 on native Windows.
82856         * lib/close-hook.h: New file.
82857         * lib/close-hook.c: New file.
82858         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
82859         w32sock.h.
82860         (_gl_close_fd_maybe_socket): Remove function.
82861         (rpl_close): Invoke execute_all_close_hooks instead of
82862         _gl_close_fd_maybe_socket.
82863         * lib/sockets.c: Include close-hook.h, w32sock.h.
82864         (close_fd_maybe_socket): New function, essentially from lib/close.c.
82865         (close_sockets_hook): New variable.
82866         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
82867         (gl_sockets_cleanup): Unregister it.
82868         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
82869         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
82870         * modules/close-hook: New file.
82871         * modules/close (Files): Remove lib/w32sock.h.
82872         (Depends-on): Add close-hook.
82873         (Link): Remove section.
82874         * modules/sockets (Files): Add lib/w32sock.h.
82875         (Depends-on): Add close-hook.
82876         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
82877         invocation.
82878         * NEWS: Mention that LIB_CLOSE is gone.
82880 2009-03-23  Eric Blake  <ebb9@byu.net>
82882         signal-tests: test previous patch
82883         * tests/test-signal.c: New file.
82884         * modules/signal-tests: Likewise.
82886         signal.h: always support 'volatile sig_atomic_t'
82887         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
82888         (gl_SIGNAL_H_DEFAULTS): Add a default.
82889         * modules/signal (Makefile.am): Substitute if needed.
82890         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
82891         users can blindly add volatile.
82892         * doc/posix-headers/signal.texi (signal.h): Document it.
82893         Reported by Matthew Woehlke.
82895 2009-03-23  Jim Meyering  <meyering@redhat.com>
82897         pathmax: PATH_MAX: use pathconf only when available
82898         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
82899         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
82900         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
82901         This avoids a link failure in a PSP cross-compilation environment
82902         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
82904         * lib/vasnprintf.c (divide): Fix typo in comment.
82906 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82908         * gnulib-tool (func_filter_filelist): Fix comment.
82910 2009-03-20  Bruno Haible  <bruno@clisp.org>
82912         Make sockets.h self-contained.
82913         * lib/sockets.c: Include sockets.h first.
82914         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
82916 2009-03-19  Eric Blake  <ebb9@byu.net>
82918         doc: mention more functions added in cygwin 1.7.0
82919         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
82920         addition.
82921         * doc/posix-functions/log2f.texi: Likewise.
82923 2009-03-19  Jim Meyering  <meyering@redhat.com>
82925         fsusage: avoid syntax error due to statement-before-declaration
82926         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
82927         after all declarations.  Reported by Matthew Woehlke in
82928         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
82930 2009-03-18  Eric Blake  <ebb9@byu.net>
82932         build-aux/compile: sync from automake
82933         * build-aux/compile: New file, from automake.
82934         * config/srclist.txt: Mention build-aux/compile.
82936 2009-03-17  Bruno Haible  <bruno@clisp.org>
82938         * lib/git-merge-changelog.c: Fix typo in comment.
82939         Reported by Reuben Thomas <rrt@sc3d.org>.
82941 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
82943         * m4/regex.m4: update and improve help for
82944         --without-included-regex.
82946 2009-03-17  Simon Josefsson  <simon@josefsson.org>
82948         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
82949         failure on missing include files.
82951 2009-03-17  Eric Blake  <ebb9@byu.net>
82953         doc: mention more functions added in cygwin 1.7.0
82954         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
82955         addition.
82956         * doc/posix-functions/fwscanf.texi: Likewise.
82957         * doc/posix-functions/swprintf.texi: Likewise.
82958         * doc/posix-functions/swscanf.texi: Likewise.
82959         * doc/posix-functions/vfwprintf.texi: Likewise.
82960         * doc/posix-functions/vfwscanf.texi: Likewise.
82961         * doc/posix-functions/vswprintf.texi: Likewise.
82962         * doc/posix-functions/vswscanf.texi: Likewise.
82963         * doc/posix-functions/vwprintf.texi: Likewise.
82964         * doc/posix-functions/vwscanf.texi: Likewise.
82965         * doc/posix-functions/wcscasecmp.texi: Likewise.
82966         * doc/posix-functions/wcsdup.texi: Likewise.
82967         * doc/posix-functions/wcsftime.texi: Likewise.
82968         * doc/posix-functions/wcsncasecmp.texi: Likewise.
82969         * doc/posix-functions/wprintf.texi: Likewise.
82970         * doc/posix-functions/wscanf.texi: Likewise.
82971         * doc/glibc-functions/gethostbyname2.texi: Likewise.
82973 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82975         maint.mk: really add $(AM_MAKEFLAGS)
82976         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
82977         was inadvertently omitted in the last commit.
82978         Spotted by Bruno Haible.
82980         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
82981         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
82982         $(AM_MAKEFLAGS)' rather than plain `make'.
82984         gnulib-tool: execute $MAKE not make
82985         * gnulib-tool: Default $MAKE to 'make'.
82986         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
82987         than make.  Initialize $MAKE in the do-autobuild script.
82989         gnulib-tool: use $MAKE not make in generated files
82990         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
82991         make, in generated files.  Initialize $MAKE in the do-autobuild
82992         script.
82994         * top/GNUmakefile (_have-git-version-gen): Fix typo.
82996         GNUmakefile: disable parallelism only for multiple, recursive targets
82997         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
82998         additions in the Makefile.
82999         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
83000         by Automake.
83001         (.NOTPARALLEL): Only disable parallel builds if multiple targets
83002         are listed on the command line and at least one of them is
83003         listed in $(ALL_RECURSIVE_TARGETS).
83005 2009-03-14  Bruno Haible  <bruno@clisp.org>
83007         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
83008         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
83009         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
83010         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
83011         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
83012         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
83013         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
83014         unistr/u8-uctomb.
83015         * modules/unistr/u8-strchr (Depends-on): Likewise.
83016         * modules/unistr/u8-strrchr (Depends-on): Likewise.
83017         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
83018         unistr/u16-uctomb.
83019         * modules/unistr/u16-strchr (Depends-on): Likewise.
83020         * modules/unistr/u16-strrchr (Depends-on): Likewise.
83022 2009-03-12  Bruno Haible  <bruno@clisp.org>
83024         Work around select() bug on Interix 3.5.
83025         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
83026         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
83027         * m4/select.m4: New file.
83028         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
83029         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
83030         * modules/select (Files): Add m4/select.m4.
83031         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
83032         * modules/nanosleep (Depends-on): Add select.
83033         * modules/poll (Depends-on): Likewise.
83034         * doc/posix-functions/select.texi: Mention the Interix bug.
83035         Reported by Markus Duft <mduft@gentoo.org>.
83037         * lib/select.c: Renamed from lib/winsock-select.c.
83038         * modules/select (Files): Add lib/select.c, remove
83039         lib/winsock-select.c.
83040         (configure.ac): Update.
83042 2009-03-12  Jim Meyering  <meyering@redhat.com>
83044         avoid gcc warnings about unused macro definitions
83045         * lib/readtokens.c (STREQ): Remove unused definition.
83046         * lib/xmalloc.c (SIZE_MAX): Likewise.
83047         * lib/openat-die.c (N_): Likewise.
83048         * lib/mountlist.c (SIZE_MAX): Remove definition.
83049         Instead, include <stdint.h>.
83050         * lib/readutmp.c: Likewise.
83051         * modules/readutmp (Depends-on): Add stdint.
83052         * modules/mountlist (Depends-on): Add stdint.
83053         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
83055 2009-03-10  Bruno Haible  <bruno@clisp.org>
83057         Tests for module 'mbmemcasecoll'.
83058         * modules/mbmemcasecoll-tests: New file.
83059         * tests/test-mbmemcasecoll1.sh: New file.
83060         * tests/test-mbmemcasecoll2.sh: New file.
83061         * tests/test-mbmemcasecoll3.sh: New file.
83062         * tests/test-mbmemcasecoll.c: New file.
83064         New module 'mbmemcasecoll'.
83065         * lib/mbmemcasecoll.h: New file.
83066         * lib/mbmemcasecoll.c: New file.
83067         * modules/mbmemcasecoll: New file.
83069         * tests/test-mbmemcasecmp.h: New file, extracted from
83070         tests/test-mbmemcasecmp.c.
83071         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
83072         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
83073         (main): Update.
83074         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
83076 2009-03-09  Bruno Haible  <bruno@clisp.org>
83078         Tests for module 'mbmemcasecmp'.
83079         * modules/mbmemcasecmp-tests: New file.
83080         * tests/test-mbmemcasecmp1.sh: New file.
83081         * tests/test-mbmemcasecmp2.sh: New file.
83082         * tests/test-mbmemcasecmp3.sh: New file.
83083         * tests/test-mbmemcasecmp.c: New file.
83085         New module 'mbmemcasecmp'.
83086         * lib/mbmemcasecmp.h: New file.
83087         * lib/mbmemcasecmp.c: New file.
83088         * modules/mbmemcasecmp: New file.
83090 2009-03-09  Bruno Haible  <bruno@clisp.org>
83092         Tests for module 'unicase/ulc-casecoll'.
83093         * modules/unicase/ulc-casecoll-tests: New file.
83094         * tests/unicase/test-ulc-casecoll1.sh: New file.
83095         * tests/unicase/test-ulc-casecoll2.sh: New file.
83096         * tests/unicase/test-ulc-casecoll.c: New file.
83098         New module 'unicase/ulc-casecoll'.
83099         * lib/unicase.h (ulc_casecoll): New declaration.
83100         * lib/unicase/ulc-casecoll.c: New file.
83101         * modules/unicase/ulc-casecoll: New file.
83103         New module 'unicase/ulc-casexfrm'.
83104         * lib/unicase.h (ulc_casexfrm): New declaration.
83105         * lib/unicase/ulc-casexfrm.c: New file.
83106         * modules/unicase/ulc-casexfrm: New file.
83108 2009-03-09  Bruno Haible  <bruno@clisp.org>
83110         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
83111         invocations.
83113         * m4/mbscasecmp.m4: Remove file.
83114         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
83115         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
83117         * m4/mbscasestr.m4: Remove file.
83118         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
83119         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
83121         * m4/mbschr.m4: Remove file.
83122         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
83123         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
83125         * m4/mbscspn.m4: Remove file.
83126         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
83127         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
83129         * m4/mbslen.m4: Remove file.
83130         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
83131         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
83133         * m4/mbsncasecmp.m4: Remove file.
83134         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
83135         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
83137         * m4/mbsnlen.m4: Remove file.
83138         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
83139         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
83141         * m4/mbspbrk.m4: Remove file.
83142         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
83143         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
83145         * m4/mbspcasecmp.m4: Remove file.
83146         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
83147         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
83149         * m4/mbsrchr.m4: Remove file.
83150         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
83151         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
83153         * m4/mbssep.m4: Remove file.
83154         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
83155         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
83157         * m4/mbsspn.m4: Remove file.
83158         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
83159         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
83161         * m4/mbsstr.m4: Remove file.
83162         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
83163         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
83165         * m4/mbstok_r.m4: Remove file.
83166         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
83167         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
83169         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
83171         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
83172         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
83174         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
83176 2009-03-08  Bruno Haible  <bruno@clisp.org>
83178         Tests for module 'unicase/ulc-casecmp'.
83179         * modules/unicase/ulc-casecmp-tests: New file.
83180         * tests/unicase/test-ulc-casecmp1.sh: New file.
83181         * tests/unicase/test-ulc-casecmp2.sh: New file.
83182         * tests/unicase/test-ulc-casecmp.c: New file.
83184         New module 'unicase/ulc-casecmp'.
83185         * lib/unicase.h (ulc_casecmp): New declaration.
83186         * lib/unicase/ulc-casecmp.c: New file.
83187         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
83188         'const SRC_UNIT *'.
83189         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
83190         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
83191         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
83192         * modules/unicase/ulc-casecmp: New file.
83194         Tests for module 'unicase/u32-is-cased'.
83195         * modules/unicase/u32-is-cased-tests: New file.
83196         * tests/unicase/test-u32-is-cased.c: New file.
83198         Tests for module 'unicase/u16-is-cased'.
83199         * modules/unicase/u16-is-cased-tests: New file.
83200         * tests/unicase/test-u16-is-cased.c: New file.
83202         Tests for module 'unicase/u8-is-cased'.
83203         * modules/unicase/u8-is-cased-tests: New file.
83204         * tests/unicase/test-u8-is-cased.c: New file.
83205         * tests/unicase/test-is-cased.h: New file.
83207         New module 'unicase/u32-is-cased'.
83208         * lib/unicase/u32-is-cased.c: New file.
83209         * modules/unicase/u32-is-cased: New file.
83211         New module 'unicase/u16-is-cased'.
83212         * lib/unicase/u16-is-cased.c: New file.
83213         * modules/unicase/u16-is-cased: New file.
83215         New module 'unicase/u8-is-cased'.
83216         * lib/unicase/u8-is-cased.c: New file.
83217         * lib/unicase/u-is-cased.h: New file.
83218         * modules/unicase/u8-is-cased: New file.
83220         Tests for module 'unicase/u32-is-casefolded'.
83221         * modules/unicase/u32-is-casefolded-tests: New file.
83222         * tests/unicase/test-u32-is-casefolded.c: New file.
83224         Tests for module 'unicase/u16-is-casefolded'.
83225         * modules/unicase/u16-is-casefolded-tests: New file.
83226         * tests/unicase/test-u16-is-casefolded.c: New file.
83228         Tests for module 'unicase/u8-is-casefolded'.
83229         * modules/unicase/u8-is-casefolded-tests: New file.
83230         * tests/unicase/test-u8-is-casefolded.c: New file.
83231         * tests/unicase/test-is-casefolded.h: New file.
83233         New module 'unicase/u32-is-casefolded'.
83234         * lib/unicase/u32-is-casefolded.c: New file.
83235         * modules/unicase/u32-is-casefolded: New file.
83237         New module 'unicase/u16-is-casefolded'.
83238         * lib/unicase/u16-is-casefolded.c: New file.
83239         * modules/unicase/u16-is-casefolded: New file.
83241         New module 'unicase/u8-is-casefolded'.
83242         * lib/unicase/u8-is-casefolded.c: New file.
83243         * modules/unicase/u8-is-casefolded: New file.
83245         Tests for module 'unicase/u32-is-titlecase'.
83246         * modules/unicase/u32-is-titlecase-tests: New file.
83247         * tests/unicase/test-u32-is-titlecase.c: New file.
83249         Tests for module 'unicase/u16-is-titlecase'.
83250         * modules/unicase/u16-is-titlecase-tests: New file.
83251         * tests/unicase/test-u16-is-titlecase.c: New file.
83253         Tests for module 'unicase/u8-is-titlecase'.
83254         * modules/unicase/u8-is-titlecase-tests: New file.
83255         * tests/unicase/test-u8-is-titlecase.c: New file.
83256         * tests/unicase/test-is-titlecase.h: New file.
83258         New module 'unicase/u32-is-titlecase'.
83259         * lib/unicase/u32-is-titlecase.c: New file.
83260         * modules/unicase/u32-is-titlecase: New file.
83262         New module 'unicase/u16-is-titlecase'.
83263         * lib/unicase/u16-is-titlecase.c: New file.
83264         * modules/unicase/u16-is-titlecase: New file.
83266         New module 'unicase/u8-is-titlecase'.
83267         * lib/unicase/u8-is-titlecase.c: New file.
83268         * modules/unicase/u8-is-titlecase: New file.
83270         Tests for module 'unicase/u32-is-lowercase'.
83271         * modules/unicase/u32-is-lowercase-tests: New file.
83272         * tests/unicase/test-u32-is-lowercase.c: New file.
83274         Tests for module 'unicase/u16-is-lowercase'.
83275         * modules/unicase/u16-is-lowercase-tests: New file.
83276         * tests/unicase/test-u16-is-lowercase.c: New file.
83278         Tests for module 'unicase/u8-is-lowercase'.
83279         * modules/unicase/u8-is-lowercase-tests: New file.
83280         * tests/unicase/test-u8-is-lowercase.c: New file.
83281         * tests/unicase/test-is-lowercase.h: New file.
83283         New module 'unicase/u32-is-lowercase'.
83284         * lib/unicase/u32-is-lowercase.c: New file.
83285         * modules/unicase/u32-is-lowercase: New file.
83287         New module 'unicase/u16-is-lowercase'.
83288         * lib/unicase/u16-is-lowercase.c: New file.
83289         * modules/unicase/u16-is-lowercase: New file.
83291         New module 'unicase/u8-is-lowercase'.
83292         * lib/unicase/u8-is-lowercase.c: New file.
83293         * modules/unicase/u8-is-lowercase: New file.
83295         Tests for module 'unicase/u32-is-uppercase'.
83296         * modules/unicase/u32-is-uppercase-tests: New file.
83297         * tests/unicase/test-u32-is-uppercase.c: New file.
83299         Tests for module 'unicase/u16-is-uppercase'.
83300         * modules/unicase/u16-is-uppercase-tests: New file.
83301         * tests/unicase/test-u16-is-uppercase.c: New file.
83303         Tests for module 'unicase/u8-is-uppercase'.
83304         * modules/unicase/u8-is-uppercase-tests: New file.
83305         * tests/unicase/test-u8-is-uppercase.c: New file.
83306         * tests/unicase/test-is-uppercase.h: New file.
83308         New module 'unicase/u32-is-uppercase'.
83309         * lib/unicase/u32-is-uppercase.c: New file.
83310         * modules/unicase/u32-is-uppercase: New file.
83312         New module 'unicase/u16-is-uppercase'.
83313         * lib/unicase/u16-is-uppercase.c: New file.
83314         * modules/unicase/u16-is-uppercase: New file.
83316         New module 'unicase/u8-is-uppercase'.
83317         * lib/unicase/u8-is-uppercase.c: New file.
83318         * modules/unicase/u8-is-uppercase: New file.
83320         New module 'unicase/u32-is-invariant'.
83321         * lib/unicase/u32-is-invariant.c: New file.
83322         * modules/unicase/u32-is-invariant: New file.
83324         New module 'unicase/u16-is-invariant'.
83325         * lib/unicase/u16-is-invariant.c: New file.
83326         * modules/unicase/u16-is-invariant: New file.
83328         New module 'unicase/u8-is-invariant'.
83329         * lib/unicase/u8-is-invariant.c: New file.
83330         * lib/unicase/invariant.h: New file.
83331         * lib/unicase/u-is-invariant.h: New file.
83332         * modules/unicase/u8-is-invariant: New file.
83334         Tests for module 'unicase/u32-casecoll'.
83335         * modules/unicase/u32-casecoll-tests: New file.
83336         * tests/unicase/test-u32-casecoll.c: New file.
83338         Tests for module 'unicase/u16-casecoll'.
83339         * modules/unicase/u16-casecoll-tests: New file.
83340         * tests/unicase/test-u16-casecoll.c: New file.
83342         Tests for module 'unicase/u8-casecoll'.
83343         * modules/unicase/u8-casecoll-tests: New file.
83344         * tests/unicase/test-u8-casecoll.c: New file.
83346         New module 'unicase/u32-casecoll'.
83347         * lib/unicase/u32-casecoll.c: New file.
83348         * modules/unicase/u32-casecoll: New file.
83350         New module 'unicase/u16-casecoll'.
83351         * lib/unicase/u16-casecoll.c: New file.
83352         * modules/unicase/u16-casecoll: New file.
83354         New module 'unicase/u8-casecoll'.
83355         * lib/unicase/u8-casecoll.c: New file.
83356         * lib/unicase/u-casecoll.h: New file.
83357         * modules/unicase/u8-casecoll: New file.
83359         New module 'unicase/u32-casexfrm'.
83360         * lib/unicase/u32-casexfrm.c: New file.
83361         * modules/unicase/u32-casexfrm: New file.
83363         New module 'unicase/u16-casexfrm'.
83364         * lib/unicase/u16-casexfrm.c: New file.
83365         * modules/unicase/u16-casexfrm: New file.
83367         New module 'unicase/u8-casexfrm'.
83368         * lib/unicase/u8-casexfrm.c: New file.
83369         * lib/unicase/u-casexfrm.h: New file.
83370         * modules/unicase/u8-casexfrm: New file.
83372         Tests for module 'unicase/u32-casecmp'.
83373         * modules/unicase/u32-casecmp-tests: New file.
83374         * tests/unicase/test-u32-casecmp.c: New file.
83376         Tests for module 'unicase/u16-casecmp'.
83377         * modules/unicase/u16-casecmp-tests: New file.
83378         * tests/unicase/test-u16-casecmp.c: New file.
83380         Tests for module 'unicase/u8-casecmp'.
83381         * modules/unicase/u8-casecmp-tests: New file.
83382         * tests/unicase/test-u8-casecmp.c: New file.
83383         * tests/unicase/test-casecmp.h: New file.
83385         New module 'unicase/u32-casecmp'.
83386         * lib/unicase/u32-casecmp.c: New file.
83387         * modules/unicase/u32-casecmp: New file.
83389         New module 'unicase/u16-casecmp'.
83390         * lib/unicase/u16-casecmp.c: New file.
83391         * modules/unicase/u16-casecmp: New file.
83393         New module 'unicase/u8-casecmp'.
83394         * lib/unicase/u8-casecmp.c: New file.
83395         * lib/unicase/u-casecmp.h: New file.
83396         * modules/unicase/u8-casecmp: New file.
83398         Tests for module 'unicase/u32-casefold'.
83399         * modules/unicase/u32-casefold-tests: New file.
83400         * tests/unicase/test-u32-casefold.c: New file.
83402         Tests for module 'unicase/u16-casefold'.
83403         * modules/unicase/u16-casefold-tests: New file.
83404         * tests/unicase/test-u16-casefold.c: New file.
83406         Tests for module 'unicase/u8-casefold'.
83407         * modules/unicase/u8-casefold-tests: New file.
83408         * tests/unicase/test-u8-casefold.c: New file.
83410         New module 'unicase/u32-casefold'.
83411         * lib/unicase/u32-casefold.c: New file.
83412         * modules/unicase/u32-casefold: New file.
83414         New module 'unicase/u16-casefold'.
83415         * lib/unicase/u16-casefold.c: New file.
83416         * modules/unicase/u16-casefold: New file.
83418         New module 'unicase/u8-casefold'.
83419         * lib/unicase/u8-casefold.c: New file.
83420         * lib/unicase/u-casefold.h: New file.
83421         * modules/unicase/u8-casefold: New file.
83423         New module 'unicase/tocasefold'.
83424         * lib/unicase/casefold.h: New file.
83425         * lib/unicase/tocasefold.c: New file.
83426         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
83427         * modules/unicase/tocasefold: New file.
83429         Tests for module 'unicase/u32-totitle'.
83430         * modules/unicase/u32-totitle-tests: New file.
83431         * tests/unicase/test-u32-totitle.c: New file.
83433         Tests for module 'unicase/u16-totitle'.
83434         * modules/unicase/u16-totitle-tests: New file.
83435         * tests/unicase/test-u16-totitle.c: New file.
83437         Tests for module 'unicase/u8-totitle'.
83438         * modules/unicase/u8-totitle-tests: New file.
83439         * tests/unicase/test-u8-totitle.c: New file.
83441         New module 'unicase/u32-totitle'.
83442         * lib/unicase/u32-totitle.c: New file.
83443         * modules/unicase/u32-totitle: New file.
83445         New module 'unicase/u16-totitle'.
83446         * lib/unicase/u16-totitle.c: New file.
83447         * modules/unicase/u16-totitle: New file.
83449         New module 'unicase/u8-totitle'.
83450         * lib/unicase/u8-totitle.c: New file.
83451         * lib/unicase/u-totitle.h: New file.
83452         * modules/unicase/u8-totitle: New file.
83454         Tests for module 'unicase/u32-tolower'.
83455         * modules/unicase/u32-tolower-tests: New file.
83456         * tests/unicase/test-u32-tolower.c: New file.
83458         Tests for module 'unicase/u16-tolower'.
83459         * modules/unicase/u16-tolower-tests: New file.
83460         * tests/unicase/test-u16-tolower.c: New file.
83462         Tests for module 'unicase/u8-tolower'.
83463         * modules/unicase/u8-tolower-tests: New file.
83464         * tests/unicase/test-u8-tolower.c: New file.
83466         New module 'unicase/u32-tolower'.
83467         * lib/unicase/u32-tolower.c: New file.
83468         * modules/unicase/u32-tolower: New file.
83470         New module 'unicase/u16-tolower'.
83471         * lib/unicase/u16-tolower.c: New file.
83472         * modules/unicase/u16-tolower: New file.
83474         New module 'unicase/u8-tolower'.
83475         * lib/unicase/u8-tolower.c: New file.
83476         * modules/unicase/u8-tolower: New file.
83478         Tests for module 'unicase/u32-toupper'.
83479         * modules/unicase/u32-toupper-tests: New file.
83480         * tests/unicase/test-u32-toupper.c: New file.
83482         Tests for module 'unicase/u16-toupper'.
83483         * modules/unicase/u16-toupper-tests: New file.
83484         * tests/unicase/test-u16-toupper.c: New file.
83486         Tests for module 'unicase/u8-toupper'.
83487         * modules/unicase/u8-toupper-tests: New file.
83488         * tests/unicase/test-u8-toupper.c: New file.
83490         New module 'unicase/u32-toupper'.
83491         * lib/unicase/u32-toupper.c: New file.
83492         * modules/unicase/u32-toupper: New file.
83494         New module 'unicase/u16-toupper'.
83495         * lib/unicase/u16-toupper.c: New file.
83496         * modules/unicase/u16-toupper: New file.
83498         New module 'unicase/u8-toupper'.
83499         * lib/unicase/u8-toupper.c: New file.
83500         * modules/unicase/u8-toupper: New file.
83502         New module 'unicase/u32-casemap'.
83503         * lib/unicase/u32-casemap.c: New file.
83504         * modules/unicase/u32-casemap: New file.
83506         New module 'unicase/u16-casemap'.
83507         * lib/unicase/u16-casemap.c: New file.
83508         * modules/unicase/u16-casemap: New file.
83510         New module 'unicase/u8-casemap'.
83511         * lib/unicase/unicasemap.h: New file.
83512         * lib/unicase/u8-casemap.c: New file.
83513         * lib/unicase/u-casemap.h: New file.
83514         * modules/unicase/u8-casemap: New file.
83516         New module 'unicase/special-casing'.
83517         * lib/unicase/special-casing.h: New file.
83518         * lib/unicase/special-casing.c: New file.
83519         * lib/unicase/special-casing-table.gperf: New file, generated by
83520         gen-uni-tables.c.
83521         * modules/unicase/special-casing: New file.
83523         Tests for module 'unicase/locale-language'.
83524         * modules/unicase/locale-language-tests: New file.
83525         * tests/unicase/test-locale-language.sh: New file.
83526         * tests/unicase/test-locale-language.c: New file.
83528         New module 'unicase/locale-language'.
83529         * lib/unicase/locale-language.c: New file.
83530         * lib/unicase/locale-languages.gperf: New file.
83531         * modules/unicase/locale-language: New file.
83533         Generate more tables for case conversion and case folding.
83534         * lib/gen-uni-tables.c (SCC_*): New enum items.
83535         (struct special_casing_rule): New type.
83536         (casing_rules, num_casing_rules, allocated_casing_rules): New
83537         variables.
83538         (add_casing_rule, fill_casing_rules): New functions.
83539         (struct casefold_rule): New type.
83540         (casefolding_rules, num_casefolding_rules,
83541         allocated_casefolding_rules): New variables.
83542         (fill_casefolding_rules): New function.
83543         (unicode_casefold): New variable.
83544         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
83545         sort_casing_rules, output_casing_rules): New functions.
83546         (main): Accept to more arguments: SpecialCasing.txt and
83547         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
83548         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
83549         Output mapping for casefolding.
83551         * lib/unicase.h: Include stdbool.h, uninorm.h.
83552         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
83553         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
83554         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
83555         arguments.
83556         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
83557         resultp arguments.
83558         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
83559         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
83560         resultp arguments.
83561         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
83562         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
83563         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
83564         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
83565         declarations.
83566         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
83568 2009-03-08  Bruno Haible  <bruno@clisp.org>
83570         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
83571         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
83572         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
83573         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
83575 2009-03-07  Bruno Haible  <bruno@clisp.org>
83577         Adjust u*_normcmp, u*_normcoll API.
83578         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
83579         u16_normcoll, u32_normcoll): Change failure conventions.
83580         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
83581         errno and return -1.
83582         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
83584 2009-03-07  Bruno Haible  <bruno@clisp.org>
83586         Tests for module 'uninorm/u32-normcoll'.
83587         * modules/uninorm/u32-normcoll-tests: New file.
83588         * tests/uninorm/test-u32-normcoll.c: New file.
83590         Tests for module 'uninorm/u16-normcoll'.
83591         * modules/uninorm/u16-normcoll-tests: New file.
83592         * tests/uninorm/test-u16-normcoll.c: New file.
83594         Tests for module 'uninorm/u8-normcoll'.
83595         * modules/uninorm/u8-normcoll-tests: New file.
83596         * tests/uninorm/test-u8-normcoll.c: New file.
83598 2009-03-07  Bruno Haible  <bruno@clisp.org>
83600         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
83601         tests/uninorm/test-u32-normcmp.c.
83602         * tests/uninorm/test-u32-normcmp.c: Include it.
83603         (test_nonascii): New function, extracted from main. Add some more
83604         tests.
83605         (main): Invoke test_ascii and test_nonascii.
83606         * modules/uninorm/u32-normcmp-tests (Files): Add
83607         tests/uninorm/test-u32-normcmp.h.
83608         (Depends-on): Remove uninorm/u32-normcmp.
83610         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
83611         tests/uninorm/test-u16-normcmp.c.
83612         * tests/uninorm/test-u16-normcmp.c: Include it.
83613         (test_nonascii): New function, extracted from main. Add some more
83614         tests.
83615         (main): Invoke test_ascii and test_nonascii.
83616         * modules/uninorm/u16-normcmp-tests (Files): Add
83617         tests/uninorm/test-u16-normcmp.h.
83618         (Depends-on): Remove uninorm/u16-normcmp.
83620         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
83621         tests/uninorm/test-u8-normcmp.c.
83622         * tests/uninorm/test-u8-normcmp.c: Include it.
83623         (test_nonascii): New function, extracted from main. Add some more
83624         tests.
83625         (main): Invoke test_ascii and test_nonascii.
83626         * modules/uninorm/u8-normcmp-tests (Files): Add
83627         tests/uninorm/test-u8-normcmp.h.
83628         (Depends-on): Remove uninorm/u8-normcmp.
83630 2009-03-07  Bruno Haible  <bruno@clisp.org>
83632         New module 'uninorm/u32-normcoll'.
83633         * lib/uninorm/u32-normcoll.c: New file.
83634         * modules/uninorm/u32-normcoll: New file.
83636         New module 'uninorm/u16-normcoll'.
83637         * lib/uninorm/u16-normcoll.c: New file.
83638         * modules/uninorm/u16-normcoll: New file.
83640         New module 'uninorm/u8-normcoll'.
83641         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
83642         declarations.
83643         * lib/uninorm/u8-normcoll.c: New file.
83644         * lib/uninorm/u-normcoll.h: New file.
83645         * modules/uninorm/u8-normcoll: New file.
83647         New module 'uninorm/u32-normxfrm'.
83648         * lib/uninorm/u32-normxfrm.c: New file.
83649         * modules/uninorm/u32-normxfrm: New file.
83651         New module 'uninorm/u16-normxfrm'.
83652         * lib/uninorm/u16-normxfrm.c: New file.
83653         * modules/uninorm/u16-normxfrm: New file.
83655         New module 'uninorm/u8-normxfrm'.
83656         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
83657         declarations.
83658         * lib/uninorm/u8-normxfrm.c: New file.
83659         * lib/uninorm/u-normxfrm.h: New file.
83660         * modules/uninorm/u8-normxfrm: New file.
83662 2009-03-07  Bruno Haible  <bruno@clisp.org>
83664         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
83665         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
83666         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
83668 2009-03-07  Bruno Haible  <bruno@clisp.org>
83670         New module 'memxfrm'.
83671         * lib/memxfrm.h: New file.
83672         * lib/memxfrm.c: New file.
83673         * modules/memxfrm: New file.
83675 2009-03-07  Bruno Haible  <bruno@clisp.org>
83677         New module 'memcmp2'.
83678         * lib/memcmp2.h: New file.
83679         * lib/memcmp2.c: New file.
83680         * modules/memcmp2: New file.
83682 2009-03-07  Bruno Haible  <bruno@clisp.org>
83684         Tests for module 'uninorm/decomposing-form'.
83685         * modules/uninorm/decomposing-form-tests: New file.
83686         * tests/uninorm/test-decomposing-form.c: New file.
83688         New module 'uninorm/decomposing-form'.
83689         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
83690         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
83691         Add 'decomposing_variant' field.
83692         * lib/uninorm/decomposing-form.c: New file.
83693         * lib/uninorm/nfc.c (uninorm_nfc): Update.
83694         * lib/uninorm/nfd.c (uninorm_nfd): Update.
83695         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
83696         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
83697         * modules/uninorm/decomposing-form: New file.
83698         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
83699         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
83701 2009-03-07  Bruno Haible  <bruno@clisp.org>
83703         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
83704         strings.
83706 2009-03-06  Bruno Haible  <bruno@clisp.org>
83708         Tests for module 'uninorm/u32-normcmp'.
83709         * tests/uninorm/test-u32-normcmp.c: New file.
83710         * modules/uninorm/u32-normcmp-tests: New file.
83712         Tests for module 'uninorm/u16-normcmp'.
83713         * tests/uninorm/test-u16-normcmp.c: New file.
83714         * modules/uninorm/u16-normcmp-tests: New file.
83716         Tests for module 'uninorm/u8-normcmp'.
83717         * tests/uninorm/test-u8-normcmp.c: New file.
83718         * modules/uninorm/u8-normcmp-tests: New file.
83720         New module 'uninorm/u32-normcmp'.
83721         * lib/uninorm/u32-normcmp.c: New file.
83722         * modules/uninorm/u32-normcmp: New file.
83724         New module 'uninorm/u16-normcmp'.
83725         * lib/uninorm/u16-normcmp.c: New file.
83726         * modules/uninorm/u16-normcmp: New file.
83728         New module 'uninorm/u8-normcmp'.
83729         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
83730         declarations.
83731         * lib/uninorm/u8-normcmp.c: New file.
83732         * lib/uninorm/u-normcmp.h: New file.
83733         * modules/uninorm/u8-normcmp: New file.
83735 2009-03-06  Bruno Haible  <bruno@clisp.org>
83737         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
83738         Reported by Eric Blake.
83740 2009-03-06  Eric Blake  <ebb9@byu.net>
83741             Bruno Haible  <bruno@clisp.org>
83743         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
83744         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
83745         condition.
83746         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
83747         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
83748         condition.
83749         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
83751 2009-03-06  Eric Blake  <ebb9@byu.net>
83753         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
83754         to avoid compiler warnings.
83755         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
83757 2009-03-05  Bruno Haible  <bruno@clisp.org>
83759         * tests/test-ftell.c (main): Disable test beyond end of file on
83760         FreeMiNT.
83761         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
83763 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
83765         * lib/filevercmp.c: Move hidden files up in ordering.
83766         * tests/test-filevercmp.c: Add tests for hidden files.
83768 2009-03-04  Bruno Haible  <bruno@clisp.org>
83770         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
83771         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
83772         AM_CFLAGS.
83773         Reported by Simon Josefsson.
83775 2009-03-03  Bruno Haible  <bruno@clisp.org>
83777         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
83778         Reported by Simon Josefsson.
83780         * doc/ld-version-script.texi: Update node reference.
83782 2009-03-03  Bruno Haible  <bruno@clisp.org>
83784         * modules/visibility (License): Change to 'unlimited'.
83785         Suggested by Simon Josefsson.
83787 2009-03-03  Jim Meyering  <meyering@redhat.com>
83789         unlinkdir: cannot_unlink_dir may modify process state
83790         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
83791         it's neither thread-safe nor appropriate for use in a library.
83793 2009-03-03  Eric Blake  <ebb9@byu.net>
83795         test-closein: silence test under Darwin
83796         * tests/test-closein.sh: Ignore stderr from cat, since we don't
83797         care if it dies from EPIPE or EBADF.
83799 2009-03-03  Bruno Haible  <bruno@clisp.org>
83801         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
83802         earlier.
83803         * doc/visibility.texi: Fix @node and @section.
83805 2009-03-03  Simon Josefsson  <simon@josefsson.org>
83807         * doc/gnulib.texi: Link to sections for ld version script and
83808         visibility.
83809         * doc/visibility.texi: Add @node and @section.
83810         * modules/ld-version-script: New module.
83811         * m4/ld-version-script.m4: New file.
83812         * doc/ld-version-script.texi: New file.
83814 2009-03-02  David Lutterkort  <lutter@redhat.com>
83816         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
83817         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
83819 2009-03-02  Bruno Haible  <bruno@clisp.org>
83821         * doc/visibility.texi: Mention libtool's -export-symbols option.
83823 2009-03-02  Jim Meyering  <meyering@redhat.com>
83825         announce-gen: new option: --no-print-checksums
83826         * build-aux/announce-gen (usage): Describe it.
83827         (print_checksums): Print a newline here, not in the [*] footnote.
83828         (main): Honor it.
83830 2009-03-01  Bruno Haible  <bruno@clisp.org>
83832         Use socklen_t in the native Windows replacements prototypes.
83833         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
83834         instead of 'int'.
83835         * lib/getsockopt.c (rpl_getsockopt): Likewise.
83836         * lib/setsockopt.c (rpl_setsockopt): Likewise.
83837         * modules/getsockopt (Depends-on): Add socklen.
83838         * modules/setsockopt (Depends-on): Add socklen.
83840 2009-03-01  Bruno Haible  <bruno@clisp.org>
83842         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
83843         least 4.2.
83845 2009-03-01  Eric Blake  <ebb9@byu.net>
83846             Bruno Haible  <bruno@clisp.org>
83848         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
83849         error messages.
83850         * lib/wait-process.c (wait_subprocess): Omit error message about
83851         deadly signal sent to the child of termsigp != NULL.
83853 2009-03-01  Eric Blake  <ebb9@byu.net>
83855         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
83857 2009-03-01  Bruno Haible  <bruno@clisp.org>
83859         Avoid a gcc warning.
83860         * tests/test-sched.c (b): Make global.
83861         Reported by Eric Blake.
83863 2009-01-19  Martin Lambers  <marlam@marlam.de>
83865         Provide POSIX semantics for socket timeout options on W32.
83866         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
83867         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
83868         * modules/setsockopt: Depend on sys_time module for struct timeval.
83869         * modules/getsockopt: Depend on sys_time module for struct timeval.
83871 2009-03-01  Simon Josefsson  <simon@josefsson.org>
83873         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
83874         __USE_GNU, for consistency with netdb.in.h.
83875         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
83877 2009-03-01  Bruno Haible  <bruno@clisp.org>
83879         More support for FreeMiNT.
83880         * lib/fseeko.c (rpl_fseeko): Complete last commit.
83881         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
83883 2009-03-01  Bruno Haible  <bruno@clisp.org>
83885         More support for FreeMiNT.
83886         * lib/fpurge.c (fpurge): Correct last commit.
83887         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
83889 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83891         Fix unportable awk script in vc-list-files.
83892         * build-aux/vc-list-files: In the replacement awk script, use
83893         substr with a second argument of 1, not zero.
83894         Report by Simon Josefsson.
83896 2009-02-28  Bruno Haible  <bruno@clisp.org>
83898         More support for FreeMiNT.
83899         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
83900         to FreeMiNT today.
83901         * lib/fwriting.c (fwriting): Likewise.
83902         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
83904 2009-02-28  Bruno Haible  <bruno@clisp.org>
83906         * tests/test-freadseek.c (main): Disable test beyond end of file on
83907         FreeMiNT.
83908         * tests/test-ftello.c (main): Likewise.
83909         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
83911 2009-02-28  Bruno Haible  <bruno@clisp.org>
83913         Add tentative support for FreeMiNT.
83914         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
83915         * lib/fpurge.c (fpurge): Likewise.
83916         * lib/freadable.c (freadable): Likewise.
83917         * lib/freading.c (freading): Likewise.
83918         * lib/freadptr.c (freadptr): Likewise.
83919         * lib/freadseek.c (freadptrinc): Likewise.
83920         * lib/fseeko.c (rpl_fseeko): Likewise.
83921         * lib/fseterr.c (fseterr): Likewise.
83922         * lib/fwritable.c (fwritable): Likewise.
83923         * lib/fwriting.c (fwriting): Likewise.
83924         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
83925         Hourihane.
83926         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
83928 2009-02-28  Bruno Haible  <bruno@clisp.org>
83930         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
83931         SIGCHLD.
83932         Reported by Jim Meyering.
83934 2009-02-28  Bruno Haible  <bruno@clisp.org>
83936         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
83937         Mention the results of these tests on various platforms.
83938         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
83939         order.
83940         * doc/posix-functions/printf.texi: Likewise.
83941         * doc/posix-functions/snprintf.texi: Likewise.
83942         * doc/posix-functions/sprintf.texi: Likewise.
83943         * doc/posix-functions/vfprintf.texi: Likewise.
83944         * doc/posix-functions/vprintf.texi: Likewise.
83945         * doc/posix-functions/vsnprintf.texi: Likewise.
83946         * doc/posix-functions/vsprintf.texi: Likewise.
83947         * doc/glibc-functions/obstack_printf.texi: Likewise.
83948         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
83950 2009-02-28  Bruno Haible  <bruno@clisp.org>
83952         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
83953         Reported by Loïc Minier <lool@dooz.org>.
83955 2009-02-27  Bruno Haible  <bruno@clisp.org>
83957         * gnulib-tool (func_import): Make the sed expression used to create the
83958         sed script for updating the .gitignore file POSIX compliant.
83959         Reported by Eric Blake.
83961 2009-02-27  Bruno Haible  <bruno@clisp.org>
83963         * gnulib-tool (sed): Don't alias as "sed --posix".
83964         Reported by Eric Blake.
83966 2009-02-27  Bruno Haible  <bruno@clisp.org>
83968         Avoid test link errors.
83969         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
83970         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
83971         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
83972         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
83973         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
83975 2009-02-27  Bruno Haible  <bruno@clisp.org>
83977         Avoid spurious "(cached)" in configure output.
83978         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
83979         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
83980         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
83981         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
83982         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
83983         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
83984         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
83985         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
83986         Reported by Eric Blake.
83988 2009-02-27  Eric Blake  <ebb9@byu.net>
83990         printf: fix regression in previous patch
83991         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
83993 2009-02-27  Bruno Haible  <bruno@clisp.org>
83995         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
83996         value.
83997         * lib/stdint.in.h: Likewise.
83998         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
84000 2009-02-27  Eric Blake  <ebb9@byu.net>
84002         doc: mention more functions added in cygwin 1.7.0
84003         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
84004         addition.
84005         * doc/posix-functions/open_wmemstream.texi: Likewise.
84006         * doc/posix-functions/wcsnlen.texi: Likewise.
84007         * doc/posix-functions/wcsnrtombs.texi: Likewise.
84008         * doc/posix-functions/wcstod.texi: Likewise.
84009         * doc/posix-functions/wcstof.texi: Likewise.
84010         * doc/posix-functions/wcstoimax.texi: Likewise.
84011         * doc/posix-functions/wcstok.texi: Likewise.
84012         * doc/posix-functions/wcstoumax.texi: Likewise.
84014         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
84015         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
84016         * doc/posix-functions/fprintf.texi: Update.
84017         * doc/posix-functions/printf.texi: Update.
84018         * doc/posix-functions/snprintf.texi: Update.
84019         * doc/posix-functions/sprintf.texi: Update.
84020         * doc/posix-functions/vfprintf.texi: Update.
84021         * doc/posix-functions/vprintf.texi: Update.
84022         * doc/posix-functions/vsnprintf.texi: Update.
84023         * doc/posix-functions/vsprintf.texi: Update.
84024         * doc/glibc-functions/obstack_printf.texi: Update.
84025         * doc/glibc-functions/obstack_vprintf.texi: Update.
84027 2009-02-26  Eric Blake  <ebb9@byu.net>
84029         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
84030         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
84031         compilation bug by using runtime conversion.
84032         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
84033         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
84034         * modules/ceill-tests (Files): Use nan.h.
84035         * modules/floorl-tests (Files): Likewise.
84036         * modules/frexpl-tests (Files): Likewise.
84037         * modules/isnanl-tests (Files): Likewise.
84038         * modules/ldexpl-tests (Files): Likewise.
84039         * modules/roundl-tests (Files): Likewise.
84040         * modules/truncl-tests (Files): Likewise.
84041         * tests/test-ceill.c (main): Use a working NaN.
84042         * tests/test-floorl.c (main): Likewise.
84043         * tests/test-frexpl.c (main): Likewise.
84044         * tests/test-isnan.c (test_long_double): Likewise.
84045         * tests/test-isnanl.h (main): Likewise.
84046         * tests/test-ldexpl.h (main): Likewise.
84047         * tests/test-roundl.h (main): Likewise.
84048         * tests/test-truncl.h (main): Likewise.
84049         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
84051 2009-02-26  Eric Blake  <ebb9@byu.net>
84052             Bruno Haible  <bruno@clisp.org>
84054         Work around a *printf bug with %ls on Solaris.
84055         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
84056         precision is specified, sprintf stops converting the wide string
84057         argument when the number of bytes that have been produced by this
84058         conversion equals or exceeds the precision.
84059         * doc/posix-functions/fprintf.texi: Update.
84060         * doc/posix-functions/printf.texi: Update.
84061         * doc/posix-functions/snprintf.texi: Update.
84062         * doc/posix-functions/sprintf.texi: Update.
84063         * doc/posix-functions/vfprintf.texi: Update.
84064         * doc/posix-functions/vprintf.texi: Update.
84065         * doc/posix-functions/vsnprintf.texi: Update.
84066         * doc/posix-functions/vsprintf.texi: Update.
84067         * doc/glibc-functions/obstack_printf.texi: Update.
84068         * doc/glibc-functions/obstack_vprintf.texi: Update.
84070 2009-02-26  Eric Blake  <ebb9@byu.net>
84072         stdlib: favor compiler check of random.h
84073         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
84074         to avoid an ObjC random.h installed by Swarm.
84076 2009-02-26  Bruno Haible  <bruno@clisp.org>
84078         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
84079         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
84080         Reported by Gary V. Vaughan <gary@gnu.org>.
84082 2009-02-26  Bruno Haible  <bruno@clisp.org>
84084         Fix *printf behaviour regarding the %ls directive.
84085         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
84086         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
84087         NEED_PRINTF_DIRECTIVE_LS.
84088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
84089         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
84090         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
84091         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
84092         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
84093         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
84094         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
84095         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
84096         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
84097         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
84098         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
84099         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
84100         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
84101         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
84102         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
84103         * doc/posix-functions/fprintf.texi: Update.
84104         * doc/posix-functions/printf.texi: Update.
84105         * doc/posix-functions/snprintf.texi: Update.
84106         * doc/posix-functions/sprintf.texi: Update.
84107         * doc/posix-functions/vfprintf.texi: Update.
84108         * doc/posix-functions/vprintf.texi: Update.
84109         * doc/posix-functions/vsnprintf.texi: Update.
84110         * doc/posix-functions/vsprintf.texi: Update.
84111         * doc/glibc-functions/obstack_printf.texi: Update.
84112         * doc/glibc-functions/obstack_vprintf.texi: Update.
84113         Reported by Eric Blake.
84115 2009-02-25  Bruno Haible  <bruno@clisp.org>
84117         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
84118         with known value.
84119         Reported by Gary V. Vaughan <gary@gnu.org>.
84121 2009-02-25  Bruno Haible  <bruno@clisp.org>
84123         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
84124         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
84125         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
84126         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
84127         Reported by Gary V. Vaughan <gary@gnu.org>.
84129 2009-02-25  Bruno Haible  <bruno@clisp.org>
84131         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
84132         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
84133         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
84134         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
84135         Reported by Gary V. Vaughan <gary@gnu.org>.
84137 2009-02-25  Eric Blake  <ebb9@byu.net>
84139         tests: skip fseek/ftell tests if ungetc is broken
84140         * m4/ungetc.m4: New file.
84141         * modules/fseek-tests: Split test, so ungetc dependency is
84142         separate from rest of test.
84143         * modules/fseeko-tests: Likewise.
84144         * modules/ftell-tests: Likewise.
84145         * modules/ftello-tests: Likewise.
84146         * tests/test-fseek.c (main): Isolate ungetc dependency.
84147         * tests/test-fseeko.c (main): Likewise.
84148         * tests/test-ftell.c (main): Likewise.
84149         * tests/test-ftello.c (main): Likewise.
84150         * tests/test-fseek2.sh: New file.
84151         * tests/test-fseeko2.sh: Likewise.
84152         * tests/test-ftell2.sh: Likewise.
84153         * tests/test-ftello2.sh: Likewise.
84155 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
84157         test-getaddrinfo: fix usage of skip return code 77
84158         * tests/test-gettaddrinfo.c: Return skip code 77 only
84159         for first occurrence of skip (4x77 is not 77)
84161 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
84163         strtod: avoid C99 decl-after-statement
84164         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
84166 2009-02-24  Eric Blake  <ebb9@byu.net>
84168         strtod: detect HP-UX 11.31 bug
84169         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
84170         Reported by Gary V. Vaughan.
84172 2009-02-23  Bruno Haible  <bruno@clisp.org>
84174         Fix invalid read past end of memory block.
84175         * lib/vasnprintf.c (DCHAR_SET): Define.
84176         (local_wcslen): Define only when needed.
84177         (local_strnlen, local_wcsnlen): New functions.
84178         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
84179         directives that involve a conversion ourselves.
84180         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
84181         wcsnlen, mbrtowc, wcrtomb.
84182         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
84183         * tests/test-vasprintf-posix.c (test_function): Likewise.
84184         * tests/test-snprintf-posix.h (test_function): Likewise.
84185         * tests/test-sprintf-posix.h (test_function): Likewise.
84186         Reported by Ben Pfaff <blp@cs.stanford.edu>.
84188 2009-02-22  Bruno Haible  <bruno@clisp.org>
84190         Implement new clarified decomposition of Hangul syllables.
84191         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
84192         of type LTV, return only a pairwise decomposition.
84193         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
84194         Likewise.
84195         * tests/uninorm/test-decomposition.c (main): Updated expected result.
84196         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
84197         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
84199 2009-02-22  Bruno Haible  <bruno@clisp.org>
84201         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
84202         zero-length results and shrink excess allocated memory.
84203         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
84204         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
84205         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
84206         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
84207         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
84208         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
84209         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
84210         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
84211         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
84212         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
84213         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
84214         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
84216 2009-02-21  Bruno Haible  <bruno@clisp.org>
84218         * doc/gnulib.texi: Include safe-alloc.texi earlier.
84219         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
84220         spaces after a period. Put a space between a macro name and its
84221         argument list. Trivial rewordings.
84222         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
84223         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
84224         (main): Return 0 explicitly.
84226 2009-02-21  Bruno Haible  <bruno@clisp.org>
84228         Tests for module 'uninorm/filter'.
84229         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
84230         * modules/uninorm/filter-tests: New file.
84232         New module 'uninorm/filter'.
84233         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
84234         uninorm_filter_flush, uninorm_filter_free): New declarations.
84235         * lib/uninorm/uninorm-filter.c: New file.
84236         * modules/uninorm/filter: New file.
84238 2009-02-21  Bruno Haible  <bruno@clisp.org>
84240         Tests for module 'uninorm/nfkc'.
84241         * tests/uninorm/test-nfkc.c: New file.
84242         * tests/uninorm/test-u8-nfkc.c: New file.
84243         * tests/uninorm/test-u16-nfkc.c: New file.
84244         * tests/uninorm/test-u32-nfkc.c: New file.
84245         * tests/uninorm/test-u32-nfkc-big.sh: New file.
84246         * tests/uninorm/test-u32-nfkc-big.c: New file.
84247         * modules/uninorm/nfkc-tests: New file.
84249         New module 'uninorm/nfkc'.
84250         * lib/uninorm/nfkc.c: New file.
84251         * modules/uninorm/nfkc: New file.
84253         Tests for module 'uninorm/nfkd'.
84254         * tests/uninorm/test-nfkd.c: New file.
84255         * tests/uninorm/test-u8-nfkd.c: New file.
84256         * tests/uninorm/test-u16-nfkd.c: New file.
84257         * tests/uninorm/test-u32-nfkd.c: New file.
84258         * tests/uninorm/test-u32-nfkd-big.sh: New file.
84259         * tests/uninorm/test-u32-nfkd-big.c: New file.
84260         * modules/uninorm/nfkd-tests: New file.
84262         New module 'uninorm/nfkd'.
84263         * lib/uninorm/nfkd.c: New file.
84264         * modules/uninorm/nfkd: New file.
84266         Tests for module 'uninorm/nfc'.
84267         * tests/uninorm/test-nfc.c: New file.
84268         * tests/uninorm/test-u8-nfc.c: New file.
84269         * tests/uninorm/test-u16-nfc.c: New file.
84270         * tests/uninorm/test-u32-nfc.c: New file.
84271         * tests/uninorm/test-u32-nfc-big.sh: New file.
84272         * tests/uninorm/test-u32-nfc-big.c: New file.
84273         * modules/uninorm/nfc-tests: New file.
84275         New module 'uninorm/nfc'.
84276         * lib/uninorm/nfc.c: New file.
84277         * modules/uninorm/nfc: New file.
84279         Tests for module 'uninorm/nfd'.
84280         * tests/uninorm/test-nfd.c: New file.
84281         * tests/uninorm/test-u8-nfd.c: New file.
84282         * tests/uninorm/test-u16-nfd.c: New file.
84283         * tests/uninorm/test-u32-nfd.c: New file.
84284         * tests/uninorm/test-u32-nfd-big.sh: New file.
84285         * tests/uninorm/test-u32-nfd-big.c: New file.
84286         * tests/uninorm/test-u32-normalize-big.h: New file.
84287         * tests/uninorm/test-u32-normalize-big.c: New file.
84288         * tests/uninorm/NormalizationTest.txt: New file, created from
84289         Unicode 5.1.0 NormalizationTest.txt.
84290         * modules/uninorm/nfd-tests: New file.
84292         New module 'uninorm/nfd'.
84293         * lib/uninorm/nfd.c: New file.
84294         * modules/uninorm/nfd: New file.
84296         New module 'uninorm/u32-normalize'.
84297         * lib/uninorm/u32-normalize.c: New file.
84298         * modules/uninorm/u32-normalize: New file.
84300         New module 'uninorm/u16-normalize'.
84301         * lib/uninorm/u16-normalize.c: New file.
84302         * modules/uninorm/u16-normalize: New file.
84304         New module 'uninorm/u8-normalize'.
84305         * lib/uninorm/u8-normalize.c: New file.
84306         * lib/uninorm/normalize-internal.h: New file.
84307         * lib/uninorm/u-normalize-internal.h: New file.
84308         * modules/uninorm/u8-normalize: New file.
84310         New module 'uninorm/decompose-internal'.
84311         * lib/uninorm/decompose-internal.c: New file.
84312         * modules/uninorm/decompose-internal: New file.
84314         Tests for module 'uninorm/composition'.
84315         * tests/uninorm/test-composition.c: New file.
84316         * modules/uninorm/composition-tests: New file.
84318         New module 'uninorm/composition'.
84319         * lib/uninorm/composition.c: New file.
84320         * lib/uninorm/composition-table.gperf: New file, generated by
84321         gen-uni-tables.
84322         * modules/uninorm/composition: New file.
84324         Tests for module 'uninorm/compat-decomposition'.
84325         * tests/uninorm/test-compat-decomposition.c: New file.
84326         * modules/uninorm/compat-decomposition-tests: New file.
84328         New module 'uninorm/compat-decomposition'.
84329         * lib/uninorm/decompose-internal.h: New file.
84330         * lib/uninorm/compat-decomposition.c: New file.
84331         * modules/uninorm/compat-decomposition: New file.
84333         Tests for module 'uninorm/canonical-decomposition'.
84334         * tests/uninorm/test-canonical-decomposition.c: New file.
84335         * modules/uninorm/canonical-decomposition-tests: New file.
84337         New module 'uninorm/canonical-decomposition'.
84338         * lib/uninorm/canonical-decomposition.c: New file.
84339         * modules/uninorm/canonical-decomposition: New file.
84341         Tests for module 'uninorm/decomposition'.
84342         * tests/uninorm/test-decomposition.c: New file.
84343         * modules/uninorm/decomposition-tests: New file.
84345         New module 'uninorm/decomposition'.
84346         * lib/uninorm/decomposition.c: New file.
84347         * modules/uninorm/decomposition: New file.
84349         New module 'uninorm/decomposition-table'.
84350         * lib/uninorm/decomposition-table.h: New file.
84351         * lib/uninorm/decomposition-table.c: New file.
84352         * lib/uninorm/decomposition-table1.h: New file, generated by
84353         gen-uni-tables.
84354         * lib/uninorm/decomposition-table2.h: New file, generated by
84355         gen-uni-tables.
84356         * modules/uninorm/decomposition-table: New file.
84358         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
84359         (UC_DECOMP_*): New enumeration items.
84360         (get_decomposition): New function.
84361         (struct decomp_table): New type.
84362         (output_decomposition, output_decomposition_tables): New functions.
84363         (unicode_composition_exclusions): New variable.
84364         (fill_composition_exclusions, debug_output_composition_tables): New
84365         functions.
84366         (main): Accept one more argument. Invoke fill_composition_exclusions.
84367         Output decomposition and composition tables.
84369         New module 'uninorm/base'.
84370         * lib/uninorm.h: New file.
84371         * lib/unictype.h: Update comment.
84372         * modules/uninorm/base: New file.
84374 2009-02-21  David Lutterkort  <lutter@redhat.com>
84376         Tests for module 'safe-alloc'.
84377         * tests/test-safe-alloc.c: New file.
84378         * modules/safe-alloc-tests: New file.
84380         New module 'safe-alloc'.
84381         * lib/safe-alloc.h: New file.
84382         * lib/safe-alloc.c: New file.
84383         * m4/safe-alloc.m4: New file.
84384         * modules/safe-alloc: New file.
84385         * doc/safe-alloc.texi: New file.
84386         * doc/gnulib.texi: Include it.
84387         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
84388         safe-alloc.
84390 2009-02-18  Bruno Haible  <bruno@clisp.org>
84392         Fix link error on non-glibc systems.
84393         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
84394         variable.
84395         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
84397 2009-02-18  Jim Meyering  <meyering@redhat.com>
84399         fts: avoid used-uninitialized error due to recent change
84400         * lib/fts.c (fts_read): Guard uses of the new member,
84401         parent->fts_n_dirs_remaining, since it's not relevant for
84402         the parent of a directory specified on the command-line.
84404 2009-02-17  James Youngman  <jay@gnu.org>
84405             Bruno Haible  <bruno@clisp.org>
84407         * m4/include_next.m4: Reformulate comment.
84409 2009-02-16  Jim Meyering  <meyering@redhat.com>
84411         fts: add #if guards so that the fts_lgpl module still builds
84412         * lib/fts.c: Guard just-added hash-table-using parts with
84413         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
84414         Reported by Simon Josefsson.
84416 2009-02-15  Bruno Haible  <bruno@clisp.org>
84418         * modules/array-mergesort-tests: New file.
84419         * tests/test-array-mergesort.c: New file.
84421         New module 'array-mergesort'.
84422         * modules/array-mergesort: New file.
84423         * lib/array-mergesort.h: New file.
84425 2009-02-15  Bruno Haible  <bruno@clisp.org>
84427         Fix 2009-02-07 commit.
84428         * lib/gen-uni-tables.c (output_predicate, output_category,
84429         output_combclass, output_bidi_category, output_decimal_digit,
84430         output_digit, output_numeric, output_mirror, output_scripts,
84431         output_ident_category, output_simple_mapping): Fix format directives.
84432         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
84434 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
84436         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
84437         fixes are available from IBM.
84439 2009-02-13  Jim Meyering  <meyering@redhat.com>
84441         fts: arrange not to stat non-directories in more cases
84442         This makes GNU find (when it doesn't need to stat each file)
84443         *much* more efficient at traversing reiserfs file systems.
84444         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
84445         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
84446         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
84447         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
84448         (leaf_optimization_applies): New function.
84449         (LCO_hash, LCO_compare): New helper functions.
84450         (link_count_optimize_ok): New function.
84451         (fts_stat): Initialize new member (if dir).
84452         (fts_read): Decrement parent's fts_n_dirs_remaining count if
84453         we've just stat'ed a directory.  Skip the stat call when possible.
84454         ---
84455         Note this AFS-related exchange:
84456         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
84457         and note find's pioctl call in find/fstype.c.
84458         But that is necessary only if you want to enable the
84459         optimization for AFS, and for now, I don't.
84461         fts: move a function definition "up" (no semantic change)
84462         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
84463         "up" to precede upcoming use of a related function.
84465 2009-02-11  Jim Meyering  <meyering@redhat.com>
84467         fts: correct internal computation of nlinks (optimization-related)
84468         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
84469         whether the current entry is a directory, so don't test it.
84471 2009-02-10  Bruno Haible  <bruno@clisp.org>
84473         Tests for module 'uniwbrk/ulc-wordbreaks'.
84474         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
84475         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
84476         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
84478         Tests for module 'uniwbrk/u32-wordbreaks'.
84479         * modules/uniwbrk/u32-wordbreaks-tests: New file.
84480         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
84482         Tests for module 'uniwbrk/u16-wordbreaks'.
84483         * modules/uniwbrk/u16-wordbreaks-tests: New file.
84484         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
84486         Tests for module 'uniwbrk/u8-wordbreaks'.
84487         * modules/uniwbrk/u8-wordbreaks-tests: New file.
84488         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
84490 2009-02-10  Bruno Haible  <bruno@clisp.org>
84492         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
84493         property.
84494         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
84495         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
84496         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
84498 2009-02-10  Simon Josefsson  <simon@josefsson.org>
84500         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
84501         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
84503 2009-02-10  Bruno Haible  <bruno@clisp.org>
84505         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
84506         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
84507         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
84508         * lib/unilbrk/u8-possible-linebreaks.c: Update.
84509         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
84510         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
84512 2009-02-09  Simon Josefsson  <simon@josefsson.org>
84514         * lib/sockets.h (gl_fd_to_handle): New function.
84516         * tests/test-sockets.c: Call gl_fd_to_handle.
84518 2009-02-09  Bruno Haible  <bruno@clisp.org>
84520         * doc/havelib.texi: Document the conventions on bi-arch systems.
84522 2009-02-08  Bruno Haible  <bruno@clisp.org>
84524         Document the AC_LIB_LINKFLAGS macro.
84525         * doc/havelib.texi: New file, mostly written on 2005-05-24.
84526         * doc/gnulib.texi: Include it.
84528 2009-02-08  Bruno Haible  <bruno@clisp.org>
84530         Fix wrong order of sections, compared to TOC.
84531         * doc/gnulib.texi: Include relocatable-maint.texi after the
84532         "Regular expressions" node, not before.
84534 2009-02-08  Bruno Haible  <bruno@clisp.org>
84536         Tests for module 'unicase/totitle'.
84537         * modules/unicase/totitle-tests: New file.
84539         Tests for module 'unicase/tolower'.
84540         * modules/unicase/tolower-tests: New file.
84542         Tests for module 'unicase/toupper'.
84543         * modules/unicase/toupper-tests: New file.
84544         * tests/unicase/test-mapping-part1.h: New file.
84545         * tests/unicase/test-mapping-part2.h: New file.
84547         New module 'unicase/totitle'.
84548         * modules/unicase/totitle: New file.
84549         * lib/unicase/totitle.c: New file.
84551         New module 'unicase/tolower'.
84552         * modules/unicase/tolower: New file.
84553         * lib/unicase/tolower.c: New file.
84555         New module 'unicase/toupper'.
84556         * modules/unicase/toupper: New file.
84557         * lib/unicase/toupper.c: New file.
84558         * lib/unicase/simple-mapping.h: New file.
84560         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
84561         (mapping_table): New structure.
84562         (output_simple_mapping): New function.
84563         (main): Invoke output_simple_mapping_test and output_simple_mapping.
84564         * modules/gen-uni-tables (Description): Update.
84565         * lib/unicase/toupper.h: New file, automatically generated by
84566         gen-uni-tables.
84567         * lib/unicase/tolower.h: New file, automatically generated by
84568         gen-uni-tables.
84569         * lib/unicase/totitle.h: New file, automatically generated by
84570         gen-uni-tables.
84571         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
84572         gen-uni-tables.
84573         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
84574         gen-uni-tables.
84575         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
84576         gen-uni-tables.
84578         New module 'unicase/base'.
84579         * modules/unicase/base: New file.
84580         * lib/unicase.h: New file.
84582 2009-02-08  Bruno Haible  <bruno@clisp.org>
84584         New module 'uniwbrk/ulc-wordbreaks'.
84585         * modules/uniwbrk/ulc-wordbreaks: New file.
84586         * lib/uniwbrk/ulc-wordbreaks.c: New file.
84588         New module 'uniwbrk/u32-wordbreaks'.
84589         * modules/uniwbrk/u32-wordbreaks: New file.
84590         * lib/uniwbrk/u32-wordbreaks.c: New file.
84592         New module 'uniwbrk/u16-wordbreaks'.
84593         * modules/uniwbrk/u16-wordbreaks: New file.
84594         * lib/uniwbrk/u16-wordbreaks.c: New file.
84596         New module 'uniwbrk/u8-wordbreaks'.
84597         * modules/uniwbrk/u8-wordbreaks: New file.
84598         * lib/uniwbrk/u8-wordbreaks.c: New file.
84599         * lib/uniwbrk/u-wordbreaks.h: New file.
84601         New module 'uniwbrk/table'.
84602         * modules/uniwbrk/table: New file.
84603         * lib/uniwbrk/wbrktable.h: New file.
84604         * lib/uniwbrk/wbrktable.c: New file.
84606         New module 'uniwbrk/wordbreak-property'.
84607         * modules/uniwbrk/wordbreak-property: New file.
84608         * lib/uniwbrk/wordbreak-property.c: New file.
84610         * lib/gen-uni-tables.c (WBP_*): New enum items.
84611         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
84612         (unicode_org_wbp): New variable.
84613         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
84614         New functions.
84615         (wbp_table): New structure.
84616         (output_wbp, output_wbrk_tables): New functions.
84617         (main): Accept additional argument. Invoke fill_org_wbp,
84618         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
84619         output_wbrk_tables.
84620         * modules/gen-uni-tables (Description): Update.
84621         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
84622         gen-uni-tables.
84624         New module 'uniwbrk/base'.
84625         * modules/uniwbrk/base: New file.
84626         * lib/uniwbrk.h: New file.
84628 2009-02-08  Bruno Haible  <bruno@clisp.org>
84630         Update to Unicode 5.1.0.
84631         * lib/gen-uni-tables.c (is_property_alphabetic): Include
84632         U+2185..U+2188.
84633         (is_property_default_ignorable_code_point): Don't include characters
84634         of category Cc or Cs and not-a-characters.
84635         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
84636         U+0D79, U+109E, U+109F, U+A60C.
84637         * lib/unictype/bidi_of.h: Regenerated.
84638         * lib/unictype/blocks.h: Regenerated.
84639         * lib/unictype/categ_C.h: Regenerated.
84640         * lib/unictype/categ_Cf.h: Regenerated.
84641         * lib/unictype/categ_Cn.h: Regenerated.
84642         * lib/unictype/categ_L.h: Regenerated.
84643         * lib/unictype/categ_Ll.h: Regenerated.
84644         * lib/unictype/categ_Lm.h: Regenerated.
84645         * lib/unictype/categ_Lo.h: Regenerated.
84646         * lib/unictype/categ_Lu.h: Regenerated.
84647         * lib/unictype/categ_M.h: Regenerated.
84648         * lib/unictype/categ_Mc.h: Regenerated.
84649         * lib/unictype/categ_Me.h: Regenerated.
84650         * lib/unictype/categ_Mn.h: Regenerated.
84651         * lib/unictype/categ_N.h: Regenerated.
84652         * lib/unictype/categ_Nd.h: Regenerated.
84653         * lib/unictype/categ_Nl.h: Regenerated.
84654         * lib/unictype/categ_No.h: Regenerated.
84655         * lib/unictype/categ_P.h: Regenerated.
84656         * lib/unictype/categ_Pd.h: Regenerated.
84657         * lib/unictype/categ_Pe.h: Regenerated.
84658         * lib/unictype/categ_Pf.h: Regenerated.
84659         * lib/unictype/categ_Pi.h: Regenerated.
84660         * lib/unictype/categ_Po.h: Regenerated.
84661         * lib/unictype/categ_Ps.h: Regenerated.
84662         * lib/unictype/categ_S.h: Regenerated.
84663         * lib/unictype/categ_Sk.h: Regenerated.
84664         * lib/unictype/categ_Sm.h: Regenerated.
84665         * lib/unictype/categ_So.h: Regenerated.
84666         * lib/unictype/categ_of.h: Regenerated.
84667         * lib/unictype/combining.h: Regenerated.
84668         * lib/unictype/ctype_alnum.h: Regenerated.
84669         * lib/unictype/ctype_alpha.h: Regenerated.
84670         * lib/unictype/ctype_graph.h: Regenerated.
84671         * lib/unictype/ctype_lower.h: Regenerated.
84672         * lib/unictype/ctype_print.h: Regenerated.
84673         * lib/unictype/ctype_punct.h: Regenerated.
84674         * lib/unictype/ctype_upper.h: Regenerated.
84675         * lib/unictype/decdigit.h: Regenerated.
84676         * lib/unictype/digit.h: Regenerated.
84677         * lib/unictype/mirror.h: Regenerated.
84678         * lib/unictype/numeric.h: Regenerated.
84679         * lib/unictype/pr_alphabetic.h: Regenerated.
84680         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
84681         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
84682         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
84683         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
84684         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
84685         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
84686         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
84687         * lib/unictype/pr_combining.h: Regenerated.
84688         * lib/unictype/pr_dash.h: Regenerated.
84689         * lib/unictype/pr_decimal_digit.h: Regenerated.
84690         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
84691         * lib/unictype/pr_deprecated.h: Regenerated.
84692         * lib/unictype/pr_diacritic.h: Regenerated.
84693         * lib/unictype/pr_extender.h: Regenerated.
84694         * lib/unictype/pr_format_control.h: Regenerated.
84695         * lib/unictype/pr_grapheme_base.h: Regenerated.
84696         * lib/unictype/pr_grapheme_extend.h: Regenerated.
84697         * lib/unictype/pr_grapheme_link.h: Regenerated.
84698         * lib/unictype/pr_id_continue.h: Regenerated.
84699         * lib/unictype/pr_id_start.h: Regenerated.
84700         * lib/unictype/pr_ideographic.h: Regenerated.
84701         * lib/unictype/pr_ignorable_control.h: Regenerated.
84702         * lib/unictype/pr_lowercase.h: Regenerated.
84703         * lib/unictype/pr_math.h: Regenerated.
84704         * lib/unictype/pr_numeric.h: Regenerated.
84705         * lib/unictype/pr_other_alphabetic.h: Regenerated.
84706         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
84707         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
84708         * lib/unictype/pr_other_id_continue.h: Regenerated.
84709         * lib/unictype/pr_other_lowercase.h: Regenerated.
84710         * lib/unictype/pr_other_math.h: Regenerated.
84711         * lib/unictype/pr_punctuation.h: Regenerated.
84712         * lib/unictype/pr_sentence_terminal.h: Regenerated.
84713         * lib/unictype/pr_soft_dotted.h: Regenerated.
84714         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
84715         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
84716         * lib/unictype/pr_unified_ideograph.h: Regenerated.
84717         * lib/unictype/pr_uppercase.h: Regenerated.
84718         * lib/unictype/pr_xid_continue.h: Regenerated.
84719         * lib/unictype/pr_xid_start.h: Regenerated.
84720         * lib/unictype/pr_zero_width.h: Regenerated.
84721         * lib/unictype/scripts.h: Regenerated.
84722         * lib/unictype/scripts_byname.gperf: Regenerated.
84723         * lib/unictype/sy_java_ident.h: Regenerated.
84724         * lib/unilbrk/lbrkprop1.h: Regenerated.
84725         * lib/unilbrk/lbrkprop2.h: Regenerated.
84726         * tests/unictype/test-categ_C.c: Regenerated.
84727         * tests/unictype/test-categ_Cf.c: Regenerated.
84728         * tests/unictype/test-categ_Cn.c: Regenerated.
84729         * tests/unictype/test-categ_L.c: Regenerated.
84730         * tests/unictype/test-categ_Ll.c: Regenerated.
84731         * tests/unictype/test-categ_Lm.c: Regenerated.
84732         * tests/unictype/test-categ_Lo.c: Regenerated.
84733         * tests/unictype/test-categ_Lu.c: Regenerated.
84734         * tests/unictype/test-categ_M.c: Regenerated.
84735         * tests/unictype/test-categ_Mc.c: Regenerated.
84736         * tests/unictype/test-categ_Me.c: Regenerated.
84737         * tests/unictype/test-categ_Mn.c: Regenerated.
84738         * tests/unictype/test-categ_N.c: Regenerated.
84739         * tests/unictype/test-categ_Nd.c: Regenerated.
84740         * tests/unictype/test-categ_Nl.c: Regenerated.
84741         * tests/unictype/test-categ_No.c: Regenerated.
84742         * tests/unictype/test-categ_P.c: Regenerated.
84743         * tests/unictype/test-categ_Pd.c: Regenerated.
84744         * tests/unictype/test-categ_Pe.c: Regenerated.
84745         * tests/unictype/test-categ_Pf.c: Regenerated.
84746         * tests/unictype/test-categ_Pi.c: Regenerated.
84747         * tests/unictype/test-categ_Po.c: Regenerated.
84748         * tests/unictype/test-categ_Ps.c: Regenerated.
84749         * tests/unictype/test-categ_S.c: Regenerated.
84750         * tests/unictype/test-categ_Sk.c: Regenerated.
84751         * tests/unictype/test-categ_Sm.c: Regenerated.
84752         * tests/unictype/test-categ_So.c: Regenerated.
84753         * tests/unictype/test-ctype_alnum.c: Regenerated.
84754         * tests/unictype/test-ctype_alpha.c: Regenerated.
84755         * tests/unictype/test-ctype_graph.c: Regenerated.
84756         * tests/unictype/test-ctype_lower.c: Regenerated.
84757         * tests/unictype/test-ctype_print.c: Regenerated.
84758         * tests/unictype/test-ctype_punct.c: Regenerated.
84759         * tests/unictype/test-ctype_upper.c: Regenerated.
84760         * tests/unictype/test-decdigit.h: Regenerated.
84761         * tests/unictype/test-digit.h: Regenerated.
84762         * tests/unictype/test-numeric.h: Regenerated.
84763         * tests/unictype/test-pr_alphabetic.c: Regenerated.
84764         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
84765         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
84766         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
84767         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
84768         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
84769         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
84770         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
84771         * tests/unictype/test-pr_combining.c: Regenerated.
84772         * tests/unictype/test-pr_dash.c: Regenerated.
84773         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
84774         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
84775         * tests/unictype/test-pr_deprecated.c: Regenerated.
84776         * tests/unictype/test-pr_diacritic.c: Regenerated.
84777         * tests/unictype/test-pr_extender.c: Regenerated.
84778         * tests/unictype/test-pr_format_control.c: Regenerated.
84779         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
84780         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
84781         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
84782         * tests/unictype/test-pr_id_continue.c: Regenerated.
84783         * tests/unictype/test-pr_id_start.c: Regenerated.
84784         * tests/unictype/test-pr_ideographic.c: Regenerated.
84785         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
84786         * tests/unictype/test-pr_lowercase.c: Regenerated.
84787         * tests/unictype/test-pr_math.c: Regenerated.
84788         * tests/unictype/test-pr_numeric.c: Regenerated.
84789         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
84790         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
84791         Regenerated.
84792         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
84793         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
84794         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
84795         * tests/unictype/test-pr_other_math.c: Regenerated.
84796         * tests/unictype/test-pr_punctuation.c: Regenerated.
84797         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
84798         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
84799         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
84800         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
84801         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
84802         * tests/unictype/test-pr_uppercase.c: Regenerated.
84803         * tests/unictype/test-pr_xid_continue.c: Regenerated.
84804         * tests/unictype/test-pr_xid_start.c: Regenerated.
84805         * tests/unictype/test-pr_zero_width.c: Regenerated.
84807         Update to Unicode 5.1.0.
84808         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
84809         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
84810         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
84811         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
84812         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
84813         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
84814         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
84815         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
84816         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
84817         (nonspacing_table_ind): Update.
84818         * tests/uniwidth/test-uc_width2.sh: Update expected result.
84820         Update to Unicode 5.1.0.
84821         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
84822         code transform.
84823         * lib/uniname/uniname.c (unicode_character_name,
84824         unicode_name_character): Add the range 0x1Fxxx to the code transform.
84825         * lib/uniname/uninames.h: Regenerated.
84826         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
84828 2009-02-07  Bruno Haible  <bruno@clisp.org>
84830         Merge gen-ctype and gen-lbrk into a single program.
84831         * lib/gen-uni-tables.c: New file, incorporating
84832         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
84833         Add directory prefixes to the names of the generated files.
84834         * lib/unictype/gen-ctype.c: Remove file.
84835         * lib/unilbrk/gen-lbrk.c: Remove file.
84836         * modules/gen-uni-tables: New file.
84837         * modules/unictype/gen-ctype: Remove file.
84838         * modules/unilbrk/gen-lbrk: Remove file.
84840 2009-02-07  Bruno Haible  <bruno@clisp.org>
84842         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
84844         New module 'unistr/u32-strcoll'.
84845         * modules/unistr/u32-strcoll: New file.
84846         * lib/unistr/u32-strcoll.c: New file.
84848         New module 'unistr/u16-strcoll'.
84849         * modules/unistr/u16-strcoll: New file.
84850         * lib/unistr/u16-strcoll.c: New file.
84852         New module 'unistr/u8-strcoll'.
84853         * modules/unistr/u8-strcoll: New file.
84854         * lib/unistr/u8-strcoll.c: New file.
84855         * lib/unistr/u-strcoll.h: New file.
84857 2009-02-07  Bruno Haible  <bruno@clisp.org>
84859         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
84860         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
84861         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
84862         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
84863         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
84864         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
84866 2009-02-07  Bruno Haible  <bruno@clisp.org>
84868         Make 64-bit clean.
84869         * lib/unictype/gen-ctype.c (output_predicate, output_category,
84870         output_combclass, output_bidi_category, output_decimal_digit,
84871         output_digit, output_numeric, output_mirror, output_scripts,
84872         output_ident_category): Use proper width specifier in format strings.
84874 2009-02-07  Bruno Haible  <bruno@clisp.org>
84876         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
84877         failure behaviour.
84879 2009-02-07  Jim Meyering  <meyering@redhat.com>
84881         regex: avoid compilation failure with upcoming gcc-4.4
84882         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
84883         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
84884         "... error: integer overflow in preprocessor expression".
84886 2009-02-05  Ben Pfaff  <blp@gnu.org>
84888         Fix link errors on Windows when close module is used.
84889         * modules/close: Add $(LIB_CLOSE) to Link section.
84890         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
84891         $(LIB_CLOSE) on Windows.
84893 2009-02-05  Jim Meyering  <meyering@redhat.com>
84895         still avoid unused-parameter warnings, but do it cleanly
84896         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
84897         (get_fs_usage): Cast to void instead.
84898         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
84899         (dev_from_mount_options, read_file_system_list): Cast to void.
84900         Prompted by Bruno Haible.
84902 2009-02-04  Jim Meyering  <meyering@redhat.com>
84904         fsusage.c: correct copyright year
84905         * lib/fsusage.c: Reflect year in which the change is pushed into
84907         avoid misc. warnings
84908         * lib/fsusage.c (UNUSED_PARAM): Define.
84909         (get_fs_usage): Mark parameter "disk" as unused.
84910         * lib/getugroups.c (getgrent): Use "void" in prototype.
84911         * lib/mountlist.c: Mark unused parameters.
84912         (read_file_system_list): Declare a local with "const".
84913         * lib/nanosleep.c (getnow): Declare static.
84914         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
84916         dirfd: set errno upon failure
84917         * lib/dirfd.c: Include <errno.h>.
84918         Set errno to ENOTSUP when returning -1.
84919         * modules/dirfd (Depends-on): Add errno.
84920         Suggested by John Kodis <kodis@comcast.net>.
84922 2009-02-01  Bruno Haible  <bruno@clisp.org>
84924         Don't assume sizeof (long) >= sizeof (void *).
84925         * lib/memcmp.c: Include stdint.h.
84926         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
84927         srcp2 to 'const byte *'.
84928         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
84929         types to uintptr_t.
84930         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
84931         * modules/memcmp (Depends-on): Add stdint.
84932         Reported by Ozkan Sezer <sezeroz@gmail.com>.
84934 2009-01-30  Eric Blake  <ebb9@byu.net>
84936         fix more require-before-expand issues
84937         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
84938         expand, AC_PROG_AWK.
84939         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
84941 2009-01-28  Eric Blake  <ebb9@byu.net>
84943         version-etc: use consistent URL formatting
84944         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
84945         Improve formatting.  Use fputs for string without %.
84947 2009-01-28  Jim Meyering  <meyering@redhat.com>
84949         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
84950         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
84951         "underquoted definition of NAME" from autoconf-2.59.
84953 2009-01-28  Bruno Haible  <bruno@clisp.org>
84955         * doc/gnulib.texi: Add "Obsolete modules" to index.
84957 2009-01-28  Jim Meyering  <meyering@redhat.com>
84959         useless-if-before-free: recognize more variants
84960         * build-aux/useless-if-before-free: Also recognize e.g.,
84961         if (NULL != p) free (p);
84963 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
84965         test-getaddrinfo: skip (don't fail) this test when there's no network
84966         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
84967         on the presumption that it means you lack network access.
84969 2009-01-26  Jim Meyering  <meyering@redhat.com>
84971         fflush: avoid warnings on modern systems
84972         * lib/fflush.c (rpl_fflush): Move declarations of locals,
84973         pos and result, into scopes where they're used.
84975 2009-01-26  Eric Blake  <ebb9@byu.net>
84977         Silence warning reintroduced by recent extensions patch.
84978         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
84979         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
84980         autoconf.
84982         Backport improved autoconf semantics of AC_DEFUN_ONCE.
84983         * m4/00gnulib.m4: New file.
84984         * gnulib-tool (func_get_filelist): Always use it.
84985         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
84986         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
84988 2009-01-25  Bruno Haible  <bruno@clisp.org>
84990         Make test-quotearg work on MacOS X and AIX.
84991         * tests/test-quotearg.sh: New file.
84992         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
84993         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
84994         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
84995         include <libintl.h>.
84996         (fake_locale): Remove variable.
84997         (gettext, dgettext, dcgettext): Remove functions.
84998         (main): Instead of setting a fake locale, set a real locale. Call
84999         textdomain and bindtextdomain.
85000         * modules/quotearg-tests (Files): Add the new files.
85001         (Depends-on): Add gettext, setenv, unsetenv.
85002         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
85003         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
85004         Augment TESTS_ENVIRONMENT.
85006 2009-01-25  Bruno Haible  <bruno@clisp.org>
85008         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
85009         fr_FR.ISO8859-1 locale on MacOS X.
85010         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
85011         ja_JP.eucJP locale on MacOS X.
85012         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
85013         zh_CN.GB18030 locale on MacOS X.
85015 2009-01-25  Bruno Haible  <bruno@clisp.org>
85017         Avoid link errors on MacOS X 10.3.
85018         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
85019         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
85021 2009-01-25  Bruno Haible  <bruno@clisp.org>
85023         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
85024         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
85025         * modules/pipe (Files): Remove m4/posix_spawn.m4.
85026         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
85027         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
85028         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
85029         posix_spawnattr_init, posix_spawnattr_setsigmask,
85030         posix_spawnattr_setflags, posix_spawnattr_destroy.
85032         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
85033         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
85034         * modules/execute (Files): Remove m4/posix_spawn.m4.
85035         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
85036         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
85037         posix_spawnattr_init, posix_spawnattr_setsigmask,
85038         posix_spawnattr_setflags, posix_spawnattr_destroy.
85040 2009-01-25  Bruno Haible  <bruno@clisp.org>
85042         * lib/glthread/threadlib.c: Include <stdlib.h>.
85044 2009-01-25  Bruno Haible  <bruno@clisp.org>
85046         * lib/glthread/threadlib.c (dummy): New declaration.
85048 2009-01-25  Bruno Haible  <bruno@clisp.org>
85050         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
85051         multibyte characters also for the GB18030 encoding. Don't crash when
85052         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
85054 2009-01-25  Bruno Haible  <bruno@clisp.org>
85056         Avoid redefining 'struct random_data' on OSF/1 5.1.
85057         * lib/stdlib.in.h: Include <random.h> if it exists.
85058         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
85059         HAVE_RANDOM_H. Include <random.h> when testing whether
85060         'struct random_data' exists.
85061         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
85063 2009-01-25  Bruno Haible  <bruno@clisp.org>
85065         Don't install charset.alias on MacOS X >= 10.3.
85066         * lib/localcharset.c (DARWIN7): New macro.
85067         (get_charset_aliases): Hardcode the result for Darwin7.
85068         * modules/localcharset (install-exec-local): Don't install
85069         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
85071 2009-01-25  Bruno Haible  <bruno@clisp.org>
85073         Don't install charset.alias on mingw and Cygwin.
85074         * modules/localcharset (install-exec-local): Don't install
85075         charset.alias on mingw and Cygwin, if the file does not yet exist.
85076         The result for these platforms is hardcoded in localcharset.c.
85078 2009-01-25  Bruno Haible  <bruno@clisp.org>
85080         Make it possible again to use AC_GNU_SOURCE together with gnulib.
85081         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
85082         before requiring AC_USE_SYSTEM_EXTENSIONS.
85084 2009-01-25  Jim Meyering  <meyering@redhat.com>
85086         c-strtod: avoid warnings
85087         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
85088         "assignment discards qualifiers from pointer target type" warnings.
85090 2009-01-24  Bruno Haible  <bruno@clisp.org>
85092         Add support for non-UTF-8 locales on MacOS X.
85093         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
85094         canonical encodings. For Darwin 7 and newer, don't map traditional
85095         encodings to UTF-8.
85096         Reported by Vincent Lefevre <vincent@vinc17.org>
85097         at <http://savannah.gnu.org/bugs/?25235>.
85099 2009-01-24  Bruno Haible  <bruno@clisp.org>
85101         * doc/gnulib.texi (Obsolete modules): New section.
85102         Reported by Mike Frysinger <vapier@gentoo.org>.
85104 2009-01-24  Bruno Haible  <bruno@clisp.org>
85106         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
85107         (%.dvi): New rule.
85109 2009-01-24  Bruno Haible  <bruno@clisp.org>
85111         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
85112         Reported by Eric Blake.
85114 2009-01-24  Bruno Haible  <bruno@clisp.org>
85116         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
85117         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
85118         Reported by Gary V. Vaughan <gary@gnu.org>.
85120 2009-01-24  Bruno Haible  <bruno@clisp.org>
85122         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
85124 2009-01-23  Bruno Haible  <bruno@clisp.org>
85126         Make c-strtod, c-strtold usable in libraries.
85127         * lib/c-strtod.c: Include string.h instead of xalloc.h.
85128         (C_STRTOD): Call strdup instead of xstrdup.
85129         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
85130         * modules/c-strtold (Depends-on): Likewise.
85131         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
85132         * NEWS: Mention the change.
85133         Reported by Michael Gold <mgold@ncf.ca>.
85135 2009-01-23  Jim Meyering  <meyering@redhat.com>
85137         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
85138         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
85139         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
85141 2009-01-23  Simon Josefsson  <simon@josefsson.org>
85143         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
85144         GNU CoreUtils.
85145         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
85146         * modules/version-etc (Description): Update.
85148 2009-01-22  Bruno Haible  <bruno@clisp.org>
85150         Cache the C locale object.
85151         * lib/c-strtod.c (c_locale_cache): New variable.
85152         (c_locale): New function.
85153         (C_STRTOD): Use it, and don't call freelocale.
85154         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
85155         Suggested by Paolo Bonzini.
85157 2009-01-21  Bruno Haible  <bruno@clisp.org>
85159         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
85160         conditions other than overflow.
85162 2009-01-21  Bruno Haible  <bruno@clisp.org>
85164         * lib/c-strtod.c: Include errno.h.
85165         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
85166         value from STRTOD_L and STRTOD.
85168 2009-01-21  Bruno Haible  <bruno@clisp.org>
85169         and Jim Meyering  <meyering@redhat.com>
85171         nanosleep: skip configure test (fail it) for apple universal builds
85172         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
85173         universal builds, assume that nanosleep does not work.
85174         * modules/nanosleep (Depends-on): Add multiarch.
85176         mktime: skip configure test (fail it) for apple universal builds
85177         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
85178         universal builds, assume that mktime does not work.
85179         * modules/mktime (Depends-on): Add multiarch.
85181 2009-01-21  Eric Blake  <ebb9@byu.net>
85183         multiarch: avoid expand-before-require warning
85184         * modules/multiarch (configure.ac): Require, rather than expand,
85185         gl_MULTIARCH.
85186         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
85187         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
85188         enforce that all clients require it.  Partial reversion of
85189         2008-12-29 patch.
85191         error: avoid expand-before-require warning
85192         * modules/errno (configure.ac): Require, rather than expand,
85193         gl_HEADER_ERRNO_H.
85194         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
85195         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
85196         enforce that all clients require it.
85198         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
85199         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
85200         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
85201         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
85203 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
85205         Revert:
85206         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
85208         regex: do not depend on obsolete modules.
85209         * modules/regex: Remove memcmp and memmove.
85211 2009-01-20  Bruno Haible  <bruno@clisp.org>
85213         Make the 'link' module link on Windows NT 4.
85214         * lib/link.c (_WIN32_WINNT): Don't define.
85215         (CreateHardLinkFuncType): New type.
85216         (CreateHardLinkFunc, initialized): New variables.
85217         (initialize): New function.
85218         (link): Invoke CreateHardLink indirectly through the function pointer.
85220 2009-01-20  Bruno Haible  <bruno@clisp.org>
85222         Fix compilation failure on mingw.
85223         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
85225 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
85227         * doc/c-strtod.texi: Mention a couple of restrictions.
85229 2009-01-20  Jim Meyering  <meyering@redhat.com>
85231         gettimeofday: move more declarations out of functions
85232         * lib/gettimeofday.c: Move extern declarations of tzset and
85233         gmtime out of containing functions.  Prompted by Bruno Haible.
85235 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
85237         regex: do not depend on obsolete modules.
85238         * modules/regex: Remove memcmp and memmove.
85240 2009-01-19  Bruno Haible  <bruno@clisp.org>
85242         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
85243         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
85244         gl_BIGENDIAN, not AC_C_BIGENDIAN.
85245         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
85246         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
85248 2009-01-19  Bruno Haible  <bruno@clisp.org>
85250         * tests/test-link.c: Include <errno.h>.
85251         (main): Exit with code 77 when a hard link cannot be created due to
85252         the file system.
85253         * tests/test-link.sh: Skip test when a hard link cannot be created due
85254         to the file system.
85255         Suggested by Eric Blake.
85257 2009-01-19  Martin Lambers  <marlam@marlam.de>
85259         * modules/link-tests: New file.
85260         * tests/test-link.sh: New file.
85261         * tests/test-link.c: New file.
85263 2009-01-19  Eric Blake  <ebb9@byu.net>
85265         doc: mention another function added in cygwin 1.7.0
85266         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
85267         Another new function in cygwin 1.7.
85269 2009-01-19  Bruno Haible  <bruno@clisp.org>
85271         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
85272         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
85273         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
85274         gl_BIGENDIAN, not AC_C_BIGENDIAN.
85275         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
85276         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
85277         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
85278         * m4/md4.m4 (gl_MD4): Likewise.
85279         * m4/md5.m4 (gl_MD5): Likewise.
85280         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
85281         * m4/sha1.m4 (gl_SHA1): Likewise.
85282         * m4/sha256.m4 (gl_SHA256): Likewise.
85283         * m4/sha512.m4 (gl_SHA512): Likewise.
85285 2009-01-19  Bruno Haible  <bruno@clisp.org>
85287         * modules/uniname/uniname-tests (Depends-on): Add progname.
85288         * tests/uniname/test-uninames.c: Include progname.h.
85289         (main): Call set_program_name.
85291         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
85292         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
85293         (main): Call set_program_name.
85295         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
85296         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
85297         (main): Call set_program_name.
85299         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
85300         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
85301         (main): Call set_program_name.
85303         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
85304         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
85305         (main): Call set_program_name.
85307         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
85308         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
85309         (main): Call set_program_name.
85311         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
85312         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
85313         (main): Call set_program_name.
85315         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
85316         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
85317         (main): Call set_program_name.
85319         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
85320         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
85321         (main): Call set_program_name.
85323 2009-01-19  Eric Blake  <ebb9@byu.net>
85325         test-unistd: test previous patch
85326         * tests/test-unistd.c: Test *_FILENO macros.
85328         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
85329         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
85330         Guarantee a definition.
85331         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
85332         * modules/unistd-safer (Depends-on): Add dependency on unistd.
85333         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
85334         * lib/dup-safer.c (STDERR_FILENO): Likewise.
85335         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
85336         Likewise.
85337         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
85338         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
85339         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
85340         Likewise.
85341         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
85342         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
85343         (STDERR_FILENO): Likewise.
85344         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
85345         (STDERR_FILENO): Likewise.
85346         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
85347         (STDERR_FILENO): Likewise.
85348         Reported by Elbert Pol.
85350 2009-01-19  Eric Blake  <ebb9@byu.net>
85352         doc: mention more functions added in cygwin 1.7.0
85353         * doc/posix-functions/abort.texi (abort): Update wording related
85354         to cygwin.
85355         * doc/posix-functions/daylight.texi (daylight): Likewise.
85356         * doc/posix-functions/optarg.texi (optarg): Likewise.
85357         * doc/posix-functions/optarg.texi (opterr): Likewise.
85358         * doc/posix-functions/optarg.texi (optind): Likewise.
85359         * doc/posix-functions/optarg.texi (optopt): Likewise.
85360         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
85361         worked in 1.5.x, and was withdrawn in 1.7.
85362         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
85363         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
85364         cygwin versions.
85365         * doc/posix-functions/perror.texi (perror): Likewise.
85366         * doc/posix-functions/printf.texi (printf): Likewise.
85367         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
85368         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
85369         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
85370         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
85371         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
85372         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
85373         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
85374         Likewise.
85375         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
85376         Likewise.
85377         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
85378         this function.
85379         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
85380         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
85381         Likewise.
85382         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
85383         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
85384         * doc/posix-functions/confstr.texi (confstr): Likewise.
85385         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
85386         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
85387         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
85388         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
85389         * doc/posix-functions/fputws.texi (fputws): Likewise.
85390         * doc/posix-functions/fwide.texi (fwide): Likewise.
85391         * doc/posix-functions/getwc.texi (getwc): Likewise.
85392         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
85393         * doc/posix-functions/putwc.texi (putwc): Likewise.
85394         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
85395         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
85396         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
85397         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
85398         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
85399         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
85400         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
85401         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
85402         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
85403         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
85404         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
85406 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
85408         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
85409         * lib/ioctl.c: Include <sys/ioctl.h>.
85411 2009-01-19  Simon Josefsson  <simon@josefsson.org>
85413         * modules/getdate-tests (Depends-on): Add progname.
85414         * tests/test-getdate.c: Use progname module, to avoid link errors
85415         on non-glibc systems.
85417 2009-01-18  Simon Josefsson  <simon@josefsson.org>
85419         * modules/filenamecat-tests (Depends-on): Add progname.
85420         * modules/fstrcmp-tests (Depends-on): Likewise.
85422         * tests/test-filenamecat.c: Use progname module, to avoid link
85423         errors on non-glibc systems.
85424         * tests/test-fstrcmp.c: Likewise.
85426 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
85428         gettimeofday: avoid warning: nested extern declaration of 'localtime'
85429         * lib/gettimeofday.c: Move extern declaration out of function.
85431 2009-01-18  Bruno Haible  <bruno@clisp.org>
85433         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
85434         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
85435         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
85437 2009-01-18  Bruno Haible  <bruno@clisp.org>
85439         * lib/strftime.c (MEMPCPY): Remove unused macro.
85440         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
85442 2009-01-18  Martin Lambers  <marlam@marlam.de>
85444         New module 'link'.
85445         * lib/unistd.in.h (link): New declaration.
85446         * lib/link.c: New file.
85447         * m4/link.m4: New file.
85448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
85449         HAVE_LINK.
85450         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
85451         * modules/link: New file.
85452         * doc/posix-functions/link.texi: Mention the new module.
85454 2009-01-18  Bruno Haible  <bruno@clisp.org>
85456         * tests/test-avltree_list.c (main): Call set_program_name.
85457         * tests/test-avltree_oset.c (main): Likewise.
85458         * tests/test-obstack-printf.c: Include progname.h.
85459         (main): Call set_program_name.
85460         * tests/test-quotearg.c: Include progname.h.
85461         (main): Call set_program_name.
85462         * tests/test-xmemdup0.c: Include progname.h.
85463         (main): Call set_program_name.
85465 2009-01-18  Bruno Haible  <bruno@clisp.org>
85467         New module 'alphasort'.
85468         * lib/dirent.in.h (alphasort): New declaration.
85469         * lib/alphasort.c: New file, from glibc with modifications.
85470         * m4/alphasort.m4: New file.
85471         * modules/alphasort: New file.
85472         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
85473         HAVE_ALPHASORT.
85474         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
85475         HAVE_ALPHASORT.
85476         * doc/posix-functions/alphasort.texi: Mention the new module and the
85477         portability problems.
85479 2009-01-18  Bruno Haible  <bruno@clisp.org>
85481         New module 'scandir'.
85482         * lib/dirent.in.h (scandir): New declaration.
85483         * lib/scandir.c: New file, from glibc with modifications.
85484         * m4/scandir.m4: New file.
85485         * modules/scandir: New file.
85486         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
85487         HAVE_SCANDIR.
85488         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
85489         HAVE_SCANDIR.
85490         * doc/posix-functions/scandir.texi: Mention the new module and the
85491         portability problems.
85493 2009-01-17  Bruno Haible  <bruno@clisp.org>
85495         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
85496         Update documentation.
85497         (func_remove_suffix): Escape all dots in the suffix. Update
85498         documentation.
85499         (func_filter_filelist): Update documentation.
85500         Reported by Ralf Wildenhues.
85502 2009-01-17  Bruno Haible  <bruno@clisp.org>
85504         * modules/dprintf-posix-tests: New file.
85505         * tests/test-dprintf-posix.sh: New file.
85506         * tests/test-dprintf-posix.c: New file.
85508         New modules 'dprintf', 'dprintf-posix'.
85509         * lib/stdio.in.h (dprintf): New declaration.
85510         * lib/dprintf.c: New file.
85511         * m4/dprintf.m4: New file.
85512         * m4/dprintf-posix.m4: New file.
85513         * modules/dprintf: New file.
85514         * modules/dprintf-posix: New file.
85515         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
85516         HAVE_DPRINTF, REPLACE_DPRINTF.
85517         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
85518         HAVE_DPRINTF, REPLACE_DPRINTF.
85519         * doc/posix-functions/dprintf.texi: Mention the new modules.
85521 2009-01-17  Bruno Haible  <bruno@clisp.org>
85523         * modules/vdprintf-posix-tests: New file.
85524         * tests/test-vdprintf-posix.sh: New file.
85525         * tests/test-vdprintf-posix.c: New file.
85527         New modules 'vdprintf', 'vdprintf-posix'.
85528         * lib/stdio.in.h (vdprintf): New declaration.
85529         * lib/vdprintf.c: New file.
85530         * m4/vdprintf.m4: New file.
85531         * m4/vdprintf-posix.m4: New file.
85532         * modules/vdprintf: New file.
85533         * modules/vdprintf-posix: New file.
85534         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
85535         HAVE_VDPRINTF, REPLACE_VDPRINTF.
85536         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
85537         HAVE_VDPRINTF, REPLACE_VDPRINTF.
85538         * doc/posix-functions/vdprintf.texi: Mention the new modules.
85540 2009-01-17  Bruno Haible  <bruno@clisp.org>
85542         Fix replacement of fopen on mingw.
85543         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
85544         mingw.
85546 2009-01-17  Bruno Haible  <bruno@clisp.org>
85548         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
85549         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
85551 2009-01-17  Bruno Haible  <bruno@clisp.org>
85553         Avoid test-fflush2.sh failure on mingw.
85554         * tests/test-fflush2.c: Include binary-io.h.
85555         (main): Put standard input into binary mode.
85556         * modules/fflush-tests (Depends-on): Add binary-io.
85558 2009-01-17  Bruno Haible  <bruno@clisp.org>
85560         * lib/wchar.in.h: In another particular situation, include only the
85561         system's <wchar.h> file.
85562         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
85563         Reported by Albert Chin-A-Young <china@thewrittenword.com>
85564         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
85566 2009-01-17  Bruno Haible  <bruno@clisp.org>
85568         Support for stripping executables in --enable-relocatable.
85569         * build-aux/install-reloc: Expect one more argument, or an environment
85570         variable RELOC_STRIP_PROG. If set, strip the destination program and
85571         its wrapper.
85572         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
85573         RELOC_STRIP_PROG.
85574         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
85575         to set RELOCATABLE_STRIP.
85576         * NEWS: Mention the new Makefile requirement.
85578 2009-01-17  Bruno Haible  <bruno@clisp.org>
85580         * build-aux/install-reloc: Remove debugging information left over by
85581         C compiler on MacOS X.
85583 2009-01-17  Bruno Haible  <bruno@clisp.org>
85585         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
85586         * lib/progreloc.c (find_executable): Fix type of pointer passed to
85587         _NSGetExecutablePath.
85589 2009-01-16  Jim Meyering  <meyering@redhat.com>
85591         strerror: avoid warnings about discarding "const"
85592         * lib/strerror.c (rpl_strerror): Instead of returning a const
85593         string from each and every "case", use a variable, and add a single
85594         cast after the switch.
85596 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
85598         * lib/arpa_inet.in.h: Add extern "C" block for C++.
85600 2009-01-16  Bruno Haible  <bruno@clisp.org>
85602         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
85603         array initializer syntax that also works in C++ mode.
85604         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85606 2009-01-16  Jim Meyering  <meyering@redhat.com>
85608         poll: suppress a warning
85609         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
85610         to ignore "...unsigned expression < 0 is always false" warnings.
85612 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
85614         poll: remove declarations of unused variables
85615         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
85616         sockbuf and optlen.
85618 2009-01-15  Bruno Haible  <bruno@clisp.org>
85620         Make fflush-after-ungetc POSIX compliant on BSD systems.
85621         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
85622         (clear_ungetc_buffer): Implement also for other systems.
85623         (rpl_fflush): On glibc systems, invoke
85624         clear_ungetc_buffer_preserving_position. Otherwise, invoke
85625         clear_ungetc_buffer after fetching the stream's position, not before.
85627 2009-01-15  Bruno Haible  <bruno@clisp.org>
85629         Make fflush-after-ungetc POSIX compliant on glibc systems.
85630         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
85631         after ungetc.
85632         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
85633         (rpl_fflush): On glibc systems, simply call the system's fflush
85634         function after clearing the ungetc buffer.
85635         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
85636         Instead, lseek only to the end of file, then use the system's fseeko
85637         for the rest. On glibc systems, reset the EOF indicator bit.
85639 2009-01-15  Jim Meyering  <meyering@redhat.com>
85641         openmp.m4: revert quote-adding change, for portability to older autoconf
85642         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
85643         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
85644         Simon Josefsson noticed the problem when using autoconf-2.61.
85646 2009-01-15  Bruno Haible  <bruno@clisp.org>
85648         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
85649         * tests/test-fflush2.c (ASSERT): Always fail.
85650         (main): Add two tests for fflush() after ungetc(), taking into account
85651         the Austin Group's clarification.
85652         Suggested by Eric Blake.
85654 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
85656         mktime.m4: remove K&R-style function prototypes
85657         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
85658         for the Sun C++ compiler.
85660 2009-01-14  Bruno Haible  <bruno@clisp.org>
85662         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
85663         while including <wchar.h>.
85664         * lib/wchar.in.h: In two particular situations on HP-UX, include only
85665         the system's <wchar.h> file.
85666         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85668 2009-01-14  Bruno Haible  <bruno@clisp.org>
85670         * m4/csharp.m4: Don't mention gettext on the serial number line.
85671         * m4/csharpexec.m4: Likewise.
85672         * m4/eaccess.m4: Likewise.
85673         * m4/javaexec.m4: Likewise.
85674         * m4/sig_atomic_t.m4: Likewise.
85675         * m4/tmpdir.m4: Likewise.
85676         * m4/intldir.m4: Bump gettext version.
85677         * m4/lib-ld.m4: Likewise.
85679 2009-01-14  Bruno Haible  <bruno@clisp.org>
85681         * lib/progname.c (set_program_name): Add more comments.
85682         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
85684 2009-01-14  Simon Josefsson  <simon@josefsson.org>
85686         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
85687         were sys/stat.h does not define it.
85689 2009-01-14  Jim Meyering  <meyering@redhat.com>
85691         many *.m4 files: improve m4 quoting
85692         99% of this change was performed by running the following commands:
85693         git ls-files | grep '\.m4$' | xargs perl -pi \
85694           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
85695           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
85696           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
85697           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
85698         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
85699         The remainder were to add Copyright dates, increment serial numbers,
85700         undo some changes in comments, exclude m4/intl.m4, and add quotes
85701         around the "1" in ",1" where the unusual spacing prohibited the
85702         above regexps from doing the job.  For more details, see
85703         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
85704         * m4/acl.m4: Modified.
85705         * m4/afs.m4: Likewise.
85706         * m4/alloca.m4: Likewise.
85707         * m4/argp.m4: Likewise.
85708         * m4/argz.m4: Likewise.
85709         * m4/atexit.m4: Likewise.
85710         * m4/bison-i18n.m4: Likewise.
85711         * m4/bison.m4: Likewise.
85712         * m4/byteswap.m4: Likewise.
85713         * m4/c-stack.m4: Likewise.
85714         * m4/c-strtod.m4: Likewise.
85715         * m4/calloc.m4: Likewise.
85716         * m4/canonicalize-lgpl.m4: Likewise.
85717         * m4/chown.m4: Likewise.
85718         * m4/clock_time.m4: Likewise.
85719         * m4/codeset.m4: Likewise.
85720         * m4/copy-file.m4: Likewise.
85721         * m4/csharp.m4: Likewise.
85722         * m4/csharpcomp.m4: Likewise.
85723         * m4/csharpexec.m4: Likewise.
85724         * m4/d-ino.m4: Likewise.
85725         * m4/d-type.m4: Likewise.
85726         * m4/dirfd.m4: Likewise.
85727         * m4/double-slash-root.m4: Likewise.
85728         * m4/eaccess.m4: Likewise.
85729         * m4/eealloc.m4: Likewise.
85730         * m4/environ.m4: Likewise.
85731         * m4/errno_h.m4: Likewise.
85732         * m4/euidaccess.m4: Likewise.
85733         * m4/execute.m4: Likewise.
85734         * m4/fatal-signal.m4: Likewise.
85735         * m4/fchdir.m4: Likewise.
85736         * m4/fcntl_h.m4: Likewise.
85737         * m4/fileblocks.m4: Likewise.
85738         * m4/filenamecat.m4: Likewise.
85739         * m4/findprog.m4: Likewise.
85740         * m4/flexmember.m4: Likewise.
85741         * m4/fnmatch.m4: Likewise.
85742         * m4/fopen.m4: Likewise.
85743         * m4/fpending.m4: Likewise.
85744         * m4/fprintf-posix.m4: Likewise.
85745         * m4/free.m4: Likewise.
85746         * m4/frexp.m4: Likewise.
85747         * m4/frexpl.m4: Likewise.
85748         * m4/fsusage.m4: Likewise.
85749         * m4/ftruncate.m4: Likewise.
85750         * m4/gc-camellia.m4: Likewise.
85751         * m4/gc-random.m4: Likewise.
85752         * m4/gc.m4: Likewise.
85753         * m4/getaddrinfo.m4: Likewise.
85754         * m4/getcwd-abort-bug.m4: Likewise.
85755         * m4/getcwd-path-max.m4: Likewise.
85756         * m4/getdate.m4: Likewise.
85757         * m4/getdomainname.m4: Likewise.
85758         * m4/getgroups.m4: Likewise.
85759         * m4/gethostname.m4: Likewise.
85760         * m4/gethrxtime.m4: Likewise.
85761         * m4/getline.m4: Likewise.
85762         * m4/getloadavg.m4: Likewise.
85763         * m4/getndelim2.m4: Likewise.
85764         * m4/getpass.m4: Likewise.
85765         * m4/gettext.m4: Likewise.
85766         * m4/gettime.m4: Likewise.
85767         * m4/gettimeofday.m4: Likewise.
85768         * m4/gnulib-common.m4: Likewise.
85769         * m4/group-member.m4: Likewise.
85770         * m4/host-os.m4: Likewise.
85771         * m4/iconv.m4: Likewise.
85772         * m4/iconv_open.m4: Likewise.
85773         * m4/inet_ntop.m4: Likewise.
85774         * m4/inet_pton.m4: Likewise.
85775         * m4/inline.m4: Likewise.
85776         * m4/intldir.m4: Likewise.
85777         * m4/intlmacosx.m4: Likewise.
85778         * m4/intmax.m4: Likewise.
85779         * m4/intmax_t.m4: Likewise.
85780         * m4/inttypes.m4: Likewise.
85781         * m4/inttypes_h.m4: Likewise.
85782         * m4/inttypes-pri.m4: Likewise.
85783         * m4/isapipe.m4: Likewise.
85784         * m4/isnand.m4: Likewise.
85785         * m4/isnanf.m4: Likewise.
85786         * m4/isnanl.m4: Likewise.
85787         * m4/javacomp.m4: Likewise.
85788         * m4/javaexec.m4: Likewise.
85789         * m4/jm-winsz1.m4: Likewise.
85790         * m4/jm-winsz2.m4: Likewise.
85791         * m4/lchown.m4: Likewise.
85792         * m4/lcmessage.m4: Likewise.
85793         * m4/ldexpl.m4: Likewise.
85794         * m4/lib-ld.m4: Likewise.
85795         * m4/lib-link.m4: Likewise.
85796         * m4/libsigsegv.m4: Likewise.
85797         * m4/link-follow.m4: Likewise.
85798         * m4/localcharset.m4: Likewise.
85799         * m4/locale-fr.m4: Likewise.
85800         * m4/locale-ja.m4: Likewise.
85801         * m4/locale-tr.m4: Likewise.
85802         * m4/locale-zh.m4: Likewise.
85803         * m4/lock.m4: Likewise.
85804         * m4/longlong.m4: Likewise.
85805         * m4/ls-mntd-fs.m4: Likewise.
85806         * m4/lstat.m4: Likewise.
85807         * m4/malloc.m4: Likewise.
85808         * m4/mathl.m4: Likewise.
85809         * m4/mbrtowc.m4: Likewise.
85810         * m4/mbstate_t.m4: Likewise.
85811         * m4/mbswidth.m4: Likewise.
85812         * m4/memchr.m4: Likewise.
85813         * m4/memcmp.m4: Likewise.
85814         * m4/memcpy.m4: Likewise.
85815         * m4/memmem.m4: Likewise.
85816         * m4/memmove.m4: Likewise.
85817         * m4/mempcpy.m4: Likewise.
85818         * m4/memrchr.m4: Likewise.
85819         * m4/memset.m4: Likewise.
85820         * m4/minmax.m4: Likewise.
85821         * m4/mkdir-slash.m4: Likewise.
85822         * m4/mkdtemp.m4: Likewise.
85823         * m4/mktime.m4: Likewise.
85824         * m4/mmap-anon.m4: Likewise.
85825         * m4/mountlist.m4: Likewise.
85826         * m4/nanosleep.m4: Likewise.
85827         * m4/nls.m4: Likewise.
85828         * m4/nocrash.m4: Likewise.
85829         * m4/open.m4: Likewise.
85830         * m4/openat.m4: Likewise.
85831         * m4/openmp.m4: Likewise.
85832         * m4/pathmax.m4: Likewise.
85833         * m4/perl.m4: Likewise.
85834         * m4/physmem.m4: Likewise.
85835         * m4/pipe.m4: Likewise.
85836         * m4/po.m4: Likewise.
85837         * m4/poll.m4: Likewise.
85838         * m4/posixtm.m4: Likewise.
85839         * m4/posixver.m4: Likewise.
85840         * m4/printf-frexp.m4: Likewise.
85841         * m4/printf-frexpl.m4: Likewise.
85842         * m4/printf-posix.m4: Likewise.
85843         * m4/printf-posix-rpl.m4: Likewise.
85844         * m4/printf.m4: Likewise.
85845         * m4/progtest.m4: Likewise.
85846         * m4/putenv.m4: Likewise.
85847         * m4/readline.m4: Likewise.
85848         * m4/readlink.m4: Likewise.
85849         * m4/readutmp.m4: Likewise.
85850         * m4/realloc.m4: Likewise.
85851         * m4/regex.m4: Likewise.
85852         * m4/relocatable.m4: Likewise.
85853         * m4/relocatable-lib.m4: Likewise.
85854         * m4/rename-dest-slash.m4: Likewise.
85855         * m4/rename.m4: Likewise.
85856         * m4/rmdir-errno.m4: Likewise.
85857         * m4/rmdir.m4: Likewise.
85858         * m4/roundf.m4: Likewise.
85859         * m4/roundl.m4: Likewise.
85860         * m4/rpmatch.m4: Likewise.
85861         * m4/save-cwd.m4: Likewise.
85862         * m4/selinux-selinux-h.m4: Likewise.
85863         * m4/setenv.m4: Likewise.
85864         * m4/settime.m4: Likewise.
85865         * m4/sig2str.m4: Likewise.
85866         * m4/sig_atomic_t.m4: Likewise.
85867         * m4/signalblocking.m4: Likewise.
85868         * m4/signbit.m4: Likewise.
85869         * m4/sigpipe.m4: Likewise.
85870         * m4/sockets.m4: Likewise.
85871         * m4/sockpfaf.m4: Likewise.
85872         * m4/st_dm_mode.m4: Likewise.
85873         * m4/stat-time.m4: Likewise.
85874         * m4/stdbool.m4: Likewise.
85875         * m4/stdint.m4: Likewise.
85876         * m4/stdint_h.m4: Likewise.
85877         * m4/stpcpy.m4: Likewise.
85878         * m4/stpncpy.m4: Likewise.
85879         * m4/strcase.m4: Likewise.
85880         * m4/strchrnul.m4: Likewise.
85881         * m4/strcspn.m4: Likewise.
85882         * m4/strdup.m4: Likewise.
85883         * m4/strftime.m4: Likewise.
85884         * m4/strndup.m4: Likewise.
85885         * m4/strnlen.m4: Likewise.
85886         * m4/strpbrk.m4: Likewise.
85887         * m4/strptime.m4: Likewise.
85888         * m4/strsep.m4: Likewise.
85889         * m4/strtod.m4: Likewise.
85890         * m4/strtoimax.m4: Likewise.
85891         * m4/strtok_r.m4: Likewise.
85892         * m4/strtol.m4: Likewise.
85893         * m4/strtoll.m4: Likewise.
85894         * m4/strtoul.m4: Likewise.
85895         * m4/strtoull.m4: Likewise.
85896         * m4/strtoumax.m4: Likewise.
85897         * m4/strverscmp.m4: Likewise.
85898         * m4/threadlib.m4: Likewise.
85899         * m4/timegm.m4: Likewise.
85900         * m4/tm_gmtoff.m4: Likewise.
85901         * m4/tmpdir.m4: Likewise.
85902         * m4/tmpfile.m4: Likewise.
85903         * m4/tzset.m4: Likewise.
85904         * m4/uintmax_t.m4: Likewise.
85905         * m4/unlinkdir.m4: Likewise.
85906         * m4/unlocked-io.m4: Likewise.
85907         * m4/uptime.m4: Likewise.
85908         * m4/userspec.m4: Likewise.
85909         * m4/utimbuf.m4: Likewise.
85910         * m4/utime.m4: Likewise.
85911         * m4/utimes-null.m4: Likewise.
85912         * m4/utimes.m4: Likewise.
85913         * m4/vararrays.m4: Likewise.
85914         * m4/vasnprintf.m4: Likewise.
85915         * m4/vfprintf-posix.m4: Likewise.
85916         * m4/vprintf-posix.m4: Likewise.
85917         * m4/wait-process.m4: Likewise.
85918         * m4/wchar_t.m4: Likewise.
85919         * m4/wint_t.m4: Likewise.
85920         * m4/write-any-file.m4: Likewise.
85921         * m4/yield.m4: Likewise.
85923 2009-01-13  Bruno Haible  <bruno@clisp.org>
85925         Avoid test-copy-file.sh failures when ACL support insufficient.
85926         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
85927         TESTS_ENVIRONMENT.
85928         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
85929         Reported by Jim Meyering.
85931 2009-01-13  Bruno Haible  <bruno@clisp.org>
85933         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
85934         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
85935         * modules/unistdio/u8-printf-parse (Files): Likewise.
85936         * modules/unistdio/u32-printf-parse (Files): Likewise.
85937         * modules/unistdio/ulc-printf-parse (Files): Likewise.
85939 2009-01-13  Simon Josefsson  <simon@josefsson.org>
85941         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
85942         and m4/inttypes_h.m4 too.
85944 2009-01-12  Eric Blake  <ebb9@byu.net>
85946         tests: IRIX 6.2 cc can't compile -0.0 into .data
85947         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
85948         rather than at compile-time.
85949         * tests/test-floorl.c (minus_zero): Likewise.
85950         * tests/test-frexpl.c (minus_zero): Likewise.
85951         * tests/test-isnan.c (minus_zerol): Likewise.
85952         * tests/test-isnanl.h (minus_zero): Likewise.
85953         * tests/test-ldexpl.c (minus_zero): Likewise.
85954         * tests/test-roundl.c (minus_zero): Likewise.
85955         * tests/test-signbit.c (minus_zerol): Likewise.
85956         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
85957         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
85958         * tests/test-truncl.c (minus_zero): Likewise.
85959         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
85960         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
85961         Reported by Tom G. Christensen and Nelson H. F. Beebe.
85963 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
85965         regex: fix glibc bug 9697
85966         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
85967         handling.
85969 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
85971         regex: fix glibc bug 697
85972         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
85973         being NULL also if there are no backreferences.
85975 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
85977         regex: merge glibc changes
85978         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
85979         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
85980         re_string_skip_chars, re_string_reconstruct): Likewise.
85981         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
85983 2009-01-07  Jim Meyering  <meyering@redhat.com>
85985         poll: filter through cppi
85986         * lib/poll.c: Indent cpp directives to reflect nesting.
85988 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
85990         poll: don't return uninitialized
85991         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
85993 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
85995         avoid compile failure on AIX 6.1
85996         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
85997         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
85999 2009-01-04  Jim Meyering  <meyering@redhat.com>
86001         remove duplicate inclusion of <stdio.h>
86002         * tests/test-fprintf-posix.c: Likewise.
86003         * tests/test-printf-posix.c: Likewise.
86004         * tests/test-snprintf-posix.c: Likewise.
86005         * tests/test-sprintf-posix.c: Likewise.
86006         * tests/test-vasprintf-posix.c: Likewise.
86007         * tests/test-vfprintf-posix.c: Likewise.
86008         * tests/test-vprintf-posix.c: Likewise.
86009         * tests/test-vsnprintf-posix.c: Likewise.
86010         * tests/test-vsprintf-posix.c: Likewise.
86012 2009-01-03  Jim Meyering  <meyering@redhat.com>
86014         gnulib-tool: fix sed-based filtering
86015         * gnulib-tool (func_filter_filelist): Remove extra backslash
86016         in sed_fff_filter definition.
86018 2009-01-02  Jim Meyering  <meyering@redhat.com>
86020         strftime: avoid compilation failure on Solaris 2.6
86021         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
86022         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
86023         Don't #define mbrlen or mbsinit, since now they're guaranteed to
86024         be available.  Reported by Tom G. Christensen.  Details in
86025         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
86027 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86028             Bruno Haible  <bruno@clisp.org>
86030         Speed up gnulib-tool by doing more string processing through shell
86031         built-ins.
86032         * gnulib-tool (fast_func_append): New variable.
86033         (func_remove_prefix, func_remove_suffix): New functions.
86034         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
86035         (func_filter_filelist): New function.
86036         (func_get_dependencies): Use func_remove_suffix instead of sed.
86037         (func_get_automake_snippet): Use func_filter_filelist instead of a
86038         subshell and sed invocation.
86040 2009-01-01  Bruno Haible  <bruno@clisp.org>
86042         Fix a security bug.
86043         * gnulib-tool (func_import, import, update): Don't allow the characters
86044         '"', '$', '`', '\' in macro arguments that become part of commands that
86045         are evaluated.
86047 2009-01-01  Bruno Haible  <bruno@clisp.org>
86049         * gnulib-tool (func_reset_sigpipe): Add more comments.
86051 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86053         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
86054         func_emit_tests_Makefile_am, func_import): Abort loops early if we
86055         already know the answer.
86057 2009-01-01  Jim Meyering  <meyering@redhat.com>
86059         * lib/version-etc.c (version_etc_va): Update copyright year.
86061 2008-12-30  Bruno Haible  <bruno@clisp.org>
86063         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
86064         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
86065         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
86067 2008-12-29  Eric Blake  <ebb9@byu.net>
86069         multiarch: avoid autoconf AC_REQUIRE bug
86070         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
86071         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
86072         2.63 and older.
86073         Reported by Bruno Haible, and analyzed in
86074         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
86076 2008-12-29  Bruno Haible  <bruno@clisp.org>
86078         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
86079         files in subdirectories correctly.
86080         Reported by Ralf Wildenhues.
86082 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86084         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
86085         rather than 'join FILE -', for Solaris join.
86087 2008-12-29  Bruno Haible  <bruno@clisp.org>
86089         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
86090         quoting.
86091         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
86092         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
86093         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
86094         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
86095         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
86096         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
86097         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
86098         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
86099         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
86100         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
86101         * m4/nls.m4 (AM_NLS): Likewise.
86102         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
86103         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
86104         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86105         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
86106         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
86107         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
86108         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
86109         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
86110         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
86111         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
86112         * m4/xsize.m4 (gl_XSIZE): Likewise.
86113         Suggested by Jim Meyering.
86115 2008-11-17  Bruce Korb  <bkorb@gnu.org>
86117         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
86118         * lib/parse-duration.c: use a switch instead of cascading if's.
86120 2008-12-29  Eric Blake  <ebb9@byu.net>
86122         wchar.h: supply WEOF on Irix 5.3
86123         * lib/wchar.in.h (wint_t): Also supply WEOF.
86124         * lib/wctype.in.h (wint_t): Likewise.
86125         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
86126         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
86127         Reported by Tom G. Christensen.
86129 2008-12-26  Bruno Haible  <bruno@clisp.org>
86131         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
86132         i486, i586, i686.
86134 2008-12-26  Bruno Haible  <bruno@clisp.org>
86136         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
86138 2008-12-26  Bruno Haible  <bruno@clisp.org>
86140         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
86141         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
86142         not __STDC_CONSTANT_MACROS.
86143         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
86145 2008-12-25  Bruno Haible  <bruno@clisp.org>
86147         Add support for universal builds to vasnprintf.
86148         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
86149         universal builds, guess no.
86150         * modules/vasnprintf-posix (Depends-on): Add multiarch.
86151         * modules/vasprintf-posix (Depends-on): Likewise.
86152         * modules/fprintf-posix (Depends-on): Likewise.
86153         * modules/vfprintf-posix (Depends-on): Likewise.
86154         * modules/snprintf-posix (Depends-on): Likewise.
86155         * modules/vsnprintf-posix (Depends-on): Likewise.
86156         * modules/sprintf-posix (Depends-on): Likewise.
86157         * modules/vsprintf-posix (Depends-on): Likewise.
86158         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
86159         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
86160         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
86161         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
86162         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
86163         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
86164         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
86166         Add support for universal builds to <inttypes.h>.
86167         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
86168         _SCNu64_PREFIX): In Apple
86169         universal builds, define directly, using _LP64.
86170         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
86171         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
86172         * modules/inttypes (Depends-on): Add multiarch.
86173         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
86175         Add support for universal builds to <stdint.h>.
86176         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
86177         universal builds, define directly, using _LP64.
86178         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
86179         Apple universal builds, don't test for the size and suffix of ptrdiff_t
86180         and size_t.
86181         * modules/stdint (Depends-on): Add multiarch.
86182         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
86184         New module 'multiarch'.
86185         * modules/multiarch: New file.
86186         * m4/multiarch.m4: New file.
86188 2008-12-25  Bruno Haible  <bruno@clisp.org>
86190         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
86192 2008-12-25  Bruno Haible  <bruno@clisp.org>
86194         * modules/btowc (License): Relicense under LGPLv2+.
86195         * modules/mbsinit (License): Likewise.
86196         * modules/mbrtowc (License): Likewise.
86197         * modules/wcrtomb (License): Likewise.
86198         * modules/streq (License): Likewise.
86199         Reported by David Lutterkort <lutter@redhat.com>.
86201 2008-12-23  Bruno Haible  <bruno@clisp.org>
86203         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
86205 2008-12-23  Bruno Haible  <bruno@clisp.org>
86207         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
86208         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
86209         GETADDRINFO_LIB, not in LIBS.
86210         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
86211         * modules/canon-host (Link): Likewise.
86212         * NEWS: Mention the change.
86213         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
86214         GETADDRINFO_LIB.
86216 2008-12-22  Bruno Haible  <bruno@clisp.org>
86218         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
86219         * doc/posix-functions/iswalpha_l.texi: Likewise.
86220         * doc/posix-functions/iswblank_l.texi: Likewise.
86221         * doc/posix-functions/iswcntrl_l.texi: Likewise.
86222         * doc/posix-functions/iswctype_l.texi: Likewise.
86223         * doc/posix-functions/iswdigit_l.texi: Likewise.
86224         * doc/posix-functions/iswgraph_l.texi: Likewise.
86225         * doc/posix-functions/iswlower_l.texi: Likewise.
86226         * doc/posix-functions/iswprint_l.texi: Likewise.
86227         * doc/posix-functions/iswpunct_l.texi: Likewise.
86228         * doc/posix-functions/iswspace_l.texi: Likewise.
86229         * doc/posix-functions/iswupper_l.texi: Likewise.
86230         * doc/posix-functions/iswxdigit_l.texi: Likewise.
86231         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
86232         * doc/posix-functions/open_wmemstream.texi: Likewise.
86233         * doc/posix-functions/swscanf.texi: Likewise.
86234         * doc/posix-functions/towctrans_l.texi: Likewise.
86235         * doc/posix-functions/towlower.texi: Likewise.
86236         * doc/posix-functions/towlower_l.texi: Likewise.
86237         * doc/posix-functions/towupper.texi: Likewise.
86238         * doc/posix-functions/towupper_l.texi: Likewise.
86239         * doc/posix-functions/vfwprintf.texi: Likewise.
86240         * doc/posix-functions/vfwscanf.texi: Likewise.
86241         * doc/posix-functions/vswscanf.texi: Likewise.
86242         * doc/posix-functions/vwprintf.texi: Likewise.
86243         * doc/posix-functions/vwscanf.texi: Likewise.
86244         * doc/posix-functions/wcpcpy.texi: Likewise.
86245         * doc/posix-functions/wcpncpy.texi: Likewise.
86246         * doc/posix-functions/wcscasecmp.texi: Likewise.
86247         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
86248         * doc/posix-functions/wcscoll_l.texi: Likewise.
86249         * doc/posix-functions/wcsdup.texi: Likewise.
86250         * doc/posix-functions/wcsncasecmp.texi: Likewise.
86251         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
86252         * doc/posix-functions/wcsnlen.texi: Likewise.
86253         * doc/posix-functions/wcsnrtombs.texi: Likewise.
86254         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
86255         * doc/posix-functions/wctrans_l.texi: Likewise.
86256         * doc/posix-functions/wctype_l.texi: Likewise.
86257         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
86258         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
86259         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
86260         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
86261         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
86262         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
86263         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
86264         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
86265         * doc/glibc-functions/wcschrnul.texi: Likewise.
86266         * doc/glibc-functions/wcsftime_l.texi: Likewise.
86267         * doc/glibc-functions/wcstod_l.texi: Likewise.
86268         * doc/glibc-functions/wcstof_l.texi: Likewise.
86269         * doc/glibc-functions/wcstol_l.texi: Likewise.
86270         * doc/glibc-functions/wcstold_l.texi: Likewise.
86271         * doc/glibc-functions/wcstoll_l.texi: Likewise.
86272         * doc/glibc-functions/wcstoq.texi: Likewise.
86273         * doc/glibc-functions/wcstoul_l.texi: Likewise.
86274         * doc/glibc-functions/wcstoull_l.texi: Likewise.
86275         * doc/glibc-functions/wcstouq.texi: Likewise.
86276         * doc/glibc-functions/wmempcpy.texi: Likewise.
86278 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
86279             Eric Blake  <ebb9@byu.net>
86280             Paolo Bonzini  <bonzini@gnu.org>
86281             Bruno Haible  <bruno@clisp.org>
86283         Make c-stack work on Haiku.
86284         * lib/c-stack.c (SA_ONSTACK): Define fallback.
86285         (c_stack_action): Use SA_ONSTACK flag.
86287 2008-12-22  Bruno Haible  <bruno@clisp.org>
86289         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
86291 2008-12-22  Bruno Haible  <bruno@clisp.org>
86293         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
86294         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
86295         being overridden.
86296         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
86297         New macros.
86298         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
86299         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
86300         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
86301         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
86303 2008-12-22  Bruno Haible  <bruno@clisp.org>
86305         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
86306         from test code.
86308 2008-12-22  Eric Blake  <ebb9@byu.net>
86310         Avoid gcc warnings on cygwin.
86311         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
86312         Avoid unused variable.
86313         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
86314         Likewise.
86316 2008-12-22  Bruno Haible  <bruno@clisp.org>
86318         Remove HAVE_MBRTOWC conditionals.
86319         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
86320         (mbscasecmp): Assume mbrtowc function.
86321         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
86322         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
86323         * lib/mbschr.c: Include mbuiter.h unconditionally.
86324         (mbschr): Assume mbrtowc function.
86325         * lib/mbscspn.c: Include mbuiter.h unconditionally.
86326         (mbscspn): Assume mbrtowc function.
86327         * lib/mbslen.c: Include mbuiter.h unconditionally.
86328         (mbslen): Assume mbrtowc function.
86329         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
86330         (mbsncasecmp): Assume mbrtowc function.
86331         * lib/mbsnlen.c: Include mbiter.h unconditionally.
86332         (mbsnlen): Assume mbrtowc function.
86333         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
86334         (mbspbrk): Assume mbrtowc function.
86335         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
86336         (mbspcasecmp): Assume mbrtowc function.
86337         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
86338         (mbsrchr): Assume mbrtowc function.
86339         * lib/mbssep.c: Include mbuiter.h unconditionally.
86340         (mbssep): Assume mbrtowc function.
86341         * lib/mbsspn.c: Include mbuiter.h unconditionally.
86342         (mbsspn): Assume mbrtowc function.
86343         * lib/mbsstr.c: Include mbuiter.h unconditionally.
86344         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
86345         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
86346         (mbstok_r): Assume mbrtowc function.
86347         * lib/propername.c: Include mbuiter.h unconditionally.
86348         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
86349         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
86350         (trim2): Assume mbrtowc function.
86351         * lib/mbswidth.c (mbsinit): Remove fallback definition.
86352         (mbsnwidth): Assume mbrtowc function.
86353         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
86354         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
86355         fallback definitions.
86356         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
86358 2008-12-22  Bruno Haible  <bruno@clisp.org>
86360         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
86362 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
86364         * modules/regex: Request emulations for the mb*/wc* functions we need.
86365         * m4/regex.m4: Don't look for those functions here.
86366         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
86368 2008-12-22  Bruno Haible  <bruno@clisp.org>
86370         * modules/fnmatch (Depends-on): Remove duplicated dependency.
86372 2008-12-21  Bruno Haible  <bruno@clisp.org>
86374         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
86375         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
86376         (Include): Remove conditionalization.
86377         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
86378         (Include): Remove conditionalization.
86379         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
86380         (Include): Remove conditionalization.
86381         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
86382         * m4/mbfile.m4 (gl_MBFILE): Likewise.
86383         * NEWS: Mention the change.
86384         Reported by Alan Hourihane <alanh@fairlite.co.uk>
86385         via Sergey Poznyakoff <gray@gnu.org.ua>.
86387 2008-12-21  Bruno Haible  <bruno@clisp.org>
86389         * MODULES.html.sh (Extended multibyte and wide character utilities
86390         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
86391         wcrtomb, wcsrtombs.
86392         (Support for systems lacking POSIX:2008): Add accept, bind, close,
86393         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
86394         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
86395         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
86397 2008-12-21  Bruno Haible  <bruno@clisp.org>
86399         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
86401 2008-12-21  Bruno Haible  <bruno@clisp.org>
86403         * modules/wcsnrtombs-tests: New file.
86404         * tests/test-wcsnrtombs1.sh: New file.
86405         * tests/test-wcsnrtombs2.sh: New file.
86406         * tests/test-wcsnrtombs3.sh: New file.
86407         * tests/test-wcsnrtombs4.sh: New file.
86408         * tests/test-wcsnrtombs.c: New file.
86410         New module 'wcsnrtombs'.
86411         * lib/wchar.in.h (wcsnrtombs): New declaration.
86412         * lib/wcsnrtombs.c: New file.
86413         * lib/wcsrtombs-state.c: New file.
86414         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
86415         (internal_state): Remove variable.
86416         * m4/wcsnrtombs.m4: New file.
86417         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
86418         compilation units.
86419         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
86420         HAVE_WCSNRTOMBS.
86421         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
86422         HAVE_WCSNRTOMBS.
86423         * modules/wcsnrtombs: New file.
86424         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
86425         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
86427 2008-12-21  Bruno Haible  <bruno@clisp.org>
86429         * modules/wcsrtombs-tests: New file.
86430         * tests/test-wcsrtombs1.sh: New file.
86431         * tests/test-wcsrtombs2.sh: New file.
86432         * tests/test-wcsrtombs3.sh: New file.
86433         * tests/test-wcsrtombs4.sh: New file.
86434         * tests/test-wcsrtombs.c: New file.
86436         New module 'wcsrtombs'.
86437         * lib/wchar.in.h (wcsrtombs): New declaration.
86438         * lib/wcsrtombs.c: New file.
86439         * m4/wcsrtombs.m4: New file.
86440         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
86441         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
86442         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
86443         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
86444         * modules/wcsrtombs: New file.
86445         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
86446         bugs.
86448 2008-12-21  Bruno Haible  <bruno@clisp.org>
86450         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
86451         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
86452         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
86453         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
86454         if not correct.
86455         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
86456         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
86457         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
86458         m4/locale-zh.m4, m4/codeset.m4.
86459         * doc/posix-functions/wcrtomb.texi: Document the bug.
86461 2008-12-21  Bruno Haible  <bruno@clisp.org>
86463         Work around a btowc() bug on IRIX 6.5.
86464         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
86465         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
86466         REPLACE_WTOBC if not.
86467         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
86468         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
86469         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
86471 2008-12-21  Bruno Haible  <bruno@clisp.org>
86473         * modules/wcrtomb-tests: New file.
86474         * tests/test-wcrtomb.sh: New file.
86475         * tests/test-wcrtomb.c: New file.
86477         New module 'wcrtomb'.
86478         * lib/wchar.in.h (wcrtomb): New declaration.
86479         * lib/wcrtomb.c: New file.
86480         * m4/wcrtomb.m4: New file.
86481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
86482         HAVE_WCRTOMB.
86483         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
86484         HAVE_WCRTOMB.
86485         * modules/wcrtomb: New file.
86486         * doc/posix-functions/wcrtomb.texi: Mention the new module.
86488 2008-12-21  Bruno Haible  <bruno@clisp.org>
86490         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
86491         * modules/mbsrtowcs (Files): Likewise.
86492         * modules/wctob (Files): Likewise.
86493         * modules/c-strcase-tests (Files): Likewise.
86494         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
86495         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
86496         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
86497         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
86498         * modules/vasnprintf-posix-tests (Files): Likewise.
86500 2008-12-21  William Pursell  <bill.pursell@gmail.com>
86502         gitlog-to-changelog: pass all command-line arguments to git-log
86503         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
86504         it is sometimes convenient to filter the commits in various ways.
86505         gitlog-to-changelog only allows --since to specify a start date,
86506         but git-log itself supports many other filtering mechanisms.
86507         At the moment, I want to filter by branch name.  Rather than
86508         adding a --branch option to gitlog-to-changelog, it seems more
86509         flexible to simply pass all options directly to git-log and let
86510         git do the work.  Notice that this effectively makes --since a
86511         redundant option for gitlog-to-changelog, but removing it would
86512         require current usage to change since calls would then require
86513         an additional '--'.
86515 2008-12-21  Bruno Haible  <bruno@clisp.org>
86517         * modules/mbsnrtowcs-tests: New file.
86518         * tests/test-mbsnrtowcs1.sh: New file.
86519         * tests/test-mbsnrtowcs2.sh: New file.
86520         * tests/test-mbsnrtowcs3.sh: New file.
86521         * tests/test-mbsnrtowcs4.sh: New file.
86522         * tests/test-mbsnrtowcs.c: New file.
86524         New module 'mbsnrtowcs'.
86525         * lib/wchar.in.h (mbsnrtowcs): New declaration.
86526         * lib/mbsnrtowcs.c: New file.
86527         * lib/mbsrtowcs-state.c: New file.
86528         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
86529         (internal_state): Remove variable.
86530         * m4/mbsnrtowcs.m4: New file.
86531         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
86532         compilation units.
86533         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
86534         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
86535         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
86536         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
86537         * modules/mbsnrtowcs: New file.
86538         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
86539         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
86540         portability problem.
86542 2008-12-21  Bruno Haible  <bruno@clisp.org>
86544         Work around mbsrtowcs bug.
86545         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
86546         (gl_FUNC_MBSRTOWCS): Invoke it.
86547         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
86548         m4/locale-zh.m4.
86549         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
86551 2008-12-21  Bruno Haible  <bruno@clisp.org>
86553         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
86555 2008-12-21  Bruno Haible  <bruno@clisp.org>
86557         Update doc for AIX.
86558         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
86559         16-bit wchar_t type.
86560         * doc/posix-functions/btowc.texi: Likewise.
86561         * doc/posix-functions/fgetwc.texi: Likewise.
86562         * doc/posix-functions/fgetws.texi: Likewise.
86563         * doc/posix-functions/fputwc.texi: Likewise.
86564         * doc/posix-functions/fputws.texi: Likewise.
86565         * doc/posix-functions/fwide.texi: Likewise.
86566         * doc/posix-functions/fwprintf.texi: Likewise.
86567         * doc/posix-functions/fwscanf.texi: Likewise.
86568         * doc/posix-functions/getwchar.texi: Likewise.
86569         * doc/posix-functions/getwc.texi: Likewise.
86570         * doc/posix-functions/iswalnum.texi: Likewise.
86571         * doc/posix-functions/iswalpha.texi: Likewise.
86572         * doc/posix-functions/iswblank.texi: Likewise.
86573         * doc/posix-functions/iswcntrl.texi: Likewise.
86574         * doc/posix-functions/iswctype.texi: Likewise.
86575         * doc/posix-functions/iswdigit.texi: Likewise.
86576         * doc/posix-functions/iswgraph.texi: Likewise.
86577         * doc/posix-functions/iswlower.texi: Likewise.
86578         * doc/posix-functions/iswprint.texi: Likewise.
86579         * doc/posix-functions/iswpunct.texi: Likewise.
86580         * doc/posix-functions/iswspace.texi: Likewise.
86581         * doc/posix-functions/iswupper.texi: Likewise.
86582         * doc/posix-functions/iswxdigit.texi: Likewise.
86583         * doc/posix-functions/mbrtowc.texi: Likewise.
86584         * doc/posix-functions/mbsrtowcs.texi: Likewise.
86585         * doc/posix-functions/mbstowcs.texi: Likewise.
86586         * doc/posix-functions/mbtowc.texi: Likewise.
86587         * doc/posix-functions/putwchar.texi: Likewise.
86588         * doc/posix-functions/putwc.texi: Likewise.
86589         * doc/posix-functions/swprintf.texi: Likewise.
86590         * doc/posix-functions/tolower.texi: Likewise.
86591         * doc/posix-functions/toupper.texi: Likewise.
86592         * doc/posix-functions/towctrans.texi: Likewise.
86593         * doc/posix-functions/ungetwc.texi: Likewise.
86594         * doc/posix-functions/vswprintf.texi: Likewise.
86595         * doc/posix-functions/wcrtomb.texi: Likewise.
86596         * doc/posix-functions/wcscat.texi: Likewise.
86597         * doc/posix-functions/wcschr.texi: Likewise.
86598         * doc/posix-functions/wcscmp.texi: Likewise.
86599         * doc/posix-functions/wcscoll.texi: Likewise.
86600         * doc/posix-functions/wcscpy.texi: Likewise.
86601         * doc/posix-functions/wcscspn.texi: Likewise.
86602         * doc/posix-functions/wcsftime.texi: Likewise.
86603         * doc/posix-functions/wcslen.texi: Likewise.
86604         * doc/posix-functions/wcsncat.texi: Likewise.
86605         * doc/posix-functions/wcsncmp.texi: Likewise.
86606         * doc/posix-functions/wcsncpy.texi: Likewise.
86607         * doc/posix-functions/wcspbrk.texi: Likewise.
86608         * doc/posix-functions/wcsrchr.texi: Likewise.
86609         * doc/posix-functions/wcsrtombs.texi: Likewise.
86610         * doc/posix-functions/wcsspn.texi: Likewise.
86611         * doc/posix-functions/wcsstr.texi: Likewise.
86612         * doc/posix-functions/wcstod.texi: Likewise.
86613         * doc/posix-functions/wcstof.texi: Likewise.
86614         * doc/posix-functions/wcstoimax.texi: Likewise.
86615         * doc/posix-functions/wcstok.texi: Likewise.
86616         * doc/posix-functions/wcstold.texi: Likewise.
86617         * doc/posix-functions/wcstoll.texi: Likewise.
86618         * doc/posix-functions/wcstol.texi: Likewise.
86619         * doc/posix-functions/wcstombs.texi: Likewise.
86620         * doc/posix-functions/wcstoull.texi: Likewise.
86621         * doc/posix-functions/wcstoul.texi: Likewise.
86622         * doc/posix-functions/wcstoumax.texi: Likewise.
86623         * doc/posix-functions/wcswidth.texi: Likewise.
86624         * doc/posix-functions/wcsxfrm.texi: Likewise.
86625         * doc/posix-functions/wctob.texi: Likewise.
86626         * doc/posix-functions/wctomb.texi: Likewise.
86627         * doc/posix-functions/wctrans.texi: Likewise.
86628         * doc/posix-functions/wctype.texi: Likewise.
86629         * doc/posix-functions/wcwidth.texi: Likewise.
86630         * doc/posix-functions/wmemchr.texi: Likewise.
86631         * doc/posix-functions/wmemcmp.texi: Likewise.
86632         * doc/posix-functions/wmemcpy.texi: Likewise.
86633         * doc/posix-functions/wmemmove.texi: Likewise.
86634         * doc/posix-functions/wmemset.texi: Likewise.
86635         * doc/posix-functions/wprintf.texi: Likewise.
86636         * doc/posix-functions/wscanf.texi: Likewise.
86638 2008-12-21  Bruno Haible  <bruno@clisp.org>
86640         Update doc for HP-UX 11.11.
86641         * doc/posix-functions/btowc.texi: Clarify that the function is missing
86642         in HP-UX version 11.00, not in all versions of HP-UX 11.
86643         * doc/posix-functions/fwide.texi: Likewise.
86644         * doc/posix-functions/fwprintf.texi: Likewise.
86645         * doc/posix-functions/fwscanf.texi: Likewise.
86646         * doc/posix-functions/inet_ntop.texi: Likewise.
86647         * doc/posix-functions/inet_pton.texi: Likewise.
86648         * doc/posix-functions/mbrlen.texi: Likewise.
86649         * doc/posix-functions/mbrtowc.texi: Likewise.
86650         * doc/posix-functions/mbsinit.texi: Likewise.
86651         * doc/posix-functions/mbsrtowcs.texi: Likewise.
86652         * doc/posix-functions/swprintf.texi: Likewise.
86653         * doc/posix-functions/swscanf.texi: Likewise.
86654         * doc/posix-functions/towctrans.texi: Likewise.
86655         * doc/posix-functions/vfwprintf.texi: Likewise.
86656         * doc/posix-functions/vswprintf.texi: Likewise.
86657         * doc/posix-functions/vwprintf.texi: Likewise.
86658         * doc/posix-functions/wcrtomb.texi: Likewise.
86659         * doc/posix-functions/wcsrtombs.texi: Likewise.
86660         * doc/posix-functions/wcsstr.texi: Likewise.
86661         * doc/posix-functions/wctob.texi: Likewise.
86662         * doc/posix-functions/wctrans.texi: Likewise.
86663         * doc/posix-functions/wmemchr.texi: Likewise.
86664         * doc/posix-functions/wmemcmp.texi: Likewise.
86665         * doc/posix-functions/wmemcpy.texi: Likewise.
86666         * doc/posix-functions/wmemmove.texi: Likewise.
86667         * doc/posix-functions/wmemset.texi: Likewise.
86668         * doc/posix-functions/wprintf.texi: Likewise.
86669         * doc/posix-functions/wscanf.texi: Likewise.
86671 2008-12-21  Bruno Haible  <bruno@clisp.org>
86673         Work around a portability problem.
86674         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
86675         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
86677 2008-12-20  Bruno Haible  <bruno@clisp.org>
86679         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
86680         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
86681         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
86682         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
86683         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
86685         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
86686         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
86687         set.
86688         (GNULIB_defined_mbstate_t): New macro.
86689         (mbsinit): Redefine if REPLACE_MBSINIT is set.
86690         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
86691         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
86692         reuses the system's mbrtowc function but works around the bugs.
86693         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
86694         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
86695         macros.
86696         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
86697         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
86698         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
86699         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
86700         REPLACE_MBSINIT if mbsinit needs to be overridden.
86701         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
86702         REPLACE_MBSINIT, REPLACE_MBRTOWC.
86703         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
86704         REPLACE_MBSINIT, REPLACE_MBRTOWC.
86705         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
86706         m4/locale-zh.m4.
86707         (Depends): Add mbsinit.
86708         * modules/mbsinit (Depends): Add mbrtowc.
86709         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
86711 2008-12-20  Bruno Haible  <bruno@clisp.org>
86713         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
86714         so that there are no conversion errors on AIX.
86715         * tests/test-mbsrtowcs.c (main): LIkewise.
86717 2008-12-20  Bruno Haible  <bruno@clisp.org>
86719         Work around wctob bug on Solaris <= 9.
86720         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
86721         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
86722         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
86723         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
86724         * modules/wctob (Files): Add m4/locale-fr.m4.
86725         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
86727 2008-12-20  Bruno Haible  <bruno@clisp.org>
86729         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
86730         /dev/null.
86731         * tests/test-select-in.sh: Likewise.
86732         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86734 2008-12-20  Bruno Haible  <bruno@clisp.org>
86736         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
86737         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
86738         Cygwin 1.5.x.
86740 2008-12-20  Bruno Haible  <bruno@clisp.org>
86742         Ensure mbstate_t is defined on HP-UX 11.11.
86743         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
86744         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
86745         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
86746         AC_USE_SYSTEM_EXTENSIONS.
86747         * modules/fnmatch (Depends-on): Add extensions.
86748         * modules/mbrlen (Depends-on): Likewise.
86749         * modules/mbrtowc (Depends-on): Likewise.
86750         * modules/mbsinit (Depends-on): Likewise.
86751         * modules/mbsrtowcs (Depends-on): Likewise.
86752         * modules/mbswidth (Depends-on): Likewise.
86753         * modules/quotearg (Depends-on): Likewise.
86754         * modules/strftime (Depends-on): Likewise.
86756 2008-12-20  Bruno Haible  <bruno@clisp.org>
86758         Ensure wctob is declared on IRIX 6.5.
86759         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
86760         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
86761         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
86762         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
86763         of HAVE_WCTOB.
86764         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
86765         HAVE_WCTOB.
86766         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
86768 2008-12-19  Bruno Haible  <bruno@clisp.org>
86770         * modules/mbsrtowcs-tests: New file.
86771         * tests/test-mbsrtowcs1.sh: New file.
86772         * tests/test-mbsrtowcs2.sh: New file.
86773         * tests/test-mbsrtowcs3.sh: New file.
86774         * tests/test-mbsrtowcs4.sh: New file.
86775         * tests/test-mbsrtowcs.c: New file.
86777         New module 'mbsrtowcs'.
86778         * lib/wchar.in.h (mbsrtowcs): New declaration.
86779         * lib/mbsrtowcs.c: New file.
86780         * m4/mbsrtowcs.m4: New file.
86781         * modules/mbsrtowcs: New file.
86782         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
86783         HAVE_MBSRTOWCS.
86784         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
86785         HAVE_MBSRTOWCS.
86786         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
86788 2008-12-19  Bruno Haible  <bruno@clisp.org>
86790         New module 'mbrlen'.
86791         * lib/wchar.in.h (mbrlen): New declaration.
86792         * lib/mbrlen.c: New file.
86793         * m4/mbrlen.m4: New file.
86794         * modules/mbrlen: New file.
86795         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
86796         HAVE_MBRLEN.
86797         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
86798         HAVE_MBRLEN.
86799         * doc/posix-functions/mbrlen.texi: Document the new module.
86801 2008-12-19  Bruno Haible  <bruno@clisp.org>
86803         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
86804         * modules/mbrtowc (Depends-on): Add verify.
86805         Suggested by Paul Eggert.
86807 2008-12-18  Bruno Haible  <bruno@clisp.org>
86809         * modules/mbsinit-tests: New file.
86810         * tests/test-mbsinit.sh: New file.
86811         * tests/test-mbsinit.c: New file.
86813 2008-12-18  Bruno Haible  <bruno@clisp.org>
86815         * modules/mbrtowc-tests: New file.
86816         * tests/test-mbrtowc1.sh: New file.
86817         * tests/test-mbrtowc2.sh: New file.
86818         * tests/test-mbrtowc3.sh: New file.
86819         * tests/test-mbrtowc4.sh: New file.
86820         * tests/test-mbrtowc.c: New file.
86822         New module 'mbrtowc'.
86823         * lib/wchar.in.h (mbstate_t): Override when the system does not have
86824         mbsinit and mbrtowc.
86825         (mbrtowc): New declaration.
86826         * lib/mbrtowc.c: New file.
86827         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
86828         * modules/mbrtowc: New file.
86829         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
86830         HAVE_MBRTOWC.
86831         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
86832         HAVE_MBRTOWC.
86833         * doc/posix-functions/mbrtowc.texi: Document the new module.
86835 2008-12-18  Bruno Haible  <bruno@clisp.org>
86837         New module 'wctob'.
86838         * lib/wchar.in.h (wctob): New declaration.
86839         * lib/wctob.c: New file.
86840         * m4/wctob.m4: New file.
86841         * modules/wctob: New file.
86842         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
86843         HAVE_WCTOB.
86844         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
86845         * doc/posix-functions/wctob.texi: Document the new module.
86847 2008-12-18  Bruno Haible  <bruno@clisp.org>
86849         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
86850         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
86852 2008-12-18  Simon Josefsson  <simon@josefsson.org>
86854         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
86855         G. Christensen" <tgc@jupiterrise.com>.
86857         * lib/flock.c: Need to include errno.h.  Reported by "Tom
86858         G. Christensen" <tgc@jupiterrise.com>.
86860         * lib/flock.c: Need to include string.h.  Reported by "Tom
86861         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
86862         <ebb9@byu.net>.
86864 2008-12-18  Bruno Haible  <bruno@clisp.org>
86866         * m4/locale-ja.m4: New file, from GNU gettext.
86868 2008-12-17  Bruno Haible  <bruno@clisp.org>
86870         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
86871         Suggested by Eric Blake.
86873 2008-12-17  Bruno Haible  <bruno@clisp.org>
86875         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
86877 2008-12-17  Bruno Haible  <bruno@clisp.org>
86879         * lib/mbsinit.c: Include verify.h. Verify an assumption.
86880         * modules/mbsinit (Depends-on): Add verify.
86881         Suggested by Paul Eggert.
86883 2008-12-17  Bruno Haible  <bruno@clisp.org>
86885         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
86886         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
86887         gl_FUNC_MBRTOWC.
86888         * m4/mbiter.m4 (gl_MBITER): LIkewise.
86889         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
86890         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
86891         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
86892         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
86893         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
86894         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
86895         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
86896         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
86897         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
86898         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
86899         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
86900         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
86901         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
86902         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
86903         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
86904         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
86905         * modules/trim (configure.ac): Likewise.
86907 2008-12-17  Bruno Haible  <bruno@clisp.org>
86909         * modules/btowc-tests: New file.
86910         * tests/test-btowc1.sh: New file.
86911         * tests/test-btowc2.sh: New file.
86912         * tests/test-btowc.c: New file.
86914         New module 'btowc'.
86915         * lib/wchar.in.h (btowc): New declaration.
86916         * lib/btowc.c: New file.
86917         * m4/btowc.m4: New file.
86918         * modules/btowc: New file.
86919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
86920         HAVE_BTOWC.
86921         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
86922         * doc/posix-functions/btowc.texi: Document the new module.
86924 2008-12-17  Bruno Haible  <bruno@clisp.org>
86926         New module 'mbsinit'.
86927         * lib/wchar.in.h (mbsinit): New declaration.
86928         * lib/mbsinit.c: New file.
86929         * m4/mbsinit.m4: New file.
86930         * modules/mbsinit: New file.
86931         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
86932         HAVE_MBSINIT.
86933         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
86934         HAVE_MBSINIT.
86935         * doc/posix-functions/mbsinit.texi: Document the new module.
86937 2008-12-16  Bruno Haible  <bruno@clisp.org>
86939         * lib/unistd.in.h: Add comment.
86940         * tests/test-environ.c: Don't include <stdlib.h>.
86942 2008-12-16  Bruno Haible  <bruno@clisp.org>
86944         * lib/parse-duration.h (parse_duration): Document return value
86945         convention.
86946         * lib/parse-duration.c: Include specification header first. Add
86947         comments.
86948         (_): Remove macro.
86949         (parse_year_month_day, parse_hour_minute_second): Move side effects
86950         outside of strchr call.
86951         (parse_non_iso8601): Move side effects outside of isspace call.
86952         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
86953         call.
86955 2008-12-16  Bruno Haible  <bruno@clisp.org>
86957         * tests/test-parse-duration.sh: Produce no output when the test
86958         succeeds.
86960 2008-12-16  Bruno Haible  <bruno@clisp.org>
86962         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
86963         expressions.
86965 2008-12-15  Bruno Haible  <bruno@clisp.org>
86967         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
86968         * doc/glibc-functions/flistxattr.texi: Likewise.
86969         * doc/glibc-functions/fopencookie.texi: Likewise.
86970         * doc/glibc-functions/fremovexattr.texi: Likewise.
86971         * doc/glibc-functions/fsetxattr.texi: Likewise.
86972         * doc/glibc-functions/getxattr.texi: Likewise.
86973         * doc/glibc-functions/lgetxattr.texi: Likewise.
86974         * doc/glibc-functions/listxattr.texi: Likewise.
86975         * doc/glibc-functions/llistxattr.texi: Likewise.
86976         * doc/glibc-functions/lremovexattr.texi: Likewise.
86977         * doc/glibc-functions/lsetxattr.texi: Likewise.
86978         * doc/glibc-functions/removexattr.texi: Likewise.
86979         * doc/glibc-functions/setxattr.texi: Likewise.
86980         * doc/posix-functions/open_memstream.texi: Likewise.
86982 2008-12-15  Eric Blake  <ebb9@byu.net>
86984         Update doc for cygwin 1.7.
86985         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
86986         functions.
86987         * doc/posix-functions/fchmodat.texi: Likewise.
86988         * doc/posix-functions/fchownat.texi: Likewise.
86989         * doc/posix-functions/fdopendir.texi: Likewise.
86990         * doc/posix-functions/fmemopen.texi: Likewise.
86991         * doc/posix-functions/freeaddrinfo.texi: Likewise.
86992         * doc/posix-functions/fstatat.texi: Likewise.
86993         * doc/posix-functions/futimens.texi: Likewise.
86994         * doc/posix-functions/gai_strerror.texi: Likewise.
86995         * doc/posix-functions/getaddrinfo.texi: Likewise.
86996         * doc/posix-functions/getnameinfo.texi: Likewise.
86997         * doc/posix-functions/if_freenameindex.texi: Likewise.
86998         * doc/posix-functions/if_indextoname.texi: Likewise.
86999         * doc/posix-functions/if_nameindex.texi: Likewise.
87000         * doc/posix-functions/if_nametoindex.texi: Likewise.
87001         * doc/posix-functions/insque.texi: Likewise.
87002         * doc/posix-functions/linkat.texi: Likewise.
87003         * doc/posix-functions/llrint.texi: Likewise.
87004         * doc/posix-functions/llrintf.texi: Likewise.
87005         * doc/posix-functions/llrintl.texi: Likewise.
87006         * doc/posix-functions/lockf.texi: Likewise.
87007         * doc/posix-functions/lrintl.texi: Likewise.
87008         * doc/posix-functions/mkdirat.texi: Likewise.
87009         * doc/posix-functions/mkfifoat.texi: Likewise.
87010         * doc/posix-functions/mknodat.texi: Likewise.
87011         * doc/posix-functions/mq_close.texi: Likewise.
87012         * doc/posix-functions/mq_getattr.texi: Likewise.
87013         * doc/posix-functions/mq_notify.texi: Likewise.
87014         * doc/posix-functions/mq_open.texi: Likewise.
87015         * doc/posix-functions/mq_receive.texi: Likewise.
87016         * doc/posix-functions/mq_send.texi: Likewise.
87017         * doc/posix-functions/mq_setattr.texi: Likewise.
87018         * doc/posix-functions/mq_timedreceive.texi: Likewise.
87019         * doc/posix-functions/mq_timedsend.texi: Likewise.
87020         * doc/posix-functions/mq_unlink.texi: Likewise.
87021         * doc/posix-functions/open_memstream.texi: Likewise.
87022         * doc/posix-functions/openat.texi: Likewise.
87023         * doc/posix-functions/posix_fadvise.texi: Likewise.
87024         * doc/posix-functions/posix_fallocate.texi: Likewise.
87025         * doc/posix-functions/posix_madvise.texi: Likewise.
87026         * doc/posix-functions/posix_memalign.texi: Likewise.
87027         * doc/posix-functions/posix_openpt.texi: Likewise.
87028         * doc/posix-functions/readlinkat.texi: Likewise.
87029         * doc/posix-functions/remque.texi: Likewise.
87030         * doc/posix-functions/renameat.texi: Likewise.
87031         * doc/posix-functions/rintl.texi: Likewise.
87032         * doc/posix-functions/sem_unlink.texi: Likewise.
87033         * doc/posix-functions/shm_open.texi: Likewise.
87034         * doc/posix-functions/shm_unlink.texi: Likewise.
87035         * doc/posix-functions/signgam.texi: Likewise.
87036         * doc/posix-functions/sigset.texi: Likewise.
87037         * doc/posix-functions/stpcpy.texi: Likewise.
87038         * doc/posix-functions/stpncpy.texi: Likewise.
87039         * doc/posix-functions/strerror.texi: Likewise.
87040         * doc/posix-functions/strtod.texi: Likewise.
87041         * doc/posix-functions/symlinkat.texi: Likewise.
87042         * doc/posix-functions/unlinkat.texi: Likewise.
87043         * doc/posix-functions/utimensat.texi: Likewise.
87044         * doc/glibc-functions/bindresvport.texi: Likewise.
87045         * doc/glibc-functions/dn_expand.texi: Likewise.
87046         * doc/glibc-functions/exp10.texi: Likewise.
87047         * doc/glibc-functions/exp10f.texi: Likewise.
87048         * doc/glibc-functions/fgetxattr.texi: Likewise.
87049         * doc/glibc-functions/flistxattr.texi: Likewise.
87050         * doc/glibc-functions/fopencookie.texi: Likewise.
87051         * doc/glibc-functions/freeifaddrs.texi: Likewise.
87052         * doc/glibc-functions/fremovexattr.texi: Likewise.
87053         * doc/glibc-functions/fsetxattr.texi: Likewise.
87054         * doc/glibc-functions/getifaddrs.texi: Likewise.
87055         * doc/glibc-functions/getxattr.texi: Likewise.
87056         * doc/glibc-functions/lgetxattr.texi: Likewise.
87057         * doc/glibc-functions/listxattr.texi: Likewise.
87058         * doc/glibc-functions/llistxattr.texi: Likewise.
87059         * doc/glibc-functions/lremovexattr.texi: Likewise.
87060         * doc/glibc-functions/lsetxattr.texi: Likewise.
87061         * doc/glibc-functions/pow10.texi: Likewise.
87062         * doc/glibc-functions/pow10f.texi: Likewise.
87063         * doc/glibc-functions/rcmd_af.texi: Likewise.
87064         * doc/glibc-functions/removexattr.texi: Likewise.
87065         * doc/glibc-functions/res_init.texi: Likewise.
87066         * doc/glibc-functions/res_mkquery.texi: Likewise.
87067         * doc/glibc-functions/res_query.texi: Likewise.
87068         * doc/glibc-functions/res_querydomain.texi: Likewise.
87069         * doc/glibc-functions/res_send.texi: Likewise.
87070         * doc/glibc-functions/rresvport_af.texi: Likewise.
87071         * doc/glibc-functions/setxattr.texi: Likewise.
87072         * doc/glibc-functions/strcasestr.texi: Likewise.
87074 2008-12-15  Bruno Haible  <bruno@clisp.org>
87076         Fix compilation error on OSF/1 4.0.
87077         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
87078         <sys/time.h>, simply delegate to the system header.
87079         Reported by Daniel Richard G. <oss@teragram.com>.
87081 2008-12-15  Bruno Haible  <bruno@clisp.org>
87083         * doc/posix-functions/openat.texi: Mention the 'openat' module.
87084         * doc/posix-functions/fchmodat.texi: Likewise.
87085         * doc/posix-functions/fchownat.texi: Likewise.
87086         * doc/posix-functions/fdopendir.texi: Likewise.
87087         * doc/posix-functions/fstatat.texi: Likewise.
87088         * doc/posix-functions/mkdirat.texi: Likewise.
87089         * doc/posix-functions/unlinkat.texi: Likewise.
87091 2008-12-14  Bruno Haible  <bruno@clisp.org>
87093         Update doc for POSIX:2008.
87094         * doc/posix-functions/faccessat.texi: New file.
87095         * doc/posix-functions/fchmodat.texi: New file.
87096         * doc/posix-functions/fchownat.texi: New file.
87097         * doc/posix-functions/fdopendir.texi: New file.
87098         * doc/posix-functions/fstatat.texi: New file.
87099         * doc/posix-functions/futimens.texi: New file.
87100         * doc/posix-functions/linkat.texi: New file.
87101         * doc/posix-functions/mkdirat.texi: New file.
87102         * doc/posix-functions/mkfifoat.texi: New file.
87103         * doc/posix-functions/mknodat.texi: New file.
87104         * doc/posix-functions/open_wmemstream.texi: New file.
87105         * doc/posix-functions/openat.texi: New file.
87106         * doc/posix-functions/psiginfo.texi: New file.
87107         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
87108         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
87109         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
87110         * doc/posix-functions/readlinkat.texi: New file.
87111         * doc/posix-functions/renameat.texi: New file.
87112         * doc/posix-functions/strerror_l.texi: New file.
87113         * doc/posix-functions/symlinkat.texi: New file.
87114         * doc/posix-functions/unlinkat.texi: New file.
87115         * doc/posix-functions/utimensat.texi: New file.
87116         * doc/gnulib.texi (Function Substitutes): Add these subsections.
87118 2008-12-14  Bruno Haible  <bruno@clisp.org>
87120         Update doc for POSIX:2008.
87121         * doc/posix-functions/alphasort.texi: Renamed from
87122         doc/glibc-functions/alphasort.texi.
87123         * doc/posix-functions/dirfd.texi: Renamed from
87124         doc/glibc-functions/dirfd.texi.
87125         * doc/posix-functions/dprintf.texi: Renamed from
87126         doc/glibc-functions/dprintf.texi.
87127         * doc/posix-functions/duplocale.texi: Renamed from
87128         doc/glibc-functions/duplocale.texi.
87129         * doc/posix-functions/fexecve.texi: Renamed from
87130         doc/glibc-functions/fexecve.texi.
87131         * doc/posix-functions/fmemopen.texi: Renamed from
87132         doc/glibc-functions/fmemopen.texi.
87133         * doc/posix-functions/freelocale.texi: Renamed from
87134         doc/glibc-functions/freelocale.texi.
87135         * doc/posix-functions/getdate_err.texi: Renamed from
87136         doc/glibc-functions/getdate_err.texi.
87137         * doc/posix-functions/isalnum_l.texi: Renamed from
87138         doc/glibc-functions/isalnum_l.texi.
87139         * doc/posix-functions/isalpha_l.texi: Renamed from
87140         doc/glibc-functions/isalpha_l.texi.
87141         * doc/posix-functions/isblank_l.texi: Renamed from
87142         doc/glibc-functions/isblank_l.texi.
87143         * doc/posix-functions/iscntrl_l.texi: Renamed from
87144         doc/glibc-functions/iscntrl_l.texi.
87145         * doc/posix-functions/isdigit_l.texi: Renamed from
87146         doc/glibc-functions/isdigit_l.texi.
87147         * doc/posix-functions/isgraph_l.texi: Renamed from
87148         doc/glibc-functions/isgraph_l.texi.
87149         * doc/posix-functions/islower_l.texi: Renamed from
87150         doc/glibc-functions/islower_l.texi.
87151         * doc/posix-functions/isprint_l.texi: Renamed from
87152         doc/glibc-functions/isprint_l.texi.
87153         * doc/posix-functions/ispunct_l.texi: Renamed from
87154         doc/glibc-functions/ispunct_l.texi.
87155         * doc/posix-functions/isspace_l.texi: Renamed from
87156         doc/glibc-functions/isspace_l.texi.
87157         * doc/posix-functions/isupper_l.texi: Renamed from
87158         doc/glibc-functions/isupper_l.texi.
87159         * doc/posix-functions/iswalnum_l.texi: Renamed from
87160         doc/glibc-functions/iswalnum_l.texi.
87161         * doc/posix-functions/iswalpha_l.texi: Renamed from
87162         doc/glibc-functions/iswalpha_l.texi.
87163         * doc/posix-functions/iswblank_l.texi: Renamed from
87164         doc/glibc-functions/iswblank_l.texi.
87165         * doc/posix-functions/iswcntrl_l.texi: Renamed from
87166         doc/glibc-functions/iswcntrl_l.texi.
87167         * doc/posix-functions/iswctype_l.texi: Renamed from
87168         doc/glibc-functions/iswctype_l.texi.
87169         * doc/posix-functions/iswdigit_l.texi: Renamed from
87170         doc/glibc-functions/iswdigit_l.texi.
87171         * doc/posix-functions/iswgraph_l.texi: Renamed from
87172         doc/glibc-functions/iswgraph_l.texi.
87173         * doc/posix-functions/iswlower_l.texi: Renamed from
87174         doc/glibc-functions/iswlower_l.texi.
87175         * doc/posix-functions/iswprint_l.texi: Renamed from
87176         doc/glibc-functions/iswprint_l.texi.
87177         * doc/posix-functions/iswpunct_l.texi: Renamed from
87178         doc/glibc-functions/iswpunct_l.texi.
87179         * doc/posix-functions/iswspace_l.texi: Renamed from
87180         doc/glibc-functions/iswspace_l.texi.
87181         * doc/posix-functions/iswupper_l.texi: Renamed from
87182         doc/glibc-functions/iswupper_l.texi.
87183         * doc/posix-functions/iswxdigit_l.texi: Renamed from
87184         doc/glibc-functions/iswxdigit_l.texi.
87185         * doc/posix-functions/isxdigit_l.texi: Renamed from
87186         doc/glibc-functions/isxdigit_l.texi.
87187         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
87188         doc/glibc-functions/mbsnrtowcs.texi.
87189         * doc/posix-functions/mkdtemp.texi: Renamed from
87190         doc/glibc-functions/mkdtemp.texi.
87191         * doc/posix-functions/newlocale.texi: Renamed from
87192         doc/glibc-functions/newlocale.texi.
87193         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
87194         doc/glibc-functions/nl_langinfo_l.texi.
87195         * doc/posix-functions/open_memstream.texi: Renamed from
87196         doc/glibc-functions/open_memstream.texi.
87197         * doc/posix-functions/opterr.texi: Renamed from
87198         doc/glibc-functions/opterr.texi.
87199         * doc/posix-functions/optind.texi: Renamed from
87200         doc/glibc-functions/optind.texi.
87201         * doc/posix-functions/optopt.texi: Renamed from
87202         doc/glibc-functions/optopt.texi.
87203         * doc/posix-functions/psignal.texi: Renamed from
87204         doc/glibc-functions/psignal.texi.
87205         * doc/posix-functions/scandir.texi: Renamed from
87206         doc/glibc-functions/scandir.texi.
87207         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
87208         doc/glibc-functions/sched_get_priority_min.texi.
87209         * doc/posix-functions/signgam.texi: Renamed from
87210         doc/glibc-functions/signgam.texi.
87211         * doc/posix-functions/stpcpy.texi: Renamed from
87212         doc/glibc-functions/stpcpy.texi.
87213         * doc/posix-functions/stpncpy.texi: Renamed from
87214         doc/glibc-functions/stpncpy.texi.
87215         * doc/posix-functions/strcasecmp_l.texi: Renamed from
87216         doc/glibc-functions/strcasecmp_l.texi.
87217         * doc/posix-functions/strcoll_l.texi: Renamed from
87218         doc/glibc-functions/strcoll_l.texi.
87219         * doc/posix-functions/strfmon_l.texi: Renamed from
87220         doc/glibc-functions/strfmon_l.texi.
87221         * doc/posix-functions/strftime_l.texi: Renamed from
87222         doc/glibc-functions/strftime_l.texi.
87223         * doc/posix-functions/strncasecmp_l.texi: Renamed from
87224         doc/glibc-functions/strncasecmp_l.texi.
87225         * doc/posix-functions/strndup.texi: Renamed from
87226         doc/glibc-functions/strndup.texi.
87227         * doc/posix-functions/strnlen.texi: Renamed from
87228         doc/glibc-functions/strnlen.texi.
87229         * doc/posix-functions/strsignal.texi: Renamed from
87230         doc/glibc-functions/strsignal.texi.
87231         * doc/posix-functions/strxfrm_l.texi: Renamed from
87232         doc/glibc-functions/strxfrm_l.texi.
87233         * doc/posix-functions/timer_gettime.texi: Renamed from
87234         doc/glibc-functions/timer_gettime.texi.
87235         * doc/posix-functions/tolower_l.texi: Renamed from
87236         doc/glibc-functions/tolower_l.texi.
87237         * doc/posix-functions/toupper_l.texi: Renamed from
87238         doc/glibc-functions/toupper_l.texi.
87239         * doc/posix-functions/towctrans_l.texi: Renamed from
87240         doc/glibc-functions/towctrans_l.texi.
87241         * doc/posix-functions/towlower_l.texi: Renamed from
87242         doc/glibc-functions/towlower_l.texi.
87243         * doc/posix-functions/towupper_l.texi: Renamed from
87244         doc/glibc-functions/towupper_l.texi.
87245         * doc/posix-functions/uselocale.texi: Renamed from
87246         doc/glibc-functions/uselocale.texi.
87247         * doc/posix-functions/vdprintf.texi: Renamed from
87248         doc/glibc-functions/vdprintf.texi.
87249         * doc/posix-functions/wcpcpy.texi:
87250         Renamed from doc/glibc-functions/wcpcpy.texi.
87251         * doc/posix-functions/wcpncpy.texi: Renamed from
87252         doc/glibc-functions/wcpncpy.texi.
87253         * doc/posix-functions/wcscasecmp.texi: Renamed from
87254         doc/glibc-functions/wcscasecmp.texi.
87255         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
87256         doc/glibc-functions/wcscasecmp_l.texi.
87257         * doc/posix-functions/wcscoll_l.texi: Renamed from
87258         doc/glibc-functions/wcscoll_l.texi.
87259         * doc/posix-functions/wcsdup.texi: Renamed from
87260         doc/glibc-functions/wcsdup.texi.
87261         * doc/posix-functions/wcsncasecmp.texi: Renamed from
87262         doc/glibc-functions/wcsncasecmp.texi.
87263         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
87264         doc/glibc-functions/wcsncasecmp_l.texi.
87265         * doc/posix-functions/wcsnlen.texi: Renamed from
87266         doc/glibc-functions/wcsnlen.texi.
87267         * doc/posix-functions/wcsnrtombs.texi: Renamed from
87268         doc/glibc-functions/wcsnrtombs.texi.
87269         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
87270         doc/glibc-functions/wcsxfrm_l.texi.
87271         * doc/posix-functions/wctrans_l.texi: Renamed from
87272         doc/glibc-functions/wctrans_l.texi.
87273         * doc/posix-functions/wctype_l.texi: Renamed from
87274         doc/glibc-functions/wctype_l.texi.
87275         * doc/gnulib.texi (Function Substitutes): Add these subsections.
87276         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
87277         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
87278         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
87279         these subsections.
87280         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
87281         Remove sections.
87283 2008-12-14  Bruno Haible  <bruno@clisp.org>
87285         Update doc for POSIX:2008.
87286         * doc/posix-functions/*.texi: Update URL of POSIX specification.
87288 2008-12-14  Bruno Haible  <bruno@clisp.org>
87290         Update doc for POSIX:2008.
87291         * doc/pastposix-functions/bcmp.texi: Renamed from
87292         doc/posix-functions/bcmp.texi.
87293         * doc/pastposix-functions/bcopy.texi: Renamed from
87294         doc/posix-functions/bcopy.texi.
87295         * doc/pastposix-functions/bsd_signal.texi: Renamed from
87296         doc/posix-functions/bsd_signal.texi.
87297         * doc/pastposix-functions/bzero.texi: Renamed from
87298         doc/posix-functions/bzero.texi.
87299         * doc/pastposix-functions/ecvt.texi: Renamed from
87300         doc/posix-functions/ecvt.texi.
87301         * doc/pastposix-functions/fcvt.texi: Renamed from
87302         doc/posix-functions/fcvt.texi.
87303         * doc/pastposix-functions/ftime.texi: Renamed from
87304         doc/posix-functions/ftime.texi.
87305         * doc/pastposix-functions/gcvt.texi: Renamed from
87306         doc/posix-functions/gcvt.texi.
87307         * doc/pastposix-functions/getcontext.texi: Renamed from
87308         doc/posix-functions/getcontext.texi.
87309         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
87310         doc/posix-functions/gethostbyaddr.texi.
87311         * doc/pastposix-functions/gethostbyname.texi: Renamed from
87312         doc/posix-functions/gethostbyname.texi.
87313         * doc/pastposix-functions/getwd.texi: Renamed from
87314         doc/posix-functions/getwd.texi.
87315         * doc/pastposix-functions/h_errno.texi: Renamed from
87316         doc/posix-functions/h_errno.texi.
87317         * doc/pastposix-functions/index.texi: Renamed from
87318         doc/posix-functions/index.texi.
87319         * doc/pastposix-functions/makecontext.texi: Renamed from
87320         doc/posix-functions/makecontext.texi.
87321         * doc/pastposix-functions/mktemp.texi: Renamed from
87322         doc/posix-functions/mktemp.texi.
87323         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
87324         doc/posix-functions/pthread_attr_getstackaddr.texi.
87325         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
87326         doc/posix-functions/pthread_attr_setstackaddr.texi.
87327         * doc/pastposix-functions/rindex.texi: Renamed from
87328         doc/posix-functions/rindex.texi.
87329         * doc/pastposix-functions/scalb.texi: Renamed from
87330         doc/posix-functions/scalb.texi.
87331         * doc/pastposix-functions/setcontext.texi: Renamed from
87332         doc/posix-functions/setcontext.texi.
87333         * doc/pastposix-functions/swapcontext.texi: Renamed from
87334         doc/posix-functions/swapcontext.texi.
87335         * doc/pastposix-functions/ualarm.texi: Renamed from
87336         doc/posix-functions/ualarm.texi.
87337         * doc/pastposix-functions/usleep.texi: Renamed from
87338         doc/posix-functions/usleep.texi.
87339         * doc/pastposix-functions/vfork.texi: Renamed from
87340         doc/posix-functions/vfork.texi.
87341         * doc/pastposix-functions/wcswcs.texi: Renamed from
87342         doc/posix-functions/wcswcs.texi.
87343         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
87344         (Function Substitutes): Update.
87346 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87348         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
87349         m4/strerror.m4.
87351 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87352             Bruno Haible  <bruno@clisp.org>
87354         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
87356 2008-12-13  Bruno Haible  <bruno@clisp.org>
87358         * modules/strtoull (Depends-on): Remove unistd.
87360 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87362         * modules/strtoull (Depends-on): Add stdlib.
87364 2008-12-11  Simon Josefsson  <simon@josefsson.org>
87366         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
87368 2008-12-10  Jim Meyering  <meyering@redhat.com>
87370         gl_ASSERT: don't say assertions are disabled when they're not
87371         * m4/assert.m4 (gl_ASSERT): Do not make configure report
87372         "checking whether to enable assertions... no", when they are in
87373         fact enabled.  This is solely a bug in the output of configure.
87374         In spite of saying "no", NDEBUG was not defined in that case.
87375         Also, as noted by Eric Blake, leave assertions enabled upon
87376         --enable-assert=INVALID.
87378 2008-12-10  Bruno Haible  <bruno@clisp.org>
87380         Change MODULES.html to refer to POSIX:2008 where possible.
87381         * MODULES.html.sh (POSIX2008_URL): New variable.
87382         (posix_headers): Remove sys/timeb, ucontext.
87383         (posix2001_headers): New variable.
87384         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
87385         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
87386         index, makecontext, mktemp, pthread_attr_getstackaddr,
87387         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
87388         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
87389         (posix2001_functions): New variable.
87390         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
87391         otherwise.
87393 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87395         add missing include to parse-duration.c
87396         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
87397         * modules/parse-duration (Depends-on): Add xalloc.
87399         fix sed script reading maint.mk
87400         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
87401         (syntax-check-rules): Use it.
87403 2008-12-09  Bruno Haible  <bruno@clisp.org>
87405         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
87406         MacOS X 10.4/PowerPC.
87407         Reported by Simon Josefsson.
87409 2008-12-08  Jim Meyering  <meyering@redhat.com>
87411         work around mingw's lack of some S_IF definitions
87412         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
87413         Reported by Simon Josefsson.
87415 2008-12-08  Bruno Haible  <bruno@clisp.org>
87417         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
87418         applied to variables. Needed on MacOS X 10.4/PowerPC.
87419         Reported by Simon Josefsson.
87421 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
87422         and Eric Blake  <ebb9@byu.net>
87424         assert: honor --enable-assert
87425         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
87426         order to honor --enable-assert, rather than treating it as a
87427         synonym for --disable-assert.
87429 2008-12-08  Jim Meyering  <meyering@redhat.com>
87431         * lib/posixtm.c: Remove now-useless declaration of mktime.
87433         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
87435 2008-12-07  Bruno Haible  <bruno@clisp.org>
87437         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
87438         test_once): Mark functions as static.
87439         * tests/test-tls.c (test_tls): Likewise.
87441 2008-12-07  Bruno Haible  <bruno@clisp.org>
87443         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
87444         iconv_register_autodetect.
87446 2008-12-07  Jim Meyering  <meyering@redhat.com>
87448         posixtm.c: avoid a warning
87449         * lib/posixtm.c (posixtime): Don't initialize tm0.
87450         It's no longer needed to placate gcc4's -Wuninitialized,
87451         and the attempt to placate would elicit a new warning.
87453         unicodeio.c: mark unused parameters
87454         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
87455         (fallback_failure_callback): Likewise.
87457 2008-12-07  Bruno Haible  <bruno@clisp.org>
87459         * gnulib-tool (func_create_testdir): When building the tests
87460         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
87461         Reported by Simon Josefsson.
87463 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87465         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
87467 2008-12-06  Bruno Haible  <bruno@clisp.org>
87469         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
87470         Suggested by Eric Blake.
87472 2008-12-06  Bruno Haible  <bruno@clisp.org>
87474         Fix a c-stack test failure on MacOS X.
87475         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
87476         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
87477         handler for SIGBUS as well.
87478         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
87479         install a signal handler for SIGBUS as well.
87480         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
87482 2008-12-06  Bruno Haible  <bruno@clisp.org>
87484         Advocacy documentation.
87485         * doc/gnulib-intro.texi (Benefits): New section.
87486         * doc/gnulib.texi: Update.
87488 2008-12-06  Bruno Haible  <bruno@clisp.org>
87490         Document the 'manywarnings' module.
87491         * doc/manywarnings.texi: New file.
87492         * doc/gnulib.texi: Include it.
87494 2008-12-05  Eric Blake  <ebb9@byu.net>
87496         tests: silence some gcc warnings
87497         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
87498         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
87499         type mismatches.
87501 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87502             Bruno Haible  <bruno@clisp.org>
87504         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
87506 2008-11-29  Jim Meyering  <meyering@redhat.com>
87508         unicodeio.c: mark unused parameters
87509         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
87510         (fallback_failure_callback): Likewise.
87512         fts: fix a thinko
87513         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
87514         (set_stat_type): Return S_IF*-valued "type" directly.
87515         Prompted by James Youngman's spotting a related bug.
87516         Confirmed by further testing through find.
87518         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
87519         * lib/fts.c (D_TYPE): Define.
87520         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
87521         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
87522         (s_ifmt_shift_bits): New function.
87523         (set_stat_type): New function.
87524         (fts_build): When not calling fts_stat, call set_stat_type
87525         to propagate dirent.d_type info to fts_read caller.
87526         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
87527         fts_statp->st_mode type information may be valid.
87529 2008-11-28  Simon Josefsson  <simon@josefsson.org>
87531         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
87532         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
87533         <sds@gnu.org>.
87535 2008-11-20  Bruno Haible  <bruno@clisp.org>
87537         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
87538         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
87539         INCLUDE_NEXT.
87540         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
87541         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
87542         * modules/math (Makefile.am): Substitute
87543         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
87544         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87546 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
87547             Bruno Haible  <bruno@clisp.org>
87549         * lib/stdint.in.h: Define all type macros so that their expansion is
87550         a single typedef'ed token. Fixes a compilation failure in Boost which
87551         does "using ::int8_t;".
87553 2008-11-18  Simon Josefsson  <simon@josefsson.org>
87555         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
87556         gl_MANYWARN_ALL_GCC.
87557         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
87558         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
87559         * modules/manywarnings: New file.
87560         * MODULES.html.sh: Mention manywarnings module.
87562 2008-11-18  Bruno Haible  <bruno@clisp.org>
87564         * doc/gnulib-tool.texi (Unit tests): New section.
87566 2008-11-18  Simon Josefsson  <simon@josefsson.org>
87568         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
87569         paths like 'lib/po/foo.po'.
87571 2008-11-17  Simon Josefsson  <simon@josefsson.org>
87573         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
87574         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
87576 2008-11-17  Simon Josefsson  <simon@josefsson.org>
87578         * m4/warnings.m4: Use CPPFLAGS to really check whether the
87579         parameter works.
87581 2008-11-17  Simon Josefsson  <simon@josefsson.org>
87583         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
87585 2008-11-17  Bruce Korb  <bkorb@gnu.org>
87587         * modules/parse-duration-tests: New file.
87588         * tests/test-parse-duration.sh: New file.
87589         * tests/test-parse-duration.c: New file.
87591         New module 'parse-duration'.
87592         * lib/parse-duration.h: New file.
87593         * lib/parse-duration.c: New file.
87594         * modules/parse-duration: New file.
87596 2008-11-17  Bruno Haible  <bruno@clisp.org>
87598         * tests/test-select-out.sh: Comment out the first pipe test.
87599         Reported by Simon Josefsson.
87601 2008-11-17  Bruno Haible  <bruno@clisp.org>
87603         * modules/getaddrinfo (Depends-on): Add servent, hostent.
87604         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
87605         gl_HOSTENT.
87607 2008-11-17  Bruno Haible  <bruno@clisp.org>
87609         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
87610         -lnetwork and -lnet. Needed for Haiku and BeOS.
87612 2008-11-16  Bruno Haible  <bruno@clisp.org>
87614         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
87616 2008-11-16  Bruno Haible  <bruno@clisp.org>
87618         Avoid test failure on Haiku.
87619         * tests/test-fsync.c: Include <errno.h>.
87620         (main): Don't require that fsync (0) fails.
87622 2008-11-15  Bruno Haible  <bruno@clisp.org>
87624         New module 'hostent'.
87625         * modules/hostent: New file.
87626         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
87628 2008-11-15  Bruno Haible  <bruno@clisp.org>
87630         New module 'servent'.
87631         * modules/servent: New file.
87632         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
87634 2008-11-15  Bruno Haible  <bruno@clisp.org>
87636         Avoid generating same test program with two different rules.
87637         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
87638         test-frexp to test-frexp-nolibm.
87639         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
87640         test-frexpl to test-frexpl-nolibm.
87642 2008-11-15  Bruno Haible  <bruno@clisp.org>
87644         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
87645         $(FREXPL_LIBM).
87647 2008-11-15  Bruno Haible  <bruno@clisp.org>
87649         * lib/netdb.in.h: Activate the definitions also when the system's
87650         <netdb.h> has 'struct addrinfo'.
87651         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
87652         EAI_OVERFLOW or AI_NUMERICSERV.
87653         * doc/posix-headers/netdb.texi: Document the problem.
87655 2008-11-15  Bruno Haible  <bruno@clisp.org>
87657         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
87659         Make the 'sched' module work on platforms where <sched.h> exists but
87660         is incomplete (such as Haiku).
87661         * lib/sched.in.h; Include the system's <sched.h> if it exists.
87662         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
87663         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
87664         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
87665         HAVE_STRUCT_SCHED_PARAM.
87666         * modules/sched (Depends-on): Add include_next.
87667         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
87668         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
87669         * doc/posix-headers/sched.texi: Document the issue.
87671 2008-11-13  Jim Meyering  <meyering@redhat.com>
87673         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
87674         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
87675         test would fail due to the difference in the Report bugs to ...
87676         line.  The expected address is empty, "<>", while the actual
87677         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
87679 2008-11-12  Bruno Haible  <bruno@clisp.org>
87681         lstat: don't compile lstat.c on systems lacking lstat
87682         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
87683         which don't have lstat; this is handled by lib/sys_stat.in.h already.
87684         Reported by Daniel P. Berrange via Jim Meyering.
87686 2008-11-12  Jim Meyering  <meyering@redhat.com>
87688         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
87690 2008-11-12  Simon Josefsson  <simon@josefsson.org>
87692         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
87693         instead.
87695 2008-11-12  Bruno Haible  <bruno@clisp.org>
87697         * lib/unicodeio.c: Include unistr.h.
87698         (utf8_wctomb): Remove function.
87699         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
87701 2008-11-12  Simon Josefsson  <simon@josefsson.org>
87703         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
87704         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
87705         <bruno@clisp.org>.
87706         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
87708 2008-11-12  Simon Josefsson  <simon@josefsson.org>
87710         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
87711         * doc/gnulib.texi: Add section for warnings.
87713 2008-11-11  Bruno Haible  <bruno@clisp.org>
87715         * lib/sockets.h: Add a comment.
87717 2008-11-11  Karl Berry  <karl@gnu.org>
87719         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
87721 2008-11-11  Eric Blake  <ebb9@byu.net>
87723         fdl.texi: avoid git symlinks
87724         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
87726 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
87728         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
87730 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
87732         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
87733         (gl_WARN_ADD): Substitute $2 if literal.
87735 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
87737         * m4/warning.m4: Remove.
87739 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
87741         * m4/warnings.m4: Almost complete rewrite. :-)
87743 2008-11-10  Simon Josefsson  <simon@josefsson.org>
87745         * modules/warnings: New module.
87746         * m4/warnings.m4: New file.
87747         * MODULES.html.sh: Mention warnings module.
87748         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
87749         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
87751 2008-11-10  Eric Blake  <ebb9@byu.net>
87753         fdl.texi: make a symlink to the latest version
87754         * doc/standards.texi: Revert today's earlier change.
87755         * doc/fdl-1.2.texi: Rename from old fdl.texi...
87756         * doc/fdl.texi: ...and replace this with a symlink to the newer
87757         fdl-1.3.texi.
87759 2008-11-10  Bruno Haible  <bruno@clisp.org>
87761         * tests/test-select-fd.c (main): Accept the result file name as fourth
87762         argument.
87763         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
87764         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
87766 2008-11-10  Bruno Haible  <bruno@clisp.org>
87768         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
87769         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
87770         as autoconf-substituted macros.
87771         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
87772         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
87773         gl_NETDB_H_DEFAULTS. Set these variables.
87774         * modules/netdb (Makefile.am): Substitute these variables.
87776 2008-11-10  Eric Blake  <ebb9@byu.net>
87778         standards.texi: include correct file for FDL 1.3
87779         * doc/standards.texi (GNU Free Documentation License): Change
87780         include file to pull in FDL 1.3, not 1.2.
87782         fdl.texi: revert accidental change to license
87783         * doc/fdl.texi: This is FDL 1.2, not 1.3.
87785 2008-11-10  Bruno Haible  <bruno@clisp.org>
87787         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
87788         cross-compiling guesses also when the native compile gives no result.
87790 2008-11-10  Bruno Haible  <bruno@clisp.org>
87792         * lib/spawni.c (__spawni): Force variable into the stack.
87794 2008-11-10  Bruno Haible  <bruno@clisp.org>
87796         Add support for Haiku.
87797         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
87798         glibc and BeOS, but also on Haiku.
87799         * lib/fpurge.c (fpurge): Likewise.
87800         * lib/freadable.c (freadable): Likewise.
87801         * lib/freadahead.c (freadahead): Likewise.
87802         * lib/freading.c (freading): Likewise.
87803         * lib/freadptr.c (freadptr): Likewise.
87804         * lib/freadseek.c (freadptrinc): Likewise.
87805         * lib/fseeko.c (rpl_fseeko): Likewise.
87806         * lib/fseterr.c (fseterr): Likewise.
87807         * lib/fwritable.c (fwritable): Likewise.
87808         * lib/fwriting.c (fwriting): Likewise.
87809         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
87811 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
87813         * lib/config.charset: Treat Haiku like BeOS.
87815 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
87817         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
87818         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
87820 2008-11-08  Bruno Haible  <bruno@clisp.org>
87822         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
87823         AC_CACHE_CHECK.
87825 2008-11-08  Bruno Haible  <bruno@clisp.org>
87827         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
87829 2008-11-08  Bruno Haible  <bruno@clisp.org>
87831         * tests/test-select-fd.c: New file.
87832         * tests/test-select-in.sh: New file.
87833         * tests/test-select-out.sh: New file.
87834         * tests/test-select-stdin.c: New file.
87835         * modules/select-tests (Files): Add the new files.
87836         (Depends-on): Add gettimeofday.
87837         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
87838         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
87839         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
87841 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
87842             Bruno Haible  <bruno@clisp.org>
87844         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
87846 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
87848         * build-aux/pmccabe2html: Added support for C++ source files.
87850 2008-11-05  Ben Pfaff  <blp@gnu.org>
87852         Fix lib/close.c build on Windows.
87853         * modules/close (Files): Add lib/w32sock.h.
87855 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
87857         Accept Bison's NEWS format.
87858         * build-aux/announce-gen (print_news_deltas): Tweak
87859         $re_prefix.
87861 2008-11-04  Bruno Haible  <bruno@clisp.org>
87863         * modules/random_r (Maintainer): Add glibc.
87865 2008-11-04  Simon Josefsson  <simon@josefsson.org>
87867         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
87868         by karl@freefriends.org (Karl Berry).
87869         * doc/alloca.texi: Likewise.
87870         * doc/c-ctype.texi: Likewise.
87871         * doc/c-strcase.texi: Likewise.
87872         * doc/c-strcaseeq.texi: Likewise.
87873         * doc/c-strcasestr.texi: Likewise.
87874         * doc/c-strstr.texi: Likewise.
87875         * doc/c-strtod.texi: Likewise.
87876         * doc/c-strtold.texi: Likewise.
87877         * doc/ctime.texi: Likewise.
87878         * doc/error.texi: Likewise.
87879         * doc/fdl.texi: Likewise.
87880         * doc/gcd.texi: Likewise.
87881         * doc/getdate.texi: Likewise.
87882         * doc/gnulib-intro.texi: Likewise.
87883         * doc/gnulib-tool.texi: Likewise.
87884         * doc/gnulib.texi: Likewise.
87885         * doc/inet_ntoa.texi: Likewise.
87886         * doc/maintain.texi: Likewise.
87887         * doc/make-stds.texi: Likewise.
87888         * doc/quote.texi: Likewise.
87889         * doc/regexprops-generic.texi: Likewise.
87890         * doc/standards.texi: Likewise.
87891         * doc/verify.texi: Likewise.
87892         * doc/visibility.texi: Likewise.
87893         * doc/gnulib.texi (GNU Free Documentation License): Include
87894         fdl-1.3.texi instead of fdl.texi.
87896 2008-11-04  Simon Josefsson  <simon@josefsson.org>
87898         * doc/fdl-1.3.texi: New file, from
87899         <http://www.gnu.org/licenses/fdl-1.3.texi>.
87900         * modules/fdl-1.3: Add.
87901         * MODULES.html.sh: Add fdl-1.3.
87903 2008-11-03  Bruno Haible  <bruno@clisp.org>
87905         Make determination of absolute name of header file work with AIX xlc.
87906         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
87907         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
87908         preprocessing.
87909         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
87910         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
87912 2008-11-03  Simon Josefsson  <simon@josefsson.org>
87914         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
87915         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
87916         <ludo@gnu.org>.
87918 2008-11-02  Bruno Haible  <bruno@clisp.org>
87920         Mark 'strpbrk' obsolete.
87921         * modules/strpbrk (Status, Notice): New sections.
87922         * modules/strtok_r (Depends-on): Add strpbrk.
87924 2008-11-02  Bruno Haible  <bruno@clisp.org>
87926         Mark 'strdup' obsolete.
87927         * modules/strdup (Status, Notice): New sections.
87928         * modules/findprog (Depends-on): Add strdup.
87929         * modules/getaddrinfo (Depends-on): Likewise.
87930         * modules/localename (Depends-on): Likewise.
87931         * modules/relocatable-lib (Depends-on): Likewise.
87932         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
87933         * modules/relocatable-prog (Depends-on): Likewise.
87934         * modules/trim (Depends-on): Likewise.
87935         * modules/unictype/gen-ctype (Depends-on): Likewise.
87936         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
87938 2008-11-02  Bruno Haible  <bruno@clisp.org>
87940         Mark 'strcspn' obsolete.
87941         * modules/strcspn (Status, Notice): New sections.
87943 2008-11-02  Bruno Haible  <bruno@clisp.org>
87945         Mark 'rmdir' obsolete.
87946         * modules/rmdir (Status, Notice): New sections.
87947         * modules/clean-temp (Depends-on): Add rmdir.
87948         * modules/openat (Depends-on): Likewise.
87950 2008-11-02  Bruno Haible  <bruno@clisp.org>
87952         Mark 'raise' obsolete.
87953         * modules/raise (Status, Notice): New sections.
87954         (Include): Specify <signal.h>.
87955         * modules/stdio (Depends-on): Add raise.
87956         * modules/write (Depends-on): Likewise.
87958 2008-11-02  Bruno Haible  <bruno@clisp.org>
87960         Mark 'memset' obsolete.
87961         * modules/memset (Status, Notice): New sections.
87963 2008-11-02  Bruno Haible  <bruno@clisp.org>
87965         Mark 'memmove' obsolete.
87966         * modules/memmove (Status, Notice): New sections.
87967         * modules/argp (Depends-on): Add memmove.
87968         * modules/argz (Depends-on): Likewise.
87969         * modules/canonicalize (Depends-on): Likewise.
87970         * modules/canonicalize-lgpl (Depends-on): Likewise.
87971         * modules/fts (Depends-on): Likewise.
87972         * modules/getcwd (Depends-on): Likewise.
87973         * modules/human (Depends-on): Likewise.
87974         * modules/regex (Depends-on): Likewise.
87975         * modules/striconveh (Depends-on): Likewise.
87976         * modules/trim (Depends-on): Likewise.
87977         * modules/unistr/u8-move (Depends-on): Likewise.
87978         * modules/unistr/u16-move (Depends-on): Likewise.
87979         * modules/unistr/u32-move (Depends-on): Likewise.
87981 2008-11-02  Bruno Haible  <bruno@clisp.org>
87983         Mark 'memcpy' obsolete.
87984         * modules/memcpy (Status, Notice): New sections.
87986 2008-11-02  Bruno Haible  <bruno@clisp.org>
87988         Mark 'memcmp' obsolete.
87989         * modules/memcmp (Status, Notice): New sections.
87990         * modules/argmatch (Depends-on): Add memchr.
87991         * modules/backupfile (Depends-on): Likewise.
87992         * modules/c-strcasestr (Depends-on): Likewise.
87993         * modules/crypto/des (Depends-on): Likewise.
87994         * modules/csharpcomp (Depends-on): Likewise.
87995         * modules/fnmatch (Depends-on): Likewise.
87996         * modules/git-merge-changelog (Depends-on): Likewise.
87997         * modules/isnand (Depends-on): Likewise.
87998         * modules/isnand-nolibm (Depends-on): Likewise.
87999         * modules/isnanf (Depends-on): Likewise.
88000         * modules/isnanf-nolibm (Depends-on): Likewise.
88001         * modules/isnanl (Depends-on): Likewise.
88002         * modules/isnanl-nolibm (Depends-on): Likewise.
88003         * modules/mbchar (Depends-on): Likewise.
88004         * modules/memcoll (Depends-on): Likewise.
88005         * modules/quotearg (Depends-on): Likewise.
88006         * modules/regex (Depends-on): Likewise.
88007         * modules/relocatable-prog (Depends-on): Likewise.
88008         * modules/same (Depends-on): Likewise.
88009         * modules/signbit (Depends-on): Likewise.
88010         * modules/strcasestr-simple (Depends-on): Likewise.
88011         * modules/unictype/gen-ctype (Depends-on): Likewise.
88012         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
88013         * modules/uniname/uniname (Depends-on): Likewise.
88014         * modules/unistr/u8-cmp (Depends-on): Likewise.
88016 2008-11-02  Bruno Haible  <bruno@clisp.org>
88018         Mark 'memchr' obsolete.
88019         * modules/memchr (Status, Notice): New sections.
88020         * modules/argp (Depends-on): Add memchr.
88021         * modules/base64 (Depends-on): Likewise.
88022         * modules/c-strcasestr (Depends-on): Likewise.
88023         * modules/chdir-long (Depends-on): Likewise.
88024         * modules/fnmatch (Depends-on): Likewise.
88025         * modules/getsubopt (Depends-on): Likewise.
88026         * modules/git-merge-changelog (Depends-on): Likewise.
88027         * modules/glob (Depends-on): Likewise.
88028         * modules/strcasestr-simple (Depends-on): Likewise.
88029         * modules/strnlen (Depends-on): Likewise.
88031 2008-11-02  Bruno Haible  <bruno@clisp.org>
88033         Mark 'atexit' obsolete.
88034         * modules/atexit (Status, Notice): New sections.
88035         * modules/chdir-long (Depends-on): Add atexit.
88036         * modules/wait-process (Depends-on): Likewise.
88038 2008-11-02  Bruno Haible  <bruno@clisp.org>
88040         * gnulib-tool: New option --with-obsolete.
88041         (func_usage): Document it.
88042         (func_modules_transitive_closure): Drop obsolete dependencies if
88043         incobsolete is not true.
88044         (func_import): Read and save the incobsolete variable to the cache.
88046 2008-11-02  Bruno Haible  <bruno@clisp.org>
88048         * modules/TEMPLATE-EXTENDED: New field 'Status'.
88049         * gnulib-tool: New option --extract-status.
88050         (func_usage): Document it.
88051         (sed_extract_prog): Recognize it.
88052         (func_get_status): New function.
88054 2008-10-30  Simon Josefsson  <simon@josefsson.org>
88056         * modules/sockets (License): Change from LGPL to LGPLv2+.
88058 2008-10-28  Simon Josefsson  <simon@josefsson.org>
88060         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
88062 2008-10-28  Simon Josefsson  <simon@josefsson.org>
88064         * MODULES.html.sh (Support for systems lacking POSIX:2001):
88065         Mention times and sys_times.
88066         * modules/sys_times, modules/sys_times-tests: New modules.
88067         * modules/times, modules/times-tests: Likewise
88068         * m4/sys_times_h.m4: New file.
88069         * lib/sys_times.in.h: Likewise
88070         * lib/times.c: Likewise.
88071         * tests/test-sys_times.c: Likewise.
88072         * tests/test-times.c: Likewise.
88073         * doc/posix-headers/sys_times.texi: Update.
88074         * doc/posix-functions/times.texi: Update.
88076 2008-10-28  Jim Meyering  <meyering@redhat.com>
88078         * modules/tempname (Depends-on): Add lstat.
88080         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
88082 2008-10-28  Simon Josefsson  <simon@josefsson.org>
88084         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
88085         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
88086         using idiom used elsewhere in gnulib.
88088 2008-10-27  Jim Meyering  <meyering@redhat.com>
88090         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
88092 2008-10-27  Simon Josefsson  <simon@josefsson.org>
88094         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
88095         TESTS_ENVIRONMENT, for shell scripts that needs to call built
88096         programs.
88097         * tests/test-argp-2.sh: Use $EXEEXT when needed.
88099 2008-10-27  Simon Josefsson  <simon@josefsson.org>
88101         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
88103 2008-10-27  Bruno Haible  <bruno@clisp.org>
88105         * tests/test-lstat.c: Include <stdio.h>.
88107 2008-10-27  Simon Josefsson  <simon@josefsson.org>
88109         * modules/lstat-tests: New module.
88110         * tests/test-lstat.c: New file.
88112 2008-10-26  Jim Meyering  <meyering@redhat.com>
88114         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
88116 2008-10-26  Simon Josefsson  <simon@josefsson.org>
88117             Bruno Haible  <bruno@clisp.org>
88119         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
88120         * modules/configmake (Include): Add a note that the include must come
88121         after all system headers.
88122         * lib/javaversion.c: Include configmake.h after all other includes.
88124 2008-10-26  Bruno Haible  <bruno@clisp.org>
88126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
88127         HAVE_STRUCT_RANDOM_DATA to 1.
88128         (gl_STDLIB_H): Simplify.
88130 2008-10-26  Simon Josefsson  <simon@josefsson.org>
88132         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
88133         substitute HAVE_STRUCT_RANDOM_DATA.
88134         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
88135         random_data.
88136         * modules/stdlib (Makefile.am): Substitute
88137         HAVE_STRUCT_RANDOM_DATA.
88139 2008-10-26  Simon Josefsson  <simon@josefsson.org>
88141         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
88142         * doc/gnulib-intro.texi (Copyright): Likewise.
88144 2008-10-26  Simon Josefsson  <simon@josefsson.org>
88146         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
88147         findings.
88149 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
88150             Bruno Haible  <bruno@clisp.org>
88152         * lib/unistd.in.h: Include <winsock2.h>.
88153         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
88154         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
88155         Provide dummy declarations.
88156         (gethostname): Override.
88157         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
88158         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
88159         gl_PREREQ_SYS_H_WINSOCK2.
88160         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
88161         * doc/posix-functions/gethostname.texi: More details.
88163 2008-10-25  Bruno Haible  <bruno@clisp.org>
88165         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
88166         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
88167         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
88169         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
88170         here ...
88171         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
88172         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
88173         gl_UNISTD_H_DEFAULTS.
88175 2008-10-25  Eric Blake  <ebb9@byu.net>
88177         signbit: avoid spurious compiler failure
88178         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
88179         declarations inside function.
88181 2008-10-24  Simon Josefsson  <simon@josefsson.org>
88182             Bruno Haible  <bruno@clisp.org>
88184         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
88185         * modules/random_r (Depends-on): Add stdint.
88187 2008-10-24  Bruno Haible  <bruno@clisp.org>
88189         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
88190         Eggert.
88191         * modules/strerror (License): Likewise.
88193 2008-10-24  Jim Meyering  <meyering@redhat.com>
88195         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
88196         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
88198 2008-10-24  Eric Blake  <ebb9@byu.net>
88200         getgroups: fix compilation when getgroups is available
88201         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
88202         but with <config.h> override of getgroups disabled.
88204 2008-10-24  Simon Josefsson  <simon@josefsson.org>
88206         * doc/gnulib.texi (Header files): Add note about C++ problems.
88207         Explained by Bruno Haible <bruno@clisp.org>.
88209 2008-10-23  Bruno Haible  <bruno@clisp.org>
88211         Define a dummy SA_NODEFER macro on Interix.
88212         * lib/signal.in.h (SA_NODEFER): Define fallback.
88213         Reported by Aleksey Cheusov <cheusov@tut.by> via
88214         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
88216 2008-10-23  Bruno Haible  <bruno@clisp.org>
88218         * modules/freadahead (License): Change to LGPLv2+.
88219         Suggested by Simon Josefsson.
88221 2008-10-23  Jim Meyering  <meyering@redhat.com>
88223         random_r: new module
88224         * modules/random_r: New file.
88225         * m4/random_r.m4: New file.
88226         * lib/random_r.c: New file, from glibc.
88227         * modules/random_r-tests: New file.
88228         * tests/test-random_r.c: New file.
88229         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
88230          Declare.
88231         (RAND_MAX): Define.
88232         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
88233         * modules/stdlib: Substitute them, too.
88234         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
88235         * doc/glibc-functions/initstate_r.texi: Mention the new module.
88236         * doc/glibc-functions/random_r.texi: Likewise.
88237         * doc/glibc-functions/setstate_r.texi: Likewise.
88238         * doc/glibc-functions/srandom_r.texi: Likewise.
88239         * config/srclist.txt: Mention it.
88241 2008-10-23  David Lutterkort  <lutter@redhat.com>
88243         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
88244         link requirement
88246 2008-10-23  Jim Meyering  <meyering@redhat.com>
88248         selinux-h: mark parameters of stub functions as intentionally unused
88249         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
88250         * lib/se-context.in.h: Likewise.
88252 2008-10-22  Simon Josefsson  <simon@josefsson.org>
88254         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
88256 2008-10-22  Simon Josefsson  <simon@josefsson.org>
88258         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
88260 2008-10-22  Eric Blake  <ebb9@byu.net>
88262         glthread/thread: avoid compiler warning
88263         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
88264         Add unreachable abort to silence compiler.
88266 2008-10-22  Eric Blake  <ebb9@byu.net>
88268         netdb: also supply struct addrinfo for cygwin 1.5.x
88269         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
88270         older cygwin.
88271         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
88272         cygwin.
88273         * doc/posix-headers/netdb.texi (netdb.h): Document this.
88275 2008-10-22  Bruno Haible  <bruno@clisp.org>
88277         * users.txt: Update entry about pspp.
88279 2008-10-21  Bruno Haible  <bruno@clisp.org>
88281         Simplification.
88282         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
88283         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
88285         Simplification.
88286         * lib/ioctl.c (ioctl): Don't undefine.
88287         * lib/socket.c (socket): Don't undefine.
88289         Remove unused module indicator macros.
88290         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
88291         GNULIB_$1 as a C macro.
88293         * doc/posix-functions/close.texi: Undo last change.
88294         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
88295         Windows platforms.
88297 2008-10-21  Bruno Haible  <bruno@clisp.org>
88299         Add gethostname() declaration to <unistd.h>.
88300         * lib/unistd.in.h (gethostname): New declaration.
88301         * lib/gethostname.c: Include <unistd.h>.
88302         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
88303         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
88304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
88305         and HAVE_GETHOSTNAME.
88306         * modules/gethostname (Depends-on): Add unistd.
88307         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
88308         (Include): Specify <unistd.h>.
88309         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
88310         HAVE_GETHOSTNAME.
88311         * tests/test-gethostname.c: Include <unistd.h> first.
88313 2008-10-21  Bruno Haible  <bruno@clisp.org>
88315         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
88316         * modules/select-tests (Depends-on): Likewise.
88317         Reported by Simon Josefsson.
88319 2008-10-21  Simon Josefsson  <simon@josefsson.org>
88321         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
88322         * lib/accept.c: New file, based on winsock.c.
88323         * lib/bind.c: New file, based on winsock.c.
88324         * lib/connect.c: New file, based on winsock.c.
88325         * lib/getpeername.c: New file, based on winsock.c.
88326         * lib/getsockname.c: New file, based on winsock.c.
88327         * lib/getsockopt.c: New file, based on winsock.c.
88328         * lib/ioctl.c: New file, based on winsock.c.
88329         * lib/listen.c: New file, based on winsock.c.
88330         * lib/recv.c: New file, based on winsock.c.
88331         * lib/recvfrom.c: New file, based on winsock.c.
88332         * lib/send.c: New file, based on winsock.c.
88333         * lib/sendto.c: New file, based on winsock.c.
88334         * lib/setsockopt.c: New file, based on winsock.c.
88335         * lib/shutdown.c: New file, based on winsock.c.
88336         * lib/socket.c: New file, based on winsock.c.
88337         * lib/w32sock.h: New file, based on winsock.c.
88338         * lib/winsock.c: Remove file.
88339         * modules/accept: Likewise.
88340         * modules/bind: Likewise.
88341         * modules/connect: Likewise.
88342         * modules/getpeername: Likewise.
88343         * modules/getsockname: Likewise.
88344         * modules/getsockopt: Likewise.
88345         * modules/ioctl: Likewise.
88346         * modules/listen: Likewise.
88347         * modules/recv: Likewise.
88348         * modules/recvfrom: Likewise.
88349         * modules/send: Likewise.
88350         * modules/sendto: Likewise.
88351         * modules/setsockopt: Likewise.
88352         * modules/shutdown: Likewise.
88353         * modules/socket: Use socket.c instead of winsock.c.
88354         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
88355         * doc/posix-functions/accept.texi: Doc fix.
88356         * doc/posix-functions/bind.texi: Doc fix.
88357         * doc/posix-functions/close.texi: Doc fix.
88358         * doc/posix-functions/connect.texi: Doc fix.
88359         * doc/posix-functions/getpeername.texi: Doc fix.
88360         * doc/posix-functions/getsockname.texi: Doc fix.
88361         * doc/posix-functions/getsockopt.texi: Doc fix.
88362         * doc/posix-functions/ioctl.texi: Doc fix.
88363         * doc/posix-functions/listen.texi: Doc fix.
88364         * doc/posix-functions/recv.texi: Doc fix.
88365         * doc/posix-functions/recvfrom.texi: Doc fix.
88366         * doc/posix-functions/send.texi: Doc fix.
88367         * doc/posix-functions/sendto.texi: Doc fix.
88368         * doc/posix-functions/setsockopt.texi: Doc fix.
88369         * doc/posix-functions/shutdown.texi: Doc fix.
88370         * doc/posix-functions/socket.texi: Doc fix.
88372 2008-10-20  Bruno Haible  <bruno@clisp.org>
88374         Take into account the role of SIGABRT_COMPAT on Windows 2008.
88375         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
88376         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
88377         as an alias for SIGABRT.
88378         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
88379         (sigaction): Map it to SIGABRT.
88380         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
88382 2008-10-20  Bruno Haible  <bruno@clisp.org>
88384         * lib/fts.c: Don't include lstat.h.
88385         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
88387         Move the lstat() declaration to <sys/stat.h>.
88388         * lib/lstat.h: Remove file.
88389         * lib/sys_stat.in.h: Add special invocation convention.
88390         (lstat): New declaration.
88391         * lib/lstat.c (orig_lstat): New function.
88392         (rpl_lstat): Use orig_lstat instead of lstat.
88393         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
88394         AC_C_INLINE. Set REPLACE_LSTAT.
88395         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
88396         and REPLACE_LSTAT.
88397         * modules/lstat (Files): Remove lib/lstat.h.
88398         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
88399         (Include): Specify <sys/stat.h> instead of lstat.h.
88400         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
88401         REPLACE_LSTAT.
88402         * NEWS: Mention the change.
88404 2008-10-20  Bruno Haible  <bruno@clisp.org>
88406         * modules/posix_spawn-tests: New file.
88407         * tests/test-posix_spawn3.c: New file.
88409 2008-10-20  Bruno Haible  <bruno@clisp.org>
88411         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
88412         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
88413         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
88414         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
88415         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
88417 2008-10-20  Bruno Haible  <bruno@clisp.org>
88419         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
88420         of posix_spawn on AIX 5.3.
88422 2008-10-20  Bruno Haible  <bruno@clisp.org>
88424         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
88426 2008-10-20  Bruno Haible  <bruno@clisp.org>
88428         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
88429         of AC_LANG_PROGRAM.
88431 2008-10-20  Simon Josefsson  <simon@josefsson.org>
88433         * lib/netdb.in.h: Don't define GNU specific constants until they
88434         are supported or needed.  Reported by Bruno Haible
88435         <bruno@clisp.org>.
88437 2008-10-20  Simon Josefsson  <simon@josefsson.org>
88439         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
88441 2008-10-20  Simon Josefsson  <simon@josefsson.org>
88443         * lib/getaddrinfo.h: Remove file.
88444         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
88445         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
88446         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
88447         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
88448         * modules/netdb: Substitute GNULIB_GETADDRINFO.
88449         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
88450         * tests/test-getaddrinfo.c: Likewise.
88451         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
88452         * NEWS: Mention change.
88454 2008-10-19  Bruno Haible  <bruno@clisp.org>
88456         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
88458 2008-10-19  Bruno Haible  <bruno@clisp.org>
88460         * lib/wait-process.c: Include simply <sys/wait.h>.
88461         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
88462         WIFSTOPPED): Remove fallback definitions.
88463         * modules/wait-process (Depends-on): Add sys_wait.
88465         New module 'sys_wait'.
88466         * modules/sys_wait: New file.
88467         * lib/sys_wait.in.h: New file, partially copied from
88468         lib/wait-process.c.
88469         * m4/sys_wait_h.m4: New file.
88470         * doc/posix-headers/sys_wait.texi: Mention the new module.
88472 2008-10-19  Bruno Haible  <bruno@clisp.org>
88474         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
88476 2008-10-19  Bruno Haible  <bruno@clisp.org>
88478         Assume that waitpid() fills an 'int' status, not a 'union wait'.
88479         * lib/wait-process.c (WAIT_T): Remove type.
88480         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
88481         (wait_subprocess): Update.
88483 2008-10-19  Bruno Haible  <bruno@clisp.org>
88485         New module 'atoll'.
88486         * modules/atoll: New file.
88487         * lib/stdlib.in.h (atoll): New declaration.
88488         * lib/atoll.c: New file, from glibc with modifications.
88489         * m4/atoll.m4: New file.
88490         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
88491         HAVE_ATOLL.
88492         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
88493         * doc/posix-functions/atoll.texi: Mention the new module.
88495 2008-10-19  Bruno Haible  <bruno@clisp.org>
88497         Add strtoull() declaration to <stdlib.h>.
88498         * lib/stdlib.in.h (strtoull): New declaration.
88499         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
88500         Set HAVE_STRTOULL.
88501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
88502         HAVE_STRTOULL.
88503         * modules/strtoull (Depends-on): Add stdlib.
88504         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
88505         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
88506         HAVE_STRTOULL.
88508 2008-10-19  Bruno Haible  <bruno@clisp.org>
88510         Add strtoll() declaration to <stdlib.h>.
88511         * lib/stdlib.in.h (strtoll): New declaration.
88512         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
88513         Set HAVE_STRTOLL.
88514         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
88515         HAVE_STRTOLL.
88516         * modules/strtoll (Depends-on): Add stdlib.
88517         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
88518         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
88520 2008-10-19  Bruno Haible  <bruno@clisp.org>
88522         * modules/bcopy (Depends-on): Add strings.
88523         (Include): Specify <strings.h>.
88525 2008-10-19  Bruno Haible  <bruno@clisp.org>
88527         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
88529 2008-10-19  Bruno Haible  <bruno@clisp.org>
88531         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
88532         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
88533         mingw.
88535 2008-10-19  Bruno Haible  <bruno@clisp.org>
88537         * lib/atanl.c: Don't include isnanl.h.
88538         * lib/cosl.c: Likewise.
88539         * lib/ldexpl.c: Likewise.
88540         * lib/logl.c: Likewise.
88541         * lib/sinl.c: Likewise.
88542         * lib/sqrtl.c: Likewise.
88543         * lib/tanl.c: Likewise.
88545         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
88546         * lib/isnanf.h: Remove file.
88547         * lib/isnand.h: Remove file.
88548         * lib/isnanl.h: Remove file.
88549         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
88550         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
88551         macros.
88552         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
88553         HAVE_ISNANF, don't define it as a C macro.
88554         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
88555         HAVE_ISNAND, don't define it as a C macro.
88556         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
88557         HAVE_ISNANL, don't define it as a C macro.
88558         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
88559         HAVE_ISNAN[FDL].
88560         * modules/isnanf (Files): Remove lib/isnanf.h.
88561         (Depends-on): Add math.
88562         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
88563         (Include): Specify <math.h> instead of isnanf.h.
88564         * modules/isnand (Files): Remove lib/isnand.h.
88565         (Depends-on): Add math.
88566         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
88567         (Include): Specify <math.h> instead of isnand.h.
88568         * modules/isnanl (Files): Remove lib/isnanl.h.
88569         (Depends-on): Add math.
88570         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
88571         (Include): Specify <math.h> instead of isnanl.h.
88572         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
88573         HAVE_ISNAN[FDL].
88574         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
88575         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
88576         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
88577         * NEWS: Mention the change.
88579 2008-10-18  Bruno Haible  <bruno@clisp.org>
88581         Add getusershell(), setusershell(), endusershell() declarations to
88582         <unistd.h>.
88583         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
88584         declarations.
88585         * lib/getusershell.c: Include unistd.h.
88586         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
88587         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
88588         HAVE_GETUSERSHELL.
88589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
88590         and HAVE_GETUSERSHELL.
88591         * modules/getusershell (Depends-on): Add unistd, extensions.
88592         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
88593         (Include): Specify <unistd.h>.
88594         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
88595         HAVE_GETUSERSHELL.
88597 2008-10-18  Bruno Haible  <bruno@clisp.org>
88599         Add a getloadavg() declaration to <stdlib.h>.
88600         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
88601         getloadavg declaration.
88602         (getloadavg): New declaration.
88603         * lib/getloadavg.c: Include <stdlib.h> first.
88604         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
88605         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
88606         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
88607         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
88608         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
88609         * modules/getloadavg (Depends-on): Add stdlib, extensions.
88610         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
88611         (Include): Specify <stdlib.h>.
88612         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
88613         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
88615 2008-10-18  Bruno Haible  <bruno@clisp.org>
88617         * lib/dirchownmod.c: Don't include lchmod.h.
88619         Move the lchmod() declaration to <sys/stat.h>.
88620         * lib/lchmod.h: Remove file.
88621         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
88622         (lchmod): New declaration, moved here from lib/lchown.h.
88623         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
88624         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
88625         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
88626         and HAVE_LCHMOD.
88627         * modules/lchmod (Files): Remove lib/lchmod.h.
88628         (Depends-on): Add sys_stat, extensions.
88629         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
88630         (Include): Specify <sys/stat.h> instead of lchmod.h.
88631         * modules/sys_stat (Depends-on): Add link-warning.
88632         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
88633         definition of GL_LINK_WARNING.
88634         * NEWS: Mention the change.
88636 2008-10-18  Bruno Haible  <bruno@clisp.org>
88638         * lib/fchdir.c: Don't include dirfd.h.
88639         * lib/fts.c: Likewise.
88640         * lib/getcwd.c: Likewise.
88641         * lib/glob.c: Likewise.
88643         Move the dirfd() declaration to <dirent.h>.
88644         * lib/dirfd.h: Remove file.
88645         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
88646         (dirfd): New declaration.
88647         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
88648         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
88649         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
88650         HAVE_DECL_DIRFD.
88651         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
88652         HAVE_DECL_DIRFD.
88653         * modules/dirfd (Files): Remove lib/dirfd.h.
88654         (Depends-on): Add dirent, extensions.
88655         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
88656         (Include): Specify <dirent.h> instead of dirfd.h.
88657         * modules/dirent (Depends-on): Add link-warning.
88658         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
88659         definition of GL_LINK_WARNING.
88660         * NEWS: Mention the change.
88662 2008-10-18  Bruno Haible  <bruno@clisp.org>
88664         Move the euidaccess() declaration to <unistd.h>.
88665         * lib/euidaccess.h: Remove file.
88666         * lib/unistd.in.h (euidaccess): New declaration.
88667         * lib/euidaccess.c: Don't include euidaccess.h.
88668         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
88669         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
88670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
88671         and HAVE_EUIDACCESS.
88672         * modules/euidaccess (Files): Remove lib/euidaccess.h.
88673         (Depends-on): Add unistd.
88674         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
88675         (Include): Specify <unistd.h> instead of euidaccess.h.
88676         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
88677         HAVE_EUIDACCESS.
88678         * NEWS: Mention the change.
88680 2008-10-18  Bruno Haible  <bruno@clisp.org>
88682         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
88684         Move the getdomainname() declaration to <unistd.h>.
88685         * lib/getdomainname.h: Remove file.
88686         * lib/unistd.in.h (getdomainname): New declaration.
88687         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
88688         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
88689         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
88690         HAVE_GETDOMAINNAME.
88691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
88692         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
88693         * modules/getdomainname (Files): Remove lib/getdomainname.h.
88694         (Depends-on): Add unistd, extensions.
88695         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
88696         (Includes): Specify <unistd.h> instead of getdomainname.h.
88697         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
88698         HAVE_GETDOMAINNAME.
88699         * NEWS: Mention the change.
88701 2008-10-18  Bruno Haible  <bruno@clisp.org>
88703         * modules/dirent: New file.
88704         * m4/dirent_h.m4: New file.
88705         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
88706         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
88707         * modules/fchdir (Files): Remove lib/dirent.in.h.
88708         (Depends-on): Add dirent.
88709         (Makefile.am): Move rules to modules/dirent.
88710         * doc/posix-headers/dirent.texi: Mention the new module.
88712 2008-10-18  Bruno Haible  <bruno@clisp.org>
88714         Avoid -Wunused-parameter warnings in public gnulib header files.
88715         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
88716         macro.
88717         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
88719 2008-10-18  Bruno Haible  <bruno@clisp.org>
88721         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
88722         * doc/glibc-functions/error.texi: Mention the module 'error'.
88723         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
88724         * doc/glibc-functions/getdomainname.texi: Mention the module
88725         'getdomainname'.
88726         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
88727         * doc/glibc-functions/getpagesize.texi: Mention the module
88728         'getpagesize'.
88729         * doc/glibc-functions/getusershell.texi: Mention the module
88730         'getusershell'.
88731         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
88732         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
88733         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
88734         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
88735         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
88736         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
88737         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
88738         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
88739         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
88740         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
88741         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
88742         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
88743         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
88744         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
88746 2008-10-17  Bruno Haible  <bruno@clisp.org>
88748         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
88749         HP-UX and IRIX, use -0.0L.
88750         * tests/test-ceill.c (minus_zero): Likewise.
88751         * tests/test-floorl.c (minus_zero): Likewise.
88752         * tests/test-frexpl.c (minus_zero): Likewise.
88753         * tests/test-isnan.c (minus_zerol): Likewise.
88754         * tests/test-isnanl.h (minus_zero): Likewise.
88755         * tests/test-ldexpl.c (minus_zero): Likewise.
88756         * tests/test-roundl.c (minus_zero): Likewise.
88757         * tests/test-signbit.c (minus_zerol): Likewise.
88758         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
88759         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
88760         * tests/test-truncl.c (minus_zero): Likewise.
88761         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
88762         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
88763         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
88764         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88766 2008-10-17  Bruno Haible  <bruno@clisp.org>
88768         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
88769         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
88770         that it gets activated only for gcc >= 3.0.
88771         * lib/dirent.in.h: Likewise.
88772         * lib/errno.in.h: Likewise.
88773         * lib/fcntl.in.h: Likewise.
88774         * lib/float.in.h: Likewise.
88775         * lib/iconv.in.h: Likewise.
88776         * lib/inttypes.in.h: Likewise.
88777         * lib/locale.in.h: Likewise.
88778         * lib/math.in.h: Likewise.
88779         * lib/netdb.in.h: Likewise.
88780         * lib/netinet_in.in.h: Likewise.
88781         * lib/search.in.h: Likewise.
88782         * lib/signal.in.h: Likewise.
88783         * lib/spawn.in.h: Likewise.
88784         * lib/stdarg.in.h: Likewise.
88785         * lib/stdint.in.h: Likewise.
88786         * lib/stdio.in.h: Likewise.
88787         * lib/stdlib.in.h: Likewise.
88788         * lib/string.in.h: Likewise.
88789         * lib/strings.in.h: Likewise.
88790         * lib/sys_file.in.h: Likewise.
88791         * lib/sys_ioctl.in.h: Likewise.
88792         * lib/sys_select.in.h: Likewise.
88793         * lib/sys_socket.in.h: Likewise.
88794         * lib/sys_stat.in.h: Likewise.
88795         * lib/sys_time.in.h: Likewise.
88796         * lib/sysexits.in.h: Likewise.
88797         * lib/time.in.h: Likewise.
88798         * lib/unistd.in.h: Likewise.
88799         * lib/wchar.in.h: Likewise.
88800         * lib/wctype.in.h: Likewise.
88801         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
88803 2008-10-17  Jim Meyering  <meyering@redhat.com>
88805         ignore-value: don't depend on inline module
88806         * modules/ignore-value (Depends-on): Remove 'inline'.
88807         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
88808         Suggestion from Bruno Haible.
88810 2008-10-17  Bruno Haible  <bruno@clisp.org>
88812         New implementation of condition variables for Win32.
88813         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
88814         (gl_linked_waitqueue_t): New type.
88815         (gl_cond_t): Use it.
88816         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
88817         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
88818         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
88819         (glthread_cond_init_func, glthread_cond_wait_func,
88820         glthread_cond_timedwait_func, glthread_cond_signal_func,
88821         glthread_cond_broadcast_func, glthread_cond_destroy_func):
88822         Reimplemented on the basis of gl_linked_waitqueue_t.
88823         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
88824         gl_waitqueue_t.
88825         (gl_rwlock_t): Update.
88826         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
88828 2008-10-17  Simon Josefsson  <simon@josefsson.org>
88830         * modules/recvfrom (Depends-on): Add dependency on getpeername.
88831         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
88833 2008-10-17  Jim Meyering  <meyering@redhat.com>
88835         ignore-value: new module
88836         * modules/ignore-value: New file.
88837         * lib/ignore-value.h: New file.
88838         * MODULES.html.sh (Compiler warning management): New section,
88839         just for this module.  More to come.
88841 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
88843         open-safer.c: avoid 'signed and unsigned in conditional...' warning
88844         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
88845         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
88847 2008-10-16  Jim Meyering  <meyering@redhat.com>
88849         openat-die.c: avoid 'no previous prototype' warning
88850         * lib/openat-die.c: Include "openat.h".
88851         Reported by Reuben Thomas <rrt@sc3d.org>.
88853 2008-10-16  Simon Josefsson  <simon@josefsson.org>
88855         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
88856         * lib/netdb.in.h: Fix typo.
88857         Reported by Bruno Haible  <bruno@clisp.org>
88859         * lib/netdb.in.h: Include sys/socket.h for platforms without
88860         netdb.h, to get structures like hostent on MinGW.
88861         * modules/netdb (Depends-on): Add sys_socket.
88863 2008-10-15  Simon Josefsson  <simon@josefsson.org>
88865         * modules/netdb, modules/netdb-tests: New file.
88866         * m4/netdb_h.m4: New file.
88867         * lib/netdb.in.h: Add, currently just an empty file pending
88868         definitions.
88869         * tests/test-netdb.c: New file.
88870         * doc/posix-headers/netdb.texi: Mention that we replace it if
88871         needed.
88872         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88873         netdb.
88875 2008-10-15  Simon Josefsson  <simon@josefsson.org>
88877         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
88878         with code.
88880 2008-10-13  Bruno Haible  <bruno@clisp.org>
88882         * lib/glthread/cond.c (glthread_cond_wait_func,
88883         glthread_cond_timedwait_func): Add a comment.
88885 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88887         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
88888         * tests/test-select.c: Likewise,
88890 2008-10-13  Bruno Haible  <bruno@clisp.org>
88892         * lib/glthread/cond.c (glthread_cond_wait_func,
88893         glthread_cond_timedwait_func): Fix variable name.
88894         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
88896 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
88898         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
88899         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
88900         struct sockaddr.sa_len.
88901         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
88903 2008-10-13  Simon Josefsson  <simon@josefsson.org>
88905         * build-aux/pmccabe2html: Add css and css_url parameters.
88907 2008-10-12  Bruno Haible  <bruno@clisp.org>
88909         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
88910         calling aclx_get.
88911         Reported by Rainer Tammer <tammer@tammer.net>.
88913 2008-10-12  Bruno Haible  <bruno@clisp.org>
88915         Use msvcrt aware primitives for creation/termination of Win32 threads.
88916         * lib/glthread/thread.c: Include <process.h>.
88917         (glthread_create_func): Use _beginthreadex instead of CreateThread.
88918         (wrapper_func): Update signature.
88919         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
88921 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88922             Bruno Haible  <bruno@clisp.org>
88924         Provide a Win32 implementation of the 'cond' module.
88925         * lib/glthread/cond.h [USE_WIN32]: New implementation.
88926         * lib/glthread/cond.c (glthread_cond_init_func,
88927         glthread_cond_wait_func, glthread_cond_timedwait_func,
88928         glthread_cond_signal_func, glthread_cond_broadcast_func,
88929         glthread_cond_destroy_func) [USE_WIN32]: New functions.
88930         * modules/cond (Dependencies): Add gettimeofday.
88932 2008-10-11  Bruno Haible  <bruno@clisp.org>
88934         Make sleep work on older versions of mingw.
88935         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
88936         only whether it exists.
88937         * doc/posix-functions/sleep.texi: Mention the problem with older
88938         versions of mingw.
88940 2008-10-11  Bruno Haible  <bruno@clisp.org>
88942         New module 'shutdown'.
88943         * modules/shutdown: New file.
88944         * lib/sys_socket.in.h (shutdown): New declaration.
88945         * lib/winsock.c (shutdown): New function.
88946         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
88947         GNULIB_SHUTDOWN.
88948         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
88949         * doc/posix-functions/shutdown.texi: Document the new module.
88951 2008-10-11  Jim Meyering  <meyering@redhat.com>
88953         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
88955 2008-10-11  Bruno Haible  <bruno@clisp.org>
88957         New module 'fclose'.
88958         * modules/fclose: New file.
88959         * lib/stdio.in.h (fclose): New declaration.
88960         * lib/fclose.c: New file.
88961         * m4/fclose.m4: New file.
88962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
88963         REPLACE_FCLOSE.
88964         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
88965         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
88966         REPLACE_FCLOSE.
88967         * modules/close (Depends-on): fclose.
88968         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
88970 2008-10-11  Bruno Haible  <bruno@clisp.org>
88972         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
88973         set errno and don't call _close.
88975 2008-10-10  Bruno Haible  <bruno@clisp.org>
88977         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
88978         ACL, not afterwards. Fixes test failure on Cygwin.
88980 2008-10-09  Ben Pfaff  <blp@gnu.org>
88982         * build-aux/announce-gen: Fix gnulib version related part of usage
88983         message.  Die with a useful error message if no tarballs are
88984         found.
88986 2008-10-10  Jim Meyering  <meyering@redhat.com>
88988         bootstrap: use git's --depth=N option only if it's supported
88989         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
88990         recognize the --depth option.  Reported by Pádraig Brady.
88992 2008-10-09  Bruno Haible  <bruno@clisp.org>
88994         New module 'ioctl'.
88995         * modules/ioctl: New file.
88996         * lib/sys_socket.in.h (ioctl): Remove declaration.
88997         * lib/winsock.c: Include <sys/ioctl.h>.
88998         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
88999         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89000         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
89001         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
89002         * doc/posix-functions/ioctl.texi: Mention the new module.
89004 2008-10-09  Bruno Haible  <bruno@clisp.org>
89006         New module 'sys_ioctl'.
89007         * lib/sys_ioctl.in.h: New file.
89008         * m4/sys_ioctl_h.m4: New file.
89009         * modules/sys_ioctl: New file.
89010         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
89012 2008-10-09  Bruno Haible  <bruno@clisp.org>
89014         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
89015         * lib/winsock.c: Include <stdarg.h>.
89016         (rpl_ioctl): Change to second argument 'int' and then varargs.
89018 2008-10-09  Bruno Haible  <bruno@clisp.org>
89020         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
89021         when the sys_socket module is present and the system has <winsock2.h>.
89023 2008-10-09  Bruno Haible  <bruno@clisp.org>
89025         * doc/posix-functions/close.texi: Mention module 'close' instead of
89026         module 'sys_socket'.
89028 2008-10-09  Bruno Haible  <bruno@clisp.org>
89030         * doc/glibc-headers/sys_ioctl.texi: New file.
89031         * doc/gnulib.texi: Include it.
89033 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89034             Bruno Haible  <bruno@clisp.org>
89036         Combine the two replacements of 'close'.
89037         * lib/sys_socket.in.h (close): Define to a reminder to include
89038         <unistd.h>.
89039         (_gl_close_fd_maybe_socket): New declaration.
89040         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
89041         * lib/winsock.c (close): Remove undefinition.
89042         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
89043         needed for the gnulib module 'close'.
89044         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
89045         define to an error symbol or to a warning, if suitable.
89046         * lib/close.c: Include <sys/socket.h>.
89047         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
89048         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
89049         UNISTD_H_HAVE_WINSOCK2_H.
89050         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
89051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
89052         UNISTD_H_HAVE_WINSOCK2_H.
89053         * modules/sys_socket (Files): Add m4/unistd_h.m4.
89054         (configure.ac): Set a module indicator.
89055         (Makefile.am): Substitute GNULIB_CLOSE.
89056         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
89057         * modules/poll-tests (Depends-on): Add close.
89058         * modules/select-tests (Depends-on): Likewise.
89060 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89061             Bruno Haible  <bruno@clisp.org>
89063         New module 'close'.
89064         * modules/close: New file.
89065         * lib/unistd.in.h (close): Move declaration out of the
89066         FCHDIR_REPLACEMENT scope.
89067         (_gl_unregister_fd): New declaration.
89068         * lib/close.c: New file.
89069         * lib/fchdir.c (rpl_close): Remove function.
89070         * m4/close.m4: New file.
89071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
89072         close.
89073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
89074         REPLACE_CLOSE.
89075         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
89076         REPLACE_CLOSE.
89077         * modules/fchdir (Depends-on): Add close.
89079 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89080             Bruno Haible  <bruno@clisp.org>
89082         * lib/fcntl.in.h (open): Simplify conditionals.
89083         (_gl_register_fd): New declaration.
89084         * lib/fchdir.c (rpl_open): Remove function.
89085         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
89086         also.
89087         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
89088         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
89089         open.
89091 2008-10-09  Jim Meyering  <meyering@redhat.com>
89093         GNUmakefile: use the more name-space-friendly "_version"
89094         * top/GNUmakefile (_dummy): Update.
89095         (_version): Rename from "version".
89097 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89098             Bruno Haible  <bruno@clisp.org>
89100         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
89101         rpl_close.
89102         (_gl_register_fd): New function, extracted from rpl_open.
89103         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
89104         (rpl_open, rpl_opendir): Use _gl_register_fd.
89106 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89108         Fix organization of 'open' replacement.
89109         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
89110         (gl_FUNC_OPEN): Use it.
89111         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
89113 2008-10-08  Bruno Haible  <bruno@clisp.org>
89115         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
89117 2008-10-08  Simon Josefsson  <simon@josefsson.org>
89119         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
89120         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
89121         listen).
89123 2008-10-08  Eric Blake  <ebb9@byu.net>
89125         GNUmakefile: add 'make version' target
89126         * top/GNUmakefile (_curr-ver): Split version update rules...
89127         (version): ...into a target.
89129 2008-10-07  Bruno Haible  <bruno@clisp.org>
89131         Use a more portable replacement expression for -0.0L.
89132         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
89133         instead of -0.0L. Fix m4 quotation.
89135         * tests/test-signbit.c: Include <float.h>.
89136         (minus_zero): New variable.
89137         (test_signbitl): Use minus_zero instead of -zero.
89138         * modules/signbit-tests (Depends-on): Add float.
89140         * tests/test-ceill.c: Include <float.h>.
89141         (zero): Remove variable.
89142         (minus_zero): New variable.
89143         (main): Use minus_zero instead of -zero.
89144         * modules/ceill-tests (Depends-on): Add float.
89146         * tests/test-floorl.c: Include <float.h>.
89147         (zero): Remove variable.
89148         (minus_zero): New variable.
89149         (main): Use minus_zero instead of -zero.
89150         * modules/floorl-tests (Depends-on): Add float.
89152         * tests/test-roundl.c: Include <float.h>.
89153         (zero): Remove variable.
89154         (minus_zero): New variable.
89155         (main): Use minus_zero instead of -zero.
89156         * modules/roundl-tests (Depends-on): Add float.
89158         * tests/test-truncl.c: Include <float.h>.
89159         (zero): Remove variable.
89160         (minus_zero): New variable.
89161         (main): Use minus_zero instead of -zero.
89162         * modules/truncl-tests (Depends-on): Add float.
89164         * tests/test-frexpl.c (zero): Remove variable.
89165         (minus_zero): New variable.
89166         (main): Use minus_zero instead of -zero.
89167         * modules/frexpl-tests (Depends-on): Add float.
89169         * tests/test-isnan.c (zerol): Remove variable.
89170         (minus_zerol): New variable.
89171         (test_long_double): Use minus_zerol instead of -zerol.
89172         * modules/isnan-tests (Depends-on): Add float.
89174         * tests/test-isnanl.h (zero): Remove variable.
89175         (minus_zero): New variable.
89176         (main): Use minus_zero instead of -zero.
89177         * modules/isnanl-nolibm-tests (Depends-on): Add float.
89178         * modules/isnanl-tests (Depends-on): Add float.
89180         * tests/test-ldexpl.c (zero): Remove variable.
89181         (minus_zero): New variable.
89182         (main): Use minus_zero instead of -zero.
89183         * modules/ldexpl-tests (Depends-on): Add float.
89185         * tests/test-snprintf-posix.h (zerol): Remove variable.
89186         (minus_zerol): New variable.
89187         (test_function): Use minus_zerol instead of -zerol.
89188         * modules/snprintf-posix-tests (Depends-on): Add float.
89189         * modules/vsnprintf-posix-tests (Depends-on): Add float.
89191         * tests/test-sprintf-posix.h (zerol): Remove variable.
89192         (minus_zerol): New variable.
89193         (test_function): Use minus_zerol instead of -zerol.
89194         * modules/sprintf-posix-tests (Depends-on): Add float.
89195         * modules/vsprintf-posix-tests (Depends-on): Add float.
89197         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
89198         (minus_zerol): New variable.
89199         (test_function): Use minus_zerol instead of -zerol.
89200         * modules/vasnprintf-posix-tests (Depends-on): Add float.
89202         * tests/test-vasprintf-posix.c (zerol): Remove variable.
89203         (minus_zerol): New variable.
89204         (test_function): Use minus_zerol instead of -zerol.
89205         * modules/vasprintf-posix-tests (Depends-on): Add float.
89207 2008-10-07  Simon Josefsson  <simon@josefsson.org>
89209         * MODULES.html.sh (Support for building documentation): Mention
89210         pmccabe2html.  Sort entries.
89212         Add pmccabe2html module, from gnupdf.
89213         * build-aux/pmccabe.css: New file.
89214         * build-aux/pmccabe2html: New file.
89215         * m4/pmccabe2html.m4: New file.
89216         * modules/pmccabe2html: New file.
89218 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
89220         flock: new module
89221         * MODULES.html.sh: Add to list of modules.
89222         * lib/flock.c: flock implementation for Windows and Unix systems
89223         which have fcntl.
89224         * doc/glibc-functions/flock.texi: Update documentation.
89225         * lib/sys_file.in.h: <sys/file.h> header file.
89226         * m4/flock.m4: M4 macros.
89227         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
89228         * modules/flock: flock module.
89229         * modules/flock-tests: flock tests module.
89230         * modules/sys_file: sys/file.h module.
89231         * tests/test-flock.c: test suite for flock.
89233 2008-10-06  Jim Meyering  <meyering@redhat.com>
89235         bootstrap: check for LT_INIT more portably still ;-)
89236         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
89237         Spotted by Bruno Haible.
89239 2008-10-06  Eric Blake  <ebb9@byu.net>
89241         test-signbit: avoid tripping Irix cc bug on -0.0L
89242         * tests/test-signbit.c (minus_zerol): Delete, and replace with
89243         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
89244         entire testsuite consistent and avoids an Irix 6.2 bug.
89246 2008-10-05  Bruno Haible  <bruno@clisp.org>
89247             Jim Meyering  <jim@meyering.net>
89249         Add an option for ignoring EPIPE during close_stdout.
89250         * lib/closeout.h: Include <stdbool.h>.
89251         (close_stdout_set_ignore_EPIPE): New declaration.
89252         * lib/closeout.c: Include <stdbool.h>.
89253         (ignore_EPIPE): New variable.
89254         (close_stdout_set_ignore_EPIPE): New function.
89255         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
89256         * lib/close-stream.c (close_stream): Mention the possible EPIPE
89257         failure.
89258         * modules/closeout (Depends-on): Add stdbool.
89260 2008-10-05  Bruno Haible  <bruno@clisp.org>
89262         * modules/accept: New file.
89263         * modules/bind: New file.
89264         * modules/connect: New file.
89265         * modules/getpeername: New file.
89266         * modules/getsockname: New file.
89267         * modules/getsockopt: New file.
89268         * modules/listen: New file.
89269         * modules/recv: New file.
89270         * modules/recvfrom: New file.
89271         * modules/send: New file.
89272         * modules/sendto: New file.
89273         * modules/setsockopt: New file.
89274         * modules/socket: New file.
89275         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
89276         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
89277         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
89278         the particular module is requested. Add a link warning when the
89279         particular module is not requested.
89280         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
89281         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
89282         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
89283         the particular module is requested.
89284         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
89285         gl_SYS_SOCKET_H_DEFAULTS): New macros.
89286         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
89287         * modules/sys_socket (Depends-on): Add link-warning.
89288         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
89289         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
89290         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
89291         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
89292         GL_LINK_WARNING.
89293         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
89294         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
89295         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
89296         * doc/posix-functions/getpeername.texi: Mention the new module
89297         'getpeername'.
89298         * doc/posix-functions/getsockname.texi: Mention the new module
89299         'getsockname'.
89300         * doc/posix-functions/getsockopt.texi: Mention the new module
89301         'getsockopt'.
89302         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
89303         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
89304         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
89305         * doc/posix-functions/send.texi: Mention the new module 'send'.
89306         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
89307         * doc/posix-functions/setsockopt.texi: Mention the new module
89308         'setsockopt'.
89309         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
89310         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
89311         listen, connect, accept.
89312         * modules/select-tests (Depends-on): Likewise.
89314 2008-10-05  Bruno Haible  <bruno@clisp.org>
89316         * lib/winsock.c (strerror): Remove unused #undef.
89317         (rpl_close): Remove unused local variable.
89319         * modules/sys_socket (Depends-on); Add errno.
89321 2008-10-05  Bruno Haible  <bruno@clisp.org>
89323         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
89324         (select): Add a link warning when the 'select' module is not used.
89325         * modules/sys_select (Depends-on): Add link-warning.
89326         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
89327         Suggested by Paolo Bonzini.
89329 2008-10-05  Jim Meyering  <meyering@redhat.com>
89331         bootstrap: check for LT_INIT more portably
89332         * build-aux/bootstrap: Avoid using grep -E, since it's not
89333         portable enough.  Suggestion from Bruno Haible.
89335 2008-10-05  Bruno Haible  <bruno@clisp.org>
89337         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
89338         as being fixed by gnulib.
89340 2008-10-05  Bruno Haible  <bruno@clisp.org>
89342         * modules/select-tests: New file, mostly copied from
89343         modules/sys_select-tests.
89344         * tests/test-select.c: New file, mostly copied from
89345         tests/test-sys_select.c.
89346         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
89347         * modules/sys_select-tests (Depends-on): Remove all dependencies.
89348         (Makefile.am): Remove test_sys_select_LDADD.
89350         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
89351         to an undefined symbol, for an error message.
89352         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
89353         (gl_SYS_SELECT_H_DEFAULTS): New macro.
89354         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
89355         winsock-select.c here.
89356         * modules/sys_select (Files): Remove lib/winsock-select.c.
89357         (Depends-on): Remove alloca.
89358         (Makefile.am): Substitute GNULIB_SELECT.
89359         * modules/select: New file.
89360         * doc/posix-functions/select.texi: Update.
89362 2008-10-05  Bruno Haible  <bruno@clisp.org>
89364         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
89365         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
89366         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
89367         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
89368         getdtablesize.
89369         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
89370         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
89372 2008-10-05  Bruno Haible  <bruno@clisp.org>
89374         * modules/getdtablesize-tests: New file.
89375         * tests/test-getdtablesize.c: New file.
89377         New module 'getdtablesize'.
89378         * lib/unistd.in.h (getdtablesize): New declaration.
89379         * lib/getdtablesize.c: New file.
89380         * m4/getdtablesize.m4: New file.
89381         * modules/getdtablesize: New file.
89382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
89383         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
89384         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
89385         HAVE_GETDTABLESIZE.
89386         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
89388 2008-10-05  Bruno Haible  <bruno@clisp.org>
89390         * modules/sched (Makefile.am): Fix typo.
89391         Reported by Simon Josefsson.
89393 2008-10-05  Jim Meyering  <meyering@redhat.com>
89395         bootstrap: check for LT_INIT, too
89396         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
89397         are deprecated.  Suggestion from Ralf Wildenhues.
89399 2008-10-05  Bruno Haible  <bruno@clisp.org>
89401         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
89402         overriding them by ours.
89403         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
89405 2008-10-05  Jim Meyering  <meyering@redhat.com>
89407         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
89408         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
89409         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
89411 2008-10-04  Bruno Haible  <bruno@clisp.org>
89413         * modules/dup2 (License): Change to LGPLv2+.
89414         * modules/sleep (License): Likewise.
89415         * modules/perror (License): Likewise.
89416         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
89417         Blake.
89418         * modules/signal (License): Likewise.
89419         * modules/sigprocmask (License): Likewise.
89420         * modules/raise (License): Change to LGPLv2+, with approval by Jim
89421         Meyering.
89423 2008-10-04  Bruno Haible  <bruno@clisp.org>
89425         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
89426         Reported by Rainer Tammer <tammer@tammer.net>.
89428 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
89429             Bruno Haible  <bruno@clisp.org>
89431         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
89432         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
89433         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
89435 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
89437         filevercmp: new module
89438         * lib/filevercmp.h: New function filevercmp comparing version strings.
89439         * lib/filevercmp.c: Implementation of filevercmp function.
89440         * modules/filevercmp: Module metadata.
89441         * tests/test-filevercmp.c: Unit test for new module.
89442         * modules/filevercmp-tests: Unit test metadata.
89443         * MODULES.html.sh: Add filevercmp module.
89445 2008-10-03  Bruno Haible  <bruno@clisp.org>
89447         * lib/c-ctype.h: Add comment.
89448         Reported by Jim Meyering.
89450 2008-10-02  Bruno Haible  <bruno@clisp.org>
89452         * modules/posix_spawn-internal (Depends-on): Add 'open'.
89454 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
89456         * build-aux/bootstrap: Allow renaming bootstrap, and change the
89457         name of bootstrap.conf accordingly.
89459 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
89461         * build-aux/bootstrap: Install git-merge-changelog configuration
89462         items into .gitconfig if needed.
89464 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
89466         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
89467         git repository, and initialize/update it accordingly.
89469 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
89471         * modules/fsync-tests: New file.
89472         * tests/test-fsync.c: New file.
89474         New module 'fsync'.
89475         * lib/fsync.c: New file.
89476         * m4/fsync.m4: New file.
89477         * modules/fsync: New file.
89478         * lib/unistd.in.h (fsync): New declaration.
89479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
89480         GNULIB_FSYNC and HAVE_FSYNC.
89481         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
89482         * MODULES.html.sh (posix_functions): Add fsync.
89483         * doc/posix-functions/fsync.texi: Mention the new module.
89485 2008-10-02  Jim Meyering  <meyering@redhat.com>
89487         fts.c: sync with similar code from coreutils' remove.c
89488         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
89489         Guard also with "#if defined __linux__", since for now at least,
89490         this code is Linux-kernel-specific.
89492 2008-10-02  Jim Meyering  <meyering@redhat.com>
89494         fts: bug fixes
89495         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
89496         Include <sys/vfs.h>, not <sys/statfs.h>.
89498         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
89499         Include <sys/vfs.h>, not <sys/statfs.h>.
89501 2008-10-01  Bruno Haible  <bruno@clisp.org>
89503         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
89504         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
89505         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
89506         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
89507         * doc/posix-functions/posix_spawnp.texi: Likewise.
89508         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
89509         whether posix_spawn actually works.
89510         * m4/pipe.m4 (gl_PIPE): Likewise.
89511         * modules/execute (Files): Add m4/posix_spawn.m4.
89512         * modules/pipe (Files): Add m4/posix_spawn.m4.
89513         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
89515 2008-10-01  Jim Meyering  <meyering@redhat.com>
89517         remove trailing spaces
89518         * NEWS: Likewise.
89519         * lib/poll.c (poll): Likewise.
89520         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
89521         * lib/winsock.c (rpl_close): Likewise.
89522         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
89523         * modules/yield: Likewise.
89524         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
89525         * tests/test-sys_select.c (connect_to_socket): Likewise.
89527         fts.c: adjust a new interface to be more generally useful
89528         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
89529         (fts_build): Adjust caller.
89531 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89533         * modules/cond-tests: New file.
89534         * tests/test-cond.c: New file.
89536 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89537             Bruno Haible  <bruno@clisp.org>
89539         * modules/cond (Dependencies): Add errno, time.
89540         * lib/glthread/cond.h: Include <time.h>.
89541         (gl_cond_define, gl_cond_define_initialized): Use the same definition
89542         across platforms.
89544 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89545             Bruno Haible  <bruno@clisp.org>
89547         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
89549 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89550             Bruno Haible  <bruno@clisp.org>
89552         * modules/tls-tests (Depends-on): Add thread, yield.
89553         (configure.ac): Remove all checks.
89554         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
89555         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
89556         gl_thread_self): Remove definitions. Include glthread/thread.h and
89557         glthread/yield.h instead.
89558         (test_tls): Pass an additional NULL argument to gl_thread_join.
89560 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89561             Bruno Haible  <bruno@clisp.org>
89563         * modules/lock-tests (Depends-on): Add thread, yield.
89564         (configure.ac): Remove all checks.
89565         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
89566         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
89567         gl_thread_self): Remove definitions. Include glthread/thread.h and
89568         glthread/yield.h instead.
89569         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
89570         additional NULL argument to gl_thread_join.
89572 2008-09-30  Bruno Haible  <bruno@clisp.org>
89574         Fix the Win32 implementation of the 'thread' module.
89575         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
89576         pointer type.
89577         (gl_thread_self): Invoke gl_thread_self_func.
89578         (gl_thread_self_func): New declaration.
89579         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
89580         (do_init_self_key, init_self_key): New functions.
89581         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
89582         Remove some fields.
89583         (running_threads, running_lock): Remove variables.
89584         (get_current_thread_handle): New function.
89585         (gl_thread_self_func, wrapper_func, glthread_create_func,
89586         glthread_join_func, gl_thread_exit_func): Largely rewritten and
89587         simplified.
89589 2008-09-30  Bruno Haible  <bruno@clisp.org>
89591         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
89592         files.
89594 2008-09-30  Jim Meyering  <meyering@redhat.com>
89596         fts.m4: correct the test for statfs.f_type
89597         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
89598         when checking for statfs.f_type.
89600 2008-09-15  Simon Josefsson  <simon@josefsson.org>
89602         tests: avoid some compiler warnings
89603         * tests/test-memchr.c (main): Pass NULL indirectly.
89604         * tests/test-getdate.c (main): Remove unused variable 'ret'.
89606 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
89608         getdate.y: disallow countable dayshifts like "4 yesterday ago"
89609         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
89610         exactly specified dayshifts.
89611         (dayshift): New rule.
89612         (rel): Add dayshift.
89613         (relative_time_table) [tomorrow, yesterday, today, now]:
89614         Use tDAY_SHIFT in place of tDAY_UNIT.
89615         * tests/test-getdate.c: Add tests for now-disallowed countable
89616         dayshifts, e.g., "4 yesterday ago".
89618 2008-09-29  Bruno Haible  <bruno@clisp.org>
89620         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
89621         * tests/test-posix_spawn1.in.sh: Renamed from
89622         tests/test-posix_spawn.in.sh.
89623         * tests/test-posix_spawn2.c: New file.
89624         * tests/test-posix_spawn2.in.sh: New file.
89625         * modules/posix_spawnp-tests (Files): Update.
89626         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
89628 2008-09-29  Bruno Haible  <bruno@clisp.org>
89630         Propagate effects of putenv/setenv/unsetenv to child processes.
89631         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
89632         * lib/pipe.c (create_pipe): Likewise.
89634 2008-09-29  Bruno Haible  <bruno@clisp.org>
89636         Enable use of shell scripts as executables in mingw.
89637         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
89638         run the program as a shell script.
89639         * lib/pipe.c (create_pipe): Likewise.
89640         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
89641         resulting array.
89643 2008-09-29  Eric Blake  <ebb9@byu.net>
89645         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
89647 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
89649         * doc/posix-functions/accept.texi: Update mingw problems.
89650         * doc/posix-functions/bind.texi: Update mingw problems.
89651         * doc/posix-functions/close.texi: Update mingw problems.
89652         * doc/posix-functions/connect.texi: Update mingw problems.
89653         * doc/posix-functions/getpeername.texi: Update mingw problems.
89654         * doc/posix-functions/getsockname.texi: Update mingw problems.
89655         * doc/posix-functions/getsockopt.texi: Update mingw problems.
89656         * doc/posix-functions/ioctl.texi: Update mingw problems.
89657         * doc/posix-functions/listen.texi: Update mingw problems.
89658         * doc/posix-functions/recv.texi: Update mingw problems.
89659         * doc/posix-functions/recvfrom.texi: Update mingw problems.
89660         * doc/posix-functions/select.texi: Update mingw problems.
89661         * doc/posix-functions/send.texi: Update mingw problems.
89662         * doc/posix-functions/sendto.texi: Update mingw problems.
89663         * doc/posix-functions/setsockopt.texi: Update mingw problems.
89664         * doc/posix-functions/socket.texi: Update mingw problems.
89666 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
89667             Bruno Haible  <bruno@clisp.org>
89669         * lib/sys_select.in.h: Include sys/time.h.
89670         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
89671         * modules/sys_select: Depend on sys_time.
89672         * tests/test-sys_select.c: Test that sys/select.h defines struct
89673         timeval fully.
89675 2008-09-29  Bruno Haible  <bruno@clisp.org>
89677         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
89678         * lib/sys_select.in.h: Likewise.
89680 2008-09-29  Bruno Haible  <bruno@clisp.org>
89682         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
89684 2008-09-29  Bruno Haible  <bruno@clisp.org>
89686         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
89687         Set LIBSOCKET instead of augmenting LIBS.
89688         * modules/sockets (Link): New section.
89689         * modules/sockets-tests (test_sockets_LDADD): New variable.
89690         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
89691         * modules/poll-tests (test_poll_LDADD): New variable.
89692         * NEWS: Document the change.
89694 2008-09-29  Bruno Haible  <bruno@clisp.org>
89696         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
89697         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
89698         ARPA_INET_H directly.
89699         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
89701 2008-09-28  Bruno Haible  <bruno@clisp.org>
89703         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
89704         from gl_HEADER_SYS_SOCKET.
89705         (gl_HEADER_SYS_SOCKET): Invoke it.
89706         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
89708 2008-09-28  Bruno Haible  <bruno@clisp.org>
89710         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
89711         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
89712         Needed on OSF/1 4.0.
89714 2008-09-28  Bruno Haible  <bruno@clisp.org>
89716         Override open more carefully.
89717         * lib/open.c (orig_open): New function.
89718         (rpl_open): Use orig_open instead of open.
89719         * lib/fcntl.in.h: Add special invocation convention.
89720         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
89721         (gl_FUNC_OPEN): Invoke it.
89723         Override freopen more carefully.
89724         * lib/freopen.c (orig_freopen): New function.
89725         (rpl_freopen): Use orig_freopen instead of freopen.
89726         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
89727         (gl_FUNC_FREOPEN): Invoke it.
89729         Override fopen more carefully.
89730         * lib/fopen.c (orig_fopen): New function.
89731         (rpl_fopen): Use orig_fopen instead of fopen.
89732         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
89733         (gl_FUNC_FOPEN): Invoke it.
89734         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
89736 2008-09-28  Bruno Haible  <bruno@clisp.org>
89738         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
89739         SIGPIPE.
89741 2008-09-28  Bruno Haible  <bruno@clisp.org>
89743         * tests/test-sigaction.c (handler, main): Disable the check whether
89744         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
89745         glibc systems with LinuxThreads.
89747 2008-09-28  Bruno Haible  <bruno@clisp.org>
89749         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
89751         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
89752         with AIX xlc.
89753         * lib/fcntl.in.h (open): Likewise.
89754         Reported by Rainer Tammer <tammer@tammer.net>.
89756 2008-09-28  Bruno Haible  <bruno@clisp.org>
89758         * modules/posix_spawnp-tests: New file.
89759         * tests/test-posix_spawn.c: New file.
89760         * tests/test-posix_spawn.in.sh: New file.
89762         New module 'posix_spawnp'.
89763         * modules/posix_spawnp: New file.
89764         * lib/spawnp.c: New file, from GNU libc with modifications.
89765         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
89767         New module 'posix_spawn'.
89768         * modules/posix_spawn: New file.
89769         * lib/spawn.c: New file, from GNU libc with modifications.
89770         * doc/posix-functions/posix_spawn.texi: Mention the new module.
89772         New module 'posix_spawnattr_destroy'.
89773         * modules/posix_spawnattr_destroy: New file.
89774         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
89775         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
89776         module.
89778         New module 'posix_spawnattr_setsigmask'.
89779         * modules/posix_spawnattr_setsigmask: New file.
89780         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
89781         modifications.
89782         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
89783         new module.
89785         New module 'posix_spawnattr_getsigmask'.
89786         * modules/posix_spawnattr_getsigmask: New file.
89787         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
89788         modifications.
89789         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
89790         new module.
89792         New module 'posix_spawnattr_setsigdefault'.
89793         * modules/posix_spawnattr_setsigdefault: New file.
89794         * lib/spawnattr_setdefault.c: New file, from GNU libc with
89795         modifications.
89796         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
89797         new module.
89799         New module 'posix_spawnattr_getsigdefault'.
89800         * modules/posix_spawnattr_getsigdefault: New file.
89801         * lib/spawnattr_getdefault.c: New file, from GNU libc with
89802         modifications.
89803         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
89804         new module.
89806         New module 'posix_spawnattr_setschedpolicy'.
89807         * modules/posix_spawnattr_setschedpolicy: New file.
89808         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
89809         modifications.
89810         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
89811         new module.
89813         New module 'posix_spawnattr_getschedpolicy'.
89814         * modules/posix_spawnattr_getschedpolicy: New file.
89815         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
89816         modifications.
89817         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
89818         new module.
89820         New module 'posix_spawnattr_setschedparam'.
89821         * modules/posix_spawnattr_setschedparam: New file.
89822         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
89823         modifications.
89824         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
89825         new module.
89827         New module 'posix_spawnattr_getschedparam'.
89828         * modules/posix_spawnattr_getschedparam: New file.
89829         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
89830         modifications.
89831         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
89832         new module.
89834         New module 'posix_spawnattr_setpgroup'.
89835         * modules/posix_spawnattr_setpgroup: New file.
89836         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
89837         modifications.
89838         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
89839         module.
89841         New module 'posix_spawnattr_getpgroup'.
89842         * modules/posix_spawnattr_getpgroup: New file.
89843         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
89844         modifications.
89845         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
89846         module.
89848         New module 'posix_spawnattr_setflags'.
89849         * modules/posix_spawnattr_setflags: New file.
89850         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
89851         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
89852         module.
89854         New module 'posix_spawnattr_getflags'.
89855         * modules/posix_spawnattr_getflags: New file.
89856         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
89857         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
89858         module.
89860         New module 'posix_spawnattr_init'.
89861         * modules/posix_spawnattr_init: New file.
89862         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
89863         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
89864         module.
89866         New module 'posix_spawn_file_actions_destroy'.
89867         * modules/posix_spawn_file_actions_destroy: New file.
89868         * lib/spawn_faction_destroy.c: New file, from GNU libc with
89869         modifications.
89870         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
89871         the new module.
89873         New module 'posix_spawn_file_actions_addopen'.
89874         * modules/posix_spawn_file_actions_addopen: New file.
89875         * lib/spawn_faction_addopen.c: New file, from GNU libc with
89876         modifications.
89877         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
89878         the new module.
89880         New module 'posix_spawn_file_actions_adddup2'.
89881         * modules/posix_spawn_file_actions_adddup2: New file.
89882         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
89883         modifications.
89884         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
89885         the new module.
89887         New module 'posix_spawn_file_actions_addclose'.
89888         * modules/posix_spawn_file_actions_addclose: New file.
89889         * lib/spawn_faction_addclose.c: New file, from GNU libc with
89890         modifications.
89891         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
89892         the new module.
89894         New module 'posix_spawn_file_actions_init'.
89895         * modules/posix_spawn_file_actions_init: New file.
89896         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
89897         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
89898         new module.
89900         New module 'posix_spawn-internal'.
89901         * modules/posix_spawn-internal: New file.
89902         * lib/spawn_int.h: New file, from GNU libc with modifications.
89903         * lib/spawni.c: New file, from GNU libc with modifications.
89904         * m4/posix_spawn.m4: New file.
89906         New module 'spawn'.
89907         * modules/spawn: New file.
89908         * lib/spawn.in.h: New file, from GNU libc with modifications.
89909         * m4/spawn_h.m4: New file.
89910         * doc/posix-headers/spawn.texi: Mention the new module.
89912 2008-09-28  Bruno Haible  <bruno@clisp.org>
89914         * modules/sched-tests: New file.
89915         * tests/test-sched.c: New file.
89917         New module 'sched'.
89918         * modules/sched: New file.
89919         * lib/sched.in.h: New file.
89920         * m4/sched_h.m4: New file.
89921         * doc/posix-headers/sched.texi: Mention the new module.
89923 2008-09-27  Eric Blake  <ebb9@byu.net>
89925         Fix previous patch, and tweak references to $0.
89926         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
89927         (func_version, func_gnulib_dir): Don't call this program
89928         gnulib-tool.
89929         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
89930         with using $0 in function.
89931         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
89932         (func_fatal_error): Reuse the name the user invoked us with.
89934 2008-09-27  Bruno Haible  <bruno@clisp.org>
89936         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
89937         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
89938         (gl_ICONV_H): Not here.
89939         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
89940         instead of assigning ICONV_H directly.
89942         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
89943         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
89944         WCHAR_H directly.
89946 2008-09-27  Bruno Haible  <bruno@clisp.org>
89948         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
89949         * modules/arpa_inet (Depends-on): Add link-warning.
89950         (Makefile.am): Insert the definition of GL_LINK-WARNING.
89951         * modules/unistd (Makefile.am): Likewise.
89953 2008-09-26  Bruno Haible  <bruno@clisp.org>
89955         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
89956         variables.
89957         (func_version): Essentially copied from gnulib-tool.
89958         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
89959         func_readlink): Copied from gnulib-tool.
89961 2008-09-26  Bruno Haible  <bruno@clisp.org>
89963         * gnulib-tool (func_version): Change directory to $gnulib_dir before
89964         invoking git-version-gen.
89966 2008-09-26  Bruno Haible  <bruno@clisp.org>
89968         * posix-modules: Update to directory names changed on 2008-01-19.
89969         Remove commas in output before splitting into words. No more need to
89970         avoid 'ftruncate' since 2007-02-19.
89972 2008-09-26  Bruno Haible  <bruno@clisp.org>
89974         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
89976 2008-09-26  Bruno Haible  <bruno@clisp.org>
89978         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
89979         * modules/fwriteerror (Depends-on): Add errno.
89981 2008-09-26  Bruno Haible  <bruno@clisp.org>
89983         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
89984         * tests/test-vc-list-files-cvs.sh: Likewise.
89986 2008-09-26  Bruno Haible  <bruno@clisp.org>
89988         * doc/posix-headers/sys_resource.texi: Reorder items.
89990 2008-09-26  Jim Meyering  <meyering@redhat.com>
89992         fts: tweak inode comparison function
89993         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
89994         inode numbers, as documented.
89996         fts: sort dirent entries on inode number before traversing
89997         This avoids a quadratic, seek-related performance penalty when
89998         operating on a directory containing many entries (measurable at 10k;
89999         3.5 hours at 2 million entries with a cold cache) on certain types
90000         of file systems, including ext3 and ext4, but not tmpfs.
90001         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
90002         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
90003         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
90004         (fs_handles_readdir_ordered_dirents_efficiently): New function.
90005         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
90006         (fts_build): Set the stat.st_ino member from D_INO.
90007         If it is likely to be useful, sort dirent entries on inode number.
90009         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
90010         and the struct statfs.f_type member.
90011         * modules/fts (Depends-on): Add d-ino.
90013 2008-09-26  Bruno Haible  <bruno@clisp.org>
90015         * modules/sigpipe-die (Depends-on): Add sigpipe.
90017         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
90018         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
90019         and GNULIB_STDIO_H_SIGPIPE are set.
90020         * lib/stdio-write.c: New file.
90021         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
90022         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
90023         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
90024         REPLACE_STDIO_WRITE_FUNCS.
90025         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
90026         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
90027         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
90028         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
90029         * modules/stdio (Files): Add lib/stdio-write.c.
90030         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
90031         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
90032         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
90033         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
90034         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
90035         REPLACE_FPRINTF_POSIX.
90036         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
90037         REPLACE_PRINTF_POSIX.
90038         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
90039         REPLACE_VFPRINTF_POSIX.
90040         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
90041         REPLACE_VPRINTF_POSIX.
90042         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
90043         SIGPIPE issue.
90044         * doc/posix-functions/fputc.texi: Likewise.
90045         * doc/posix-functions/fputs.texi: Likewise.
90046         * doc/posix-functions/fwrite.texi: Likewise.
90047         * doc/posix-functions/printf.texi: Likewise.
90048         * doc/posix-functions/putc.texi: Likewise.
90049         * doc/posix-functions/putchar.texi: Likewise.
90050         * doc/posix-functions/puts.texi: Likewise.
90051         * doc/posix-functions/vfprintf.texi: Likewise.
90052         * doc/posix-functions/vprintf.texi: Likewise.
90054         * modules/safe-write (Depends-on): Add write.
90056         * modules/sigpipe-tests: New file.
90057         * tests/test-sigpipe.c: New file.
90058         * tests/test-sigpipe.sh: New file.
90060         * modules/write: New file.
90061         * lib/unistd.in.h: Include <sys/types.h>.
90062         (write): New declaration.
90063         * lib/write.c: New file.
90064         * m4/write.m4: New file.
90065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90066         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
90067         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
90068         GNULIB_WRITE, REPLACE_WRITE.
90069         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
90070         and the SIGPIPE issue.
90072         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
90073         (raise): New declaration.
90074         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
90075         (ext_signal): New function.
90076         (rpl_raise): New function.
90077         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
90078         GNULIB_SIGNAL_H_SIGPIPE.
90079         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
90080         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
90082         * modules/sigpipe: New file.
90083         * m4/sigpipe.m4: New file.
90085 2008-09-25  Derek Price  <derek@ximbiot.com>
90086             Bruno Haible  <bruno@clisp.org>
90088         * gnulib-tool (func_import): Report all license incompatibilities, not
90089         just the first one.
90091 2008-09-25  Bruno Haible  <bruno@clisp.org>
90093         * gnulib-tool (func_import): When computing the edits, consider not
90094         only the Makefile.ams that exist but also those that will be generated.
90096 2008-09-25  Simon Josefsson  <simon@josefsson.org>
90098         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
90099         fixes gnulib-tool --test warning about duplicate dependency.
90101 2008-09-25  Bruno Haible  <bruno@clisp.org>
90103         * gnulib-tool: Don't ask the user to perform edits in the generated
90104         Makefile.ams.
90105         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
90106         apply to the Makefile.am being generated.
90107         (func_emit_tests_Makefile_am): Execute edits that apply to the
90108         Makefile.am being generated.
90109         (func_import): Setup list of Makefile.am edits before emitting the
90110         Makefile.ams, not at the end.
90111         (func_create_testdir): Update.
90112         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90114 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90116         * gnulib-tool (func_import): Store the --tests-base option in the
90117         comment in gnulib-cache.m4.
90119 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
90121         * NEWS: Document increased portability that sys_select now provides.
90123         * lib/sys_select.in.h: Install select wrapper.
90124         * lib/sys_socket.in.h: Use more descriptive name when there is no
90125         select wrapper.
90126         * lib/winsock-select.c: New.
90127         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
90128         Require gl_HEADER_SYS_SOCKET.
90129         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
90130         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
90131         * tests/test-sys_select.c: Add functional tests.
90133 2008-09-24  Eric Blake  <ebb9@byu.net>
90135         open, fopen: close fd leak in last patch
90136         * lib/open.c (rpl_open): Close fd before returning error.
90137         * lib/fopen.c (rpl_fopen): Close fd before returning error.
90138         * doc/posix-functions/open.texi (open): Document that Irix also
90139         has the bug.
90140         * doc/posix-functions/fopen.texi (fopen): Likewise.
90141         Reported by Paolo Bonzini.
90143 2008-09-24  Bruno Haible  <bruno@clisp.org>
90145         Ensure that a filename ending in a slash cannot be used to access a
90146         non-directory.
90147         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
90148         to check whether it's really a directory.
90149         * lib/fopen.c: Include fcntl.h, unistd.h.
90150         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
90151         and fdopen().
90152         * modules/fopen (Depends-on): Add unistd.
90153         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
90154         * tests/test-fopen.c (main): Likewise.
90155         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
90156         * doc/posix-functions/fopen.texi: Likewise.
90157         Reported by Eric Blake.
90159 2008-09-23  Eric Blake  <ebb9@byu.net>
90161         c-stack: avoid compiler optimizations when provoking overflow
90162         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
90163         recursion harder to optimize, to ensure a stack overflow occurs.
90164         * tests/test-c-stack.c (recurse): Likewise.
90165         Borrowed from libsigsegv.
90167         c-stack: work around Irix sigaltstack bug
90168         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
90169         whether sigaltstack uses wrong end of stack_t (copied in part from
90170         libsigsegv).
90171         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
90172         Irix bug, without requiring an over-allocation.
90173         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
90174         bug.
90176         fopen: document mingw bug on directories
90177         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
90178         not allowing a stream visiting a directory, even though reading
90179         from such a stream is not portable.
90181 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
90183         * lib/poll.c: Rewrite.
90184         * modules/poll: Depend on alloca.
90186 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
90188         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
90189         instead define prototypes for a full set of wrappers.  Ensure
90190         that Cygwin does not use the compatibility code, which is only
90191         for MinGW.
90192         * lib/winsock.c: New.
90193         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
90194         * modules/sys_socket: Add lib/winsock.c.
90196         * modules/poll-tests: Add errno and perror.
90197         * tests/test-poll.c: Use ioctl, not ioctlsocket.
90199 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
90201         * tests/test-poll.c: Downgrade minimum needed Winsock version.
90203 2008-09-23  Bruno Haible  <bruno@clisp.org>
90205         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
90206         * doc/glibc-functions/*: Likewise.
90208 2008-09-23  Simon Josefsson  <simon@josefsson.org>
90210         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
90211         success.
90213 2008-09-22  Eric Blake  <ebb9@byu.net>
90214             Bruno Haible  <bruno@clisp.org>
90216         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
90217         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
90218         supply %A but mishandle pseudo-NaN.
90219         Reported by Simon Josefsson.
90221 2008-09-21  Bruno Haible  <bruno@clisp.org>
90223         * tests/test-lock.c (main): Tweak skip message.
90224         * tests/test-tls.c (main): Likewise.
90226 2008-09-21  Bruno Haible  <bruno@clisp.org>
90228         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
90229         whether 'struct sigaction' has sa_sigaction here...
90230         (gl_PREREQ_SIG_HANDLER_H): ... not here.
90231         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
90233 2008-09-21  Bruno Haible  <bruno@clisp.org>
90235         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
90236         section.
90237         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
90238         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
90239         the new section.
90240         (Support for obsolete systems lacking POSIX:2001): New section.
90241         (String handling <string.h>): Move strdup to the new section.
90242         Suggested by Simon Josefsson and Paolo Bonzini.
90244 2008-09-21  Bruno Haible  <bruno@clisp.org>
90246         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
90247         exponents in %e and %g results on 'long double'. Needed for mingw's
90248         improved *printf functions.
90249         * tests/test-vasprintf-posix.c (test_function): Likewise.
90250         * tests/test-snprintf-posix.h (test_function): Likewise.
90251         * tests/test-sprintf-posix.h (test_function): Likewise.
90252         Reported by Eric Blake.
90254 2008-09-21  Bruno Haible  <bruno@clisp.org>
90256         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
90257         * tests/test-sprintf-posix.h (test_function): Likewise.
90259 2008-09-21  Bruno Haible  <bruno@clisp.org>
90261         * modules/getpass (Depends-on): Add strdup-posix.
90263         New module 'strdup-posix'.
90264         * modules/strdup-posix: New file.
90265         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
90266         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
90267         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
90268         REPLACE_STRDUP.
90269         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
90270         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
90271         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90272         strdup-posix.
90274         * modules/strdup (Depends-on): Remove malloc-posix.
90276 2008-09-20  Bruno Haible  <bruno@clisp.org>
90278         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
90279         Wildenhues.
90281 2008-09-20  Bruno Haible  <bruno@clisp.org>
90283         Ensure that wint_t gets defined on IRIX 5.3.
90284         * lib/wchar.in.h (wint_t): Define if not defined by the system.
90285         * lib/wctype.in.h (wint_t): Likewise.
90286         (__wctype_wint_t): Remove type.
90287         (isw*): Use wint_t instead of __wctype_wint_t.
90288         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
90289         * modules/wchar (Files): Add m4/wint_t.m4.
90290         (Makefile.am): Substitute HAVE_WINT_T.
90291         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
90292         * tests/test-wctype.c: Check that wint_t is defined.
90293         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
90294         * doc/posix-headers/wctype.texi: Likewise.
90295         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
90297 2008-09-18  Bruno Haible  <bruno@clisp.org>
90299         * gnulib-tool (func_exit): Update comment.
90301 2008-09-18  Simon Josefsson  <simon@josefsson.org>
90303         * modules/getaddrinfo (Depends-on): Remove strdup, this module
90304         assumes strdup exists and does not depend on strdup to return
90305         ENOMEM on out of memory conditions.
90307 2008-09-18  Bruno Haible  <bruno@clisp.org>
90309         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
90310         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
90311         digits for the exponent.
90313 2008-09-18  Jim Meyering  <meyering@redhat.com>
90314             Bruno Haible  <bruno@clisp.org>
90316         * lib/vasnprintf.c (decimal_point_char): Define also if
90317         NEED_PRINTF_INFINITE_LONG_DOUBLE.
90319 2008-09-16  Bruno Haible  <bruno@clisp.org>
90320         and Eric Blake  <ebb9@byu.net>
90322         vasnprintf: support Irix 5.3
90323         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
90324         that mishandle long double infinity.
90325         Reported by Tom G. Christensen.
90327 2008-09-16  Bruno Haible  <bruno@clisp.org>
90329         * doc/glibc-functions/scandir.texi: Mention the function is missing on
90330         Solaris 9.
90331         * doc/glibc-functions/alphasort.texi: Likewise.
90332         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
90334 2008-09-16  Jim Meyering  <meyering@redhat.com>
90336         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
90337         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
90338         a umask modification leak out of a subshell.  Otherwise, the
90339         opensolaris /bin/sh would be accepted and thus cause unwarranted
90340         failures in the coreutils test suite.
90342 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
90344         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
90345         to succeed.
90347 2008-09-16  Jim Meyering  <meyering@redhat.com>
90349         avoid spurious test failure when library is built without ACL support
90350         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
90351         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
90352         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
90353         * tests/test-copy-acl.sh: Likewise.
90355 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90357         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
90358         based on character occurrence counts.
90360 2008-09-15  Eric Blake  <ebb9@byu.net>
90362         tests: avoid some compiler warnings
90363         * tests/test-memchr.c (main): Pass NULL indirectly.
90364         * tests/test-closein.c (main): Avoid unused variable.
90366 2008-09-15  Bruno Haible  <bruno@clisp.org>
90368         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
90369         are missing on OpenBSD 4.0 individually.
90370         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90372 2008-09-15  Bruno Haible  <bruno@clisp.org>
90374         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
90375         * doc/posix-functions/strerror.texi: Mention also Cygwin.
90376         * doc/posix-functions/perror.texi: Likewise.
90377         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
90378         is missing.
90379         Reported by Eric Blake.
90381         * lib/errno.in.h: Use replacement values >= 2000.
90382         Reported by Eric Blake.
90384 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90386         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
90387         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
90388         limit.
90389         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
90390         compareseq was aborted.
90392 2008-09-14  Bruno Haible  <bruno@clisp.org>
90394         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
90395         yvec_edit_count.
90396         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
90397         (fstrcmp_bounded): Simplify result computation accordingly.
90399 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90401         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
90402         (fstrcmp): Define in terms of fstrcmp_bounded.
90403         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
90404         lower_bound argument.
90405         Return quickly if the result is certainly < lower_bound.
90406         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
90408 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90410         * lib/diffseq.h (EARLY_ABORT): New macro.
90411         (compareseq): Change return type to bool. Return true when EARLY_ABORT
90412         evaluates to true.
90414 2008-09-14  Bruno Haible  <bruno@clisp.org>
90416         * modules/perror-tests: New file.
90417         * tests/test-perror.sh: New file.
90418         * tests/test-perror.c: New file.
90420         New module 'perror'.
90421         * lib/stdio.in.h (perror): New declaration.
90422         * lib/perror.c: New file.
90423         * m4/perror.m4: New file.
90424         * modules/perror: New file.
90425         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
90426         * doc/posix-functions/perror.texi: Mention the perror module.
90427         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
90428         REPLACE_PERROR.
90429         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
90430         REPLACE_PERROR.
90432 2008-09-14  Bruno Haible  <bruno@clisp.org>
90434         * modules/stdio (Makefile.am): Reorder to match the order in
90435         lib/stdio.in.h.
90436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
90438 2008-09-13  Bruno Haible  <bruno@clisp.org>
90440         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
90442 2008-09-13  Bruno Haible  <bruno@clisp.org>
90444         Extend strerror to cover the added errno values.
90445         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
90446         (rpl_strerror): Provide error messages for the added errno values and
90447         for the WSA* values.
90448         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
90449         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
90450         strerror.
90451         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
90452         * modules/strerror (Depends-on): Add errno.
90453         * doc/posix-functions/strerror.texi: Document the change.
90454         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
90455         and EOVERFLOW.
90457 2008-09-13  Bruno Haible  <bruno@clisp.org>
90459         * modules/EOVERFLOW: Remove file.
90460         * m4/eoverflow.m4: Remove file.
90461         * modules/EOVERFLOW-tests: Remove file.
90462         * tests/test-EOVERFLOW.c: Remove file.
90463         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
90464         * modules/ftell (Depends-on): Likewise.
90465         * modules/getdelim (Depends-on): Likewise.
90466         * modules/getugroups (Depends-on): Likewise.
90467         * modules/poll (Depends-on): Likewise.
90468         * modules/snprintf (Depends-on): Likewise.
90469         * modules/sprintf-posix (Depends-on): Likewise.
90470         * modules/vasnprintf (Depends-on): Likewise.
90471         * modules/vasprintf (Depends-on): Likewise.
90472         * modules/vfprintf-posix (Depends-on): Likewise.
90473         * modules/vsnprintf (Depends-on): Likewise.
90474         * modules/vsprintf-posix (Depends-on): Likewise.
90475         * modules/xvasprintf (Depends-on): Likewise.
90476         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
90477         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
90478         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
90479         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
90480         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
90481         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
90482         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
90483         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
90484         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
90485         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
90486         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
90487         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
90488         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
90489         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
90490         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
90491         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
90492         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
90493         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
90494         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
90495         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
90496         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
90497         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
90498         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
90499         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
90500         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
90501         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
90502         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
90503         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
90504         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
90505         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
90506         * MODULES.html.sh: Remove EOVERFLOW.
90507         * NEWS: Mention the change.
90509 2008-09-13  Bruno Haible  <bruno@clisp.org>
90511         * modules/errno-tests: New file.
90512         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
90514         * lib/errno.in.h: New file.
90515         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
90516         * modules/errno: New file.
90517         * doc/posix-headers/errno.texi: Update documentation.
90518         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
90520 2008-09-13  Bruno Haible  <bruno@clisp.org>
90522         * tests/test-poll.c: Use #if for native Windows, rather than testing
90523         __MSVCRT__.
90525 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90526             Bruno Haible  <bruno@clisp.org>
90528         * lib/glob.c: Don't include <pwd.h> on native Windows.
90529         (WINDOWS32): New macro.
90530         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
90532 2008-09-13  Bruno Haible  <bruno@clisp.org>
90534         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
90535         (ETIMEDOUT): Remove macro.
90536         (glthread_cond_timedwait_multithreaded): New declaration.
90537         (glthread_cond_timedwait): Use it.
90538         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
90539         (glthread_cond_timedwait_multithreaded): New function.
90541 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
90543         * modules/poll-tests: Do not check for io.h.
90544         * tests/test-poll.c: Check for __MSVCRT__ instead.
90546 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
90548         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
90549         * modules/poll-tests: Add inet_pton, stdbool, sockets.
90550         * tests/test-poll.c: Use them.  Use _pipe on Windows.
90552 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
90554         * modules/poll-tests: New.
90555         * tests/test-poll.c: New.
90557 2008-09-12  Eric Blake  <ebb9@byu.net>
90559         frexp: test for NetBSD failure on -0.0
90560         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
90561         not all, bugs from NetBSD 3.0 have been fixed.
90562         * doc/posix-functions/frexp.texi (frexp): Document bug.
90563         Reported by Thomas Klausner.
90565         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
90566         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
90567         literal -0.0.
90568         Reported by Jonathan C. Patschke <jp@centtech.com>.
90570 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90572         * lib/glthread/cond.h: Use dummy implementation also if
90573         USE_WIN32_THREADS.
90575 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90577         * modules/fnmatch-posix (License): Change to LGPLv2+.
90578         * modules/fnmatch-gnu (License): Likewise.
90580 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90582         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
90584 2008-09-11  Jim Meyering  <meyering@redhat.com>
90586         * users.txt: Add gtk-vnc.
90588 2008-09-08  Simon Josefsson  <simon@josefsson.org>
90590         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
90591         rotate amounts.
90593         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
90594         required for 16-bit and 8-bit rotates.
90595         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
90596         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
90597         UINT8_MAX instead of hard-coded constants.
90598         Suggested by Paul Eggert.
90600 2008-09-07  Bruno Haible  <bruno@clisp.org>
90602         * tests/test-striconveh.c (main): Check behaviour when converting from
90603         UTF-7.
90605         Make striconveh work better with stateful encodings.
90606         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
90607         that iconv does not increment the inptr when returning -1/EINVAL.
90609 2008-09-07  Bruno Haible  <bruno@clisp.org>
90611         * build-aux/config.rpath: Update according to libtool-2.2.6.
90612         * build-aux/config.libpath: Likewise.
90614 2008-09-06  Bruno Haible  <bruno@clisp.org>
90616         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
90617         * lib/freadptr.c (freadptr): Likewise.
90618         * lib/freadseek.c (freadptrinc): Likewise.
90619         Reported by Simon Josefsson.
90621 2008-09-06  Bruno Haible  <bruno@clisp.org>
90623         * modules/freadptr (License): Change to LGPLv2+.
90624         * modules/freadseek (License): Likewise.
90625         Suggested by Eric Blake.
90627         * modules/memchr2 (License): Change to LGPLv2+.
90628         Approved by Eric Blake.
90630 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90631             Bruno Haible  <bruno@clisp.org>
90633         Make gnulib-tool work with native 'sed' on AIX.
90634         * gnulib-tool (sed_noop): New variable.
90635         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
90636         func_add_or_update, func_create_testdir): Use it to initialize sed
90637         script variables.
90638         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90640 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
90641             Bruno Haible  <bruno@clisp.org>
90643         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
90644         also works after #include directives.
90646 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
90648         getdate.y: reject an out-of-range timezone value
90649         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
90650         the range [-24...+24].  When specified with only one or two digits,
90651         * tests/test-getdate.c: Tests for the fix.
90652         * doc/getdate.texi: Document this change.
90654 2008-09-03  Bruno Haible  <bruno@clisp.org>
90656         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
90658 2008-09-02  Simon Josefsson  <simon@josefsson.org>
90660         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
90661         <bruce.korb@gmail.com> with ideas from Ben Pfaff
90662         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
90663         Blake <ebb9@byu.net>.
90665         * tests/test-bitrotate.c: Add more test vectors.
90667 2008-09-02  Eric Blake  <ebb9@byu.net>
90669         vasnprintf-posix: handle large precision via %.*d
90670         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
90671         when handling it ourselves.
90672         * tests/test-vasnprintf-posix.c (test_function): Add test.
90673         * tests/test-snprintf-posix.h (test_function): Likewise.
90674         * tests/test-sprintf-posix.h (test_function): Likewise.
90675         * tests/test-vasprintf-posix.c (test_function): Likewise.
90676         Reported by Alain Guibert.
90678 2008-09-01  Eric Blake  <ebb9@byu.net>
90680         c-stack: make configure-time check more robust
90681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
90682         successful sigaction call.
90683         Reported by Tom G. Christensen.
90685 2008-09-01  Bruno Haible  <bruno@clisp.org>
90687         New module 'findprog-lgpl'.
90688         * modules/findprog-lgpl: New file.
90689         * lib/findprog-lgpl.c: New file.
90690         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
90691         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
90692         to decide whether to use strdup or xstrdup, concatenated_filename or
90693         xconcatenated_filename.
90695 2008-09-01  Bruno Haible  <bruno@clisp.org>
90697         Split module 'concat-filename' into 'concat-filename' (LGPL) and
90698         'xconcat-filename' (GPL).
90699         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
90700         (License): Change to LGPLv2+.
90701         * modules/xconcat-filename: New file.
90702         * lib/concat-filename.h (concatenated_filename): Change specification.
90703         (xconcatenated_filename): New declaration.
90704         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
90705         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
90706         memory situations.
90707         * lib/xconcat-filename.c: New file.
90708         * NEWS: Mention the change.
90709         * lib/findprog.c: Include concat-filename.h, not filename.h.
90710         (find_in_path): Use xconcatenated_filename instead of
90711         concatenated_filename.
90712         * lib/javacomp.c: Include concat-filename.h, not filename.h.
90713         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90714         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90715         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90716         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
90717         instead of concatenated_filename.
90718         * lib/javaexec.c: Include concat-filename.h, not filename.h.
90719         (execute_java_class): Use xconcatenated_filename instead of
90720         concatenated_filename.
90721         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
90722         * modules/javacomp (Depends-on): Likewise.
90723         * modules/javaexec (Depends-on): Likewise.
90725 2008-09-01  Bruno Haible  <bruno@clisp.org>
90727         Split module 'filename' into 'filename' and 'concat-filename'.
90728         * modules/filename: Keep only lib/filename.h.
90729         (License): Change to LGPLv2+.
90730         * modules/concat-filename: New file, extracted from modules/filename.
90731         * lib/filename.h (concatenated_filename): Remove declaration.
90732         * lib/concat-filename.h: New file, extracted from lib/filename.h.
90733         * lib/concat-filename.c: Include concat-filename.h.
90734         * NEWS: Mention the change.
90736 2008-09-01  Simon Josefsson  <simon@josefsson.org>
90738         * lib/bitrotate.h (rotl8, rotr8): Add.
90740         * modules/bitrotate (configure.ac): Need
90741         AC_REQUIRE([AC_C_INLINE]).
90742         (Description): Mention stdint.h.  Reported by Bruno Haible
90743         <bruno@clisp.org>.
90745         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
90746         Paolo Bonzini <bonzini@gnu.org>.
90748 2008-08-31  Bruno Haible  <bruno@clisp.org>
90750         Assume Solaris specific bi-arch conventions on Solaris systems.
90751         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
90752         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
90753         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
90754         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
90755         like acl_libdirstem.
90756         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
90757         acl_libdirstem.
90758         * NEWS: Mention the change.
90759         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
90761 2008-08-31  Jim Meyering  <meyering@redhat.com>
90763         * lib/strftime.h: Add comments describing the two added arguments.
90765         remove duplicate #include directives
90766         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
90767         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
90769 2008-08-31  Bruno Haible  <bruno@clisp.org>
90771         New module 'sigpipe-die'.
90772         * modules/sigpipe-die: New file.
90773         * lib/sigpipe-die.h: New file.
90774         * lib/sigpipe-die.c: New file.
90775         * MODULES.html.sh (Signal handling): Add sigpipe-die.
90777 2008-08-31  Bruno Haible  <bruno@clisp.org>
90779         Don't override previously installed signal handlers.
90780         * lib/fatal-signal.c (saved_sigactions): New variable.
90781         (uninstall_handlers): Reset the signal to the saved handler, not
90782         to SIG_DFL (except when ignored).
90783         (install_handlers): Save the previous handlers.
90785 2008-08-30  Bruno Haible  <bruno@clisp.org>
90787         * gnulib-tool (func_reset_sigpipe): New function.
90788         (func_get_automake_snippet, func_modules_transitive_closure,
90789         func_import): Invoke it before a join command that reads from stdin,
90790         to avoid "echo: write error: Broken pipe" error messages on stderr.
90791         Reported by Sam Steingold <sds@gnu.org>.
90793 2008-08-30  Bruno Haible  <bruno@clisp.org>
90795         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
90796         Code copied from m4/open.m4.
90797         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
90798         access and the filename ends in a slash. Code copied from lib/open.c.
90799         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
90800         * tests/test-fopen.c (main): Check against bug with trailing slash.
90802 2008-08-29  Bruno Haible  <bruno@clisp.org>
90804         Avoid some "gcc -pedantic" warnings.
90805         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
90806         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
90807         * lib/dirent.in.h: Likewise.
90808         * lib/fcntl.in.h: Likewise.
90809         * lib/float.in.h: Likewise.
90810         * lib/iconv.in.h: Likewise.
90811         * lib/inttypes.in.h: Likewise.
90812         * lib/locale.in.h: Likewise.
90813         * lib/math.in.h: Likewise.
90814         * lib/netinet_in.in.h: Likewise.
90815         * lib/search.in.h: Likewise.
90816         * lib/signal.in.h: Likewise.
90817         * lib/stdarg.in.h: Likewise.
90818         * lib/stdint.in.h: Likewise.
90819         * lib/stdio.in.h: Likewise.
90820         * lib/stdlib.in.h: Likewise.
90821         * lib/string.in.h: Likewise.
90822         * lib/strings.in.h: Likewise.
90823         * lib/sys_select.in.h: Likewise.
90824         * lib/sys_socket.in.h: Likewise.
90825         * lib/sys_stat.in.h: Likewise.
90826         * lib/sys_time.in.h: Likewise.
90827         * lib/sysexits.in.h: Likewise.
90828         * lib/time.in.h: Likewise.
90829         * lib/unistd.in.h: Likewise.
90830         * lib/wchar.in.h: Likewise.
90831         * lib/wctype.in.h: Likewise.
90832         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
90833         * modules/fchdir (Makefile.am): Likewise.
90834         * modules/fcntl (Makefile.am): Likewise.
90835         * modules/float (Makefile.am): Likewise.
90836         * modules/iconv_open (Makefile.am): Likewise.
90837         * modules/inttypes (Makefile.am): Likewise.
90838         * modules/locale (Makefile.am): Likewise.
90839         * modules/math (Makefile.am): Likewise.
90840         * modules/netinet_in (Makefile.am): Likewise.
90841         * modules/search (Makefile.am): Likewise.
90842         * modules/signal (Makefile.am): Likewise.
90843         * modules/stdarg (Makefile.am): Likewise.
90844         * modules/stdint (Makefile.am): Likewise.
90845         * modules/stdio (Makefile.am): Likewise.
90846         * modules/stdlib (Makefile.am): Likewise.
90847         * modules/string (Makefile.am): Likewise.
90848         * modules/strings (Makefile.am): Likewise.
90849         * modules/sys_select (Makefile.am): Likewise.
90850         * modules/sys_socket (Makefile.am): Likewise.
90851         * modules/sys_stat (Makefile.am): Likewise.
90852         * modules/sys_time (Makefile.am): Likewise.
90853         * modules/sysexits (Makefile.am): Likewise.
90854         * modules/time (Makefile.am): Likewise.
90855         * modules/unistd (Makefile.am): Likewise.
90856         * modules/wchar (Makefile.am): Likewise.
90857         * modules/wctype (Makefile.am): Likewise.
90858         Reported by Reuben Thomas <rrt@sc3d.org>.
90860 2008-08-29  Bruno Haible  <bruno@clisp.org>
90862         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
90863         any more.
90865 2008-08-29  Simon Josefsson  <simon@josefsson.org>
90867         * MODULES.html.sh (Misc): Add bitrotate.
90869         * modules/bitrotate: New file.
90871         * lib/bitrotate.h: New file.
90873         * modules/bitrotate-tests: New file.
90875         * tests/test-bitrotate.c: New file.
90877         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
90878         on the bitrotate module.
90880         * lib/arctwo.c: Use new bitrotate module.
90882 2008-08-29  Jim Meyering  <meyering@redhat.com>
90884         bootstrap: merge changes from coreutils
90885         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
90886         of copied files.  Remove a kludge, now that this is fixed.
90887         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
90888         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
90889         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
90891 2008-08-29  Bruno Haible  <bruno@clisp.org>
90893         * MODULES.html.sh: Remove --cvs-urls option.
90895 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
90897         maint.mk: adjust to file name change
90898         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
90900 2008-08-28  Jim Meyering  <meyering@redhat.com>
90902         * modules/getndelim2 (License): Relicense to LGPLv2+.
90903         Approved by Richard Stallman for the version of 1995, and by
90904         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
90906 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
90908         * lib/getdelim.c (flockfile, funlockfile): Make all of them
90909         dummy if one is not available.  Do not touch them if
90910         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
90911         (getc_maybe_unlocked): New.
90912         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
90914 2008-08-26  Eric Blake  <ebb9@byu.net>
90916         doc/INSTALL: resync from autoconf
90917         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
90918         (INSTALL_PRELUDE): Delete; this is done more efficiently by
90919         moving...
90920         * install.texi [!autoconf]: ...here.  Resync from autoconf.
90921         * INSTALL: Regenerate.
90922         * INSTALL.ISO: New file.
90923         * INSTALL.UTF-8: Likewise.
90925 2008-08-26  Jim Meyering  <meyering@redhat.com>
90927         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
90928         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
90929         these definitions conditional, so that they may be overridden, too.
90931 2008-08-26  Bruno Haible  <bruno@clisp.org>
90933         Generate INSTALL file variants with prettier quotes.
90934         * doc/Makefile (INSTALL_PRELUDE): New macro.
90935         (INSTALL): Use it.
90936         (INSTALL.ISO, INSTALL.UTF-8): New rules.
90938 2008-08-26  Bruno Haible  <bruno@clisp.org>
90940         Run makeinfo in an English locale.
90941         * doc/Makefile (MAKEINFO): New variable.
90943 2008-08-26  Bruno Haible  <bruno@clisp.org>
90945         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
90946         Suggested by Eric Blake.
90948 2008-08-25  Bruno Haible  <bruno@clisp.org>
90950         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
90952 2008-08-25  Eric Blake  <ebb9@byu.net>
90954         c-stack: test that stack overflow can be caught
90955         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
90956         that platform allows handling stack overflow; at least OS/2 EMX
90957         has sigaltstack, but crashes before transferring control to
90958         handler on stack overflow.
90959         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
90960         check for HAVE_STACK_OVERFLOW_HANDLING.
90961         Reported by Elbert Pol.
90963 2008-08-25  Bruno Haible  <bruno@clisp.org>
90965         * doc/posix-functions/strftime.texi: Fix description of strftime
90966         module.
90968 2008-08-24  Bruno Haible  <bruno@clisp.org>
90970         * tests/uniwidth/test-uc_width2.c: New file.
90971         * tests/uniwidth/test-uc_width2.sh: New file.
90972         * modules/uniwidth/width-tests (Files): Add the new files.
90973         (TESTS): Add uniwidth/test-uc_width2.sh.
90974         (TESTS_ENVIRONMENT): New variable.
90975         (check_PROGRAMS): Add test-uc_width2.
90976         (test_uc_width2_SOURCES): New variable.
90978         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
90979         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
90980         not 0x00AB.
90981         Reported by Alexander V. Lukyanov <lav@netis.ru>.
90983 2008-08-22  Eric Blake  <ebb9@byu.net>
90985         test-lock, test-tls: mention why a test is skipped
90986         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
90987         skipped.
90988         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
90990         count-one-bits: relax license
90991         * modules/count-one-bits (License): Relicense to LGPLv2+.
90992         Suggested by Ludovic Courtès, approved by Ben Pfaff.
90994 2008-08-22  Andreas Schwab  <schwab@suse.de>
90996         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
90997         Remove spurious space in assignment.
90999 2008-08-21  Simon Josefsson  <simon@josefsson.org>
91001         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
91002         Paul Eggert <eggert@CS.UCLA.EDU>.
91004 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
91006         * modules/gettext: Add m4/threadlib.m4.
91008 2008-08-19  Eric Blake  <ebb9@byu.net>
91010         test-c-stack: fix compilation failure on FreeBSD 5.0
91011         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
91012         headers before <sys/resource.h>.
91013         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
91014         the bug.
91015         Reported by Nelson H. F. Beebe.
91017         strverscmp: migrate from "strverscmp.h" to <string.h>
91018         * modules/string (Makefile.am): Add new hooks.
91019         * modules/strverscmp (Files): Remove strverscmp.h.
91020         (Depends-on): Add string.
91021         (configure.ac): Add indicator.
91022         (Include): Mention new header.
91023         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
91024         defaults.
91025         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
91026         results.
91027         * lib/strverscmp.h: Delete.
91028         * lib/string.in.h (strverscmp): Provide declaration, when needed.
91029         * tests/test-strverscmp.c (includes): Adjust client.
91030         * lib/check-version.c (includes): Likewise.
91031         * NEWS: Document the change.
91033         strverscmp: add unit test
91034         * modules/strverscmp-tests: New file.
91035         * tests/test-strverscmp.c: Likewise.
91037 2008-08-19  Simon Josefsson  <simon@josefsson.org>
91039         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
91040         regarding Windows crypto stuff, from Mono.
91042 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
91044         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
91045         if present, for intel RND.  Return error on failures.
91047 2008-08-18  Ben Pfaff  <blp@gnu.org>
91049         gitlog-to-changelog: give better diagnostic for failed pipe-open
91050         * build-aux/gitlog-to-changelog: Improve error message: suggest
91051         that the version of Git may be too old.
91053 2008-08-18  Simon Josefsson  <simon@josefsson.org>
91055         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
91056         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
91058 2008-08-18  Bruno Haible  <bruno@clisp.org>
91060         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
91061         pthread_in_use().
91063 2008-08-18  Bruno Haible  <bruno@clisp.org>
91065         * lib/glthread/threadlib.c: Include <pthread.h>.
91067 2008-08-18  Bruno Haible  <bruno@clisp.org>
91069         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
91070         glthread_recursive_lock_* macros.
91071         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
91072         Fix syntax error.
91074 2008-08-18  Bruno Haible  <bruno@clisp.org>
91076         * lib/glthread/thread.c: Avoid forcing a context switch right after
91077         thread creation.
91079 2008-08-17  Bruno Haible  <bruno@clisp.org>
91081         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
91082         * lib/glthread/thread.h: Provide Win32 specific implementation.
91083         * modules/thread (Files): Add lib/glthread/thread.c.
91084         (Depends-on): Add lock.
91085         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
91087 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91089         New module 'yield'.
91090         * modules/yield: New file.
91091         * lib/glthread/yield.h: New file.
91092         * m4/yield.m4: New file.
91093         * MODULES.html.sh (Multithreading): Add yield.
91095 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91097         New module 'thread'.
91098         * modules/thread: New file.
91099         * lib/glthread/thread.h: New file.
91100         * m4/thread.m4: New file.
91101         * MODULES.html.sh (Multithreading): Add thread.
91103 2008-08-17  Bruno Haible  <bruno@clisp.org>
91105         * lib/glthread/lock.h: Include <stdlib.h> always.
91106         * lib/glthread/tls.h: Likewise.
91107         * lib/glthread/cond.h: Likewise.
91109 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91111         New module 'cond'.
91112         * modules/cond: New file.
91113         * lib/glthread/cond.h: New file.
91114         * lib/glthread/cond.c: New file.
91115         * m4/cond.m4: New file.
91116         * MODULES.html.sh (Multithreading): Add cond.
91118 2008-08-16  Eric Blake  <ebb9@byu.net>
91120         c-stack: fix regression on Irix 5.3 from 2008-06-21
91121         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
91122         sa_sigaction...
91123         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
91124         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
91125         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
91126         * modules/signal (Makefile.am): Use the value.
91127         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
91128         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
91129         * doc/posix-headers/signal.texi (signal.h): Document this
91130         portability issue.
91131         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
91132         Reported by Tom G. Christensen.
91134 2008-08-17  Bruno Haible  <bruno@clisp.org>
91136         New module 'threadlib'.
91137         * modules/threadlib: New file.
91138         * lib/glthread/threadlib.c: New file, extracted from
91139         lib/glthread/lock.c.
91140         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
91141         functions.
91142         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
91143         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
91144         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
91145         macros.
91146         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
91147         (gl_DISABLE_THREADS): Remove macro.
91148         * modules/lock (Files): Remove build-aux/config.rpath.
91149         (Depends-on): Remove havelib. Add threadlib.
91150         (configure.ac-early): Remove section.
91151         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
91152         * modules/tls (Depends-on): Remove lock. Add threadlib.
91153         (Link): New section, copied from threadlib.
91154         * MODULES.html.sh (Multithreading): Add threadlib.
91156 2008-08-14  Bruno Haible  <bruno@clisp.org>
91158         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
91159         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
91160         glthread_rwlock_unlock, glthread_rwlock_destroy,
91161         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
91162         glthread_recursive_lock_destroy): Define as macros always.
91163         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
91164         glthread_lock_lock.
91165         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
91166         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
91167         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
91168         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
91169         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
91170         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
91171         (glthread_recursive_lock_lock_func): Renamed from
91172         glthread_recursive_lock_lock.
91173         (glthread_recursive_lock_unlock_func): Renamed from
91174         glthread_recursive_lock_unlock.
91175         (glthread_recursive_lock_destroy_func): Renamed from
91176         glthread_recursive_lock_destroy.
91178 2008-08-14  Bruno Haible  <bruno@clisp.org>
91180         * lib/glthread/lock.h: Renamed from lib/lock.h.
91181         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
91182         * lib/glthread/tls.h: Renamed from lib/tls.h.
91183         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
91184         * lib/fstrcmp.c: Update includes.
91185         * lib/strsignal.c: Update includes.
91186         * modules/lock (Files, Makefile.am): Update.
91187         (Include): Change to "glthread/lock.h".
91188         * modules/tls (Files, Makefile.am): Update.
91189         (Include): Change to "glthread/tls.h".
91190         * tests/test-lock.c: Update includes.
91191         * tests/test-tls.c: Update includes.
91192         * NEWS: Mention the renamed header files.
91194 2008-08-11  Jim Meyering  <meyering@redhat.com>
91196         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
91198 2008-08-11  Eric Blake  <ebb9@byu.net>
91200         test-c-stack: avoid C99-ism
91201         * tests/test-c-stack.c (main): Fix whitespace, move declaration
91202         before statement.
91203         Reported by Alain Guibert.
91205 2008-08-10  Jim Meyering  <meyering@redhat.com>
91207         ensure that return value of uinttostr et al are not ignored
91208         * lib/inttostr.h (__GNUC_PREREQ): Define.
91209         (__attribute_warn_unused_result__): Define.
91210         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
91212 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
91214         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
91215         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
91217 2008-08-07  Jim Meyering  <meyering@redhat.com>
91219         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
91221         * modules/mkstemp (License): Relicense under LGPLv2+.
91222         * modules/tempname (License): Likewise.
91224 2008-08-06  Bruno Haible  <bruno@clisp.org>
91226         * lib/poll.c (poll): Further micro-optimization.
91228 2008-08-06  Jim Meyering  <meyering@redhat.com>
91230         inet_pton.c: use locale-independent tolower
91231         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
91232         (inet_pton6): Use c_tolower rather than tolower.
91233         * modules/inet_pton (Depends-on): Add c-ctype.
91235 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
91237         * lib/poll.c (poll): Avoid division when timeout is 0, cache
91238         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
91240 2008-08-06  Jim Meyering  <meyering@redhat.com>
91242         * modules/inet_pton (License): Relicense under LGPLv2+.
91244 2008-08-03  Bruno Haible  <bruno@clisp.org>
91246         Additional non-aborting API for lock and tls.
91247         * lib/lock.h: Include <errno.h>.
91248         (glthread_lock_init): New macro/function.
91249         (gl_lock_init): Define as wrapper around glthread_lock_init.
91250         (glthread_lock_lock): New macro/function.
91251         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
91252         (glthread_lock_unlock): New macro/function.
91253         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
91254         (glthread_lock_destroy): New macro/function.
91255         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
91256         (glthread_rwlock_init): New macro/function.
91257         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
91258         (glthread_rwlock_rdlock): New macro/function.
91259         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
91260         (glthread_rwlock_wrlock): New macro/function.
91261         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
91262         (glthread_rwlock_unlock): New macro/function.
91263         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
91264         (glthread_rwlock_destroy): New macro/function.
91265         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
91266         (glthread_recursive_lock_init): New macro/function.
91267         (gl_recursive_lock_init): Define as wrapper around
91268         glthread_recursive_lock_init.
91269         (glthread_recursive_lock_lock): New macro/function.
91270         (gl_recursive_lock_lock): Define as wrapper around
91271         glthread_recursive_lock_lock.
91272         (glthread_recursive_lock_unlock): New macro/function.
91273         (gl_recursive_lock_unlock): Define as wrapper around
91274         glthread_recursive_lock_unlock.
91275         (glthread_recursive_lock_destroy): New macro/function.
91276         (gl_recursive_lock_destroy): Define as wrapper around
91277         glthread_recursive_lock_destroy.
91278         (glthread_once): New macro/function.
91279         (gl_once): Define as wrapper around glthread_once.
91280         Update function declarations.
91281         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
91282         glthread_rwlock_init. Return error code.
91283         (glthread_rwlock_rdlock_multithreaded): Renamed from
91284         glthread_rwlock_rdlock. Return error code.
91285         (glthread_rwlock_wrlock_multithreaded): Renamed from
91286         glthread_rwlock_wrlock. Return error code.
91287         (glthread_rwlock_unlock_multithreaded): Renamed from
91288         glthread_rwlock_unlock. Return error code.
91289         (glthread_rwlock_destroy_multithreaded): Renamed from
91290         glthread_rwlock_destroy. Return error code.
91291         (glthread_recursive_lock_init_multithreaded): Renamed from
91292         glthread_recursive_lock_init. Return error code.
91293         (glthread_recursive_lock_lock_multithreaded): Renamed from
91294         glthread_recursive_lock_lock. Return error code.
91295         (glthread_recursive_lock_unlock_multithreaded): Renamed from
91296         glthread_recursive_lock_unlock. Return error code.
91297         (glthread_recursive_lock_destroy_multithreaded): Renamed from
91298         glthread_recursive_lock_destroy. Return error code.
91299         (glthread_once_call): Make static.
91300         (glthread_once_multithreaded): Renamed from glthread_once.
91301         * lib/tls.h: Include <errno.h>.
91302         (glthread_tls_key_init): New macro/function.
91303         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
91304         (glthread_tls_set): New macro/function.
91305         (gl_tls_set): Define as wrapper around glthread_tls_set.
91306         (glthread_tls_key_destroy): New macro/function.
91307         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
91308         Update function declarations.
91309         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
91310         glthread_tls_get.
91311         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91313 2008-08-04  Eric Blake  <ebb9@byu.net>
91315         gnumakefile: use space, not TAB, outside of targets
91316         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
91318 2008-08-02  Jim Meyering  <meyering@redhat.com>
91320         getdate.y: avoid locale-dependent date parsing failure
91321         In Turkish locales, getdate would fail to recognize keywords
91322         containing a lowercase "i".  The solution is not to rely on
91323         locale-sensitive case-conversion.
91324         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
91325         (lookup_word): Use c_toupper in place of toupper.
91326         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
91327         Reported by Vefa Bicakci <bicave@superonline.com> in
91328         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
91329         * modules/getdate (Depends-on): Add c-ctype.
91331 2008-08-02  Bruno Haible  <bruno@clisp.org>
91333         * gnulib-tool (func_import): When updating or creating a .gitignore
91334         file, prepend each added line with a slash, and ignore leading slashes
91335         from the existing lines.
91336         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91338 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91340         Portability fix for GNU make 3.79.1.
91341         * top/GNUmakefile: Avoid 'else COND', which older GNU make
91342         versions do not understand.
91344 2008-08-01  Bruno Haible  <bruno@clisp.org>
91346         Work around bug of HP-UX 10.20 cc with -0.0 literal.
91347         * tests/test-isnanf.h (zero): New variable.
91348         (main): Avoid literal -0.0f.
91349         * tests/test-isnand.h (zero): New variable.
91350         (main): Avoid literal -0.0.
91351         * tests/test-isnanl.h (zero): New variable.
91352         (main): Avoid literal -0.0L.
91353         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
91354         (test_float, test_double, test_long_double): Avoid literals -0.0f,
91355         -0.0, -0.0L.
91356         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
91357         (test_signbitd): Avoid literal -0.0.
91358         (test_signbitl): Avoid literal -0.0L.
91359         * tests/test-ceilf1.c (zero): New variable.
91360         (main): Avoid literal -0.0f.
91361         * tests/test-ceill.c (zero): New variable.
91362         (main): Avoid literal -0.0L.
91363         * tests/test-floorf1.c (zero): New variable.
91364         (main): Avoid literal -0.0f.
91365         * tests/test-floorl.c (zero): New variable.
91366         (main): Avoid literal -0.0L.
91367         * tests/test-roundf1.c (zero): New variable.
91368         (main): Avoid literal -0.0f.
91369         * tests/test-round1.c (zero): New variable.
91370         (main): Avoid literal -0.0.
91371         * tests/test-roundl.c (zero): New variable.
91372         (main): Avoid literal -0.0L.
91373         * tests/test-truncf1.c (zero): New variable.
91374         (main): Avoid literal -0.0f.
91375         * tests/test-trunc1.c (zero): New variable.
91376         (main): Avoid literal -0.0.
91377         * tests/test-truncl.c (zero): New variable.
91378         (main): Avoid literal -0.0L.
91379         * tests/test-frexp.c (zero): New variable.
91380         (main): Avoid literal -0.0.
91381         * tests/test-frexpl.c (zero): New variable.
91382         (main): Avoid literal -0.0L.
91383         * tests/test-ldexpl.c (zero): New variable.
91384         (main): Avoid literal -0.0L.
91385         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
91386         (zerod, zerol): New variables.
91387         (test_function): Avoid literals -0.0, -0.0L.
91388         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
91389         (zerod, zerol): New variables.
91390         (test_function): Avoid literals -0.0, -0.0L.
91391         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
91392         (zerod, zerol): New variables.
91393         (test_function): Avoid literals -0.0, -0.0L.
91394         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
91395         (zerod, zerol): New variables.
91396         (test_function): Avoid literals -0.0, -0.0L.
91397         * tests/test-strtod.c (zero): New variable.
91398         (main): Avoid literal -0.0.
91399         Reported by Jonathan C. Patschke <jp@centtech.com>.
91401 2008-07-31  Jim Meyering  <meyering@redhat.com>
91403         sha256.h: correct definition of SHA224_DIGEST_SIZE
91404         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
91405         Reported by Paulie Pena IV <paulie4@gmail.com>.
91406         Define as 224 / 8, rather than as a literal.
91407         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
91408         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
91409         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
91411 2008-07-31  Bruno Haible  <bruno@clisp.org>
91413         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
91414         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
91415         Reported by Jonathan Patschke <jp@centtech.com>.
91417 2008-07-31  Bruno Haible  <bruno@clisp.org>
91419         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
91420         Reported by Paolo Bonzini <bonzini@gnu.org>.
91422 2008-07-30  Eric Blake  <ebb9@byu.net>
91424         test-strtod: allow compilation without -lm
91425         * tests/test-strtod.c (main): Avoid link dependence on fabs.
91426         Reported by Dennis Clarke <blastwave@gmail.com>.
91428 2008-07-28  Jim Meyering  <meyering@redhat.com>
91430         bootstrap: work also when there are no .po files in po/
91431         * build-aux/bootstrap (update_po_files): Complete the change
91432         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
91434 2008-07-27  Jim Meyering  <meyering@redhat.com>
91436         * users.txt: Add zile.
91438 2008-07-26  Ben Pfaff  <blp@gnu.org>
91440         Add missing dependencies on new m4/exponent[fdl].m4 files.
91441         * modules/isnanf-nolibm: Add m4/exponentf.m4.
91442         * modules/isnand-nolibm: Add m4/exponentd.m4.
91443         * modules/isnanl-nolibm: Add m4/exponentl.m4.
91444         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
91445         m4/isnan[fdl].m4, because the macros actually used moved.
91446         Reported by Jim Meyering.
91448 2008-07-14  Ben Pfaff  <blp@gnu.org>
91450         Add isinf module.
91451         * lib/isinf.c: New file.
91452         * lib/math.in.h: Define isinf macro if we have decided to replace
91453         it.
91454         * m4/isinf.m4: New file.
91455         * m4/math_h.m4: Initialize and substitute variables for isinf
91456         module.
91457         * modules/isinf: New file.
91458         * modules/isinf-tests: New file.
91459         * modules/math: Add substitutions for new module.
91460         * tests/test-isinf.c: New file.
91461         * doc/posix-functions/isinf.texi: Mention new module.
91462         * MODULES.html.sh: Mention new module.
91464 2008-07-14  Ben Pfaff  <blp@gnu.org>
91466         Factor out some macros for use by additional modules.
91467         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
91468         exponentf.m4.
91469         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
91470         exponentd.m4.
91471         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
91472         file exponentl.m4.
91473         * m4/exponentf.m4: New file.
91474         * m4/exponentd.m4: New file.
91475         * m4/exponentl.m4: New file.
91476         * modules/isnanf: Use new file m4/exponentf.m4.
91477         * modules/isnand: Use new file m4/exponentd.m4.
91478         * modules/isnanl: Use new file m4/exponentl.m4.
91480 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
91482         mktime.c: normalize tp->tm_isdst value to -1/0/1.
91483         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
91484         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
91485         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
91487         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
91488         readlink on platforms without PATH_MAX.
91490 2008-07-21  Eric Blake  <ebb9@byu.net>
91492         Warn, not fail, on stale version.
91493         * top/GNUmakefile (_curr-ver): Tone down previous patch.
91495         Don't allow installation with stale devel version number.
91496         * top/GNUmakefile (_is-install-target): New macro.
91497         (_curr-ver): Forbid installation with stale version number.
91499 2008-07-20  Bruno Haible  <bruno@clisp.org>
91501         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
91502         TESTS_ENVIRONMENT.
91503         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
91505 2008-07-20  Bruno Haible  <bruno@clisp.org>
91507         * lib/c-stack.h (c_stack_action): Add documentation.
91508         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
91510 2008-07-20  Bruno Haible  <bruno@clisp.org>
91512         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
91513         * modules/readlink (License): Likewise.
91515 2008-07-17  Eric Blake  <ebb9@byu.net>
91517         * modules/c-stack (Link): Fix typo.
91519         Make c-stack use libsigsegv, when available.
91520         * modules/c-stack (Depends-on): Add libsigsegv.
91521         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
91522         needed.
91523         * lib/c-stack.c (SIGSTKSZ): Define fallback.
91524         (segv_handler, overflow_handler, c_stack_action)
91525         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
91526         implementation when libsigsegv is available, but only when using
91527         the library is necessary.
91528         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
91529         comment, explaining why XSI check fails on Linux.
91530         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
91531         * tests/test-c-stack2.sh: Tweak skip message.
91532         * NEWS: Document new link-time requirements.
91534 2008-07-16  Eric Blake  <ebb9@byu.net>
91536         c-stack: Expose false positives when not using libsigsegv.
91537         * modules/c-stack-tests (Files): Expand test.
91538         * tests/test-c-stack.c (main): Add means to conditionally trigger
91539         non-overflow SIGSEGV.
91540         * tests/test-c-stack2.sh: New file.
91542 2008-07-14  Bruno Haible  <bruno@clisp.org>
91544         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
91545         Reported by Eric Blake.
91547 2008-07-14  Sam Steingold  <sds@gnu.org>
91548             Bruno Haible  <bruno@clisp.org>
91550         New module libsigsegv.
91551         * modules/libsigsegv: New file.
91552         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
91553         modifications.
91554         * MODULES.html.sh (Signal handling): New section.
91556 2008-07-14  Bruno Haible  <bruno@clisp.org>
91558         * modules/unictype/ctype-* (Description): Add the word "function".
91559         Improves the resulting doc in MODULES.html.
91561 2008-07-12  Ben Pfaff  <blp@gnu.org>
91563         Add longlong module.
91564         * modules/longlong: New file.
91566 2008-07-12  Bruno Haible  <bruno@clisp.org>
91568         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
91569         to empty.
91571 2008-07-10  Ben Pfaff  <blp@gnu.org>
91573         Add isnan module.
91574         * doc/posix-functions/isnan.texi: Mention new module.
91575         * lib/math.in.h: Define isnan macro if we have decided to replace
91576         it.
91577         * m4/isnan.m4: New file.
91578         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
91579         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
91580         also.
91581         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
91582         redundancy.
91583         * m4/math_h.m4: Initialize and substitute variables for isnan
91584         module.
91585         * modules/isnan: New file.
91586         * modules/isnan-tests: New file.
91587         * modules/math: Add substitutions for new module.
91588         * tests/test-isnan.c: New file.
91589         * MODULES.html.sh: Mention new module.
91591 2008-07-10  Ben Pfaff  <blp@gnu.org>
91593         Add isnanf module.
91594         * lib/isnanf.m4: New file.
91595         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
91596         (gl_HAVE_ISNANF_IN_LIBM): New macro.
91597         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
91598         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
91599         * modules/isnanf: New file.
91600         * modules/isnanf-tests: New file.
91601         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
91602         files.
91603         * tests/test-isnanf-nolibm.c: factored most of its contents into
91604         new file tests/test-isnanf.h.
91605         * tests/test-isnanf.h: New file.
91606         * tests/test-isnanf.c: New file.
91607         * MODULES.html.sh: Mention new module.
91608         * doc/glibc-functions/isnanf.texi: Mention new module.
91610 2008-07-10  Ben Pfaff  <blp@gnu.org>
91612         Add isnand module.
91613         * lib/isnand.h: New file.
91614         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
91615         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
91616         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
91617         functionality also.
91618         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
91619         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
91620         (gl_HAVE_ISNAND_IN_LIBM): New macro.
91621         * modules/isnand: New file.
91622         * modules/isnand-tests: New file.
91623         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
91624         files.
91625         * tests/test-isnand-nolibm.c: factored most of its contents into
91626         new file tests/test-isnand.h.
91627         * tests/test-isnand.h: New file.
91628         * tests/test-isnand.c: New file.
91629         * MODULES.html.sh: Mention new module.
91631 2008-07-10  Ben Pfaff  <blp@gnu.org>
91633         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
91634         * lib/isnand.h: Rename lib/isnand-nolibm.h.
91635         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
91636         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
91637         * modules/isnanf-nolibm: Update references to renamed files.
91638         * modules/isnand-nolibm: Likewise.
91639         * modules/isnanf-nolibm-tests: Likewise.
91640         * modules/isnand-nolibm-tests: Likewise.
91641         * lib/frexp.c: Likewise.
91642         * lib/isfinite.c: Likewise.
91643         * lib/signbitd.c: Likewise.
91644         * lib/signbitf.c: Likewise.
91645         * lib/vasnprintf.c: Likewise.
91646         * tests/test-ceilf1.c: Likewise.
91647         * tests/test-ceilf2.c: Likewise.
91648         * tests/test-floorf1.c: Likewise.
91649         * tests/test-floorf2.c: Likewise.
91650         * tests/test-frexp.c: Likewise.
91651         * tests/test-round1.c: Likewise.
91652         * tests/test-round2.c: Likewise.
91653         * tests/test-roundf1.c: Likewise.
91654         * tests/test-strtod.c: Likewise.
91655         * tests/test-trunc1.c: Likewise.
91656         * tests/test-trunc2.c: Likewise.
91657         * tests/test-truncf1.c: Likewise.
91658         * tests/test-truncf2.c: Likewise.
91659         * NEWS: Mention the renamed header files.
91661 2008-07-11  Jim Meyering  <meyering@redhat.com>
91663         vc-list-files: make the last-resort awk code more portable
91664         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
91665         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
91666         does not support it.
91668 2008-07-10  Eric Blake  <ebb9@byu.net>
91670         Work with tar's bootstrap.
91671         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
91672         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
91673         an m4 comment.
91675 2008-07-09  Jim Meyering  <meyering@redhat.com>
91677         posix-shell.m4: fix typo that made this test malfunction
91678         * m4/posix-shell.m4: Remove capitalization in variable name.
91680 2008-07-08  Bruno Haible  <bruno@clisp.org>
91682         * m4/onceonly.m4: Update comments.
91683         Reported by Ben Pfaff <blp@cs.stanford.edu>.
91685 2008-07-04  Jim Meyering  <meyering@redhat.com>
91687         * users.txt: Add vc-dwim.
91688         (bison, coreutils): Use the gitweb URL.
91690 2008-07-03  Jim Meyering  <meyering@redhat.com>
91692         * users.txt: Add libffcall.  From Sam Steingold.
91694 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
91696         getdate.y: do not ignore TZ with relative day, month or year offset
91697         * lib/getdate.y (get_date): Move the tz-handling block to follow the
91698         relative-date-handling, since otherwise, the latter would clobber the
91699         sole output (an updated Start value) of the tz-handling block.
91700         * tests/test-getdate.c: Tests for the fix
91702 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91704         Recognize 'foo_LIBRARIES += libgnu.a'.
91705         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
91706         makefile snippet has already specified an installation location,
91707         also using '+='.
91709 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
91711         getdate.y: factor out common actions
91712         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
91713         Use them in place of open-coded actions.
91715 2008-07-01  Simon Josefsson  <simon@josefsson.org>
91717         Add self-test for getdate module.
91718         * modules/getdate-tests: New file.
91719         * tests/test-getdate.c: New file.
91721 2008-06-29  Bruno Haible  <bruno@clisp.org>
91723         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
91724         .gitignore.
91725         Reported by Sylvain Beucler <beuc@beuc.net>.
91727 2008-06-29  Bruno Haible  <bruno@clisp.org>
91729         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
91730         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
91732 2008-06-29  Bruno Haible  <bruno@clisp.org>
91734         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
91735         EXTRA_DIST.
91736         Reported by Sylvain Beucler <beuc@beuc.net>.
91738 2008-06-26  Jim Meyering  <meyering@redhat.com>
91740         make several modules depend on the "open" module
91741         This provides slightly increased consistency when opening-for-write
91742         the name of a non-directory spelled with a trailing slash.
91743         * modules/chdir-safer: Likewise.
91744         * modules/chown: Likewise.
91745         * modules/clean-temp: Likewise.
91746         * modules/copy-file: Likewise.
91747         * modules/fchdir: Likewise.
91748         * modules/fcntl-safer: Likewise.
91749         * modules/pipe: Likewise.
91750         * modules/utime: Likewise.
91751         Prompted by Eric Blake and Bruno Haible.
91753 2008-06-24  Andreas Schwab  <schwab@suse.de>
91755         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
91756         literals can be used as initializers for global variables.
91758 2008-06-23  Eric Blake  <ebb9@byu.net>
91760         Make gnulib-cache.m4 easier to diff.
91761         * gnulib-tool (func_import): Allow newlines when reading cached
91762         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
91764 2008-06-23  Bruno Haible  <bruno@clisp.org>
91766         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
91767         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
91768         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
91769         m4/signalblocking.m4.
91770         (gl_PREREQ_SIGACTION): Don't invoke it.
91771         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
91772         gl_PREREQ_SIG_HANDLER_H.
91773         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
91774         Don't check for sigaction here.
91776 2008-06-23  Bruno Haible  <bruno@clisp.org>
91778         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
91779         (install_handlers): Don't set the SA_RESETHAND flag.
91781 2008-06-23  Bruno Haible  <bruno@clisp.org>
91783         * m4/sigaction.m4: Comment fixes.
91784         * lib/signal.in.h: Likewise.
91786 2008-06-23  Eric Blake  <ebb9@byu.net>
91788         Fix typo.
91789         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
91791         Avoid SA_ namespace.
91792         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
91793         Reported by Ralf Wildenhues.
91795         Avoid test failure due to SA_RESTORER.
91796         * tests/test-sigaction.c (SA_MASK): New macro.
91797         (main): Avoid failing due to extension flags being set.
91798         Reported by Jim Meyering.
91800         Revert use of sig-handler.h in sigprocmask.c.
91801         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
91802         it requires the existence of struct sigaction.
91803         * lib/sigprocmask.c (handler_t): Restore typedef.
91804         (rpl_signal, old_handlers): Use local type.
91806 2008-06-22  Bruno Haible  <bruno@clisp.org>
91808         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
91809         conditionally.
91810         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
91812 2008-06-22  Bruno Haible  <bruno@clisp.org>
91814         * doc/posix-functions/siginterrupt.texi: Move note.
91816         * lib/signal.in.h (SA_RESTART): New macro.
91817         * lib/sigaction.c: Update comment.
91819         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
91821         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
91822         (gl_PREREQ_SIGPROCMASK): Invoke it.
91823         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
91825         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
91827         * lib/sigprocmask.c: Update a comment.
91829 2008-06-21  Eric Blake  <ebb9@byu.net>
91831         Use sigaction module rather than signal().
91832         * modules/c-stack (Depends-on): Add sigaction.
91833         * modules/fatal-signal (Depends-on): Likewise.
91834         * modules/nanosleep (Depends-on): Likewise.
91835         * modules/sigprocmask (Files): Add sig-handler.h.
91836         * modules/sigaction (Files): Likewise.
91837         * lib/sig-handler.h (get_handler): New file, suggested by Paul
91838         Eggert.
91839         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
91840         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
91841         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
91842         (init_fatal_signals): Likewise.
91843         * lib/nanosleep.c (rpl_nanosleep): Likewise.
91844         (siginterrupt): Delete fallback.
91845         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
91846         instead.
91847         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
91848         siginterrupt.
91850         New module sigaction, for mingw.
91851         * modules/sigaction: New module...
91852         * modules/sigaction-tests: ...and its test.
91853         * m4/sigaction.m4: New file.
91854         * lib/sigaction.c: Likewise.
91855         * tests/test-sigaction.c: Likewise.
91856         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
91857         * modules/signal (Makefile.am): Likewise.
91858         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
91859         needed.
91860         * doc/posix-headers/signal.texi (signal.h): Mention provided
91861         types.
91862         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
91863         that sigaction is preferable.
91864         * doc/posix-functions/sigaction.texi (sigaction): Mention new
91865         module.
91866         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91867         sigaction.
91869         Improve robustness of sigprocmask by overriding signal.
91870         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
91871         is in use.
91872         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
91873         (SIGKILL, SIGSTOP): Provide fallbacks.
91874         (rpl_signal): Implement.
91875         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
91876         signal can be called inside handlers.
91878         Fix nanosleep module on mingw.
91879         * modules/nanosleep (Depends-on): Add sys_select.
91880         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
91882         Fix licensing of sigprocmask.
91883         * modules/raise (License): Relicense as LGPL.
91885 2008-06-21  Bruno Haible  <bruno@clisp.org>
91887         * lib/propername.c (proper_name_utf8): Don't use the transliterated
91888         result if it contains question marks.
91889         Reported by Michael Geng <linux@michaelgeng.de>.
91891 2008-06-19  Bruno Haible  <bruno@clisp.org>
91893         Fix CVS-ism.
91894         * doc/gnulib.texi: Include updated-stamp.texi.
91895         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
91896         (updated-stamp.texi): New rule.
91897         (gnulib.info): Depend on it.
91898         * doc/.gitignore: Add updated-stamp.texi.
91899         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
91901 2008-06-19  Bruno Haible  <bruno@clisp.org>
91903         * doc/Makefile (gnulib.info): Update and simplify dependencies.
91904         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
91906 2008-06-19  Eric Blake  <ebb9@byu.net>
91908         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
91909         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
91910         Reported by Stepan Kasal.
91912 2008-06-18  Bruno Haible  <bruno@clisp.org>
91914         * lib/fatal-signal.c (init_fatal_signals): Add comment.
91915         Reported by Eric Blake.
91917 2008-06-18  Eric Blake  <ebb9@byu.net>
91919         Work around cygwin 1.5.25 strsignal bug.
91920         * tests/test-strsignal.c: Allow for const char *.
91921         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
91923 2008-06-18  Simon Josefsson  <simon@josefsson.org>
91925         * users.txt: Update URL to article and add author/date
91926         information.
91928 2008-06-17  Bruno Haible  <bruno@clisp.org>
91930         New macro gl_DISABLE_THREADS.
91931         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
91932         if the user did not pass --enable-threads or --disable-threads option.
91933         (gl_DISABLE_THREADS): New macro.
91934         Reported by Eric Blake <ebb9@byu.net>.
91936 2008-06-17  Bruno Haible  <bruno@clisp.org>
91938         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
91939         when the macro ignores it.
91940         Based on a patch by Eric Blake <ebb9@byu.net>.
91942 2008-06-17  Bruno Haible  <bruno@clisp.org>
91944         * modules/tls (License): Change to LGPLv2+.
91945         Reported by Eric Blake.
91947 2008-06-17  Eric Blake  <ebb9@byu.net>
91949         Simplify c-stack prerequisites.
91950         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
91951         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
91952         no longer requires <ucontext.h> to exist.  Optimize setrlimit
91953         check.
91954         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
91955         <sys/resource.h>.
91957         Move c-stack test into testsuite.
91958         * modules/c-stack-tests: New file.
91959         * lib/c-stack.c [DEBUG]: Move test program...
91960         * tests/test-c-stack.c: ...into this new file.  Skip rather than
91961         fail test if sigaltstack is lacking.
91962         * tests/test-c-stack.sh: New driver file.
91964 2008-06-16  Eric Blake  <ebb9@byu.net>
91966         Use raise module consistently.
91967         * modules/fatal-signal (Depends-on): Add raise.
91968         * modules/sigprocmask (Depends-on): Likewise.
91969         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
91970         * lib/sigprocmask.c (sigprocmask): Likewise.
91971         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
91972         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
91974         Fix compliance bug in sigpending.
91975         * lib/sigprocmask.c (sigpending): Return pending array via
91976         parameter, not return value.
91978 2008-06-14  Eric Blake  <ebb9@byu.net>
91980         Improve obstack-printf test code.
91981         * tests/test-obstack-printf.c (test_function): Fix comment, and
91982         simplify usage of obstack_* in macros.  Add a test for coverage.
91983         Reported by Bruno Haible.
91985 2008-06-14  Bruno Haible  <bruno@clisp.org>
91987         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
91988         array size as a constant, not as a const variable.
91989         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
91990         AC_USE_SYSTEM_EXTENSIONS.
91991         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
91992         Test whether the obstack_printf function actually exists.
91993         * modules/obstack-printf (Depends-on): Add extensions.
91994         (Include): Remove obstack.h.
91995         * modules/obstack-printf-posix (Depends-on): Add extensions.
91996         (Include): Remove obstack.h.
91998 2008-06-13  Eric Blake  <ebb9@byu.net>
92000         Add obstack-printf and obstack-printf-posix modules.
92001         * modules/obstack-printf: New file.
92002         * modules/obstack-printf-posix: Likewise.
92003         * MODULES.html.sh (Misc): Mention them.
92004         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
92005         Likewise.
92006         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
92007         Likewise.
92008         * modules/stdio (Makefile.am): Accomodate new modules.
92009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92010         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
92011         Declare.
92012         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
92013         functions.
92014         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
92015         (gl_REPLACE_OBSTACK_PRINTF): New macros
92016         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
92017         * tests/test-obstack-printf.c: New file.
92018         * modules/obstack-printf-tests: Likewise.
92019         * modules/obstack-printf-posix-tests: Likewise.
92021 2008-06-11  Bruno Haible  <bruno@clisp.org>
92023         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
92024         * lib/open.c: Include errno.h.
92025         (open): Fail when attempting to write to a file that has a trailing
92026         slash.
92027         * tests/test-open.c (main): Test against trailing slash bug.
92028         * doc/posix-functions/open.texi: Mention the trailing slash bug.
92030 2008-06-10  Bruno Haible  <bruno@clisp.org>
92032         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
92033         for $? to work inside the trap command, with various /bin/sh-s.
92034         * tests/test-vc-list-files-cvs.sh: Likewise.
92036 2008-06-10  Bruno Haible  <bruno@clisp.org>
92038         * lib/acl-internal.h: Don't include gettext.h here.
92039         * lib/set-mode-acl.c: Include gettext.h here.
92040         * lib/copy-acl.c: Likewise.
92042 2008-06-10  Bruno Haible  <bruno@clisp.org>
92044         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
92045         * lib/wait-process.c (wait_subprocess): Likewise.
92046         * lib/execute.h (execute): Add termsigp argument.
92047         * lib/execute.c (execute): Likewise.
92048         * lib/csharpcomp.c (compile_csharp_using_pnet,
92049         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
92050         * lib/csharpexec.c (execute_csharp_using_pnet,
92051         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
92052         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
92053         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
92054         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
92055         is_jikes_present): Update.
92056         * lib/javaexec.c (execute_java_class): Update.
92057         * lib/javaversion.c (execute_and_read_line): Update.
92058         * NEWS: Document the changes.
92059         Reported by Eric Blake.
92061 2008-06-10  Eric Blake  <ebb9@byu.net>
92063         Add missing include.
92064         * tests/test-strstr.c (includes): Add <signal.h>.
92065         * tests/test-strcasestr.c (includes): Likewise.
92066         * tests/test-memmem.c (includes): Likewise.
92068 2008-06-10  Bruno Haible  <bruno@clisp.org>
92070         * lib/wait-process.c (wait_subprocess): Add an assertion.
92072 2008-06-10  Bruno Haible  <bruno@clisp.org>
92074         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
92076 2008-06-10  Bruno Haible  <bruno@clisp.org>
92078         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
92079         using alarm().
92080         * tests/test-strcasestr.c (main): Likewise.
92081         * tests/test-strstr.c (main): Likewise.
92083 2008-06-09  Bruno Haible  <bruno@clisp.org>
92085         Work around the Solaris 10 ACE ACLs ABI change.
92086         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
92087         declare if ACL_NO_TRIVIAL is present.
92088         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
92089         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
92090         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
92091         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
92092         define if ACL_NO_TRIVIAL is present.
92093         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
92094         and use the current ABI.
92095         (file_has_acl): Use same #if condition as elsewhere.
92096         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
92097         in use, and use the current ABI.
92098         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
92099         Reported by Jim Meyering.
92101 2008-06-09  Eric Blake  <ebb9@byu.net>
92103         Work around environments that (stupidly) ignore SIGALRM.
92104         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
92105         before using alarm().
92106         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92107         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
92108         Reported by Ian Beckwith <ianb@erislabs.net>.
92110         Produce autobuild blurb earlier in log.
92111         * modules/autobuild (configure.ac-early): Move AB_INIT here.
92113 2008-06-09  Jim Meyering  <meyering@redhat.com>
92114         and Ondřej Vašík  <ovasik@redhat.com>
92116         utimens.c: correct kernel bug work-around
92117         Ondřej Vašík found that the invalid return value of 280 indicates
92118         failure, not success, and the kernel bug we're trying to work
92119         around affects not just the utimensat call, but also the fallback
92120         futimens call.
92121         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
92122         not success.
92123         [HAVE_FUTIMENS]: Use the same work-around, here.
92125 2008-06-09  Jim Meyering  <meyering@redhat.com>
92127         add more guards around definition of ACE_-related code
92128         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
92129         ALLOW and ACE_OWNER are also defined.
92131 2008-06-08  Bruno Haible  <bruno@clisp.org>
92133         * lib/acl-internal.h: Add me as co-author.
92134         * lib/file-has-acl.c: Likewise.
92135         * lib/set-mode-acl.c: Likewise.
92136         * lib/copy-acl.c: Likewise.
92138 2008-06-08  Bruno Haible  <bruno@clisp.org>
92140         Add support for AIX ACLs.
92141         * lib/acl-internal.h (acl_nontrivial): New declaration.
92142         * lib/file-has-acl.c (acl_nontrivial): New function.
92143         (file_has_acl): Add implementation using AIX 4 ACL API.
92144         * lib/set-mode-acl.c (qset_acl): Likewise.
92145         * lib/copy-acl.c (qcopy_acl): Likewise.
92147 2008-06-08  Bruno Haible  <bruno@clisp.org>
92149         Add support for HP-UX ACLs.
92150         * lib/acl-internal.h (acl_nontrivial): New declaration.
92151         * lib/file-has-acl.c (acl_nontrivial): New function.
92152         (file_has_acl): Add implementation using HP-UX 11 ACL API.
92153         * lib/set-mode-acl.c (qset_acl): Likewise.
92154         * lib/copy-acl.c (qcopy_acl): Likewise.
92156 2008-06-08  Bruno Haible  <bruno@clisp.org>
92158         Add support for Cygwin ACLs.
92159         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
92160         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
92161         the chmod_or_fchmod call.
92162         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
92164 2008-06-08  Bruno Haible  <bruno@clisp.org>
92166         Fix bug with setuid modes in Solaris 10+ code.
92167         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
92168         succeeded, when the mode contains some special bits.
92170 2008-06-08  Bruno Haible  <bruno@clisp.org>
92172         Add support for Solaris 7..10 ACLs.
92173         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
92174         declarations.
92175         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
92176         functions.
92177         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
92178         * lib/set-mode-acl.c (qset_acl): Likewise.
92179         * lib/copy-acl.c (qcopy_acl): Likewise.
92181 2008-06-08  Bruno Haible  <bruno@clisp.org>
92183         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
92184         declaration.
92185         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
92186         (acl_access_nontrivial): Remove MacOS X case.
92187         (file_has_acl): Use acl_extended_nontrivial.
92188         * lib/copy-acl.c (qcopy_acl): Likewise.
92190 2008-06-08  Bruno Haible  <bruno@clisp.org>
92192         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
92194 2008-06-08  Jim Meyering  <meyering@redhat.com>
92196         * modules/acl (Maintainer): Add Bruno Haible.
92198 2008-06-07  Bruno Haible  <bruno@clisp.org>
92200         Improve support for Tru64 ACLs.
92201         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
92202         ACL on OSF/1.
92204 2008-06-07  Bruno Haible  <bruno@clisp.org>
92206         Add support for MacOS X ACLs.
92207         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
92208         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
92209         * lib/set-mode-acl.c (qset_acl): Likewise.
92210         * lib/copy-acl.c (qcopy_acl): Likewise.
92212 2008-06-07  Bruno Haible  <bruno@clisp.org>
92214         Fix memory leak introduced on 2008-05-22.
92215         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
92216         use.
92218 2008-06-07  Bruno Haible  <bruno@clisp.org>
92220         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
92221         to construct an empty ACL.
92223 2008-06-07  Bruno Haible  <bruno@clisp.org>
92225         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
92226         precisely.
92227         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
92229 2008-06-07  Bruno Haible  <bruno@clisp.org>
92231         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
92232         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
92234 2008-06-07  Bruno Haible  <bruno@clisp.org>
92236         * doc/posix-functions/_setjmp.texi: Explain the use of this function
92237         regardless of POSIX.
92238         * doc/posix-functions/_longjmp.texi: Likewise.
92239         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
92240         SystemV platform in this case.
92242 2008-06-06  Eric Blake  <ebb9@byu.net>
92244         Document abort() bugs.
92245         * doc/posix-functions/abort.texi (abort): Mention anomalies.
92247         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
92248         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
92249         sigsetjmp.
92250         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
92251         siglongjmp, but only as a macro.
92252         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
92253         is obsolete.
92254         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
92256         Tweak documentation to cover cygwin argz bugs.
92257         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
92258         argz bug fix; no code change needed since no cygwin releases
92259         occurred between the last fix and the bug being tested.
92260         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
92261         module and recently fixed cygwin bugs.
92262         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
92263         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
92264         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
92265         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
92266         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
92267         Likewise.
92268         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
92269         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
92270         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
92271         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
92272         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
92273         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
92274         Likewise.
92276         Avoid gcc warning on cygwin.
92277         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
92278         !ACL_NO_TRIVIAL]: Avoid unused variable.
92280 2008-06-05  Eric Blake  <ebb9@byu.net>
92282         Be tolerant of UNKNOWN version in gnulib-tool test dir.
92283         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
92284         git-version-gen fails to come up with a version.
92285         Reported by Simon Josefsson.
92287 2008-06-05  Jim Meyering  <meyering@redhat.com>
92288             Paul Eggert  <eggert@cs.ucla.edu>
92290         utimens.c: work around a probable Linux kernel bug
92291         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
92292         appears to be a kernel bug that causes utimensat to return 280
92293         instead of 0, indicating success.
92295 2008-06-04  Bruno Haible  <bruno@clisp.org>
92297         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
92298         2008-06-01 commit.
92300 2008-06-04  Bruno Haible  <bruno@clisp.org>
92302         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
92303         * lib/file-has-acl.c (acl_access_nontrivial): New function.
92304         (file_has_acl): Use it. Save errno afterwards.
92305         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
92307 2008-06-03  Bruno Haible  <bruno@clisp.org>
92309         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
92310         draft code. Simplify #ifs.
92311         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
92312         Put Solaris code after POSIX-draft code. Fix comments regarding
92313         Solaris 10, HP-UX. Mention Cygwin.
92314         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
92316 2008-06-03  Eric Blake  <ebb9@byu.net>
92318         Provide fallback for older kernels.
92319         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
92320         Provide runtime fallback if kernel lacks support.
92321         Reported by Mike Frysinger.
92323 2008-06-02  Bruno Haible  <bruno@clisp.org>
92325         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
92326         it exists.
92328 2008-06-02  Bruno Haible  <bruno@clisp.org>
92330         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
92331         * lib/copy-acl.c (qcopy_acl): Update comment.
92333 2008-06-02  Bruno Haible  <bruno@clisp.org>
92335         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
92336         like ACL APIs.
92338 2008-06-02  Bruno Haible  <bruno@clisp.org>
92340         * tests/test-file-has-acl.sh: Use different code for Cygwin.
92341         * tests/test-set-mode-acl.sh: Likewise.
92342         * tests/test-copy-acl.sh: Likewise.
92343         * tests/test-copy-file.sh: Likewise.
92345 2008-06-02  Bruno Haible  <bruno@clisp.org>
92347         * tests/test-file-has-acl.sh: Remove unused code.
92349 2008-06-01  Bruno Haible  <bruno@clisp.org>
92351         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
92352         (copy_acl): Just a wrapper around qcopy_acl that emits the error
92353         messages.
92354         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
92356 2008-06-01  Bruno Haible  <bruno@clisp.org>
92358         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
92359         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
92360         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
92361         APIs.
92362         * modules/acl-tests (configure.ac): Remove tests now contained in
92363         m4/acl.m4.
92365 2008-06-02  Jim Meyering  <meyering@redhat.com>
92367         announce-gen: use a better key-server host name
92368         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
92369         it may be more consistently reliable.  Suggested by Werner Koch
92370         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
92372 2008-06-01  Bruno Haible  <bruno@clisp.org>
92374         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
92375         Reported by Voroskoi Andras <voroskoi@gmail.com>.
92377 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
92379         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
92381 2008-06-01  Bruno Haible  <bruno@clisp.org>
92383         New ACL tests.
92384         * tests/test-file-has-acl.sh: New file.
92385         * tests/test-file-has-acl.c: New file.
92386         * tests/test-set-mode-acl.sh: New file.
92387         * tests/test-set-mode-acl.c: New file.
92388         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
92389         * tests/test-copy-acl.c: New file.
92390         * modules/acl-tests: New file, based on modules/copy-file-tests.
92391         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
92392         (Depends-on): Add acl-tests.
92393         (configure.ac): Remove checks.
92394         (Makefile.am): Don't create test-sameacls program here any more.
92396 2008-06-01  Bruno Haible  <bruno@clisp.org>
92398         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
92399         * tests/test-sameacls.c: Include progname.h.
92400         (main): Invoke set_program_name. Portability fixes for MacOS X,
92401         Solaris, HP-UX.
92403 2008-06-01  Bruno Haible  <bruno@clisp.org>
92405         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
92406         function.
92407         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
92409 2008-06-01  Bruno Haible  <bruno@clisp.org>
92411         * modules/rpmatch (Depends-on): Add strdup.
92413 2008-06-01  Bruno Haible  <bruno@clisp.org>
92415         * lib/pipe.c: Include unistd-safer.h.
92416         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
92417         * modules/pipe (Depends-on): Add unistd-safer.
92419 2008-05-30  Simon Josefsson  <simon@josefsson.org>
92421         * modules/autobuild (configure.ac): Call AB_INIT.
92423 2008-05-30  Simon Josefsson  <simon@josefsson.org>
92425         * tests/test-getaddrinfo.c: Don't print debug messages by default.
92426         Suggested by Bruno Haible <bruno@clisp.org>.
92428 2008-05-30  Simon Josefsson  <simon@josefsson.org>
92430         * tests/test-base64.c: Cast size_t to unsigned long when invoking
92431         printf.  Use %lu instead of %d.  Reported by Bruno Haible
92432         <bruno@clisp.org>.
92434 2008-05-29  Eric Blake  <ebb9@byu.net>
92436         Prefer new POSIX 200x interfaces over futimesat.
92437         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
92438         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
92439         when available.
92440         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
92442 2008-05-28  Bruno Haible  <bruno@clisp.org>
92444         * modules/stpcpy (License): Change to LGPLv2+.
92445         Requested by David Lutterkort <dlutter@redhat.com>.
92447 2008-05-27  Bruno Haible  <bruno@clisp.org>
92449         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
92450         current mingw.
92451         Reported by Jose E. Marchesi <jemarch@gnu.org>.
92453 2008-05-27  Bruno Haible  <bruno@clisp.org>
92455         * modules/iconv_open (Link): New section, from module 'iconv'.
92456         * modules/striconv (Link): Likewise.
92457         * modules/striconveh (Link): Likewise.
92458         * modules/xstriconv (Link): Likewise.
92459         * modules/unicodeio (Link): Likewise.
92460         * modules/propername (Link): Likewise.
92461         Reported by Jim Meyering.
92463 2008-05-26  Jim Meyering  <meyering@redhat.com>
92465         sha256: do not artificially restrict buffer length to be < 2^32
92466         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
92467         uint32_t to size_t.
92468         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
92469         to match.
92471         avoid unaligned access errors, e.g., on sparc
92472         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
92473         direct access through a possibly-unaligned uint64* pointer.
92474         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
92475         direct access through a possibly-unaligned uint32* pointer.
92476         Prompted by this patch from Tom "spot" Callaway:
92477         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
92479         sha512.c: fix typo in comment
92480         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
92482 2008-05-25  Bruno Haible  <bruno@clisp.org>
92484         * lib/set-mode-acl.c: Renamed from lib/acl.c.
92485         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
92486         (Makefile.am): Update lib_SOURCES.
92488 2008-05-25  Bruno Haible  <bruno@clisp.org>
92490         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
92492 2008-05-25  Jim Meyering  <meyering@redhat.com>
92494         useless-if-before-free: freed expr may have white-space differences
92495         * build-aux/useless-if-before-free: Recognize cases in which the
92496         freed expression differs from the tested one in embedded white
92497         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
92498         $1 was used, so we can't make any regexp shy.  Improved tests now
92499         detect this.
92501         useless-if-before-free: accept white space in the expression.
92502         * build-aux/useless-if-before-free: For now, any white space
92503         in the expression must be identical in the free argument.
92505         useless-if-before-free: efficiency tweak
92506         * build-aux/useless-if-before-free: Make the expression-matching
92507         regexp "shy".
92508         Make the *outer* regexp shy, not the expr-matching one.
92510         update code-in-comment to accept cast of free arg
92511         * build-aux/useless-if-before-free: Update regexp.
92513 2008-05-25  Bruno Haible  <bruno@clisp.org>
92515         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
92516         * modules/copy-file-tests (Files, Makefile.am): Update.
92517         * tests/test-copy-file.c (func_test_copy): Update.
92519 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
92521         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
92523 2008-05-23  Bruno Haible  <bruno@clisp.org>
92525         Improve support for ACLs on OSF/1.
92526         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
92527         Remove fallback for unknown flavors of ACLs.
92529 2008-05-22  Bruno Haible  <bruno@clisp.org>
92531         Add support for ACLs on OSF/1.
92532         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
92533         replacements.
92534         (acl_free_text): New macro fallback.
92535         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
92536         acl_free.
92537         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
92538         acl_free_text function. Require AC_C_INLINE.
92540 2008-05-22  Bruno Haible  <bruno@clisp.org>
92542         Make copy_acl work on MacOS X 10.5.
92543         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
92544         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
92545         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
92546         If MODE_INSIDE_ACL, don't assume that every system has the same text
92547         representation for ACLs as FreeBSD.
92548         * lib/copy-acl.c (copy_acl): Add support for platforms with
92549         !MODE_INSIDE_ACL.
92550         * lib/file-has-acl.c (file_has_acl): Likewise.
92551         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
92552         FreeBSD, MacOS X, or IRIX, respectively.
92554 2008-05-22  Bruno Haible  <bruno@clisp.org>
92556         * lib/acl.h: Don't include <sys/acl.h>.
92557         (GETACLCNT): Move fallback to lib/acl-internal.h.
92558         * lib/acl-internal.h: Include <sys/acl.h> here.
92559         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
92561 2008-05-22  Bruno Haible  <bruno@clisp.org>
92563         Split off copy_acl function to separate file.
92564         * lib/copy-acl.c: New file, extracted from lib/acl.c.
92565         * lib/acl.c (copy_acl): Moved function to separate file.
92566         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
92567         * modules/acl (Files): Add lib/copy-acl.c.
92568         (Makefiles.am): Augment lib_SOURCES.
92570 2008-05-22  Bruno Haible  <bruno@clisp.org>
92572         * modules/copy-file-tests: New file.
92573         * tests/test-copy-file.sh: New file.
92574         * tests/test-copy-file.c: New file.
92575         * tests/test-copy-file-sameacls.c: New file.
92577 2008-05-22  Eric Blake  <ebb9@byu.net>
92579         Avoid gcc warning.
92580         * tests/test-memcmp.c (main): Pass NULL indirectly.
92582 2008-05-21  Bruno Haible  <bruno@clisp.org>
92584         Add reference doc about ACLs.
92585         * doc/acl-resources.txt: New file.
92586         * doc/acl-cygwin.txt: New file.
92588 2008-05-21  Bruno Haible  <bruno@clisp.org>
92590         Avoid one more warning from gcc.
92591         * lib/vasnprintf.c (IF_LINT): Update comments.
92592         (VASNPRINTF): Use it also for the 'prefix' array initializer.
92594 2008-05-21  Jim Meyering  <meyering@redhat.com>
92596         avoid a warning from gcc
92597         * lib/vasnprintf.c (IF_LINT): Define.
92598         (scale10_round_decimal_long_double):
92599         Use it to avoid a "may be used uninitialized" warning.
92600         (scale10_round_decimal_double): Likewise.
92602 2008-05-21  Simon Josefsson  <simon@josefsson.org>
92604         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
92605         declared.
92607 2008-05-20  Bruno Haible  <bruno@clisp.org>
92609         * tests/test-memcmp.c (main): Test also the sign of the result. Test
92610         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
92612 2008-05-20  Simon Josefsson  <simon@josefsson.org>
92614         * modules/memcmp-tests: New file.
92615         * tests/test-memcmp.c: New file.
92617 2008-05-19  Bruno Haible  <bruno@clisp.org>
92619         * modules/propername (Notice, configure.ac): Put quoted "..." into
92620         --keyword option.
92621         * lib/propername.h: Update comments accordingly.
92622         Reported by Eric Blake.
92624 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
92626         * modules/getpass-gnu (Depends-on): Add fseeko.
92628 2008-05-19  Simon Josefsson  <simon@josefsson.org>
92630         * modules/base64-tests: New file.
92632 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
92634         * lib/base64.c (base64_decode_ctx): If a decode context structure
92635         was passed in use it to ignore newlines.  If a context structure
92636         was _not_ passed in, continue to treat newlines as garbage (this
92637         is the historical behavior).  Formerly base64_decode.
92638         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
92639         takes a decode context structure.
92640         * lib/base64.h (base64_decode): Macro for four-argument calls.
92641         (base64_decode_alloc): Likewise.
92642         * lib/base64.c (base64_decode_ctx): If a decode context structure
92643         was passed in use it to ignore newlines.  If a context structure
92644         was _not_ passed in, continue to treat newlines as garbage (this
92645         is the historical behavior).  Formerly base64_decode.
92646         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
92647         takes a decode context structure.
92648         * lib/base64.h (base64_decode): Macro for four-argument calls.
92649         (base64_decode_alloc): Likewise.
92651 2008-05-19  Jim Meyering  <meyering@redhat.com>
92653         avoid a warning from gcc
92654         * lib/trim.c (IF_LINT): Define.
92655         (trim2): Use it to avoid a "may be used uninitialized" warning.
92657         Fix doc typo.
92658         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
92660 2008-05-19  Bruno Haible  <bruno@clisp.org>
92662         * doc/glibc-functions/getpass.texi: Document limits of other
92663         implementations.
92665 2008-05-19  Simon Josefsson  <simon@josefsson.org>
92666             Bruno Haible <bruno@clisp.org>
92668         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
92670 2008-05-18  Bruno Haible  <bruno@clisp.org>
92672         * modules/propername: New file, from GNU gettext.
92673         * lib/propername.h: New file, from GNU gettext.
92674         * lib/propername.c: New file, from GNU gettext.
92675         * MODULES.html.sh (Internationalization functions): Add propername.
92677 2008-05-16  Jim Meyering  <meyering@redhat.com>
92678             Bruno Haible  <bruno@clisp.org>
92680         Avoid some warnings from "gcc -Wshadow".
92681         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
92683 2008-05-15  Eric Blake  <ebb9@byu.net>
92685         Extend previous patch to cygwin 1.7.0.
92686         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
92687         fast implementation in cygwin >= 1.7.0.
92688         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
92689         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92691 2008-05-15  Bruno Haible  <bruno@clisp.org>
92693         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
92694         implementation in glibc >= 2.9.
92695         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
92696         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92698 2008-05-15  Bruno Haible  <bruno@clisp.org>
92700         * MODULES.html.sh (Internationalization functions): Remove linebreak.
92701         (Unicode string functions): Add unilbrk/*.
92702         Reported by Karl Berry.
92704 2008-05-15  Eric Blake  <ebb9@byu.net>
92706         Fix violation of <stdbool.h> replacement in regex.
92707         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
92708         * lib/regexec.c (re_search_internal): Likewise.
92709         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
92711 2008-05-15  Jim Meyering  <meyering@redhat.com>
92713         avoid distracting test output when git or cvs is not found
92714         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
92715         * tests/test-vc-list-files-git.sh: Likewise.
92717 2008-05-15  Eric Blake  <ebb9@byu.net>
92719         Glibc finally accepted the memmem speedup code, bugzilla #5514.
92720         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
92721         glibc version.
92722         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
92723         * doc/posix-functions/strstr.texi (strstr): Likewise.
92724         * lib/str-two-way.h (MAX): Sychronize with glibc.
92726 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
92728         * lib/regcomp.c (optimize_utf8): Add a note on why we test
92729         opr.ctx_type.
92730         (calc_first): Initialize constraint field.
92731         (duplicate_node_closure): Use it instead of special casing ANCHORS.
92732         Fix grammar.
92733         (duplicate_node): Merge constraint field for all node types.
92734         (calc_eclosure_iter): Look at constraint field for all node types.
92735         * lib/regex_internal.c (create_cd_newstate): Don't look at
92736         opr.ctx_type.
92738 2008-05-14  Bruno Haible  <bruno@clisp.org>
92740         Help GCC to do better code generation.
92741         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
92742         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
92743         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
92744         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
92745         Declare with attribute 'malloc' if supported.
92747 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
92749         use "echo STR|wc -c" rather than unportable "expr length STR"
92750         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
92751         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
92753 2008-05-14  Jim Meyering  <meyering@redhat.com>
92755         use dd ibs=$n count=1 ... rather than less-portable head -c$n
92756         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
92757         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
92758         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
92759         via Collin Lasse.
92761 2008-05-14  Eric Blake  <ebb9@byu.net>
92763         Avoid quadratic growth in gl_LIBSOURCES.
92764         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
92765         Suggested by Bruno Haible.
92767         Test xmemdup0.
92768         * modules/xmemdup0-tests: New file.
92769         * tests/test-xmemdup0.c: Likewise.
92771 2008-05-13  Eric Blake  <ebb9@byu.net>
92773         Split xmemdup0 into its own module.
92774         * modules/xmemdup0: New file.
92775         * lib/xmemdup0.h: Likewise.
92776         * lib/xmemdup0.c: Likewise.
92777         * MODULES.html.sh (Memory management functions): Add xmemdup0.
92778         * lib/xalloc.h (xmemdup0): Remove.
92779         * lib/xmalloc.c (xmemdup0): Likewise.
92781 2008-05-13  Eric Blake  <ebb9@byu.net>
92782             Bruno Haible  <bruno@clisp.org>
92784         Reduce number of forks required during autoconf.
92785         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
92786         and gl_LIBSOURCES_DIR.
92787         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
92788         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
92789         m4_syscmd per file.
92790         <m4_foreach_w>: Move...
92791         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
92793 2008-05-13  Eric Blake  <ebb9@byu.net>
92795         * gnulib-tool: Fix various comment typos.
92797 2008-05-12  Bruno Haible  <bruno@clisp.org>
92799         Tailor the linebreaking algorithm.
92800         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
92802 2008-05-12  Bruno Haible  <bruno@clisp.org>
92804         Update to Unicode 5.0.0.
92805         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
92806         LBP_JV, LBP_JT. Redistribute values.
92807         (unilbrk_table): Change size.
92808         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
92809         Unicode TR#14 rev. 22.
92810         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
92811         LBP_JV, LBP_JT. Redistribute values.
92812         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
92813         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
92814         Update.
92815         * lib/unilbrk/lbrkprop1.h: Regenerated.
92816         * lib/unilbrk/lbrkprop2.h: Regenerated.
92817         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
92818         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
92819         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
92820         Likewise.
92821         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
92822         Likewise.
92823         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
92824         result.
92825         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
92826         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
92827         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
92828         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
92829         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
92830         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
92832 2008-05-11  Bruno Haible  <bruno@clisp.org>
92834         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
92836 2008-05-11  Bruno Haible  <bruno@clisp.org>
92838         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
92839         * modules/unilbrk/gen-lbrk: New file.
92841 2008-05-11  Bruno Haible  <bruno@clisp.org>
92843         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
92844         * m4/sha512.m4 (gl_SHA512): Likewise.
92846 2008-05-11  Jim Meyering  <meyering@redhat.com>
92848         New modules: crypto/sha256, crypto/sha512 (from coreutils)
92849         * modules/crypto/sha256: New file.
92850         * modules/crypto/sha512: Likewise.
92851         * lib/sha256.c: Likewise.
92852         * lib/sha256.h: Likewise.
92853         * lib/sha512.c: Likewise.
92854         * lib/sha512.h: Likewise.
92855         * lib/u64.h: Likewise.
92856         * m4/sha256.m4: Likewise.
92857         * m4/sha512.m4: Likewise.
92858         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
92860 2008-05-10  Bruno Haible  <bruno@clisp.org>
92862         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
92863         (Input/Output <stdio.h>): Add xprintf.
92864         (Signal handling <signal.h>): Add strsignal.
92865         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
92866         (Core language properties): Add func.
92867         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
92868         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
92869         strings.
92870         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
92871         (Input/output): New section.
92872         (File system functions): Add openat-die, stat-macros.
92873         (Networking functions): Add sockets.
92874         (Unicode string functions): Add unictype/*.
92875         (Support for building libraries and executables): Add gperf.
92876         (Support for building documentation): Add agpl-3.0.
92877         (Misc): Add nocrash.
92879 2008-05-10  Bruno Haible  <bruno@clisp.org>
92881         * modules/unictype/gen-ctype: New file.
92883 2008-05-10  Jim Meyering  <meyering@redhat.com>
92885         Make chdir-safer.c more efficient on a system with no symlinks.
92886         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
92887         also if ELOOP is zero.  Suggested by Bruno Haible.
92889         Make chdir-safer.c slightly safer.
92890         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
92891         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
92893         Avoid compile failure on systems without ELOOP (like mingw).
92894         * lib/chdir-safer.c (ELOOP): Define if not already defined.
92895         Reported by Bruno Haible.
92897 2008-05-10  Bruno Haible  <bruno@clisp.org>
92899         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
92900         (is_utf8_encoding): Use a case-insensitive comparison.
92901         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
92902         streq.
92904 2008-05-10  Bruno Haible  <bruno@clisp.org>
92906         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
92907         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
92908         * lib/unilbrk/ulc-common.h (iconv_string_length,
92909         iconv_string_keeping_offsets): Remove declarations.
92910         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
92911         Don't include <iconv.h>, streq.h, xsize.h.
92912         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
92913         conversion.
92914         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
92915         <iconv.h>, streq.h, xsize.h.
92916         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
92917         conversion.
92918         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
92919         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
92920         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
92921         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
92923 2008-05-10  Bruno Haible  <bruno@clisp.org>
92925         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
92926         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
92928         * modules/unilbrk/u32-width-linebreaks-tests: New file.
92929         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
92931         * modules/unilbrk/u16-width-linebreaks-tests: New file.
92932         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
92934         * modules/unilbrk/u8-width-linebreaks-tests: New file.
92935         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
92937         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
92938         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
92940         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
92941         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
92943         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
92944         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
92946         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
92947         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
92949 2008-05-10  Bruno Haible  <bruno@clisp.org>
92951         Split up 'linebreak' module.
92952         * lib/unilbrk.h: New file, based on lib/linebreak.h.
92953         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
92954         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
92955         modifications.
92956         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
92957         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
92958         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
92959         lib/linebreak.c.
92960         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
92961         lib/linebreak.c.
92962         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
92963         lib/linebreak.c.
92964         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
92965         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
92966         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
92967         lib/linebreak.c.
92968         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
92969         lib/linebreak.c.
92970         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
92971         lib/linebreak.c.
92972         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
92973         lib/linebreak.c.
92974         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
92975         lib/linebreak.c.
92976         * modules/unilbrk/base: New file.
92977         * modules/unilbrk/tables: New file.
92978         * modules/unilbrk/u8-possible-linebreaks: New file.
92979         * modules/unilbrk/u16-possible-linebreaks: New file.
92980         * modules/unilbrk/u32-possible-linebreaks: New file.
92981         * modules/unilbrk/ulc-common: New file.
92982         * modules/unilbrk/ulc-possible-linebreaks: New file.
92983         * modules/unilbrk/u8-width-linebreaks: New file.
92984         * modules/unilbrk/u16-width-linebreaks: New file.
92985         * modules/unilbrk/u32-width-linebreaks: New file.
92986         * modules/unilbrk/ulc-width-linebreaks: New file.
92987         * lib/linebreak.h: Remove file.
92988         * lib/linebreak.c: Remove file.
92989         * m4/linebreak.m4: Remove file.
92990         * modules/linebreak: Remove file.
92991         * NEWS: Mention the changes.
92993 2008-05-09  Eric Blake  <ebb9@byu.net>
92995         Add xmemdup0.
92996         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
92997         implementation.
92998         * lib/xmalloc.c (xmemdup0): New C implementation.
93000 2008-05-08  Bruno Haible  <bruno@clisp.org>
93002         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
93004 2008-05-07  Eric Blake  <ebb9@byu.net>
93006         Support cross-compilation of <wctype.h>.
93007         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
93008         AC_CACHE_CHECK.
93010 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
93012         * build-aux/vc-list-files: Add support for bzr.
93014 2008-05-03  Jim Meyering  <meyering@redhat.com>
93016         avoid failed assertion with tight malloc
93017         * tests/test-getndelim2.c: Correct an off-by-one assertion.
93019 2008-05-03  Simon Josefsson  <simon@josefsson.org>
93021         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
93022         are needed from arpa/inet.h.
93023         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
93024         Reported by Bruno Haible.
93026 2008-05-02  Jim Meyering  <meyering@redhat.com>
93028         avoid compilation error on FreeBSD 6
93029         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
93031 2008-05-01  Jim Meyering  <meyering@redhat.com>
93033         useless-if-before-free: correct --help's exit status description
93034         * build-aux/useless-if-before-free (usage): Like grep, exit 0
93035         for one or more matches, etc.  Reported by Bruno Haible.
93037         vc-list-files: make the stand-alone gnulib test work
93038         * modules/vc-list-files-tests (configure.ac):
93039         Define and AC_SUBST abs_aux_dir.
93040         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
93041         $(abs_top_srcdir) to each script and having each of them
93042         duplicate the work of setting PATH, set PATH here, using
93043         the new variable, abs_aux_dir instead.
93044         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
93045         * tests/test-vc-list-files-git.sh: Likewise.
93046         Reported by Bruno Haible.
93048 2008-05-01  Bruno Haible  <bruno@clisp.org>
93050         * lib/getndelim2.c (getndelim2): Fix newsize computation during
93051         reallocation. Rename 'done' to 'found_delimiter'.
93053 2008-05-01  Jim Meyering  <meyering@redhat.com>
93055         vc-list-files: accommodate /bin/sh like the one from Solaris 10
93056         * build-aux/vc-list-files: Use `...`, not $(...).
93058 2008-04-30  Jim Meyering  <meyering@redhat.com>
93060         add tests for vc-list-files
93061         * modules/vc-list-files-tests: New module.
93062         * tests/test-vc-list-files-cvs.sh: New file.
93063         * tests/test-vc-list-files-git.sh: New file.
93065         avoid a warning from gcc
93066         * lib/getndelim2.c (IF_LINT): Define.
93067         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
93069         vc-list-files: work properly with build-aux/cvsu, too
93070         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
93071         to all cvs-based clauses.
93073         vc-list-files: work properly in the CVS+awk case, too
93074         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
93076         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
93077         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
93078         take more than one file argument, so .  Add quotes, just in case $dir
93079         ever contains a shell meta-character.  Prompted by Soren Hansen in
93080         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
93082 2008-04-29  Eric Blake  <ebb9@byu.net>
93084         Optimize getndelim2 to use block operations when possible.
93085         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
93086         freadseek, and memchr2.
93087         * lib/getndelim2.c (getndelim2): Use them for block reads.
93089 2008-04-29  Bruno Haible  <bruno@clisp.org>
93091         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
93092         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
93093         * modules/inet_ntop (Depends-on): Add extensions.
93094         * modules/inet_pton (Depends-on): Likewise.
93095         Reported by Simon Josefsson.
93097 2008-04-29  Jim Meyering  <meyering@redhat.com>
93099         When the is more than one match in a block, match all of them.
93100         * build-aux/useless-if-before-free: Iterate through each block
93101         until there are no more matches.
93103         Fix broken useless-if-before-free script.
93104         * build-aux/useless-if-before-free: Fix typo: missing "?" after
93105         the expression to match cast of argument to free-like function.
93107 2008-04-29  Eric Blake  <ebb9@byu.net>
93109         Use new header.
93110         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
93112 2008-04-29  Jim Meyering  <meyering@redhat.com>
93114         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
93115         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
93116         by gnulib to exist and to declare e.g., inet_ntop.
93117         Don't include "inet_ntop.h", now removed.
93119         * m4/arpa_inet_h.m4: Remove trailing blanks.
93121 2008-04-29  Eric Blake  <ebb9@byu.net>
93123         Silence valgrind on safe reads beyond potential array bounds.
93124         * lib/rawmemchr.valgrind: New file.
93125         * lib/strchrnul.valgrind: Likewise.
93126         * modules/rawmemchr (Files): Distribute new file.
93127         * modules/strchrnul (Files): Likewise.
93128         Suggested by Bruno Haible.
93130 2008-04-29  Bruno Haible  <bruno@clisp.org>
93132         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
93133         (inet_ntop, inet_pton): Change portability warning's wording.
93134         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
93135         Invoke gl_CHECK_NEXT_HEADERS.
93136         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
93137         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
93138         set ARPA_INET_H.
93139         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
93140         * modules/arpa_inet (Description): No longer only for systems that
93141         lack it.
93142         (Depends-on): Add include_next.
93143         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
93144         HAVE_ARPA_INET_H.
93146 2008-04-29  Jim Meyering  <meyering@redhat.com>
93148         * modules/mkdir (License): Re-license as LGPLv2+.
93150 2008-04-29  Bruno Haible  <bruno@clisp.org>
93152         * modules/rawmemchr (Maintainer): Set to Eric.
93153         * modules/strchrnul (Maintainer): Likewise.
93155 2008-04-29  Simon Josefsson  <simon@josefsson.org>
93157         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
93158         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
93160         * modules/arpa_inet (arpa/inet.h): Use them.
93162 2008-04-28  Eric Blake  <ebb9@byu.net>
93164         Test getndelim2.
93165         * modules/getndelim2-tests: New file.
93166         * tests/test-getndelim2.c: Likewise.
93167         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
93168         stream.
93169         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
93171         * MODULES.html.sh: Document new module.
93173 2008-04-20  Bruno Haible  <bruno@clisp.org>
93175         * lib/c-stack.c (die): Use raise.
93176         * modules/c-stack (Depends-on): Add raise.
93178 2008-04-28  Bruno Haible  <bruno@clisp.org>
93180         Expect rpmatch to be declared.
93181         * lib/yesno.c (rpmatch): Remove declaration.
93183         Declare rpmatch.
93184         * lib/stdlib.in.h (rpmatch): New declaration.
93185         * lib/rpmatch.c: Include <stdlib.h> first.
93186         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
93187         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
93188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
93189         HAVE_RPMATCH.
93190         * modules/rpmatch (Depends-on): Add stdlib, extensions.
93191         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
93192         (Include): Set to <stdlib.h>.
93193         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
93194         HAVE_RPMATCH.
93195         * NEWS: Document the change.
93197 2008-04-28  Bruno Haible  <bruno@clisp.org>
93199         Change rpmatch to use nl_langinfo when appropriate.
93200         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
93201         (N_): New macro.
93202         (localized_pattern): New function/macro.
93203         (try): Remove match, nomatch arguments. Copy the pattern into safe
93204         memory before caching it.
93205         (rpmatch): Use localized_pattern. Add translator comments.
93206         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
93207         Suggested by Eric Blake.
93208         * modules/rpmatch (Depends-on): Add stdbool.
93210 2008-04-28  Eric Blake  <ebb9@byu.net>
93212         Add rawmemchr module, matching glibc.
93213         * modules/string (Makefile.am): New indicator.
93214         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
93215         * lib/string.in.h (rawmemchr): Declare when appropriate.
93216         * modules/rawmemchr: New file.
93217         * m4/rawmemchr.m4: Likewise.
93218         * lib/rawmemchr.c: Likewise.
93219         * modules/rawmemchr-tests: Likewise.
93220         * tests/test-rawmemchr.c: Likewise.
93221         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
93222         module.
93223         * modules/strchrnul (Depends-on): Add rawmemchr.
93224         * lib/strchrnul.c (strchrnul): Optimize a corner case.
93226         Whitespace cleanup.
93227         * tests/test-strchrnul.c: Reindent.
93228         * lib/strchrnul.c: Likewise.
93230         Optimize and test strchrnul.
93231         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
93232         * modules/strchrnul-tests: New file.
93233         * tests/test-strchrnul.c: Likewise.
93235         Remove intprops dependency.
93236         * modules/memchr (Depends-on): Remove intprops.
93237         * modules/memrchr (Depends-on): Likewise.
93238         * modules/memchr2 (Depends-on): Likewise.
93239         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
93240         * lib/memrchr.c (__memrchr): Likewise.
93241         * lib/memrchr2.c (memchr2): Likewise.
93242         Reported by Simon Josefsson.
93244 2008-04-28  Simon Josefsson  <simon@josefsson.org>
93246         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
93247         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
93249 2008-04-28  Simon Josefsson  <simon@josefsson.org>
93251         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
93253         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
93255         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
93257         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
93258         declarations.
93259         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
93261         * m4/inet_pton.m4: Don't check for header files.
93263         * m4/inet_ntop.m4: Don't check for header files.
93265 2008-04-28  Simon Josefsson  <simon@josefsson.org>
93267         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
93268         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
93269         trigger for cygwin).
93270         Reported by Bruno Haible  <bruno@clisp.org>.
93272 2008-04-28  Bruno Haible  <bruno@clisp.org>
93274         * doc/posix-functions/strdup.texi: Mention mingw problem.
93276 2008-04-27  Bruno Haible  <bruno@clisp.org>
93278         * modules/stat-time-tests (Depends-on): Add sleep.
93279         * tests/test-stat-time.c (force_unlink): New function.
93280         (cleanup): Use it.
93281         (test_mtime): Remove the ctime related tests.
93282         (test_ctime): New function, containing the ctime related tests.
93283         (main): Call test_ctime, except on native Windows platforms.
93285 2008-04-27  Bruno Haible  <bruno@clisp.org>
93287         * lib/rpmatch.c (rpmatch): Add some comments.
93288         Reported by James Youngman <jay@gnu.org>.
93290 2008-04-27  Bruno Haible  <bruno@clisp.org>
93292         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
93293         quiet NaNs.
93295 2008-04-27  Bruno Haible  <bruno@clisp.org>
93297         Make test-yesno.sh work on mingw.
93298         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
93299         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
93300         (main): Set stdin to binary mode.
93301         * modules/yesno-tests (Depends-on): Add binary-io.
93303 2008-04-27  Bruno Haible  <bruno@clisp.org>
93305         Fix 'isfinite' on x86, x86_64, ia64 platforms.
93306         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
93307         argument that lie outside the IEEE 854 domain.
93308         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
93309         (gl_ISFINITE): Use it.
93310         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
93312 2008-04-27  Bruno Haible  <bruno@clisp.org>
93314         Allow local renaming in config.h.
93315         * lib/memrchr.c (memrchr): Don't undefine outside libc.
93317 2008-04-27  Bruno Haible  <bruno@clisp.org>
93319         * lib/memchr.c (__memchr): Change type of 'i'.
93320         * lib/memchr2.c (memchr2): Likewise.
93322 2008-04-26  Eric Blake  <ebb9@byu.net>
93323         and Bruno Haible  <bruno@clisp.org>
93325         Optimize and test memrchr.
93326         * modules/memrchr (Depends-on): Add intprops.
93327         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
93328         * modules/memrchr-tests: New file.
93329         * tests/test-memrchr.c: New file.
93331 2008-04-26  Bruno Haible  <bruno@clisp.org>
93333         Add tentative support for DragonFly BSD.
93334         * lib/stdio-impl.h: Add macros for DragonFly BSD.
93335         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
93336         fp.
93337         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
93338         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
93339         * lib/fpurge.c (fpurge): Likewise.
93340         * lib/freadable.c (freaadable): Likewise.
93341         * lib/freadahead.c (freadahead): Likewise.
93342         * lib/freading.c (freading): Likewise.
93343         * lib/freadptr.c (freadptr): Likewise.
93344         * lib/freadseek.c (freadptrinc): Likewise.
93345         * lib/fseeko.c (fseeko): Likewise.
93346         * lib/fseterr.c (fseterr): Likewise.
93347         * lib/fwritable.c (fwritable): Likewise.
93348         * lib/fwriting.c (fwriting): Likewise.
93350 2008-04-26  Bruno Haible  <bruno@clisp.org>
93352         * lib/stdio-impl.h: New file.
93353         * lib/fbufmode.c: Include stdio-impl.h.
93354         (fbufmode): Use fp_, remove redundant #defines.
93355         * lib/fflush.c: Include stdio-impl.h.
93356         (clear_ungetc_buffer): Remove redundant #defines.
93357         * lib/fpurge.c: Include stdio-impl.h.
93358         (fpurge): Remove redundant #defines.
93359         * lib/freadable.c: Include stdio-impl.h.
93360         (freadable): Remove redundant #defines.
93361         * lib/freadahead.c: Include stdio-impl.h.
93362         (freadahead): Remove redundant #defines.
93363         * lib/freading.c: Include stdio-impl.h.
93364         (freading): Remove redundant #defines.
93365         * lib/freadptr.c: Include stdio-impl.h.
93366         (freadptr): Remove redundant #defines.
93367         * lib/freadseek.c: Include stdio-impl.h.
93368         (freadptrinc): Remove redundant #defines.
93369         * lib/fseeko.c: Include stdio-impl.h.
93370         (rpl_fseeko): Remove redundant #defines.
93371         * lib/fseterr.c: Include stdio-impl.h.
93372         (fseterr): Remove redundant #defines.
93373         * lib/fwritable.c: Include stdio-impl.h.
93374         (fwritable: Remove redundant #defines.
93375         * lib/fwriting.c: Include stdio-impl.h.
93376         (fwriting): Remove redundant #defines.
93377         * modules/fbufmode (Files): Add lib/stdio-impl.h.
93378         * modules/fflush (Files): Likewise.
93379         * modules/fpurge (Files): Likewise.
93380         * modules/freadable (Files): Likewise.
93381         * modules/freadahead (Files): Likewise.
93382         * modules/freading (Files): Likewise.
93383         * modules/freadptr (Files): Likewise.
93384         * modules/freadseek (Files): Likewise.
93385         * modules/fseeko (Files): Likewise.
93386         * modules/fseterr (Files): Likewise.
93387         * modules/fwritable (Files): Likewise.
93388         * modules/fwriting (Files): Likewise.
93390 2008-04-26  Bruno Haible  <bruno@clisp.org>
93392         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
93393         restore_seek_optimization, update_fpos_cache): New functions, extracted
93394         from rpl_fflush.
93395         (rpl_fflush): Use them.
93396         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
93397         (gl_REPLACE_FFLUSH): Use it.
93399 2008-04-26  Bruno Haible  <bruno@clisp.org>
93401         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
93402         on Solaris.
93403         * tests/test-xstrtoimax.sh: Likewise.
93404         * tests/test-xstrtoumax.sh: Likewise.
93405         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
93407 2008-04-26  Bruno Haible  <bruno@clisp.org>
93409         * modules/memchr-tests: New file.
93410         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
93412 2008-04-26  Eric Blake  <ebb9@byu.net>
93413             Bruno Haible  <bruno@clisp.org>
93415         * lib/memchr.c: Include intprops.h.
93416         (__memchr): Optimize parallel detection of matching bytes. Rename local
93417         variables. Add explanatory comments.
93419 2008-04-26  Bruno Haible  <bruno@clisp.org>
93421         Fix module 'memchr', broken since 2000-10-28.
93422         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
93424 2008-04-26  Bruno Haible  <bruno@clisp.org>
93426         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
93427         comments.
93429 2008-04-25  Eric Blake  <ebb9@byu.net>
93431         Use native fstatat on cygwin 1.7.0.
93432         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
93433         first.
93435 2008-04-23  Eric Blake  <ebb9@byu.net>
93437         Improve memchr2 performance.
93438         * lib/memchr2.c (memchr2): Further optimize parallel detection of
93439         NUL bytes.
93440         * modules/memchr2 (Depends-on): Use intprops.h.
93442 2008-04-23  Simon Josefsson  <simon@josefsson.org>
93444         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
93445         an inline function instead of a CPP macro.  Patch by Ben Pfaff
93446         <blp@cs.stanford.edu>.
93448 2008-04-23  Simon Josefsson  <simon@josefsson.org>
93450         * lib/arpa_inet.in.h: New file.
93452         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
93453         (Makefile.am): Sed in substitute header file.
93455         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
93456         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
93458         * modules/inet_ntop (configure.ac): Use
93459         gl_ARPA_INET_MODULE_INDICATOR.
93461         * modules/inet_pton (configure.ac): Use
93462         gl_ARPA_INET_MODULE_INDICATOR.
93464 2008-04-22  Jim Meyering  <meyering@redhat.com>
93466         * modules/verify (License): Re-license as LGPLv2+.
93468 2008-04-22  Simon Josefsson  <simon@josefsson.org>
93470         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
93471         parameter to void* as per POSIX standard (MinGW uses char*).
93473 2008-04-21  Bruno Haible  <bruno@clisp.org>
93475         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
93476         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
93477         Define to replacements if REPLACE_ISWCNTRL is 1.
93478         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
93479         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
93480         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
93481         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
93482         what it fixes.
93483         * doc/posix-functions/iswalpha.texi: Likewise.
93484         * doc/posix-functions/iswblank.texi: Likewise.
93485         * doc/posix-functions/iswcntrl.texi: Likewise.
93486         * doc/posix-functions/iswdigit.texi: Likewise.
93487         * doc/posix-functions/iswgraph.texi: Likewise.
93488         * doc/posix-functions/iswlower.texi: Likewise.
93489         * doc/posix-functions/iswprint.texi: Likewise.
93490         * doc/posix-functions/iswpunct.texi: Likewise.
93491         * doc/posix-functions/iswspace.texi: Likewise.
93492         * doc/posix-functions/iswupper.texi: Likewise.
93493         * doc/posix-functions/iswxdigit.texi: Likewise.
93494         Reported by Alain Guibert.
93496 2008-04-21  Bruno Haible  <bruno@clisp.org>
93498         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
93499         Patch by Alain Guibert.
93501 2008-04-21  Bruno Haible  <bruno@clisp.org>
93503         Fix test failures on mingw.
93504         * tests/test-xstrtol.c (print_no_progname): New function.
93505         (main): Install it in error_print_progname hook.
93506         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
93507         * tests/test-xstrtoimax.sh: Likewise.
93508         * tests/test-xstrtoumax.sh: Likewise.
93510 2008-04-21  Bruno Haible  <bruno@clisp.org>
93512         Fix test failure on mingw.
93513         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
93515 2008-04-21  Bruno Haible  <bruno@clisp.org>
93517         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
93518         Actually assign a value.
93520 2008-04-20  Bruno Haible  <bruno@clisp.org>
93522         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
93523         take 2.
93524         * lib/canonicalize.c (canonicalize_file_name): Elide if the
93525         'canonicalize-lgpl' module is also used.
93526         * lib/canonicalize-lgpl.c: Undo last change.
93527         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
93529 2008-04-20  Bruno Haible  <bruno@clisp.org>
93531         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
93532         config.h. Provide _mkdir based fallback for mingw.
93533         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
93534         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
93535         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
93536         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
93537         rather than defining mkdir in config.h.
93538         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
93539         (gl_SYS_STAT_H_DEFAULTS): New macro.
93540         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
93541         HAVE_IO_H any more.
93542         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
93543         HAVE_DECL_MKDIR and HAVE_IO_H.
93545 2008-04-20  Bruno Haible  <bruno@clisp.org>
93547         * lib/isapipe.c: Port to native Windows platforms.
93549 2008-04-20  Bruno Haible  <bruno@clisp.org>
93551         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
93553 2008-04-21  Eric Blake  <ebb9@byu.net>
93555         Work around preprocessors that don't handle UINTMAX_MAX.
93556         * lib/memchr2.c (memchr2): Avoid embedded #if.
93557         Reported by Alain Guibert, fix suggested by Bruno Haible.
93559 2008-04-21  Simon Josefsson  <simon@josefsson.org>
93561         * doc/posix-functions/strftime.texi (strftime): Explain better
93562         Windows incompatibility.  Suggested by Micah Cowan
93563         <micah@cowan.name>.
93565 2008-04-20  Bruno Haible  <bruno@clisp.org>
93567         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
93568         unistr/u8-mblen.
93570 2008-04-20  Bruno Haible  <bruno@clisp.org>
93572         Fix test failure on platforms with non-GNU iconv.
93573         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
93574         (U_TO_U8): Use it, rather than u16_to_u8.
93575         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
93576         units at the end of the input string.
93577         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
93579 2008-04-20  Bruno Haible  <bruno@clisp.org>
93581         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
93582         when the resulting length is 0.
93583         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
93585 2008-04-20  Bruno Haible  <bruno@clisp.org>
93587         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
93588         works.
93589         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
93591 2008-04-20  Bruno Haible  <bruno@clisp.org>
93593         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
93594         * modules/tsearch-tests (configure.ac): Test for initstate function.
93596 2008-04-20  Bruno Haible  <bruno@clisp.org>
93598         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
93599         for nlink_t if missing.
93600         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
93602 2008-04-19  Bruno Haible  <bruno@clisp.org>
93604         Work around snprintf bug on Linux libc5.
93605         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
93606         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
93607         gl_SNPRINTF_SIZE1.
93608         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
93609         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
93610         that test failed.
93611         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
93612         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
93613         * modules/snprintf (Files): Add m4/printf.m4.
93614         * modules/vsnprintf (Files): Likewise.
93615         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
93616         * doc/posix-functions/vsnprintf.texi: Likewise.
93618 2008-04-19  Bruno Haible  <bruno@clisp.org>
93620         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
93621         from 0.0058 to less than 10^-7.
93623 2008-04-19  Bruno Haible  <bruno@clisp.org>
93625         Fix rounding when a precision is given.
93626         * lib/vasnprintf.c (is_borderline): New function.
93627         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
93628         9...9x.
93629         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
93630         %e, %g.
93631         * tests/test-vasprintf-posix.c (test_function): Likewise.
93632         * tests/test-snprintf-posix.h (test_function): Likewise.
93633         * tests/test-sprintf-posix.h (test_function): Likewise.
93634         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
93635         * tests/test-printf-posix.h (test_function): Likewise.
93636         * tests/test-printf-posix.output: Update.
93637         Reported by John Darrington <john@darrington.wattle.id.au> via
93638         Ben Pfaff <blp@cs.stanford.edu>.
93640 2008-04-18  Simon Josefsson  <simon@josefsson.org>
93642         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
93643         Suggested by Bruno Haible <bruno@clisp.org>.
93645 2008-04-17  Bruno Haible  <bruno@clisp.org>
93647         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
93648         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
93649         implementation.
93650         Patch by Bruce Merry <bmerry@gmail.com>.
93652 2008-04-17  Simon Josefsson  <simon@josefsson.org>
93654         * doc/posix-functions/strftime.texi (strftime): Mention that %e
93655         doesn't work under Windows.
93657 2008-04-16  Bruno Haible  <bruno@clisp.org>
93659         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
93660         New macros.
93661         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
93662         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
93663         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
93664         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
93665         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
93666         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
93667         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
93668         macros.
93669         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
93670         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
93671         Northern Sotho, Uighur.
93673 2008-04-16  Bruno Haible  <bruno@clisp.org>
93675         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
93676         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
93677         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
93678         Reported by Daniel Bergström <daniel@octocode.com>.
93680 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
93681             Bruno Haible  <bruno@clisp.org>
93683         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
93684         function.
93685         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
93686         New functions, mostly extracted from gl_locale_name_default.
93687         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
93689 2008-04-16  Eric Blake  <ebb9@byu.net>
93691         Adjust strtod detection to catch glibc 2.7 bug.
93692         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
93693         Reported by John Gatewood Ham.
93695 2008-04-16  Bruno Haible  <bruno@clisp.org>
93697         Add tentative support for Linux libc5.
93698         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
93699         * lib/fpurge.c (fpurge): Likewise.
93700         * lib/freadable.c (freadable): Likewise.
93701         * lib/freadahead.c (freadahead): Likewise.
93702         * lib/freading.c (freading): Likewise.
93703         * lib/freadptr.c (freadptr): Likewise.
93704         * lib/freadseek.c (freadptrinc): Likewise.
93705         * lib/fseeko.c (rpl_fseeko): Likewise.
93706         * lib/fseterr.c (fseterr): Likewise.
93707         * lib/fwritable.c (fwritable): Likewise.
93708         * lib/fwriting.c (fwriting): Likewise.
93709         Reported by Alain Guibert <alguibert+bts@free.fr>.
93711 2008-04-15  Bruno Haible  <bruno@clisp.org>
93713         * modules/mathl (configure.ac): Define module indicator.
93715 2008-04-15  Bruno Haible  <bruno@clisp.org>
93717         * lib/logl.c (logl): Remove unused variables.
93719 2008-04-15  Bruno Haible  <bruno@clisp.org>
93721         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
93722         fails.
93724 2008-04-15  Bruno Haible  <bruno@clisp.org>
93726         * lib/trim.c (trim2): Fix argument of isspace() macro.
93728 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
93730         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
93731         to 0.
93732         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
93734 2008-04-14  Bruno Haible  <bruno@clisp.org>
93736         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
93737         AC_LANG_PROGRAM argument.
93738         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
93739         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
93740         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
93741         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
93742         * m4/math_h.m4 (gl_MATH_H): Likewise.
93743         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
93744         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
93745         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
93746         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
93747         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
93748         * m4/regex.m4 (gl_REGEX): Likewise.
93749         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
93750         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
93751         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93752         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
93753         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
93754         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
93755         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
93756         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
93758 2008-04-14  Jim Meyering  <meyering@redhat.com>
93760         test-strtod: fix typos: s/abs/fabs/
93761         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
93763 2008-04-13  Bruno Haible  <bruno@clisp.org>
93765         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
93766         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
93767         module is also used and while not building the reloc-wrapper.
93769 2008-04-13  Bruno Haible  <bruno@clisp.org>
93771         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
93773 2008-04-13  Bruno Haible  <bruno@clisp.org>
93775         Fix AIX compilation failure introduced on 2008-04-02.
93776         * tests/test-frexp.c (exp): Undefine before redefining.
93777         * tests/test-frexpl.c (exp): Likewise.
93779 2008-04-13  Bruno Haible  <bruno@clisp.org>
93781         Work around a HP-UX stdio bug.
93782         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
93783         * tests/test-ftello.c (main): Likewise.
93784         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
93785         * doc/posix-functions/ftello.texi: Likewise.
93787 2008-04-13  Bruno Haible  <bruno@clisp.org>
93789         Make test-signbit pass on HP-UX/hppa.
93790         * tests/test-signbit.c (minus_zerol): New variable.
93791         (test_signbitl): Use it.
93793 2008-04-13  Bruno Haible  <bruno@clisp.org>
93795         Make truncl work on OSF/1 4.0.
93796         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
93797         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
93798         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
93799         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
93800         HAVE_DECL_TRUNCL.
93801         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
93802         HAVE_DECL_TRUNCL.
93803         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
93805 2008-04-13  Bruno Haible  <bruno@clisp.org>
93807         * lib/unictype.h: Remove trailing comma from enumeration definitions.
93809 2008-04-13  Bruno Haible  <bruno@clisp.org>
93811         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
93812         expression, so as to avoid HP-UX 11 cc compiler bug.
93814 2008-04-13  Bruno Haible  <bruno@clisp.org>
93816         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
93818 2008-04-13  Bruno Haible  <bruno@clisp.org>
93820         * lib/git-merge-changelog.c: Remove empty declaration outside of
93821         functions.
93823 2008-04-13  Bruno Haible  <bruno@clisp.org>
93825         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
93827 2008-04-13  Bruno Haible  <bruno@clisp.org>
93829         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
93830         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
93831         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
93832         also if it exists but lacks definitions of the SHUT_* macros.
93833         * modules/sys_socket (Description): Update.
93834         Reported by Elbert Pol <e.pol@chello.nl>.
93836 2008-04-13  Bruno Haible  <bruno@clisp.org>
93838         * lib/localcharset.c (OS2): Don't redefine if already defined.
93839         Reported by Elbert Pol <e.pol@chello.nl>.
93841 2008-04-13  Bruno Haible  <bruno@clisp.org>
93843         * lib/binary-io.h [__EMX__]: Include <io.h>.
93844         Reported by Elbert Pol <e.pol@chello.nl>.
93846 2008-04-12  Bruno Haible  <bruno@clisp.org>
93848         * lib/fpucw.h: Enable the definitions also for x86_64.
93849         Needed for NetBSD/x86_64.
93850         Reported by Thomas Klausner <tk@giga.or.at>.
93852 2008-04-12  Bruno Haible  <bruno@clisp.org>
93854         * tests/test-strtod.c: Include isnand.h.
93855         (main): Use isnand instead of isnan.
93856         Reported by Jim Meyering.
93858 2008-04-12  Bruno Haible  <bruno@clisp.org>
93860         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
93861         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
93863 2008-04-12  Jim Meyering  <meyering@redhat.com>
93865         * m4/math_h.m4 (gl_MATH_H): Fix typos.
93867 2008-04-12  Bruno Haible  <bruno@clisp.org>
93869         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
93870         Reported by Elbert Pol <e.pol@chello.nl>.
93872 2008-04-12  Eric Blake  <ebb9@byu.net>
93874         Work around Solaris 10 math.h bug.
93875         * m4/math_h.m4 (gl_MATH_H): Check for bug.
93876         (gl_MATH_H_DEFAULTS): Set up default.
93877         * modules/math (Makefile.am): Replace new indicators.
93878         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
93879         * tests/test-math.c (main): Test this.
93880         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
93881         * doc/posix-headers/math.texi (math.h): Mention bug.
93882         Reported by Nelson H. F. Beebe and Jim Meyering.
93884 2008-04-11  Bruno Haible  <bruno@clisp.org>
93886         Adapt to future versions of Apple GCC.
93887         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
93888         Reported by Peter O'Gorman <peter@pogma.com>.
93890 2008-04-11  Bruno Haible  <bruno@clisp.org>
93892         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
93894 2008-04-11  Bruno Haible  <bruno@clisp.org>
93896         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
93898         * modules/getaddrinfo-tests (Makefile.am): Define
93899         test_getaddrinfo_LDADD.
93901 2008-04-11  Bruno Haible  <bruno@clisp.org>
93903         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
93904         (init): Fix syntax error.
93905         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
93906         is declared.
93908 2008-04-11  Bruno Haible  <bruno@clisp.org>
93910         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
93911         * modules/glob (Depends-on): Add stdbool.
93913 2008-04-11  Bruno Haible  <bruno@clisp.org>
93915         * lib/trim.c: Include <string.h>.
93917 2008-04-11  Eric Blake  <ebb9@byu.net>
93919         Avoid compile failure on OS/2.
93920         * lib/regex_internal.h (internal_function): Disable optimization
93921         on OS/2 (__EMX__), where it caused compiler error.
93922         Reported by Elbert Pol.
93924 2008-04-11  Bruno Haible  <bruno@clisp.org>
93926         Flush the standard error stream before aborting. Needed on mingw.
93927         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
93928         * tests/test-array_list.c (ASSERT): Likewise.
93929         * tests/test-array_oset.c (ASSERT): Likewise.
93930         * tests/test-avltree_list.c (ASSERT): Likewise.
93931         * tests/test-avltree_oset.c (ASSERT): Likewise.
93932         * tests/test-avltreehash_list.c (ASSERT): Likewise.
93933         * tests/test-binary-io.c (ASSERT): Likewise.
93934         * tests/test-byteswap.c (ASSERT): Likewise.
93935         * tests/test-c-ctype.c (ASSERT): Likewise.
93936         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
93937         * tests/test-c-strcasestr.c (ASSERT): Likewise.
93938         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
93939         * tests/test-c-strstr.c (ASSERT): Likewise.
93940         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
93941         * tests/test-canonicalize.c (ASSERT): Likewise.
93942         * tests/test-carray_list.c (ASSERT): Likewise.
93943         * tests/test-ceilf1.c (ASSERT): Likewise.
93944         * tests/test-ceilf2.c (ASSERT): Likewise.
93945         * tests/test-ceill.c (ASSERT): Likewise.
93946         * tests/test-count-one-bits.c (ASSERT): Likewise.
93947         * tests/test-fbufmode.c (ASSERT): Likewise.
93948         * tests/test-fflush2.c (ASSERT): Likewise.
93949         * tests/test-floorf1.c (ASSERT): Likewise.
93950         * tests/test-floorf2.c (ASSERT): Likewise.
93951         * tests/test-floorl.c (ASSERT): Likewise.
93952         * tests/test-fopen.c (ASSERT): Likewise.
93953         * tests/test-fpending.c (ASSERT): Likewise.
93954         * tests/test-fprintf-posix.c (ASSERT): Likewise.
93955         * tests/test-fpurge.c (ASSERT): Likewise.
93956         * tests/test-freadable.c (ASSERT): Likewise.
93957         * tests/test-freadahead.c (ASSERT): Likewise.
93958         * tests/test-freading.c (ASSERT): Likewise.
93959         * tests/test-freadptr.c (ASSERT): Likewise.
93960         * tests/test-freadptr2.c (ASSERT): Likewise.
93961         * tests/test-freadseek.c (ASSERT): Likewise.
93962         * tests/test-freopen.c (ASSERT): Likewise.
93963         * tests/test-frexp.c (ASSERT): Likewise.
93964         * tests/test-frexpl.c (ASSERT): Likewise.
93965         * tests/test-fseek.c (ASSERT): Likewise.
93966         * tests/test-fseeko.c (ASSERT): Likewise.
93967         * tests/test-fstrcmp.c (ASSERT): Likewise.
93968         * tests/test-ftell.c (ASSERT): Likewise.
93969         * tests/test-ftello.c (ASSERT): Likewise.
93970         * tests/test-func.c (ASSERT): Likewise.
93971         * tests/test-fwritable.c (ASSERT): Likewise.
93972         * tests/test-fwriting.c (ASSERT): Likewise.
93973         * tests/test-getdelim.c (ASSERT): Likewise.
93974         * tests/test-getline.c (ASSERT): Likewise.
93975         * tests/test-i-ring.c (ASSERT): Likewise.
93976         * tests/test-iconv-utf.c (ASSERT): Likewise.
93977         * tests/test-iconv.c (ASSERT): Likewise.
93978         * tests/test-isfinite.c (ASSERT): Likewise.
93979         * tests/test-isnand.c (ASSERT): Likewise.
93980         * tests/test-isnanf.c (ASSERT): Likewise.
93981         * tests/test-isnanl.h (ASSERT): Likewise.
93982         * tests/test-ldexpl.c (ASSERT): Likewise.
93983         * tests/test-linked_list.c (ASSERT): Likewise.
93984         * tests/test-linkedhash_list.c (ASSERT): Likewise.
93985         * tests/test-localename.c (ASSERT): Likewise.
93986         * tests/test-lseek.c (ASSERT): Likewise.
93987         * tests/test-mbscasecmp.c (ASSERT): Likewise.
93988         * tests/test-mbscasestr1.c (ASSERT): Likewise.
93989         * tests/test-mbscasestr2.c (ASSERT): Likewise.
93990         * tests/test-mbscasestr3.c (ASSERT): Likewise.
93991         * tests/test-mbscasestr4.c (ASSERT): Likewise.
93992         * tests/test-mbschr.c (ASSERT): Likewise.
93993         * tests/test-mbscspn.c (ASSERT): Likewise.
93994         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
93995         * tests/test-mbspbrk.c (ASSERT): Likewise.
93996         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
93997         * tests/test-mbsrchr.c (ASSERT): Likewise.
93998         * tests/test-mbsspn.c (ASSERT): Likewise.
93999         * tests/test-mbsstr1.c (ASSERT): Likewise.
94000         * tests/test-mbsstr2.c (ASSERT): Likewise.
94001         * tests/test-mbsstr3.c (ASSERT): Likewise.
94002         * tests/test-memchr2.c (ASSERT): Likewise.
94003         * tests/test-memmem.c (ASSERT): Likewise.
94004         * tests/test-open.c (ASSERT): Likewise.
94005         * tests/test-printf-frexp.c (ASSERT): Likewise.
94006         * tests/test-printf-frexpl.c (ASSERT): Likewise.
94007         * tests/test-printf-posix.c (ASSERT): Likewise.
94008         * tests/test-quotearg.c (ASSERT): Likewise.
94009         * tests/test-rbtree_list.c (ASSERT): Likewise.
94010         * tests/test-rbtree_oset.c (ASSERT): Likewise.
94011         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
94012         * tests/test-round1.c (ASSERT): Likewise.
94013         * tests/test-roundf1.c (ASSERT): Likewise.
94014         * tests/test-roundl.c (ASSERT): Likewise.
94015         * tests/test-signbit.c (ASSERT): Likewise.
94016         * tests/test-sleep.c (ASSERT): Likewise.
94017         * tests/test-snprintf-posix.c (ASSERT): Likewise.
94018         * tests/test-snprintf.c (ASSERT): Likewise.
94019         * tests/test-sprintf-posix.c (ASSERT): Likewise.
94020         * tests/test-stat-time.c (ASSERT): Likewise.
94021         * tests/test-strcasestr.c (ASSERT): Likewise.
94022         * tests/test-strerror.c (ASSERT): Likewise.
94023         * tests/test-striconv.c (ASSERT): Likewise.
94024         * tests/test-striconveh.c (ASSERT): Likewise.
94025         * tests/test-striconveha.c (ASSERT): Likewise.
94026         * tests/test-strsignal.c (ASSERT): Likewise.
94027         * tests/test-strstr.c (ASSERT): Likewise.
94028         * tests/test-strtod.c (ASSERT): Likewise.
94029         * tests/test-trunc1.c (ASSERT): Likewise.
94030         * tests/test-trunc2.c (ASSERT): Likewise.
94031         * tests/test-truncf1.c (ASSERT): Likewise.
94032         * tests/test-truncf2.c (ASSERT): Likewise.
94033         * tests/test-truncl.c (ASSERT): Likewise.
94034         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
94035         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
94036         * tests/test-vasnprintf.c (ASSERT): Likewise.
94037         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
94038         * tests/test-vasprintf.c (ASSERT): Likewise.
94039         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
94040         * tests/test-vprintf-posix.c (ASSERT): Likewise.
94041         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
94042         * tests/test-vsnprintf.c (ASSERT): Likewise.
94043         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
94044         * tests/test-wcwidth.c (ASSERT): Likewise.
94045         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
94046         * tests/test-xprintf-posix.c (ASSERT): Likewise.
94047         * tests/test-xvasprintf.c (ASSERT): Likewise.
94048         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
94049         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
94050         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
94051         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
94052         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
94053         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
94054         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
94055         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
94056         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
94057         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
94058         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
94059         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
94060         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
94061         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
94062         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
94063         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
94064         * tests/unictype/test-block_list.c (ASSERT): Likewise.
94065         * tests/unictype/test-block_of.c (ASSERT): Likewise.
94066         * tests/unictype/test-block_test.c (ASSERT): Likewise.
94067         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
94068         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
94069         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
94070         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
94071         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
94072         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
94073         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
94074         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
94075         * tests/unictype/test-combining.c (ASSERT): Likewise.
94076         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
94077         * tests/unictype/test-digit.c (ASSERT): Likewise.
94078         * tests/unictype/test-mirror.c (ASSERT): Likewise.
94079         * tests/unictype/test-numeric.c (ASSERT): Likewise.
94080         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
94081         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
94082         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
94083         * tests/unictype/test-scripts.c (ASSERT): Likewise.
94084         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
94085         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
94086         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
94087         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
94088         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
94089         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
94090         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
94091         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
94092         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
94093         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
94094         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
94095         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
94096         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
94097         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
94098         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
94099         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
94100         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
94101         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
94102         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
94103         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
94104         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
94105         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
94106         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
94107         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
94108         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
94109         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
94110         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
94111         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
94112         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
94113         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
94114         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
94115         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
94116         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
94117         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
94118         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
94119         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
94120         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
94121         Reported by Eric Blake.
94123 2008-04-11  Bruno Haible  <bruno@clisp.org>
94125         * lib/wchar.in.h: Tweak comment.
94127 2008-04-11  Bruno Haible  <bruno@clisp.org>
94129         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
94130         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
94131         gl_COMMON.
94132         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
94134 2008-04-11  Bruno Haible  <bruno@clisp.org>
94136         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
94138 2008-04-11  Simon Josefsson  <simon@josefsson.org>
94140         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
94141         of attempting to use non-existing /dev/*random.  Based on patch
94142         from Adam Strzelecki <ono@java.pl> in
94143         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
94145 2008-04-08  Bruno Haible  <bruno@clisp.org>
94147         Add tentative support for emx+gcc.
94148         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
94149         * lib/fpurge.c (fpurge): Likewise.
94150         * lib/freadable.c (freadable): Likewise.
94151         * lib/freadahead.c (freadahead): Likewise.
94152         * lib/freading.c (freading): Likewise.
94153         * lib/freadptr.c (freadptr): Likewise.
94154         * lib/freadseek.c (freadptrinc): Likewise.
94155         * lib/fseeko.c (rpl_fseeko): Likewise.
94156         * lib/fseterr.c (fseterr): Likewise.
94157         * lib/fwritable.c (fwritable): Likewise.
94158         * lib/fwriting.c (fwriting): Likewise.
94159         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
94161 2008-04-09  Eric Blake  <ebb9@byu.net>
94163         Avoid some autoconf warnings.
94164         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
94165         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
94166         * m4/afs.m4 (gl_AFS): Likewise.
94167         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
94168         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
94169         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
94170         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
94171         (gl_INTEGER_TYPE_SUFFIX): Likewise.
94172         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
94173         (AC_CHECK_DECLS_ONCE): Likewise.
94174         Rename file...
94175         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
94176         gnulib-tool requires autoconf 2.59 or better.
94177         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
94179 2008-04-08  Eric Blake  <ebb9@byu.net>
94181         Use 'git describe --match' if present (added in git 1.5.5).
94182         * build-aux/git-version-gen: Limit result to tags that match 'v*'
94183         if possible.
94185 2008-04-08  Bruno Haible  <bruno@clisp.org>
94187         Add tentative support for OpenServer.
94188         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
94189         _ptr, _cnt.
94190         * lib/fpurge.c (fpurge): Likewise.
94191         * lib/freadable.c (freadable): Likewise.
94192         * lib/freadahead.c (freadahead): Likewise.
94193         * lib/freading.c (freading): Likewise.
94194         * lib/freadptr.c (freadptr): Likewise.
94195         * lib/freadseek.c (freadptrinc): Likewise.
94196         * lib/fseeko.c (rpl_fseeko): Likewise.
94197         * lib/fseterr.c (fseterr): Likewise.
94198         * lib/fwritable.c (fwritable): Likewise.
94199         * lib/fwriting.c (fwriting): Likewise.
94200         Reported by Roger Cornelius <rac@tenzing.org> and
94201         Brian K. White <brian@aljex.com>.
94203 2008-04-06  Jim Meyering  <meyering@redhat.com>
94205         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
94207 2008-04-06  Bruno Haible  <bruno@clisp.org>
94209         Avoid possible error with non-ASCII bytes in UTF-8 locales.
94210         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
94211         * tests/test-printf-posix.sh: Likewise.
94212         * tests/test-vfprintf-posix.sh: Likewise.
94213         * tests/test-vprintf-posix.sh: Likewise.
94214         * tests/test-xprintf-posix.sh: Likewise.
94216 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94218         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
94219         hide error from 'ls', needed on OS/2.
94220         Report by Elbert Pol <elbert.pol@gmail.com>.
94222 2008-04-04  Eric Blake  <ebb9@byu.net>
94224         Make test-fseeko.c failures meaningful.
94225         * tests/test-fseeko.c: Print line number on failure.
94226         * tests/test-fseek.c: Likewise.
94227         Reported by Nelson H. F. Beebe.
94229         Improve strtod bug detection check.
94230         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
94231         required for Solaris 10.
94232         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
94234 2008-04-04  Bruno Haible  <bruno@clisp.org>
94236         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
94237         by m4/setenv.m4.
94239 2008-04-03  Eric Blake  <ebb9@byu.net>
94241         Ensure sane .version contents.
94242         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
94243         version string.
94244         * build-aux/git-version-gen: Improve documentation.
94246         Make GNU make output nicer.
94247         * top/GNUmakefile [!_have-Makefile]: Add dependency on
94248         MAKECMDGOALS to enforce message for all command line targets.  Set
94249         srcdir for use in maint.mk.
94251         Another maintainer tweak.
94252         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
94253         a target that regenerates version.
94255 2008-04-03  Jim Meyering  <meyering@redhat.com>
94257         vc-list-files: don't cause coreutils "make po-check" failure
94258         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
94260 2008-04-03  Eric Blake  <ebb9@byu.net>
94262         Allow VPATH usage of vc-list-files.
94263         * build-aux/vc-list-files (scriptversion): Add timestamp.
94264         (options): Add --help, --version, -C.
94265         (CVS): Support installed cvsu.
94267 2008-04-02  Bruno Haible  <bruno@clisp.org>
94269         Avoid some "statement with no effect" warnings from gcc.
94270         * tests/test-wctype.c (main): Explicitly ignore unused values.
94271         Reported by Jim Meyering.
94273 2008-04-02  Jim Meyering  <meyering@redhat.com>
94275         Avoid some warnings from "gcc -Wshadow".
94276         * tests/test-frexp.c (exp): Define to a different identifier.
94277         * tests/test-frexpl.c (exp): Likewise.
94279 2008-04-03  Jim Meyering  <meyering@redhat.com>
94281         bootstrap: remove dangling *.[ch] symlinks from lib
94282         * build-aux/bootstrap [dangling symlink removal]: Move find's
94283         -depth option to precede all others, to avoid a warning.
94284         Remove *.[ch] files too, and from "$source_base" (usually lib/).
94286 2008-04-02  Bruno Haible  <bruno@clisp.org>
94288         Avoid some warnings from "gcc -Wshadow".
94289         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
94290         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
94291         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
94292         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
94293         Reported by Jim Meyering.
94295 2008-04-01  Bruno Haible  <bruno@clisp.org>
94297         Fix test to work on IRIX 6.5 with cc.
94298         * tests/test-math.c (numeric_equal): New function.
94299         (main): Use it.
94301 2008-04-01  Bruno Haible  <bruno@clisp.org>
94303         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
94305 2008-04-01  Bruno Haible  <bruno@clisp.org>
94307         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
94308         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
94309         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
94310         (Depends-on): Remove math.
94312         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
94313         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
94314         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
94315         (Depends-on): Remove math.
94317         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
94318         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
94319         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
94320         (Depends-on): Remove math.
94321         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
94322         (Depends-on): Remove math.
94324         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
94325         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
94326         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
94327         (Depends-on): Remove math.
94328         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
94329         (Depends-on): Remove math.
94331         * tests/test-round1.c: Include nan.h.
94332         (main): Use NaNd instead of NAN.
94333         * modules/round-tests (Files): Add tests/nan.h.
94335         * tests/test-trunc1.c: Include nan.h.
94336         (main): Use NaNd instead of NAN.
94337         * modules/trunc-tests (Files): Add tests/nan.h.
94339         * tests/test-roundf1.c: Include nan.h.
94340         (main): Use NaNf instead of NAN.
94341         * modules/roundf-tests (Files): Add tests/nan.h.
94343         * tests/test-truncf1.c: Include nan.h.
94344         (main): Use NaNf instead of NAN.
94345         * modules/truncf-tests (Files): Add tests/nan.h.
94347         * tests/test-ceilf1.c: Include nan.h.
94348         (main): Use NaNf instead of NAN.
94349         * modules/ceilf-tests (Files): Add tests/nan.h.
94351         * tests/test-floorf1.c: Include nan.h.
94352         (main): Use NaNf instead of NAN.
94353         * modules/floorf-tests (Files): Add tests/nan.h.
94355         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
94356         (main): Use NaNf instead of NAN.
94357         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
94359         * tests/test-isnand.c: Include nan.h instead of <math.h>.
94360         (main): Use NaNd instead of NAN.
94361         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
94363         * tests/test-frexp.c: Include nan.h.
94364         (main): Use NaNd instead of NAN.
94365         * modules/frexp-tests (Files): Add tests/nan.h.
94367         * lib/isnan.c: Don't include <math.h>.
94368         (FUNC): Don't use NAN macro.
94369         * modules/isnand-nolibm (Depends-on): Remove math.
94370         * modules/isnanf-nolibm (Depends-on): Remove math.
94371         * modules/isnanl (Depends-on): Remove math.
94372         * modules/isnanl-nolibm (Depends-on): Remove math.
94374         * tests/nan.h: New file.
94376 2008-04-01  Eric Blake  <ebb9@byu.net>
94378         Fix typos.
94379         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
94380         values to be the right type.
94382         For now, cater to gnulib strtod inaccuracies.
94383         * tests/test-strtod.c (main): Allow 1-ulp error on expected
94384         fractional results.  While not as nice from a QoI perspective, it
94385         is a quicker patch than correctly implementing decimal to binary
94386         rounding.
94388 2008-03-31  Eric Blake  <ebb9@byu.net>
94390         Guarantee a definition of NAN.
94391         * lib/math.in.h (NAN): Define if missing.
94392         * tests/test-math.c (main): Test it.
94393         * doc/posix-headers/math.texi (math.h): Document this.
94394         * lib/isnan.c (rpl_isnand): Use it.
94395         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
94396         * tests/test-floorf1.c (NaN): Likewise.
94397         * tests/test-frexp.c (NaN): Likewise.
94398         * tests/test-isnand.c (NaN): Likewise.
94399         * tests/test-isnanf.c (NaN): Likewise.
94400         * tests/test-round1.c (NaN): Likewise.
94401         * tests/test-roundf1.c (NaN): Likewise.
94402         * tests/test-snprintf-posix.h (NaN): Likewise.
94403         * tests/test-sprintf-posix.h (NaN): Likewise.
94404         * tests/test-trunc1.c (NaN): Likewise.
94405         * tests/test-truncf1.c (NaN): Likewise.
94406         * tests/test-vasnprintf-posix.c (NaN): Likewise.
94407         * tests/test-vasprintf-posix.c (NaN): Likewise.
94408         * modules/isnand-nolibm (Depends-on): Add math.
94409         * modules/isnanf-nolibm (Depends-on): Likewise.
94410         * modules/isnanl (Depends-on): Likewise.
94411         * modules/isnanl-nolibm (Depends-on): Likewise.
94412         * modules/snprintf-posix-tests (Depends-on): Likewise.
94413         * modules/sprintf-posix-tests (Depends-on): Likewise.
94414         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
94415         * modules/vsprintf-posix-tests (Depends-on): Likewise.
94416         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
94417         * modules/vasprintf-posix-tests (Depends-on): Likewise.
94419 2008-03-31  Bruno Haible  <bruno@clisp.org>
94421         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
94422         * doc/posix-functions/strtod.texi: Likewise.
94424 2008-03-31  Bruno Haible  <bruno@clisp.org>
94426         * tests/test-strtod.c (main): Don't use C99 syntax.
94428 2008-03-31  Bruno Haible  <bruno@clisp.org>
94430         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
94431         Reported by Eric Blake.
94433 2008-03-31  Jim Meyering  <meyering@redhat.com>
94435         Don't compare actual signbit return values.
94436         * tests/test-strtod.c (main): Rather, compare only their
94437         zero/non-zero nature.
94439 2008-03-31  Eric Blake  <ebb9@byu.net>
94441         More strtod documentation.
94442         * doc/posix-functions/strtod.texi (strtod): Interpret more test
94443         failures as distinct bugs.
94445 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
94447         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
94448         Problem reported by Erik Benada in
94449         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
94451 2008-03-30  Bruno Haible  <bruno@clisp.org>
94453         * tests/test-strtod.c: Add comments about which assertion fails on which
94454         platform.
94455         * doc/posix-functions/strtod.texi: Add info about many more platforms.
94457 2008-03-30  Eric Blake  <ebb9@byu.net>
94459         Test signbit behavior on zeros.
94460         * tests/test-signbit.c (test_signbitf): Add tests for zero.
94461         (test_signbitd, test_signbitl): Likewise.
94463         More strtod touchups.
94464         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
94465         sign of negative underflow, for now.  Use .5, not .1.
94466         * doc/posix-functions/strtod.texi (strtod): Mention these
94467         limitations.
94468         Reported by Jim Meyering.
94470 2008-03-30  Bruno Haible  <bruno@clisp.org>
94472         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
94473         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
94475 2008-03-30  Bruno Haible  <bruno@clisp.org>
94477         Avoid failure when attempting to return empty iconv results on some
94478         platforms.
94479         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
94480         allocation, don't report ENOMEM when the resulting string is empty.
94482 2008-03-30  Bruno Haible  <bruno@clisp.org>
94484         Fix buffer overrun.
94485         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
94486         Don't consider the width for tmp_length. Check count against tmp_length
94487         before doing the padding. Ensure enough allocation during padding.
94489 2008-03-30  Eric Blake  <ebb9@byu.net>
94491         strtod touchups.
94492         * lib/strtod.c (strtod): Avoid compiler warnings.
94493         Reported by Jim Meyering.
94495 2008-03-30  Bruno Haible  <bruno@clisp.org>
94497         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
94498         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
94499         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
94500         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
94501         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
94502         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
94503         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
94504         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
94506         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
94507         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
94508         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
94509         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
94510         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
94511         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
94512         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
94513         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
94515         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
94516         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
94517         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
94518         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
94519         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
94520         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
94521         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
94522         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
94524         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
94525         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
94527         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
94528         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
94530         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
94531         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
94533         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
94534         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
94535         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
94537         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
94538         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
94539         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
94541         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
94542         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
94543         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
94545         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
94546         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
94547         * modules/vasprintf (Depends-on): Add EOVERFLOW.
94549         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
94550         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
94551         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
94552         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
94553         (Depends-on): Add EOVERFLOW.
94554         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
94555         (Depends-on): Add EOVERFLOW.
94556         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
94557         (Depends-on): Add EOVERFLOW.
94558         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
94559         (Depends-on): Add EOVERFLOW.
94560         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
94561         (Depends-on): Add EOVERFLOW.
94562         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
94563         (Depends-on): Add EOVERFLOW.
94564         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
94565         (Depends-on): Add EOVERFLOW.
94566         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
94567         (Depends-on): Add EOVERFLOW.
94569         * lib/sprintf.c (EOVERFLOW): Remove fallback.
94570         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
94571         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
94573         * lib/snprintf.c (EOVERFLOW): Remove fallback.
94574         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
94575         * modules/snprintf (Depends-on): Add EOVERFLOW.
94577         * lib/poll.c (EOVERFLOW): Remove fallback.
94578         * modules/poll (Depends-on): Add EOVERFLOW.
94580         * lib/getugroups.c (EOVERFLOW): Remove fallback.
94581         * modules/getugroups (Depends-on): Add EOVERFLOW.
94583         * lib/getdelim.c (EOVERFLOW): Remove fallback.
94584         * modules/getdelim (Depends-on): Add EOVERFLOW.
94586         * lib/ftell.c (EOVERFLOW): Remove fallback.
94587         * modules/ftell (Depends-on): Add EOVERFLOW.
94589         * lib/fprintf.c (EOVERFLOW): Remove fallback.
94590         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
94591         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
94593         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
94595         * modules/EOVERFLOW-tests: New file.
94596         * tests/test-EOVERFLOW.c: New file.
94598         * modules/EOVERFLOW: New file.
94599         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
94601 2008-03-30  Bruno Haible  <bruno@clisp.org>
94603         Fix bug introduced on 2007-06-10.
94604         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
94605         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
94607 2008-03-30  Bruno Haible  <bruno@clisp.org>
94609         Improve freadseek's efficiency after ungetc.
94610         * lib/freadseek.c: Include freadahead.h.
94611         (freadptrinc): New function, extracted from freadseek.
94612         (freadseek): Use it in a loop. Use freadahead to determine the number
94613         of loop iterations.
94614         * modules/freadseek (Depends-on): Add freadahead.
94615         (configure.ac): Require AC_C_INLINE.
94617 2008-03-30  Bruno Haible  <bruno@clisp.org>
94619         * lib/freadseek.c (freadseek): Don't ignore the return value of
94620         freadptr.
94622 2008-03-29  Eric Blake  <ebb9@byu.net>
94624         Add hex float support.
94625         * modules/strtod (Depends-on): Add c-ctype.
94626         (Link): Mention POW_LIB.
94627         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
94628         whitespace between 'e' and exponent.
94629         * tests/test-strtod.c (main): Enable hex float tests.
94630         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
94631         now provides.
94633         Document various strtod bugs, with some fixes.
94634         * doc/posix-functions/strtod.texi (strtod): Document bugs with
94635         "-0x", "inf", "nan", and hex constants.
94636         * doc/posix-functions/atof.texi (atof): Likewise.
94637         * modules/stdlib (Makefile.am): Support strtod.
94638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
94639         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
94640         detect additional strtod bugs.
94641         * lib/stdlib.in.h (rpl_strtod): Add declarations.
94642         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
94643         bool where appropriate.  Parse 'inf' and 'nan'.
94644         * tests/test-strtod.c: New file.
94645         * modules/strtod (Depends-on): Add stdbool, stdlib.
94646         (configure.ac): Turn on module indicator.
94647         * modules/strtod-tests: New module.
94649 2008-03-29  Eric Blake  <ebb9@byu.net>
94651         Fix ftell on mingw.
94652         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
94653         * modules/ftell-tests (Depends-on): Add binary-io.
94654         * modules/ftello-tests (Depends-on): Likewise.
94655         * tests/test-ftell.c (main): Enhance test to cover behavior after
94656         ungetc.  Enforce binary mode.
94657         * tests/test-ftello.c (main): Likewise.
94659         Pass test-freadseek on cygwin.
94660         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
94661         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
94662         ungetc buffer.
94664         * tests/test-fflush2.c (main): Fix typo.
94666 2008-03-29  Bruno Haible  <bruno@clisp.org>
94668         * tests/test-fflush2.c (main): Temporarily disable the contents of
94669         this test.
94670         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
94671         Reported by Eric Blake.
94673 2008-03-28  Simon Josefsson  <simon@josefsson.org>
94675         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
94676         (GC_SHA224_DIGEST_SIZE): Add.
94678         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
94679         (gc_hash_digest_length): Likewise.
94680         (gc_hash_buffer): Likewise.
94682 2008-03-25  Bruno Haible  <bruno@clisp.org>
94684         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
94685         detail which gettext release to use.
94686         Reported by Simon Josefsson.
94688 2008-03-26  Jim Meyering  <meyering@redhat.com>
94690         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
94691         * modules/gnumakefile (clean-GNUmakefile): Also, use
94692         test ... && ... || : syntax rather than if-then ... fi.
94694         gnumakefile: Don't double-quote-expand $(VPATH) value.
94695         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
94697 2008-03-24  Eric Blake  <ebb9@byu.net>
94699         Alter GNUmakefile to install into top directory.
94700         * modules/maintainer-makefile: Split, and add dependency...
94701         * modules/gnumakefile: to this new module.
94702         * build-aux/GNUmakefile: Move...
94703         * top/GNUmakefile: ...here.
94704         * build-aux/maint.mk: Move...
94705         * top/maint.mk: ...here.
94706         * MODULES.html.sh (Support for maintaining...): Document new
94707         module.
94709 2008-03-23  Bruno Haible  <bruno@clisp.org>
94711         * gnulib-tool: New options --vc-files, --no-vc-files.
94712         (func_usage): Document them.
94713         (vc_files): New variable.
94714         (func_import): Consider vc_files.
94715         (func_create_testdir): Set vc_files to empty.
94716         Suggested by Jim Meyering and Karl Berry.
94718 2008-03-23  Bruno Haible  <bruno@clisp.org>
94720         Fix regex compilation error on HP-UX 11.
94721         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
94722         * modules/regex (Files): Add m4/mbstate_t.m4.
94723         Reported by Ton Voon <ton.voon@altinity.com>.
94725 2008-03-23  Bruno Haible  <bruno@clisp.org>
94727         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
94729 2008-03-23  Eric Blake  <ebb9@byu.net>
94730             Bruno Haible  <bruno@clisp.org>
94732         Install files from top/ in the destination directory.
94733         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
94734         augmentation also for the files from top/.
94735         (func_import, func_create_testdir): Rewrite file names:
94736         top/filename -> filename.
94738 2008-03-23  Bruno Haible  <bruno@clisp.org>
94740         Tweak "gnulib --version" output.
94741         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
94743 2008-03-23  Bruno Haible  <bruno@clisp.org>
94745         Tweak "gnulib --version" output.
94746         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
94747         rather than contents of ChangeLog, when possible.
94749 2008-03-21  Eric Blake  <ebb9@byu.net>
94751         More --version tweaks.
94752         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
94753         date of last ChangeLog entry.
94755 2008-03-21  Jim Meyering  <meyering@redhat.com>
94757         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
94759 2008-03-20  Eric Blake  <ebb9@byu.net>
94761         VPATH fix.
94762         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
94764 2008-03-20  Simon Josefsson  <simon@josefsson.org>
94766         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
94767         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
94769 2008-03-20  Eric Blake  <ebb9@byu.net>
94771         Sync GNUmakefile with coreutils.
94772         * build-aux/GNUmakefile (have-Makefile): Rename...
94773         (_have-Makefile): ...to this, for namespace consideration.
94774         (GNUmakefile.cfg): Include, if present.
94775         (_autoreconf): Define a default.
94776         (_is-dist-target): New rule for rebuilds to pick up intra-release
94777         version.
94778         (maint-cfg.mk): Rename...
94779         (cfg.mk): ...to this.
94781 2008-03-18  Jim Meyering  <meyering@redhat.com>
94783         New script and module: mktempd
94784         * MODULES.html.sh (maint+release support): Add mktempd.
94785         * build-aux/mktempd: New file.
94786         * modules/mktempd: New file.
94788 2008-03-15  Jim Meyering  <meyering@redhat.com>
94790         Undo last change.
94791         * lib/sha1.c, lib/md5.c: 63 != ~63.
94792         Reported by Andreas Schwab.
94794         sha1.c, md5.c: Hoist a redundant expression.
94795         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
94796         "ctx->buflen" only once, before calling *_process_block.
94797         * lib/md5.c (md5_process_bytes): Likewise.
94799 2008-03-14  Eric Blake  <ebb9@byu.net>
94801         Bump copyright year in files generated by gnulib-tool.
94802         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
94803         gnulib-tool, rather than hard-coding it.
94805         Fix 'gnulib-tool --version' output to work with git.
94806         * gnulib-tool (func_gnulib_dir): New function, extracted from...
94807         (startup): ...here.
94808         (func_version): Use it to invoke git-version-gen, rather than
94809         relying on CVS keyword expansion.  Modernize wording.
94810         (cvsdatestamp, last_checkin_date, version): Kill unused
94811         variables.
94813 2008-03-12  Jim Meyering  <meyering@redhat.com>
94815         Recognize optional cast of the argument to free.
94816         * build-aux/useless-if-before-free: Update regexps.
94818         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
94820 2008-03-11  Bruno Haible  <bruno@clisp.org>
94822         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
94823         by a single package.
94824         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
94825         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
94826         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
94827         Reported by Sam Steingold <sds@gnu.org>.
94829 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
94831         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
94832         repositories.
94834 2008-03-11  Bruno Haible  <bruno@clisp.org>
94836         Avoid conflicts between local macro definitions.
94837         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
94838         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
94840 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
94841             Bruno Haible  <bruno@clisp.org>
94843         Make va_copy work with some version of xlc on AIX 5.1.
94844         * lib/stdarg.in.h: New file.
94845         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
94846         On AIX, use a <stdarg.h> file substitute.
94847         * modules/stdarg (Files): Add lib/stdarg.in.h.
94848         (Depends-on): Add include_next.
94849         (Makefile.am): Build a stdarg.h substitute if requested.
94850         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
94852 2008-03-10  Bruno Haible  <bruno@clisp.org>
94854         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
94855         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
94856         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
94858 2008-03-10  Bruno Haible  <bruno@clisp.org>
94860         * modules/stdlib (Depends-on): Add include_next, remove
94861         absolute-header.
94863 2008-03-09  Bruno Haible  <bruno@clisp.org>
94865         * lib/freadahead.h (freadahead): Document more precisely.
94866         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
94867         the sum of both buffer sizes.
94868         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
94869         * NEWS: Document the change.
94871 2008-03-09  Bruno Haible  <bruno@clisp.org>
94873         Extend freadptr to return also the buffer size.
94874         * lib/freadptr.h (freadptr): Add sizep argument.
94875         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
94876         (freadptr): Add sizep argument. Determine buffer size like freadahead
94877         does.
94878         * tests/test-freadptr.c: Don't include freadahead.h.
94879         (main): Adapt for new calling convention of freadptr.
94880         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
94881         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
94882         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
94883         tests/test-freadptr2.sh.
94884         (Depends): Remove freadahead.
94885         (TESTS): Add test-freadptr2.sh.
94886         (check_PROGRAMS): Add test-freadptr2.
94888 2008-03-09  Bruno Haible  <bruno@clisp.org>
94890         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
94891         Report and solution by Simon Josefsson.
94893 2008-03-06  Bruno Haible  <bruno@clisp.org>
94895         Make fflush after ungetc work on BSD platforms.
94896         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
94897         * tests/test-fflush2.c: New file.
94898         * tests/test-fflush2.sh: New file.
94899         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
94900         tests/test-fflush2.c.
94901         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
94902         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
94904 2008-03-06  Eric Blake  <ebb9@byu.net>
94906         Likewise for ftello.
94907         * modules/ftello (Dependencies): Add extensions.
94908         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
94910 2008-03-06  Bruno Haible  <bruno@clisp.org>
94912         * modules/fseeko (Dependencies): Add extensions.
94913         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
94914         Needed on glibc systems.
94916 2008-03-06  Bruno Haible  <bruno@clisp.org>
94918         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
94919         email address.
94920         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94922 2008-03-06  Bruno Haible  <bruno@clisp.org>
94924         * users.txt: Add libgnupdf.
94926 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
94928         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
94929         (Header File Substitutes, Function Substitutes,
94930         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
94931         (Build robot for gnulib): Fix typo.
94933 2008-03-06  Bruno Haible  <bruno@clisp.org>
94935         * doc/gnulib-tool.texi (VCS Issues): Small updates.
94936         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94938 2008-03-06  Bruno Haible  <bruno@clisp.org>
94940         * doc/func.texi: New file, extracted from doc/gnulib.texi.
94941         * doc/gnulib.texi: Include it.
94943 2008-03-06  Simon Josefsson  <simon@josefsson.org>
94945         * modules/func (License): Change license to unlimited; there was
94946         no LGPL parts in the module anyway.
94948 2008-03-06  Simon Josefsson  <simon@josefsson.org>
94950         * modules/__func__: Renamed to modules/func.
94951         * modules/__func__-tests: Renamed to modules/func-tests.
94952         * tests/test-__func__.c: Renamed to tests/test-func.c.
94953         * m4/__func__.m4: Renamed to m4/func.m4.
94954         * doc/gnulib.texi (__func__): Section renamed to func.
94955         Suggested by Eric Blake <ebb9@byu.net>.
94957 2008-03-06  Simon Josefsson  <simon@josefsson.org>
94959         * doc/gnulib.texi (__func__): Use C99 terminology when talking
94960         about __func__.  Make example self-contained.  Suggested by Eric
94961         Blake <ebb9@byu.net>.
94963         * tests/test-__func__.c (main): Avoid extraneous () around __func.
94964         Suggested by Eric Blake <ebb9@byu.net>.
94966 2008-03-06  Simon Josefsson  <simon@josefsson.org>
94968         * modules/__func__: New file.
94969         * modules/__func__-tests: New file.
94970         * tests/test-__func__.c: New file.
94971         * m4/__func__.m4: New file.
94972         * doc/gnulib.texi (__func__): Document __func__ module.
94974 2008-03-05  Simon Josefsson  <simon@josefsson.org>
94976         * modules/byteswap (License): Re-license as LGPLv2+.
94978 2008-03-05  Simon Josefsson  <simon@josefsson.org>
94980         * doc/Makefile: Add pdf target.
94982 2008-03-05  Simon Josefsson  <simon@josefsson.org>
94984         * modules/inline (License): Use 'unlimited', since there are only
94985         *.m4 files in this module.
94987 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
94988             Bruno Haible  <bruno@clisp.org>
94990         Add support for HP C 7.1 on OpenVMS 8.3.
94991         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
94993 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
94995         Update VMS specifics.
94996         * lib/getopt.c [VMS]: Remove include of unixlib.h.
94998 2008-03-02  Jim Meyering  <meyering@redhat.com>
95000         Remove the last dependency on the "free" module.
95001         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
95002         Reported by Bob Proulx.
95004         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
95006         Remove useless "if" tests before free.  Deprecate "free" module.
95007         * doc/posix-functions/free.texi: Mention that this
95008         module is no longer useful.
95009         * modules/free (Notice): Say this module is obsolete.
95010         * modules/readutmp (Depends-on): Remove free.
95011         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
95012         * lib/putenv.c (putenv): Likewise.
95013         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
95014         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
95015         * tests/test-c-strcasestr.c (main): Likewise.
95016         * tests/test-c-strstr.c (main): Likewise.
95017         * tests/test-mbscasestr1.c (main): Likewise.
95018         * tests/test-mbscasestr2.c (main): Likewise.
95019         * tests/test-mbsstr1.c (main): Likewise.
95020         * tests/test-mbsstr2.c (main): Likewise.
95021         * tests/test-memmem.c (main): Likewise.
95022         * tests/test-strcasestr.c (main): Likewise.
95023         * tests/test-striconv.c (main): Likewise.
95024         * tests/test-striconveh.c (main): Likewise.
95025         * tests/test-striconveha.c (main): Likewise.
95026         * tests/test-strstr.c (main): Likewise.
95028         * build-aux/git-version-gen: Adjust a comment and the Usage string.
95030         bootstrap: sync from coreutils again
95031         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
95033 2008-03-01  Jim Meyering  <meyering@redhat.com>
95035         bootstrap: sync from coreutils
95036         * build-aux/bootstrap (update_po_files): Copy a .po file into place
95037         also when the target doesn't exist.
95039 2008-03-01  Eric Blake  <ebb9@byu.net>
95041         Fix bugs in last patch.
95042         * lib/memchr2.c (memchr2): Fix typo.
95043         * tests/test-memchr2.c: Test previous bug, and don't use GNU
95044         extension.
95045         Reported by Bruce Korb.
95047         New module 'memchr2'.
95048         * modules/memchr2: New file.
95049         * modules/memchr2-tests: Likewise.
95050         * lib/memchr2.h: Likewise.
95051         * lib/memchr2.c: Likewise, based on memchr.c.
95052         * tests/test-memchr2.c: New test.
95053         * MODULES.html.sh (String handling): Add memchr2.
95055 2008-02-29  Bruno Haible  <bruno@clisp.org>
95057         * modules/freadseek-tests: New file.
95058         * tests/test-freadseek.sh: New file.
95059         * tests/test-freadseek.c: New file.
95061         New module 'freadseek'.
95062         * modules/freadseek: New file.
95063         * lib/freadseek.h: New file.
95064         * lib/freadseek.c: New file.
95065         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
95067 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
95069         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
95070         wydawca.
95072         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
95073         program_invocation_name and program_invocation_short_name are
95074         present.
95076 2008-02-28  Bruno Haible  <bruno@clisp.org>
95078         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
95079         * tests/test-freadptr.sh: Also test non-seekable stdin.
95081 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
95083         * build-aux/bootstrap (source_base, m4_base)
95084         (doc_base, tests_base): New variables.
95085         (gnulib_tool_options): Do not hardcode base directories, use
95086         the above variables instead.
95088 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
95090         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
95092 2008-02-28  Bruno Haible  <bruno@clisp.org>
95094         * modules/freadptr-tests: New file.
95095         * tests/test-freadptr.sh: New file.
95096         * tests/test-freadptr.c: New file.
95098         New module 'freadptr'.
95099         * modules/freadptr: New file.
95100         * lib/freadptr.h: New file.
95101         * lib/freadptr.c: New file.
95102         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
95104 2008-02-26  Karl Berry  <karl@freefriends.org>
95106         Sync from Libtool:
95107         * libltdl/argz.c (argz_add, argz_count): New functions.
95108         * libltdl/argz.in.h: Declare them.
95109         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
95111 2008-02-22  Bruno Haible  <bruno@clisp.org>
95113         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
95114         is a pointer type.  Needed for HP-UX 10.
95115         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
95116         * doc/posix-functions/gmtime_r.texi: Likewise.
95117         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
95119 2008-02-24  Bruno Haible  <bruno@clisp.org>
95121         * modules/environ-tests: New file.
95122         * tests/test-environ.c: New file.
95124         New module 'environ'.
95125         * modules/environ: New file.
95126         * lib/unistd.in.h (environ): New declaration.
95127         * m4/environ.m4: New file.
95128         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
95129         after use.
95130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
95131         HAVE_DECL_ENVIRON.
95132         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
95133         HAVE_DECL_ENVIRON.
95134         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
95135         wrong claim that 'environ' is missing on some systems.
95136         * modules/execute (Depends-on): Add environ.
95137         * lib/execute.c (environ): Remove fallback declaration.
95138         * modules/pipe (Depends-on): Add environ.
95139         * lib/pipe.c (environ): Remove fallback declaration.
95140         * modules/setenv (Depends-on): Add environ.
95141         * lib/setenv.c (environ): Remove fallback declaration.
95142         * modules/unsetenv (Depends-on): Add environ.
95143         * lib/unsetenv.c (environ): Remove fallback declaration.
95144         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
95145         m4/environ.m4.
95146         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
95147         (gl_PREREQ_UNSETENV): Likewise.
95149 2008-02-24  Bruno Haible  <bruno@clisp.org>
95151         * doc/posix-functions/environ.texi: Document the MacOS X problem.
95153 2008-02-20  Bob Proulx  <bob@proulx.com>
95155         Enable use of older two part flavor 'git describe'.
95156         * build-aux/git-version-gen: If using the older two part flavor of
95157         git version then recreate the third part now present in the
95158         newer three part flavor of git describe.
95160 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
95162         * lib/fts.c (fts_build): Typo correction to comment.
95164 2008-02-17  Bruno Haible  <bruno@clisp.org>
95166         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
95167         generating no-op conflicts.
95169 2008-02-17  Bruno Haible  <bruno@clisp.org>
95171         Speed up by 10%.
95172         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
95173         result_entries, rather than an index-based loop.
95175 2008-02-17  Bruno Haible  <bruno@clisp.org>
95177         Speed up by 25%.
95178         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
95179         'hashcode_cached'.
95180         (entry_create): New function.
95181         (entry_hashcode): Use the cached hashcode if possible.
95182         (read_changelog_file, try_split_merged_entry): Use entry_create.
95184 2008-02-17  Bruno Haible  <bruno@clisp.org>
95186         Speed up from O(n^2) to O(n) for long ChangeLog files.
95187         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
95188         (read_changelog_file): Change implementation of entries_reversed list
95189         to rbtreehash.
95190         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
95192 2008-02-17  Bruno Haible  <bruno@clisp.org>
95194         New option --split-merged-entry.
95195         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
95196         (find_paragraph_end, try_split_merged_entry): New functions.
95197         (long_options): Add option --split-merged-entry.
95198         (usage): Document option --split-merged-entry.
95199         (main): Implement option --split-merged-entry.
95200         Reported by Eric Blake.
95202 2008-02-17  Bruno Haible  <bruno@clisp.org>
95204         * lib/git-merge-changelog.c: Include c-strstr.h.
95205         (main): Support the "git pull --rebase" situation.
95206         * modules/git-merge-changelog (Depends-on): Add c-strstr.
95207         Reported by Eric Blake.
95209 2008-02-16  Eric Blake  <ebb9@byu.net>
95211         Avoid doubling \ in common case of "c-maybe" quoting style.
95212         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
95213         eliding outer quotes.
95214         * lib/quotearg.h: Document this.
95215         * tests/test-quotearg.c (result_strings, inputs, results_g)
95216         (flag_results, locale_results): Test it by adding a new string to
95217         each test group.
95218         (compare_strings): Test new string.
95220 2008-02-13  Eric Blake  <ebb9@byu.net>
95222         Avoid trigraph quoting in default output.
95223         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
95224         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
95225         unless explicitly requested.
95226         * tests/test-quotearg.c (flag_results, main): Add additional tests.
95228 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
95230         Don't rely on signed integer overflowing to negative value.
95231         * lib/getugroups.c (getugroups): Include <limits.h>.
95232         Instead, compare against INT_MAX, and increment only if the test passes.
95234 2008-02-13  Jim Meyering  <meyering@redhat.com>
95235         and Eric Blake  <ebb9@byu.net>
95237         Avoid shadowing warning and compile errors on Linux.
95238         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
95239         forwarding macros on Linux.
95240         (dcgettext): Define a stub, for Linux.
95241         (results_g, main): Avoid warnings.
95243 2008-02-12  Eric Blake  <ebb9@byu.net>
95245         Silence warning in last patch.
95246         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
95248         Quotearg part 4: add tests, fix c-maybe colon quoting.
95249         * lib/quotearg.h: Improve documentation.
95250         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
95251         escapes when adding outer quotes.  When quoting trigraphs, use
95252         valid C notation.  When quoting NUL, omit extra characters if next
95253         character is not digit.  Alter prototype.
95254         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
95255         callers.
95256         * modules/quotearg-tests: New module.
95257         * tests/test-quotearg.c: New test.
95259 2008-02-07  Eric Blake  <ebb9@byu.net>
95261         Quotearg part 3: add flag to control outer quote elision.
95262         * lib/quotearg.h (c_maybe_quoting_style): New style.
95263         (enum quoting_flags): Better documentation of flags.
95264         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
95265         c-maybe style.
95266         (quotearg_buffer_restyled): Handle new flag to elide outer
95267         quotes.
95269         Quotearg part 2: add flag that can control NUL elision.
95270         * lib/quotearg.h (set_quoting_flags): New prototype.
95271         * lib/quotearg.c (struct quoting_options): Add flag field.
95272         (set_quoting_flags): New function.
95273         (quotearg_buffer_restyled): Add flags parameter.
95274         (quotearg_alloc_mem): Set the flag if length cannot be returned.
95275         (quotearg_n_options): Set the flag, since length cannot be
95276         returned.
95277         (quoting_options_from_style): Default flags correctly.
95279         Quotearg part 1: more wrappers, restore quotearg_char state.
95280         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
95281         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
95282         (quotearg_colon_mem): New wrappers.
95283         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
95284         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
95285         functions.
95286         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
95287         (quotearg_colon_mem): New functions.
95289 2008-02-11  Bruno Haible  <bruno@clisp.org>
95291         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
95292         library in the current directory: it does not work with parallel make.
95293         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95295 2008-02-11  Bruno Haible  <bruno@clisp.org>
95297         * .gitattributes: New file.
95299 2008-02-11  Jim Meyering  <meyering@redhat.com>
95301         useless-if-before-free: Fix reversed exit values.
95302         * build-aux/useless-if-before-free: Use correct values
95303         for EXIT_MATCH and EXIT_NO_MATCH.
95305         * build-aux/useless-if-before-free: Close stdout carefully.
95307 2008-02-10  Bruno Haible  <bruno@clisp.org>
95309         New module 'git-merge-changelog'.
95310         * modules/git-merge-changelog: New file.
95311         * lib/git-merge-changelog.c: New file.
95313 2008-02-10  Jim Meyering  <meyering@redhat.com>
95315         useless-if-before-free: New option: --list (-l).
95317         useless-if-before-free: Don't exit immediately upon open failure.
95318         * build-aux/useless-if-before-free: Exit 2 for errors.
95319         Upon failure to open a file, don't exit immediately.
95320         Rather, just warn and continue with any remaining files.
95322 2008-02-10  Bruno Haible  <bruno@clisp.org>
95324         New abstract list operation 'node_set_value'.
95325         * lib/gl_list.h (gl_list_node_set_value): New function.
95326         (struct gl_list_implementation): New field node_set_value.
95327         * lib/gl_list.c (gl_list_node_set_value): New function.
95328         * lib/gl_array_list.c (gl_array_node_set_value): New function.
95329         (gl_array_list_implementation): Update.
95330         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
95331         (gl_carray_list_implementation): Update.
95332         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
95333         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95334         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95335         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
95336         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95337         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95338         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95339         Update.
95340         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95341         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
95342         (gl_sublist_list_implementation): Update.
95344 2008-02-10  Bruno Haible  <bruno@clisp.org>
95346         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
95347         Needed when ELEMENT is #defined to 'some_type *'.
95349 2008-02-10  Jim Meyering  <meyering@redhat.com>
95351         New script and module: useless-if-before-free
95352         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
95353         * build-aux/useless-if-before-free: New file.
95354         * modules/useless-if-before-free: New file.
95356         * build-aux/gitlog-to-changelog: Use committer date, not author date.
95358         xstrtol_error: Fix typo.
95359         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
95360         s/exit_failure/exit_status/.
95362 2008-02-09  Jim Meyering  <meyering@redhat.com>
95364         New script and module: gitlog-to-changelog
95365         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
95366         * modules/gitlog-to-changelog: New file.
95367         * build-aux/gitlog-to-changelog: New file.
95369 2008-02-08  Jim Meyering  <meyering@redhat.com>
95371         Avoid two "parameter unused" warnings.
95372         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
95373         Mark "st" as used.
95375         Use "git COMMAND", not "git-COMMAND".
95376         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
95377         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
95378         * build-aux/git-version-gen: Use "git status", not "git-status".
95380 2008-02-07  Bruno Haible  <bruno@clisp.org>
95382         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
95383         Avoids a crash on Windows Vista.
95384         Reported by Adam Strzelecki <ono@java.pl> via
95385         Simon Josefsson <simon@josefsson.org>.
95387 2008-02-06  Bruno Haible  <bruno@clisp.org>
95389         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
95390         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
95391         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
95392         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
95393         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
95394         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
95395         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
95396         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
95397         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
95398         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
95399         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
95400         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
95401         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
95402         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95403         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
95404         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
95405         left-adjust flag.
95406         * tests/test-snprintf-posix.h (test_function): Likewise.
95407         * tests/test-sprintf-posix.h (test_function): Likewise.
95408         * tests/test-vasprintf-posix.c (test_function): Likewise.
95409         * doc/posix-functions/fprintf.texi: Update.
95410         * doc/posix-functions/printf.texi: Update.
95411         * doc/posix-functions/snprintf.texi: Update.
95412         * doc/posix-functions/sprintf.texi: Update.
95413         * doc/posix-functions/vfprintf.texi: Update.
95414         * doc/posix-functions/vprintf.texi: Update.
95415         * doc/posix-functions/vsnprintf.texi: Update.
95416         * doc/posix-functions/vsprintf.texi: Update.
95417         Reported by Peter Fales <psfales@alcatel-lucent.com>.
95419 2008-02-06  Bruno Haible  <bruno@clisp.org>
95421         Fix bug introduced on 2008-01-26.
95422         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
95424 2008-02-06  Bruno Haible  <bruno@clisp.org>
95426         Fix bug introduced on 2007-06-10.
95427         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
95428         !NEED_PRINTF_FLAG_ZERO.
95430 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
95432         getloadavg: use libperfstat on AIX5
95433         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
95435 2008-02-03  Bruno Haible  <bruno@clisp.org>
95437         * lib/diffseq.h: Add comments about required #includes.
95438         Reported by Michael Biggs <gnulib@doubleplum.net>.
95440 2008-02-01  Bruno Haible  <bruno@clisp.org>
95442         * users.txt: Add gnuit.
95444 2008-01-31  Bruno Haible  <bruno@clisp.org>
95446         * lib/md4.c (set_uint32): Mark as inline.
95447         * lib/md5.c (set_uint32): Likewise.
95448         * lib/sha1.c (set_uint32): Likewise.
95449         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
95450         * m4/md5.m4 (gl_MD5): Likewise.
95451         * m4/sha1.m4 (gl_SHA1): Likewise.
95453 2008-01-31  Jim Meyering  <meyering@redhat.com>
95455         Use "sizeof VAR", rather than a literal "4".
95456         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
95457         * lib/md4.c (md4_read_ctx): Likewise.
95458         * lib/sha1.c (sha1_read_ctx): Likewise.
95460 2008-01-31  Simon Josefsson  <simon@josefsson.org>
95462         * tests/test-sha1.c: New file, based on test-md5.c.
95464         * modules/crypto/sha1-tests: New file.
95466 2008-01-31  Simon Josefsson  <simon@josefsson.org>
95468         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
95470 2008-01-31  Jim Meyering  <meyering@redhat.com>
95472         Prefer "sizeof v" over the equivalent "4".
95473         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
95474         * lib/md5.c (set_uint32): Likewise.
95475         * lib/sha1.c (set_uint32): Likewise.
95477 2008-01-31  Simon Josefsson  <simon@josefsson.org>
95479         * lib/sha1.c (set_uint32): Mark function as static.
95481 2008-01-31  Simon Josefsson  <simon@josefsson.org>
95483         md2: clarify comments to say that alignment is not required.
95484         * lib/md2.h: Remove warning about alignment in comment.
95485         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
95486         never been required.
95488 2008-01-31  Simon Josefsson  <simon@josefsson.org>
95490         md4: adapt alignment constraint fix from sha1.
95491         * lib/md4.c (set_uint32): New function, from sha1.c
95492         (md4_read_ctx): Use it.
95493         (md4_finish_ctx): Doc fix.
95494         * lib/md4.h: Doc fix.
95496 2008-01-31  Simon Josefsson  <simon@josefsson.org>
95498         md5: adapt alignment constraint fix from sha1.
95499         * lib/md5.c (set_uint32): New function, from sha1.c
95500         (md5_read_ctx): Use it.
95501         (md5_finish_ctx): Doc fix.
95502         * lib/md5.h: Doc fix.
95504 2008-01-30  Peter Palfrader  <weasel@debian.org>
95506         sha1: remove the result buffer alignment constraint
95507         * lib/sha1.c (set_uint32): New function.
95508         (sha1_read_ctx): Rewrite to remove the result buffer alignment
95509         constraint.
95510         (sha1_finish_ctx): Remove comment warning about alignment constraint.
95511         * lib/sha1.h: Likewise.
95513 2008-01-30  Andreas Schwab  <schwab@suse.de>
95514             Bruno Haible  <bruno@clisp.org>
95516         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
95517         correct definition of LDBL_MIN_EXP.
95519 2008-01-30  Karl Berry  <karl@gnu.org>
95521         * config/srclist-update: try to preserve x bit on updates.
95522         * config/srclistvars.sh: update for karl.
95524 2008-01-29  Jim Meyering  <meyering@redhat.com>
95526         vasnprintf.c: Avoid warning about unused label
95527         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
95528         "overflow" label definition and associated code with the
95529         same cpp condition that guards the sole use of that label.
95531 2008-01-26  Bruno Haible  <bruno@clisp.org>
95533         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
95534         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
95535         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
95536         * lib/isnanl-nolibm.h (isnanl): Likewise.
95537         Reported by Paul Eggert <eggert@cs.ucla.edu>.
95539 2008-01-26  Bruno Haible  <bruno@clisp.org>
95541         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
95542         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
95544 2008-01-26  Bruno Haible  <bruno@clisp.org>
95546         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
95547         GCC >= 4.0 built-in.
95548         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
95550 2008-01-26  Bruno Haible  <bruno@clisp.org>
95552         Rename isnan, applicable to 'double' only, to isnand.
95553         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
95554         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
95555         (configure.ac): Update.
95556         (Include): Replace "isnan.h" with "isnand.h".
95557         * m4/isnand.m4: Renamed from m4/isnan.m4.
95558         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
95559         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
95560         instead of isnan.c.
95561         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
95562         instead of HAVE_ISNAN_IN_LIBC.
95563         (isnand): Renamed from isnan.
95564         * lib/isnand.c: New file.
95565         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
95566         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
95567         (Makefile.am): Update.
95568         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
95569         Include isnand.h instead of isnan.h.
95570         (main): Test isnand instead of isnan.
95571         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
95572         isnan-nolibm.
95573         * modules/frexp (Depends-on): Likewise.
95574         * modules/frexp-tests (Depends-on): Likewise.
95575         * modules/frexp-nolibm (Depends-on): Likewise.
95576         * modules/frexp-nolibm-tests (Depends-on): Likewise.
95577         * modules/isfinite (Depends-on): Likewise.
95578         * modules/round-tests (Depends-on): Likewise.
95579         * modules/signbit (Depends-on): Likewise.
95580         * modules/signbit-tests (Depends-on): Likewise.
95581         * modules/snprintf-posix (Depends-on): Likewise.
95582         * modules/sprintf-posix (Depends-on): Likewise.
95583         * modules/trunc-tests (Depends-on): Likewise.
95584         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
95585         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
95586         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
95587         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
95588         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
95589         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
95590         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
95591         * modules/vasnprintf-posix (Depends-on): Likewise.
95592         * modules/vasprintf-posix (Depends-on): Likewise.
95593         * modules/vfprintf-posix (Depends-on): Likewise.
95594         * modules/vsnprintf-posix (Depends-on): Likewise.
95595         * modules/vsprintf-posix (Depends-on): Likewise.
95596         * lib/frexp.c: Include isnand.h instead of isnan.h.
95597         (ISNAN): Set to isnand instead of isnan.
95598         * lib/isfinite.c: Include isnand.h instead of isnan.h.
95599         (gl_isfinited): Use isnand instead of isnan.
95600         * lib/signbitd.c: Include isnand.h instead of isnan.h.
95601         (gl_signbitd): Use isnand instead of isnan.
95602         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
95603         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
95604         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
95605         (main): Use isnand instead of isnan.
95606         * tests/test-round1.c: Include isnand.h.
95607         (main): Use isnand instead of isnan.
95608         * tests/test-round2.c: Include isnand.h instead of isnan.h.
95609         (ISNAN): Set to isnand instead of isnan.
95610         * tests/test-trunc1.c: Include isnand.h.
95611         (main): Use isnand instead of isnan.
95612         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
95613         (equal): Use isnand instead of isnan.
95614         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
95615         isnand-nolibm.
95616         * NEWS: Mention the change.
95618 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
95619             Bruno Haible  <bruno@clisp.org>
95621         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
95622         the GCC builtins for signbits are present and set
95623         REPLACE_SIGNBIT_USING_GCC if so.
95624         * lib/math.in.h (signbit): Define using GCC builtins if
95625         REPLACE_SIGNBIT_USING_GCC is set.
95626         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
95627         REPLACE_SIGNBIT_USING_GCC.
95628         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
95630 2008-01-25  Jim Meyering  <meyering@redhat.com>
95632         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
95633         * lib/poll.c: Include <config.h>, not "config.h".
95634         * tests/test-getaddrinfo.c: Likewise.
95636 2008-01-25  Simon Josefsson  <simon@josefsson.org>
95638         * modules/sockets-tests: New file.
95640 2008-01-24  Simon Josefsson  <simon@josefsson.org>
95642         * modules/sockets: New module, can be used to call WSA_Startup and
95643         WSA_Cleanup when needed.
95645         * lib/sockets.h, lib/sockets.c: New files.
95647         * m4/sockets.m4: New file.
95649         * tests/test-sockets.c: New file.
95651 2008-01-19  Bruno Haible  <bruno@clisp.org>
95653         * doc/posix-headers: Renamed from doc/headers.
95654         * doc/posix-functions: Renamed from doc/functions.
95655         * doc/gnulib.texi: Update.
95657 2008-01-19  Bruno Haible  <bruno@clisp.org>
95659         * doc/glibc-functions/strcasestr.texi: Include contents of
95660         doc/functions/strcasestr.texi, fixing the list of platforms.
95661         * doc/functions/strcasestr.texi: Remove file.
95663 2008-01-19  Bruno Haible  <bruno@clisp.org>
95665         * doc/glibc-functions/memmem.texi: Include contents of
95666         doc/functions/memmem.texi.
95667         * doc/functions/memmem.texi: Remove file.
95669 2008-01-18  Bruno Haible  <bruno@clisp.org>
95671         * doc/glibc-functions/*.texi: New files.
95672         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
95673         to use the new files.
95675 2008-01-17  Bruno Haible  <bruno@clisp.org>
95677         * tests/test-gethostname.c (main): Fix printf statement.
95679 2008-01-17  Simon Josefsson  <simon@josefsson.org>
95681         * modules/gethostname-tests: New file.
95683         * tests/test-gethostname.c: New file.
95685 2008-01-17  Simon Josefsson  <simon@josefsson.org>
95687         * lib/gethostname.c: Include string.h unconditionally, strncpy is
95688         used by the UNAME case.  Reported by Bruno Haible
95689         <bruno@clisp.org>.
95691 2008-01-17  Eric Blake  <ebb9@byu.net>
95693         Convert c-strcasestr to be more efficient.
95694         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
95695         (Depends-on): Add c-strcase, remove malloca, strnlen.
95696         * tests/test-c-strcasestr.c (main): Enhance test.
95697         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
95699 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
95701         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
95702         Use it in creating po/Makevars.
95704 2008-01-15  Simon Josefsson  <simon@josefsson.org>
95706         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
95707         Applications that requires it should initialize libgcrypt
95708         manually.
95710 2008-01-16  Simon Josefsson  <simon@josefsson.org>
95712         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
95714 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
95716         Fix problem with getdate on mingw32 reported by Simon Josefsson
95717         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
95718         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
95719         tzname", when deciding whether to declare tzname.
95720         * lib/strftime.c (tzname): Likewise.
95722 2008-01-15  Bruno Haible  <bruno@clisp.org>
95724         Work around a MacOS X 10.5 bug in frexpl().
95725         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
95726         * doc/functions/frexpl.texi: Document the bug.
95727         Reported by Elias Pipping <pipping@gentoo.org>.
95729 2008-01-14  Eric Blake  <ebb9@byu.net>
95731         Touch up previous patch.
95732         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
95733         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
95735         Convert strcasestr module to use Two-Way algorithm.
95736         * modules/strcasestr-simple: New module, based on the old
95737         strcasestr, but with Two-Way rather than KMP.
95738         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
95739         * lib/string.in.h (rpl_strcasestr): Declare.
95740         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
95741         performance.
95742         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
95743         * modules/string (Makefile.am): Support strcasestr.
95744         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
95745         * modules/strcasestr-tests (Depends-on): Check for alarm.
95746         * tests/test-strcasestr.c: Augment test.
95747         * lib/str-two-way.h: Clean up stray macro.
95748         * NEWS: Document new module.
95749         * MODULES.html.sh (string handling): Likewise.
95750         * doc/functions/strcasestr.texi: New file.
95751         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
95752         here, since it is not a POSIX function.
95754 2008-01-14  Colin Watson  <cjwatson@debian.org>
95755             Bruno Haible  <bruno@clisp.org>
95757         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
95758         works fine; if not, set REPLACE_STRSIGNAL.
95759         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
95760         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
95761         REPLACE_STRSIGNAL.
95762         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
95763         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
95764         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
95766 2008-01-14  Bruno Haible  <bruno@clisp.org>
95768         * modules/strsignal (Include): Change to <string.h>.
95770 2008-01-14  Colin Watson  <cjwatson@debian.org>
95772         * modules/argp (Notice): Add a notice recommending to change
95773         XGETTEXT_OPTIONS.
95774         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
95776 2008-01-13  Colin Watson  <cjwatson@debian.org>
95778         * modules/strsignal-tests: New file.
95779         * tests/test-strsignal.c: New file.
95781         * lib/strsignal.c: New file, from glibc with modifications.
95782         * lib/siglist.h: New file, from glibc with modifications.
95783         * lib/string.in.h (strsignal): New declaration.
95784         * m4/strsignal.m4: New file.
95785         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
95786         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
95787         * modules/strsignal: New file.
95788         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
95789         HAVE_DECL_STRSIGNAL.
95791 2008-01-13  Bruno Haible  <bruno@clisp.org>
95793         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
95794         locale encoding is not ASCII. Needed for OpenBSD 4.0.
95795         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
95796         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
95798 2008-01-13  Bruno Haible  <bruno@clisp.org>
95800         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
95801         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
95802         * lib/argp.h (__attribute__): Likewise.
95803         * lib/c-stack.c (__attribute__): Likewise.
95804         * lib/error.h (__attribute__): Likewise.
95805         * lib/fts.c (__attribute__): Likewise.
95806         * lib/openat.h (__attribute__): Likewise.
95807         * lib/stdio.in.h (__attribute__): Likewise.
95808         * lib/string.in.h (__attribute__): Likewise.
95809         * lib/utimens.c (__attribute__): Likewise.
95810         * lib/vasnprintf.h (__attribute__): Likewise.
95811         * lib/xalloc.h (__attribute__): Likewise.
95812         * lib/xprintf.h (__attribute__): Likewise.
95813         * lib/xstrtol.h (__attribute__): Likewise.
95814         * lib/xvasprintf.h (__attribute__): Likewise.
95816 2008-01-12  Bruno Haible  <bruno@clisp.org>
95818         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
95819         * doc/glibc-headers/a.out.texi: New file.
95820         * doc/glibc-headers/aliases.texi: New file.
95821         * doc/glibc-headers/alloca.texi: New file.
95822         * doc/glibc-headers/ar.texi: New file.
95823         * doc/glibc-headers/argp.texi: New file.
95824         * doc/glibc-headers/argz.texi: New file.
95825         * doc/glibc-headers/byteswap.texi: New file.
95826         * doc/glibc-headers/crypt.texi: New file.
95827         * doc/glibc-headers/endian.texi: New file.
95828         * doc/glibc-headers/envz.texi: New file.
95829         * doc/glibc-headers/err.texi: New file.
95830         * doc/glibc-headers/error.texi: New file.
95831         * doc/glibc-headers/execinfo.texi: New file.
95832         * doc/glibc-headers/fpu_control.texi: New file.
95833         * doc/glibc-headers/fstab.texi: New file.
95834         * doc/glibc-headers/fts.texi: New file.
95835         * doc/glibc-headers/getopt.texi: New file.
95836         * doc/glibc-headers/ieee754.texi: New file.
95837         * doc/glibc-headers/ifaddrs.texi: New file.
95838         * doc/glibc-headers/libintl.texi: New file.
95839         * doc/glibc-headers/mcheck.texi: New file.
95840         * doc/glibc-headers/mntent.texi: New file.
95841         * doc/glibc-headers/obstack.texi: New file.
95842         * doc/glibc-headers/paths.texi: New file.
95843         * doc/glibc-headers/printf.texi: New file.
95844         * doc/glibc-headers/pty.texi: New file.
95845         * doc/glibc-headers/resolv.texi: New file.
95846         * doc/glibc-headers/shadow.texi: New file.
95847         * doc/glibc-headers/sysexits.texi: New file.
95848         * doc/glibc-headers/ttyent.texi: New file.
95850 2008-01-12  Jim Meyering  <meyering@redhat.com>
95852         announce-gen: emit Gnulib's git-based version string.
95853         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
95854         New option --gnulib-version=V, where V is expected to be
95855         the output of running git describe in the gnulib directory.
95856         (get_tool_versions): Request feedback on xdelta.  I suspect it's
95857         not useful, and plan to stop publishing an xdelta file with each
95858         coreutils release.
95860         * build-aux/announce-gen: Also check for lzma-compressed files.
95862 2008-01-11  Bruno Haible  <bruno@clisp.org>
95864         * tests/test-memmem.c (main): Increase maximum allowed time.
95865         * tests/test-strstr.c (main): Likewise.
95867 2008-01-11  Bruno Haible  <bruno@clisp.org>
95869         * doc/functions/memmem.texi: Add more precisions about platforms.
95870         * doc/functions/strstr.texi: Likewise.
95872 2008-01-10  Eric Blake  <ebb9@byu.net>
95874         * m4/strstr.m4: Delete cruft from copy-n-paste.
95875         Reported by Bruno Haible.
95877 2008-01-10  Bruno Haible  <bruno@clisp.org>
95879         Make c-strstr rely on strstr.
95880         * lib/c-strstr.c: Don't include str-kmp.h.
95881         (c_strstr): Define in terms of strstr.
95882         * modules/c-strstr (Files): Remove lib/str-kmp.h.
95883         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
95885 2008-01-10  Bruno Haible  <bruno@clisp.org>
95887         * doc/gnulib.texi (String Functions in C Locale): New section.
95888         * doc/c-ctype.texi: New file.
95889         * doc/c-strcase.texi: New file.
95890         * doc/c-strcaseeq.texi: New file.
95891         * doc/c-strcasestr.texi: New file.
95892         * doc/c-strstr.texi: New file.
95893         * doc/c-strtod.texi: New file.
95894         * doc/c-strtold.texi: New file.
95896 2008-01-10  Eric Blake  <ebb9@byu.net>
95898         * lib/relocatable.h: Fix a comment.
95900 2008-01-10  Eric Blake  <ebb9@byu.net>
95902         Share two-way algorithm.
95903         * lib/str-two-way.h: New file, merged from...
95904         * lib/memmem.c: ...here...
95905         * lib/strstr.c: ...and here.
95906         * modules/memmem (Files): Use it.
95907         * modules/strstr (Files): Likewise.
95909         Avoid quadratic strstr implementations.
95910         * lib/strstr.c: New file.
95911         * m4/strstr.m4: Likewise.
95912         * modules/strstr: Likewise.
95913         * modules/strstr-tests: Likewise.
95914         * tests/test-strstr.c: Likewise.
95915         * lib/string.in.h (rpl_strstr): Declare.
95916         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
95917         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
95918         * modules/string (Makefile.am): Likewise.
95919         * MODULES.html.sh (string handling): Mention new module.
95920         * doc/functions/strstr.texi (strstr): Document the bug.
95922 2008-01-10  Bruno Haible  <bruno@clisp.org>
95924         * lib/relocatable.h (relocate): State whether result is freshly
95925         allocated or not.
95926         * lib/relocatable.c (relocate): Return a freshly allocated string
95927         instead of a pointer to a privately held string.
95928         Reported by Sylvain Beucler <beuc@gnu.org>.
95930 2008-01-10  Colin Watson  <cjwatson@debian.org>
95932         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
95933         s/S_ISNLK/S_ISLNK/.
95935 2008-01-09  Bruno Haible  <bruno@clisp.org>
95937         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
95938         and other files.
95939         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
95940         if it's only a guess.
95941         * modules/memmem: Simplify by depending on memmem-simple.
95943 2008-01-09  Bruno Haible  <bruno@clisp.org>
95945         Work around OpenBSD 4.0 tdelete() bug.
95946         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
95947         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
95948         macros and don't redefine the enum values.
95949         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
95950         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
95951         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
95953 2008-01-09  Bruno Haible  <bruno@clisp.org>
95955         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
95956         (main): Don't perform the tests if setlocale did not install a UTF-8
95957         locale. Needed on OpenBSD 4.0.
95958         * modules/wcwidth-tests (Depends-on): Add localcharset.
95960 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
95962         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
95963         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
95964         * NEWS: announce this.
95965         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
95967 2008-01-09  Simon Josefsson  <simon@josefsson.org>
95968         and Eric Blake  <ebb9@byu.net>
95970         Add memmem-simple module.
95971         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
95972         (gl_FUNC_MEMMEM): Separate performance from presence checks.
95973         * modules/memmem-simple: New file.
95974         * modules/memmem (Description): Tweak.
95975         * MODULES.html.sh (string handling): Mention new module.
95976         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
95977         addressed by memmem-simple.
95978         * NEWS: Document the difference.
95980 2008-01-09  Eric Blake  <ebb9@byu.net>
95982         Give gcc some memmem optimization hints.
95983         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
95984         (strcasestr): Declare as pure.
95985         * modules/memmem (Maintainer): Claim my implementation.
95987 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95989         Support AIX 6.1 and higher.
95990         * build-aux/config.libpath: Likewise.
95991         * build-aux/config.rpath: Likewise.
95993 2008-01-08  Jim Meyering  <meyering@redhat.com>
95994             Bruno Haible  <bruno@clisp.org>
95996         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
95997         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
95998         Reported by Peter Fales in
95999         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
96001 2008-01-08  Bruno Haible  <bruno@clisp.org>
96003         * modules/unictype/category-of (Depends-on): Add
96004         unictype/category-none.
96005         * modules/unictype/category-and-tests (Depends-on): Add
96006         unictype/category-{L,N,Lu,Nd}.
96007         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
96008         * modules/unictype/category-or-tests (Depends-on): Add
96009         unictype/category-{L,N}.
96010         * modules/unictype/category-name-tests (Depends-on): Add
96011         unictype/category-{Z,Nl}.
96012         Reported by Simon Josefsson.
96014 2008-01-08  Bruno Haible  <bruno@clisp.org>
96016         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
96017         convention better.
96018         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
96019         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
96020         Reported by Peter Miller <millerp@canb.auug.org.au>.
96022 2008-01-08  Eric Blake  <ebb9@byu.net>
96024         Rewrite memmem to guarantee linear complexity without malloc.
96025         * lib/memmem.c (memmem): Use Two-Way rather than
96026         Knuth-Morris-Pratt, to allow O(1) space usage.
96027         (critical_factorization, two_way_short_needle)
96028         (two_way_long_needle): New functions.
96029         (knuth_morris_pratt): Delete.
96030         * modules/memmem (Depends-on): No longer need malloca or stdbool.
96031         Add stdint.
96032         * tests/test-memmem.c (main): Add tests for periodic needle and
96033         sublinear performance.
96034         * doc/functions/memmem.texi (memmem): Document other deficiencies
96035         in cygwin and older glibc.
96037 2008-01-08  Bruno Haible  <bruno@clisp.org>
96039         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
96040         augmentation.
96042 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
96044         Add a configure time option: --disable-acl.
96045         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
96046         AC_ARG_ENABLE(acl).
96048 2008-01-06  Simon Josefsson  <simon@josefsson.org>
96050         * tests/test-localename.c: Don't include obsolete "setenv.h".
96052         * modules/localename-tests (Depends-on): Need unsetenv.
96054 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96056         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
96058 2008-01-06  Colin Watson  <cjwatson@debian.org>
96060         * users.txt: Add man-db.
96062 2008-01-07  Bruno Haible  <bruno@clisp.org>
96064         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
96065         previous section name.
96067 2008-01-07  Bruno Haible  <bruno@clisp.org>
96069         * lib/progname.c (set_program_name): Don't strip off a leading
96070         "lt-" prefix outside a .libs directory.
96071         Suggested by Paul Eggert.
96073 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
96074             Bruno Haible  <bruno@clisp.org>
96076         Improve memory cleanup in 'relocatable' module.
96077         * lib/relocatable.h (compute_curr_prefix): Change return type to
96078         'char *'.
96079         * lib/relocatable.c (compute_curr_prefix): Change return type to
96080         'char *'. Free curr_installdir after use.
96081         (relocate): Free curr_prefix_better after use.
96082         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
96084 2008-01-01  Bruno Haible  <bruno@clisp.org>
96086         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
96087         failure on older glibc systems.
96088         Reported by Peter Fales <psfales@alcatel-lucent.com>.
96090 2008-01-05  Eric Blake  <ebb9@byu.net>
96092         Avoid quadratic system memmem.
96093         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
96094         Reported by Ralf Wildenhues.
96096         Fix memmem test for mingw.
96097         * modules/memmem-tests (configure.ac): Check for alarm.
96098         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
96099         it.
96100         * doc/functions/memmem.texi: New file.
96101         * doc/gnulib.texi (Function Substitutes): Add memmem.
96102         Reported by Bruno Haible.
96104 2008-01-04  Bruno Haible  <bruno@clisp.org>
96106         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
96107         Require gl_HEADER_STRINGS_H_DEFAULTS, not
96108         gl_HEADER_STRING_H_DEFAULTS.
96110 2008-01-04  Eric Blake  <ebb9@byu.net>
96112         Shorten duration of memmem test.
96113         * tests/test-memmem.c (main): Use alarm to declare failure if test
96114         is taking too long.
96115         Reported by Ralf Wildenhues.
96117 2007-12-21  Simon Josefsson  <simon@josefsson.org>
96119         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
96120         string, needed by strerror.
96122 2008-01-03  Colin Watson  <cjwatson@debian.org>
96123             Bruno Haible  <bruno@clisp.org>
96125         * doc/gnulib-tool.texi (Localization): New section.
96127 2008-01-02  Bruno Haible  <bruno@clisp.org>
96129         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
96130         variables to 'unsigned char *' type.
96131         Reported by Paul Eggert.
96133 2008-01-02  Jim Meyering  <jim@meyering.net>
96135         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
96137 2007-12-31  Jim Meyering  <jim@meyering.net>
96139         Avoid use of private FTS type name.
96140         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
96142 2007-12-30  Karl Berry  <karl@gnu.org>
96144         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
96145         work around defect in Texinfo and/or the standalone Info browser.
96147 2007-12-30  Bruno Haible  <bruno@clisp.org>
96149         Unify 5 copies of the KMP code.
96150         * lib/str-kmp.h: New file.
96151         * lib/c-strcasestr.c: Include str-kmp.h.
96152         (knuth_morris_pratt): Remove function.
96153         (c_strcasestr): Update.
96154         * lib/c-strstr.c: Include str-kmp.h.
96155         (knuth_morris_pratt): Remove function.
96156         (c_strcasestr): Update.
96157         * lib/mbscasestr.c: Include str-kmp.h.
96158         (knuth_morris_pratt_unibyte): Remove function.
96159         * lib/mbsstr.c: Include str-kmp.h.
96160         (knuth_morris_pratt_unibyte): Remove function.
96161         * lib/strcasestr.c: Include str-kmp.h.
96162         (knuth_morris_pratt): Remove function.
96163         (strcasestr): Update.
96164         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
96165         * modules/c-strstr (Files): Likewise.
96166         * modules/mbscasestr (Files): Likewise.
96167         * modules/mbsstr (Files): Likewise.
96168         * modules/strcasestr (Files): Likewise.
96169         Suggested by Paul Eggert.
96171 2007-12-30  Bruno Haible  <bruno@clisp.org>
96173         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
96174         defined.
96176 2007-12-30  Bruno Haible  <bruno@clisp.org>
96178         * lib/xmalloca.h: Include xalloc.h.
96179         (xnmalloca): New macro.
96181 2007-12-30  Bruno Haible  <bruno@clisp.org>
96183         * lib/malloca.h (nmalloca): New macro.
96184         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
96185         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
96186         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
96187         knuth_morris_pratt_multibyte): Likewise.
96188         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
96189         knuth_morris_pratt_multibyte): Likewise.
96190         * lib/memmem.c (knuth_morris_pratt): Likewise.
96191         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
96193 2007-12-25  Bruno Haible  <bruno@clisp.org>
96195         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
96196         * lib/glob.c: Don't include openat.h.
96197         (link_exists2_p): Add back the code that deals with the
96198         !GLOB_ALTDIRFUNC case.
96199         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
96200         let it do the filename concatenation.
96201         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
96202         * modules/glob (Depends-on): Remove openat.
96204 2007-12-31  Bruno Haible  <bruno@clisp.org>
96206         * modules/dirfd (License): Change to LGPLv2+.
96207         Approved by Jim Meyering.
96209 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
96211         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
96212         when multiplying M by sizeof (size_t).
96214 2007-12-10  Martin Lambers  <marlam@marlam.de>
96216         Override getpagesize on mingw.
96217         * lib/getpagesize.c: New file.
96218         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
96219         * modules/getpagesize (Files): Add lib/getpagesize.c.
96220         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
96221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
96222         REPLACE_GETPAGESIZE.
96223         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
96225 2007-12-25  Bruno Haible  <bruno@clisp.org>
96227         * modules/localcharset (Notice): New field.
96228         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
96229         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
96231 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
96232             Bruno Haible  <bruno@clisp.org>
96234         Avoid using the syntax symbol() in formatted documentation.
96235         * MODULES.html.sh (func_module): When replacing symbol() with a
96236         hyperlink, remove the parentheses. Show an error if some remain.
96237         Recognize and render the '...' syntax.
96238         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
96239         Rework. Add paragraph about GCC's inlining.
96240         * doc/alloca.texi: Likewise.
96241         * doc/error.texi: Remove parentheses from symbol reference.
96242         * doc/gnulib-intro.texi: Likewise.
96243         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
96244         * modules/fnmatch (Description): Reword to say "the ... function".
96245         * modules/full-read (Description): Likewise.
96246         * modules/full-write (Description): Likewise.
96247         * modules/safe-read (Description): Likewise.
96248         * modules/safe-write (Description): Likewise.
96249         * modules/strchrnul (Description): Likewise.
96250         * modules/trim (Description): Likewise.
96251         * modules/error (Description): Remove parentheses from symbol
96252         references.
96253         * modules/verror (Description): Likewise.
96254         Reported by Karl Berry.
96256 2007-12-25  Bruno Haible  <bruno@clisp.org>
96258         Fixup after 2007-10-16 commit.
96259         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
96261 2007-12-24  Bruno Haible  <bruno@clisp.org>
96263         Make --enable-relocatable work with DESTDIR.
96264         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
96265         to compute installdir from destprog.
96266         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
96267         also set the RELOC_DESTDIR variable.
96268         Reported by Левашев Иван <octagram@bluebottle.com>.
96270 2007-12-24  Bruno Haible  <bruno@clisp.org>
96272         Fix link error due to xalloc_die().
96273         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
96274         of xreadlink.
96275         * lib/relocwrapper.c: Update comments.
96276         * build-aux/install-reloc: Remove xreadlink.c from file list.
96277         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
96278         xreadlink.c.
96279         Reported by Левашев Иван <octagram@bluebottle.com>.
96281 2007-12-24  Bruno Haible  <bruno@clisp.org>
96283         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
96284         * lib/setenv.h: Remove file.
96285         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
96286         lib/setenv.h.
96287         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
96288         (Depends-on): Add stdlib.
96289         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
96290         gl_FUNC_UNSETENV.
96291         (Include): Replace setenv.h with <stdlib.h>.
96292         * modules/unsetenv: New file.
96293         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
96294         * lib/unsetenv.c: Include <stdlib.h> first.
96295         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
96296         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
96297         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
96298         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
96299         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
96300         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
96301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
96302         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
96303         * doc/functions/unsetenv.texi: Update.
96304         * modules/xsetenv (Depends-on): Add unsetenv.
96305         * modules/getdate (Depends-on): Likewise.
96306         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
96307         * lib/xsetenv.c: Don't include setenv.h.
96308         * lib/getdate.y: Likewise.
96309         * lib/relocwrapper.c: Likewise.
96310         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
96311         (Depends-on): Add stdlib.
96312         * NEWS: Mention the changes.
96313         Reported by Левашев Иван <octagram@bluebottle.com>.
96315 2007-12-23  Bruno Haible  <bruno@clisp.org>
96317         * lib/memmem.c (memmem): Use lowercase variable names. Tab
96318         indentation.
96320 2007-12-23  Bruno Haible  <bruno@clisp.org>
96322         * lib/c-strcasestr.c: Add more comments.
96323         * lib/c-strstr.c: Likewise.
96324         * lib/mbscasestr.c: Likewise.
96325         * lib/mbsstr.c: Likewise.
96326         * lib/strcasestr.c: Likewise.
96327         * lib/memmem.c: Likewise.
96329 2007-12-23  Bruno Haible  <bruno@clisp.org>
96331         * tests/test-memmem.c: Include <string.h> first.
96333 2007-12-22  Bruno Haible  <bruno@clisp.org>
96335         * gnulib-tool (func_create_testdir): Change $auxdir while generating
96336         the contents of $testsbase.
96337         Reported by Ralf Wildenhues.
96339 2007-12-22  Bruno Haible  <bruno@clisp.org>
96341         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
96342         two variables local_ldadd_before, local_ldadd_last.
96344 2007-12-20  Eric Blake  <ebb9@byu.net>
96346         Work around circular library issue when cross-compiling.
96347         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
96348         that progname.o does not need to pull in rpl_memcmp.
96350 2007-12-19  Eric Blake  <ebb9@byu.net>
96352         Fix memmem to avoid O(n^2) worst-case complexity.
96353         * lib/memmem.c (knuth_morris_pratt): New function.
96354         (memmem): Use it if first few naive iterations fail.
96355         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
96356         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
96357         * modules/memchr (License): Likewise.
96358         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
96359         malloca.
96360         * tests/test-memmem.c: Rewrite, borrowing ideas from
96361         test-mbsstr1.c; the old version wouldn't even compile!
96362         * modules/memmem-tests: New file.
96363         * lib/string.in.h (rpl_memmem): Add declaration.
96364         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
96365         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
96366         REPLACE_MEMMEM.
96368 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
96370         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
96371         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
96372         before any system include files, and undef after them all.  This
96373         should fix a problem on VMS reported by John E. Malmberg in
96374         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
96376 2007-12-17  Eric Blake  <ebb9@byu.net>
96378         Revert addition of verify, for BSD/OS.
96379         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
96380         can't handle large files, for the sake of obsolete platforms.
96381         * modules/fseeko (Depends-on): Remove verify.
96382         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
96383         * doc/functions/ftello.texi (ftello): Likewise.
96384         * doc/functions/fgetpos.texi (fgetpos): Likewise.
96385         Reported by Larry Jones.
96387 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
96389         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
96390         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
96392 2007-12-17  Jim Meyering  <meyering@redhat.com>
96394         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
96395         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
96396         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
96397         * modules/getcwd (Depends-on): Add openat.
96398         Reported by Petr Salinger.
96400 2007-12-17  Bruno Haible  <bruno@clisp.org>
96402         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
96403         avoid a segmentation fault of the configure test on x86_64 systems.
96405 2007-12-15  Jim Meyering  <meyering@redhat.com>
96407         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
96409 2007-12-13  Eric Blake  <ebb9@byu.net>
96411         Another fseek test.
96412         * tests/test-fseek.c (main): Also test ungetc handling.
96413         * tests/test-fseeko.c (main): Likewise.
96414         * modules/fseeko (Depends-on): Add verify.
96415         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
96416         large.
96417         Reported by Larry Jones.
96419         Fix fseeko on mingw.
96420         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
96421         seek.
96423         Beef up fseek tests.
96424         * tests/test-fseek.c (main): Also test eof handling.
96425         * tests/test-fseeko.c (main): Likewise.
96426         Reported by Larry Jones.
96428 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
96430         Fix fseeko on BSD-based platforms.
96431         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
96432         successful seek.
96434 2007-12-12  Eric Blake  <ebb9@byu.net>
96436         Allow circular dependency of separate libtests.a
96437         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
96438         when use_libtests.
96440 2007-12-11  Eric Blake  <ebb9@byu.net>
96442         Fix bug with -0.0L in previous patch.
96443         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
96444         * tests/test-isnan.c (main): Also test on zeroes.
96445         * tests/test-isnanf.c (main): Likewise.
96446         * tests/test-isnanl.h (main): Likewise.
96448         Detect pseudo-denormals on x86 even when cross-compiling.
96449         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
96450         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
96451         invalid bit patterns that happen to satisfy ==.
96453         Avoid link failures with separate libtests.a.
96454         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
96455         last, to satisfy circular dependencies.
96457 2007-12-11  Eric Blake  <ebb9@byu.net>
96458         and Bruno Haible  <bruno@clisp.org>
96460         Fix OpenBSD 4.0 <float.h> handling of long double.
96461         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
96462         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
96463         * doc/headers/float.texi (float.h): Document OpenBSD bug.
96465 2007-12-11  Jim Meyering  <meyering@redhat.com>
96467         * users.txt: Add libvirt.
96469         Support versions of autoconf prior to 2.59c.
96470         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
96471         if it is not already defined.
96473 2007-12-09  Bruno Haible  <bruno@clisp.org>
96475         Let 'gnulib-tool --import' collect sources needed for the tests in
96476         tests/ rather than in lib/.
96477         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
96478         argument. If true, add rules to generate libtests.a, and put libtests.a
96479         into $(LDADD). Consider source files in subdirectories and set
96480         uses_subdirs.
96481         (func_emit_initmacro_start, func_emit_initmacro_end,
96482         func_emit_initmacro_done): Pass all arguments explicitly.
96483         (func_import): Determine two module lists main_modules,
96484         testsrelated_modules. Determine use_libtests. Determine two variables
96485         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
96486         instead of just sed_transform_lib_file. Determine two variables
96487         main_files and testsrelated_files. Compute 'files' as the union of
96488         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
96489         func_add_or_update. In the generated gnulib-comp.m4, collect the
96490         object files for tests/ in different variables than those for lib/.
96491         Substitute LIBTESTS_LIBDEPS.
96492         (func_create_testdir): Combine the uses_subdirs results from
96493         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
96495 2007-12-09  Bruno Haible  <bruno@clisp.org>
96497         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
96498         the build-aux directory.
96500 2007-12-09  Bruno Haible  <bruno@clisp.org>
96502         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
96503         introduced on 2006-09-09.
96505 2007-12-07  Jim Meyering  <meyering@redhat.com>
96507         Let these macros work also with autoconf-2.59.
96508         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
96509         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
96510         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
96512 2007-12-06  Jim Meyering  <meyering@redhat.com>
96514         Avoid a configure-time syntax error in gl_FUNC_ACL.
96515         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
96516         function in each branch, before testing the cache variable.
96518 2007-12-04  Eric Blake  <ebb9@byu.net>
96520         Make scripts executable.
96521         * build-aux/config.guess: Add execute permissions.
96522         * build-aux/config.sub: Likewise.
96523         * build-aux/gendocs.sh: Likewise.
96525         Fix frexp on mingw.
96526         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
96527         cross-compiling.
96528         * doc/functions/frexp.texi (frexp): Document the bug.
96530         Make cygwin fseeko check more reliable.
96531         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
96532         version numbers, rather than unrelated feature check.
96533         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
96534         * doc/functions/ftello.texi (ftello): Likewise.
96535         Reported by Bruno Haible.
96537         * m4/strerror.m4: Bump version number.
96539 2007-12-03  Bruno Haible  <bruno@clisp.org>
96541         * doc/functions/mprotect.texi: Mention the mingw problem.
96543 2007-12-03  Eric Blake  <ebb9@byu.net>
96545         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
96546         REPLACE_STRERROR is initialized before this macro.
96548 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
96550         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
96551         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
96552         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
96553         put -lsec in even for programs other than 'ls'.  This fixes a problem
96554         for gettext reported by Bruno Haible in
96555         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
96556         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
96557         Add support for Solaris 10.  This isn't efficient, but should get the
96558         job done for now.
96560 2007-12-03  James Youngman  <jay@gnu.org>
96562         * doc/regexprops-generic.texi: change "an close-group" to "a
96563         close-group" and "illegal" to "not allowed".
96565 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96567         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
96568         pr_byname.h. Needed for the rare case when the maintainer has done
96569         "make maintainer-clean" in the source directory and then attempts a
96570         build outside the source directory.
96571         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
96572         scripts_byname.h.
96574 2007-12-02  Martin Lambers  <marlam@marlam.de>
96575             Bruno Haible  <bruno@clisp.org>
96577         * lib/getpagesize.h: Remove file.
96578         * lib/unistd.in.h: Include declaration of getpagesize here.
96579         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
96580         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
96581         HAVE_SYS_PARAM_H.
96582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
96583         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
96584         * modules/getpagesize (Files): Remove lib/getpagesize.h.
96585         (Depends-on): Add unistd.
96586         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
96587         (Include): Use <unistd.h> instead of getpagesize.h.
96588         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
96589         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
96590         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
96591         gl_GETPAGESIZE invocation, already handled by module dependency.
96592         * lib/pagealign_alloc.c: Don't include getpagesize.h.
96594 2007-12-02  Bruno Haible  <bruno@clisp.org>
96596         * modules/strings-tests: New file.
96597         * tests/test-strings.c: New file.
96599         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
96600         * lib/strings.in.h: New file.
96601         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
96602         * m4/strings_h.m4: New file.
96603         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
96604         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
96605         * modules/strings: New file.
96606         * modules/string (Makefile.am): Update.
96607         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
96608         Reported by Karl Berry.
96610 2007-12-01  Eric Blake  <ebb9@byu.net>
96612         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
96613         accommodate fix in cygwin 1.5.25.
96615 2007-12-01  Jim Meyering  <meyering@redhat.com>
96617         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
96618         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
96619         that would inhibit utf8-optimization of a regexp containing line-
96620         or buffer-anchors, e.g., `^', `$'.
96622 2007-11-30  Bruno Haible  <bruno@clisp.org>
96624         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
96625         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
96626         glthread_recursive_lock_init.
96627         * lib/lock.c (glthread_recursive_lock_init)
96628         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
96629         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
96631 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
96633         New function qset_acl, like set_acl but with syscall semantics.
96634         * lib/acl.h (qset_acl): New decl.
96635         * lib/acl.c (qset_acl): New function.
96636         (set_acl): Use new function.  Use more-consistent diagnostics.
96638 2007-11-28  Jim Meyering  <meyering@redhat.com>
96640         * modules/physmem (License): Change from GPL to LGPLv2+.
96642 2007-11-26  Bruno Haible  <bruno@clisp.org>
96644         * lib/vasnprintf.c (decode_long_double): Don't abort if the
96645         'long double' type has excess precision.
96646         Reported by Jim Meyering in
96647         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
96649 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96651         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
96652         Sync from <http://gnu.org/licenses>.
96653         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
96654         with license text from same location.
96655         * doc/maintain.texi, doc/standards.texi:  Sync from
96656         <http://savannah.gnu.org/projects/gnustandards>.
96658 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
96659         and Jim Meyering  <meyering@redhat.com>
96661         Adjust getdate' grammar to accept a slightly more regular language.
96662         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
96663         Before, the former was rejected.
96664         * lib/getdate.y (digits_to_date_time): New function, factored
96665         out of ...
96666         (number): ...here.  Just call digits_to_date_time.
96667         (hybrid): New non-terminal to handle an <unsigned number,
96668         signed relative offset> sequence consistently.
96670 2007-11-18  Jim Meyering  <meyering@redhat.com>
96672         Pull my changes from coreutils:
96673         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
96674         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
96675         use of $gnulib_tool_option_extras, so that it's separated from the
96676         preceding argument.
96678         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
96679         * build-aux/bootstrap (cp_mark_as_generated): Create any required
96680         parent destination directories before copying a file into place.
96682 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
96684         bootstrap: work also with 4-argument variant of AC_INIT
96685         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
96687 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
96689         Port test-getaddrinfo to Solaris.
96690         Problem reported by Bruno Haible in
96691         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
96692         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
96693         explanation of setting 'hints'.
96694         Don't reject an implementation merely because it returns EAI_SERVICE.
96695         (EAI_SERVICE): Define to 0 if not defined.
96697 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
96699         The license of gnu-make and posix-shell is now "GPLed build tool".
96700         * modules/gnu-make (License): Likewise.
96701         * modules/posix-shell (License): Likewise.
96703         New module posix-shell, for determining a POSIX shell
96704         or perhaps something that is close enough to a POSIX shell.
96705         * m4/posix-shell.m4: New file.
96706         * modules/posix-shell: New file.
96708         * MODULES.html.sh: Mention new module.
96710         New module gnu-make, for determining whether we're using GNU Make.
96711         * m4/gnu-make.m4: New file.
96712         * modules/gnu-make: New file.
96713         * MODULES.html.sh: Mention new module.
96715 2007-11-14  Jim Meyering  <meyering@redhat.com>
96717         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
96718         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
96719         use this macro to create a function _definition_.
96720         Remove useless "#undef ARGMATCH_DIE".
96722 2007-11-14  Bruno Haible  <bruno@clisp.org>
96724         * lib/config.charset: Update for OpenBSD 4.1.
96725         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
96727 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
96729         Document 64-bit #if problems in stdint.texi.
96730         * doc/headers/stdint.texi (stdint.h): Mention problems with
96731         64-bit-#if, and how to work around them.
96733         Don't insist on 'long long int' support in the preprocessor.  It
96734         breaks too many things.  For example, PRIdMAX still uses a 'long
96735         long int' format with the latest Sun compiler, even though
96736         HAVE_LONG_LONG_INT isn't defined due to that compiler's
96737         preprocessor problem.  This causes the latest coreutils to dump
96738         core on Solaris 10 sparc with the Sun C compiler.
96739         Instead, fix the 2007-10-16 problem in a different way, by evaluating
96740         the troublesome expressions at configure-time, not at #if-time.
96741         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
96742         preprocessor.
96743         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
96744         compile-time C checks, done at 'configure'-time.
96745         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
96746         * modules/inttypes (Makefile): Substitute the new symbols that
96747         gl_INTTYPES_H now generates.
96748         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
96750 2007-11-12  Bruno Haible  <bruno@clisp.org>
96752         Tests for Unicode character classification functions.
96754         * modules/unictype/bidicategory-byname-tests: New file.
96755         * modules/unictype/bidicategory-name-tests: New file.
96756         * modules/unictype/bidicategory-of-tests: New file.
96757         * modules/unictype/bidicategory-test-tests: New file.
96758         * modules/unictype/block-list-tests: New file.
96759         * modules/unictype/block-of-tests: New file.
96760         * modules/unictype/block-test-tests: New file.
96761         * modules/unictype/category-C-tests: New file.
96762         * modules/unictype/category-Cc-tests: New file.
96763         * modules/unictype/category-Cf-tests: New file.
96764         * modules/unictype/category-Cn-tests: New file.
96765         * modules/unictype/category-Co-tests: New file.
96766         * modules/unictype/category-Cs-tests: New file.
96767         * modules/unictype/category-L-tests: New file.
96768         * modules/unictype/category-Ll-tests: New file.
96769         * modules/unictype/category-Lm-tests: New file.
96770         * modules/unictype/category-Lo-tests: New file.
96771         * modules/unictype/category-Lt-tests: New file.
96772         * modules/unictype/category-Lu-tests: New file.
96773         * modules/unictype/category-M-tests: New file.
96774         * modules/unictype/category-Mc-tests: New file.
96775         * modules/unictype/category-Me-tests: New file.
96776         * modules/unictype/category-Mn-tests: New file.
96777         * modules/unictype/category-N-tests: New file.
96778         * modules/unictype/category-Nd-tests: New file.
96779         * modules/unictype/category-Nl-tests: New file.
96780         * modules/unictype/category-No-tests: New file.
96781         * modules/unictype/category-P-tests: New file.
96782         * modules/unictype/category-Pc-tests: New file.
96783         * modules/unictype/category-Pd-tests: New file.
96784         * modules/unictype/category-Pe-tests: New file.
96785         * modules/unictype/category-Pf-tests: New file.
96786         * modules/unictype/category-Pi-tests: New file.
96787         * modules/unictype/category-Po-tests: New file.
96788         * modules/unictype/category-Ps-tests: New file.
96789         * modules/unictype/category-S-tests: New file.
96790         * modules/unictype/category-Sc-tests: New file.
96791         * modules/unictype/category-Sk-tests: New file.
96792         * modules/unictype/category-Sm-tests: New file.
96793         * modules/unictype/category-So-tests: New file.
96794         * modules/unictype/category-Z-tests: New file.
96795         * modules/unictype/category-Zl-tests: New file.
96796         * modules/unictype/category-Zp-tests: New file.
96797         * modules/unictype/category-Zs-tests: New file.
96798         * modules/unictype/category-and-not-tests: New file.
96799         * modules/unictype/category-and-tests: New file.
96800         * modules/unictype/category-byname-tests: New file.
96801         * modules/unictype/category-name-tests: New file.
96802         * modules/unictype/category-none-tests: New file.
96803         * modules/unictype/category-of-tests: New file.
96804         * modules/unictype/category-or-tests: New file.
96805         * modules/unictype/category-test-withtable-tests: New file.
96806         * modules/unictype/combining-class-tests: New file.
96807         * modules/unictype/ctype-alnum-tests: New file.
96808         * modules/unictype/ctype-alpha-tests: New file.
96809         * modules/unictype/ctype-blank-tests: New file.
96810         * modules/unictype/ctype-cntrl-tests: New file.
96811         * modules/unictype/ctype-digit-tests: New file.
96812         * modules/unictype/ctype-graph-tests: New file.
96813         * modules/unictype/ctype-lower-tests: New file.
96814         * modules/unictype/ctype-print-tests: New file.
96815         * modules/unictype/ctype-punct-tests: New file.
96816         * modules/unictype/ctype-space-tests: New file.
96817         * modules/unictype/ctype-upper-tests: New file.
96818         * modules/unictype/ctype-xdigit-tests: New file.
96819         * modules/unictype/decimal-digit-tests: New file.
96820         * modules/unictype/digit-tests: New file.
96821         * modules/unictype/mirror-tests: New file.
96822         * modules/unictype/numeric-tests: New file.
96823         * modules/unictype/property-alphabetic-tests: New file.
96824         * modules/unictype/property-ascii-hex-digit-tests: New file.
96825         * modules/unictype/property-bidi-arabic-digit-tests: New file.
96826         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
96827         * modules/unictype/property-bidi-block-separator-tests: New file.
96828         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
96829         * modules/unictype/property-bidi-common-separator-tests: New file.
96830         * modules/unictype/property-bidi-control-tests: New file.
96831         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
96832         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
96833         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
96834         * modules/unictype/property-bidi-european-digit-tests: New file.
96835         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
96836         * modules/unictype/property-bidi-left-to-right-tests: New file.
96837         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
96838         * modules/unictype/property-bidi-other-neutral-tests: New file.
96839         * modules/unictype/property-bidi-pdf-tests: New file.
96840         * modules/unictype/property-bidi-segment-separator-tests: New file.
96841         * modules/unictype/property-bidi-whitespace-tests: New file.
96842         * modules/unictype/property-byname-tests: New file.
96843         * modules/unictype/property-combining-tests: New file.
96844         * modules/unictype/property-composite-tests: New file.
96845         * modules/unictype/property-currency-symbol-tests: New file.
96846         * modules/unictype/property-dash-tests: New file.
96847         * modules/unictype/property-decimal-digit-tests: New file.
96848         * modules/unictype/property-default-ignorable-code-point-tests: New file.
96849         * modules/unictype/property-deprecated-tests: New file.
96850         * modules/unictype/property-diacritic-tests: New file.
96851         * modules/unictype/property-extender-tests: New file.
96852         * modules/unictype/property-format-control-tests: New file.
96853         * modules/unictype/property-grapheme-base-tests: New file.
96854         * modules/unictype/property-grapheme-extend-tests: New file.
96855         * modules/unictype/property-grapheme-link-tests: New file.
96856         * modules/unictype/property-hex-digit-tests: New file.
96857         * modules/unictype/property-hyphen-tests: New file.
96858         * modules/unictype/property-id-continue-tests: New file.
96859         * modules/unictype/property-id-start-tests: New file.
96860         * modules/unictype/property-ideographic-tests: New file.
96861         * modules/unictype/property-ids-binary-operator-tests: New file.
96862         * modules/unictype/property-ids-trinary-operator-tests: New file.
96863         * modules/unictype/property-ignorable-control-tests: New file.
96864         * modules/unictype/property-iso-control-tests: New file.
96865         * modules/unictype/property-join-control-tests: New file.
96866         * modules/unictype/property-left-of-pair-tests: New file.
96867         * modules/unictype/property-line-separator-tests: New file.
96868         * modules/unictype/property-logical-order-exception-tests: New file.
96869         * modules/unictype/property-lowercase-tests: New file.
96870         * modules/unictype/property-math-tests: New file.
96871         * modules/unictype/property-non-break-tests: New file.
96872         * modules/unictype/property-not-a-character-tests: New file.
96873         * modules/unictype/property-numeric-tests: New file.
96874         * modules/unictype/property-other-alphabetic-tests: New file.
96875         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
96876         * modules/unictype/property-other-grapheme-extend-tests: New file.
96877         * modules/unictype/property-other-id-continue-tests: New file.
96878         * modules/unictype/property-other-id-start-tests: New file.
96879         * modules/unictype/property-other-lowercase-tests: New file.
96880         * modules/unictype/property-other-math-tests: New file.
96881         * modules/unictype/property-other-uppercase-tests: New file.
96882         * modules/unictype/property-paired-punctuation-tests: New file.
96883         * modules/unictype/property-paragraph-separator-tests: New file.
96884         * modules/unictype/property-pattern-syntax-tests: New file.
96885         * modules/unictype/property-pattern-white-space-tests: New file.
96886         * modules/unictype/property-private-use-tests: New file.
96887         * modules/unictype/property-punctuation-tests: New file.
96888         * modules/unictype/property-quotation-mark-tests: New file.
96889         * modules/unictype/property-radical-tests: New file.
96890         * modules/unictype/property-sentence-terminal-tests: New file.
96891         * modules/unictype/property-soft-dotted-tests: New file.
96892         * modules/unictype/property-space-tests: New file.
96893         * modules/unictype/property-terminal-punctuation-tests: New file.
96894         * modules/unictype/property-test-tests: New file.
96895         * modules/unictype/property-titlecase-tests: New file.
96896         * modules/unictype/property-unassigned-code-value-tests: New file.
96897         * modules/unictype/property-unified-ideograph-tests: New file.
96898         * modules/unictype/property-uppercase-tests: New file.
96899         * modules/unictype/property-variation-selector-tests: New file.
96900         * modules/unictype/property-white-space-tests: New file.
96901         * modules/unictype/property-xid-continue-tests: New file.
96902         * modules/unictype/property-xid-start-tests: New file.
96903         * modules/unictype/property-zero-width-tests: New file.
96904         * modules/unictype/scripts-tests: New file.
96905         * modules/unictype/syntax-c-ident-tests: New file.
96906         * modules/unictype/syntax-c-whitespace-tests: New file.
96907         * modules/unictype/syntax-java-ident-tests: New file.
96908         * modules/unictype/syntax-java-whitespace-tests: New file.
96909         * tests/unictype/test-bidi_byname.c: New file.
96910         * tests/unictype/test-bidi_name.c: New file.
96911         * tests/unictype/test-bidi_of.c: New file.
96912         * tests/unictype/test-bidi_test.c: New file.
96913         * tests/unictype/test-block_list.c: New file.
96914         * tests/unictype/test-block_of.c: New file.
96915         * tests/unictype/test-block_test.c: New file.
96916         * tests/unictype/test-categ_and.c: New file.
96917         * tests/unictype/test-categ_and_not.c: New file.
96918         * tests/unictype/test-categ_byname.c: New file.
96919         * tests/unictype/test-categ_name.c: New file.
96920         * tests/unictype/test-categ_none.c: New file.
96921         * tests/unictype/test-categ_of.c: New file.
96922         * tests/unictype/test-categ_or.c: New file.
96923         * tests/unictype/test-categ_test_withtable.c: New file.
96924         * tests/unictype/test-combining.c: New file.
96925         * tests/unictype/test-decdigit.c: New file.
96926         * tests/unictype/test-digit.c: New file.
96927         * tests/unictype/test-mirror.c: New file.
96928         * tests/unictype/test-numeric.c: New file.
96929         * tests/unictype/test-pr_byname.c: New file.
96930         * tests/unictype/test-pr_test.c: New file.
96931         * tests/unictype/test-predicate-part1.h: New file.
96932         * tests/unictype/test-predicate-part2.h: New file.
96933         * tests/unictype/test-scripts.c: New file.
96934         * tests/unictype/test-sy_c_ident.c: New file.
96935         * tests/unictype/test-sy_java_ident.c: New file.
96937         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
96938         for Unicode 5.0.0.
96939         * tests/unictype/test-categ_Cc.c: Likewise.
96940         * tests/unictype/test-categ_Cf.c: Likewise.
96941         * tests/unictype/test-categ_Cn.c: Likewise.
96942         * tests/unictype/test-categ_Co.c: Likewise.
96943         * tests/unictype/test-categ_Cs.c: Likewise.
96944         * tests/unictype/test-categ_L.c: Likewise.
96945         * tests/unictype/test-categ_Ll.c: Likewise.
96946         * tests/unictype/test-categ_Lm.c: Likewise.
96947         * tests/unictype/test-categ_Lo.c: Likewise.
96948         * tests/unictype/test-categ_Lt.c: Likewise.
96949         * tests/unictype/test-categ_Lu.c: Likewise.
96950         * tests/unictype/test-categ_M.c: Likewise.
96951         * tests/unictype/test-categ_Mc.c: Likewise.
96952         * tests/unictype/test-categ_Me.c: Likewise.
96953         * tests/unictype/test-categ_Mn.c: Likewise.
96954         * tests/unictype/test-categ_N.c: Likewise.
96955         * tests/unictype/test-categ_Nd.c: Likewise.
96956         * tests/unictype/test-categ_Nl.c: Likewise.
96957         * tests/unictype/test-categ_No.c: Likewise.
96958         * tests/unictype/test-categ_P.c: Likewise.
96959         * tests/unictype/test-categ_Pc.c: Likewise.
96960         * tests/unictype/test-categ_Pd.c: Likewise.
96961         * tests/unictype/test-categ_Pe.c: Likewise.
96962         * tests/unictype/test-categ_Pf.c: Likewise.
96963         * tests/unictype/test-categ_Pi.c: Likewise.
96964         * tests/unictype/test-categ_Po.c: Likewise.
96965         * tests/unictype/test-categ_Ps.c: Likewise.
96966         * tests/unictype/test-categ_S.c: Likewise.
96967         * tests/unictype/test-categ_Sc.c: Likewise.
96968         * tests/unictype/test-categ_Sk.c: Likewise.
96969         * tests/unictype/test-categ_Sm.c: Likewise.
96970         * tests/unictype/test-categ_So.c: Likewise.
96971         * tests/unictype/test-categ_Z.c: Likewise.
96972         * tests/unictype/test-categ_Zl.c: Likewise.
96973         * tests/unictype/test-categ_Zp.c: Likewise.
96974         * tests/unictype/test-categ_Zs.c: Likewise.
96975         * tests/unictype/test-ctype_alnum.c: Likewise.
96976         * tests/unictype/test-ctype_alpha.c: Likewise.
96977         * tests/unictype/test-ctype_blank.c: Likewise.
96978         * tests/unictype/test-ctype_cntrl.c: Likewise.
96979         * tests/unictype/test-ctype_digit.c: Likewise.
96980         * tests/unictype/test-ctype_graph.c: Likewise.
96981         * tests/unictype/test-ctype_lower.c: Likewise.
96982         * tests/unictype/test-ctype_print.c: Likewise.
96983         * tests/unictype/test-ctype_punct.c: Likewise.
96984         * tests/unictype/test-ctype_space.c: Likewise.
96985         * tests/unictype/test-ctype_upper.c: Likewise.
96986         * tests/unictype/test-ctype_xdigit.c: Likewise.
96987         * tests/unictype/test-decdigit.h: Likewise.
96988         * tests/unictype/test-digit.h: Likewise.
96989         * tests/unictype/test-numeric.h: Likewise.
96990         * tests/unictype/test-pr_alphabetic.c: Likewise.
96991         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
96992         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
96993         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
96994         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
96995         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
96996         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
96997         * tests/unictype/test-pr_bidi_control.c: Likewise.
96998         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
96999         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
97000         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
97001         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
97002         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
97003         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
97004         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
97005         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
97006         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
97007         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
97008         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
97009         * tests/unictype/test-pr_combining.c: Likewise.
97010         * tests/unictype/test-pr_composite.c: Likewise.
97011         * tests/unictype/test-pr_currency_symbol.c: Likewise.
97012         * tests/unictype/test-pr_dash.c: Likewise.
97013         * tests/unictype/test-pr_decimal_digit.c: Likewise.
97014         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
97015         * tests/unictype/test-pr_deprecated.c: Likewise.
97016         * tests/unictype/test-pr_diacritic.c: Likewise.
97017         * tests/unictype/test-pr_extender.c: Likewise.
97018         * tests/unictype/test-pr_format_control.c: Likewise.
97019         * tests/unictype/test-pr_grapheme_base.c: Likewise.
97020         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
97021         * tests/unictype/test-pr_grapheme_link.c: Likewise.
97022         * tests/unictype/test-pr_hex_digit.c: Likewise.
97023         * tests/unictype/test-pr_hyphen.c: Likewise.
97024         * tests/unictype/test-pr_id_continue.c: Likewise.
97025         * tests/unictype/test-pr_id_start.c: Likewise.
97026         * tests/unictype/test-pr_ideographic.c: Likewise.
97027         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
97028         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
97029         * tests/unictype/test-pr_ignorable_control.c: Likewise.
97030         * tests/unictype/test-pr_iso_control.c: Likewise.
97031         * tests/unictype/test-pr_join_control.c: Likewise.
97032         * tests/unictype/test-pr_left_of_pair.c: Likewise.
97033         * tests/unictype/test-pr_line_separator.c: Likewise.
97034         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
97035         * tests/unictype/test-pr_lowercase.c: Likewise.
97036         * tests/unictype/test-pr_math.c: Likewise.
97037         * tests/unictype/test-pr_non_break.c: Likewise.
97038         * tests/unictype/test-pr_not_a_character.c: Likewise.
97039         * tests/unictype/test-pr_numeric.c: Likewise.
97040         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
97041         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
97042         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
97043         * tests/unictype/test-pr_other_id_continue.c: Likewise.
97044         * tests/unictype/test-pr_other_id_start.c: Likewise.
97045         * tests/unictype/test-pr_other_lowercase.c: Likewise.
97046         * tests/unictype/test-pr_other_math.c: Likewise.
97047         * tests/unictype/test-pr_other_uppercase.c: Likewise.
97048         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
97049         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
97050         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
97051         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
97052         * tests/unictype/test-pr_private_use.c: Likewise.
97053         * tests/unictype/test-pr_punctuation.c: Likewise.
97054         * tests/unictype/test-pr_quotation_mark.c: Likewise.
97055         * tests/unictype/test-pr_radical.c: Likewise.
97056         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
97057         * tests/unictype/test-pr_soft_dotted.c: Likewise.
97058         * tests/unictype/test-pr_space.c: Likewise.
97059         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
97060         * tests/unictype/test-pr_titlecase.c: Likewise.
97061         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
97062         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
97063         * tests/unictype/test-pr_uppercase.c: Likewise.
97064         * tests/unictype/test-pr_variation_selector.c: Likewise.
97065         * tests/unictype/test-pr_white_space.c: Likewise.
97066         * tests/unictype/test-pr_xid_continue.c: Likewise.
97067         * tests/unictype/test-pr_xid_start.c: Likewise.
97068         * tests/unictype/test-pr_zero_width.c: Likewise.
97069         * tests/unictype/test-sy_c_whitespace.c: Likewise.
97070         * tests/unictype/test-sy_java_whitespace.c: Likewise.
97072 2007-11-12  Bruno Haible  <bruno@clisp.org>
97074         Unicode character classification functions.
97075         * lib/unictype.h: New file.
97076         * modules/unictype/base: New file.
97077         * modules/unictype/category-L: New file.
97078         * modules/unictype/category-Lu: New file.
97079         * modules/unictype/category-Ll: New file.
97080         * modules/unictype/category-Lt: New file.
97081         * modules/unictype/category-Lm: New file.
97082         * modules/unictype/category-Lo: New file.
97083         * modules/unictype/category-M: New file.
97084         * modules/unictype/category-Mn: New file.
97085         * modules/unictype/category-Mc: New file.
97086         * modules/unictype/category-Me: New file.
97087         * modules/unictype/category-N: New file.
97088         * modules/unictype/category-Nd: New file.
97089         * modules/unictype/category-Nl: New file.
97090         * modules/unictype/category-No: New file.
97091         * modules/unictype/category-P: New file.
97092         * modules/unictype/category-Pc: New file.
97093         * modules/unictype/category-Pd: New file.
97094         * modules/unictype/category-Ps: New file.
97095         * modules/unictype/category-Pe: New file.
97096         * modules/unictype/category-Pi: New file.
97097         * modules/unictype/category-Pf: New file.
97098         * modules/unictype/category-Po: New file.
97099         * modules/unictype/category-S: New file.
97100         * modules/unictype/category-Sm: New file.
97101         * modules/unictype/category-Sc: New file.
97102         * modules/unictype/category-Sk: New file.
97103         * modules/unictype/category-So: New file.
97104         * modules/unictype/category-Z: New file.
97105         * modules/unictype/category-Zs: New file.
97106         * modules/unictype/category-Zl: New file.
97107         * modules/unictype/category-Zp: New file.
97108         * modules/unictype/category-C: New file.
97109         * modules/unictype/category-Cc: New file.
97110         * modules/unictype/category-Cf: New file.
97111         * modules/unictype/category-Cs: New file.
97112         * modules/unictype/category-Co: New file.
97113         * modules/unictype/category-Cn: New file.
97114         * modules/unictype/category-or: New file.
97115         * modules/unictype/category-of: New file.
97116         * modules/unictype/category-test: New file.
97117         * modules/unictype/category-test-withtable: New file.
97118         * modules/unictype/category-byname: New file.
97119         * modules/unictype/category-none: New file.
97120         * modules/unictype/category-and: New file.
97121         * modules/unictype/category-and-not: New file.
97122         * modules/unictype/category-name: New file.
97123         * modules/unictype/combining-class: New file.
97124         * modules/unictype/category-all: New file.
97125         * modules/unictype/bidicategory-all: New file.
97126         * modules/unictype/bidicategory-byname: New file.
97127         * modules/unictype/bidicategory-name: New file.
97128         * modules/unictype/bidicategory-of: New file.
97129         * modules/unictype/bidicategory-test: New file.
97130         * modules/unictype/decimal-digit: New file.
97131         * modules/unictype/digit: New file.
97132         * modules/unictype/numeric: New file.
97133         * modules/unictype/mirror: New file.
97134         * modules/unictype/property-white-space: New file.
97135         * modules/unictype/property-alphabetic: New file.
97136         * modules/unictype/property-other-alphabetic: New file.
97137         * modules/unictype/property-not-a-character: New file.
97138         * modules/unictype/property-default-ignorable-code-point: New file.
97139         * modules/unictype/property-other-default-ignorable-code-point: New
97140         file.
97141         * modules/unictype/property-deprecated: New file.
97142         * modules/unictype/property-logical-order-exception: New file.
97143         * modules/unictype/property-variation-selector: New file.
97144         * modules/unictype/property-private-use: New file.
97145         * modules/unictype/property-unassigned-code-value: New file.
97146         * modules/unictype/property-uppercase: New file.
97147         * modules/unictype/property-other-uppercase: New file.
97148         * modules/unictype/property-lowercase: New file.
97149         * modules/unictype/property-other-lowercase: New file.
97150         * modules/unictype/property-titlecase: New file.
97151         * modules/unictype/property-soft-dotted: New file.
97152         * modules/unictype/property-id-start: New file.
97153         * modules/unictype/property-other-id-start: New file.
97154         * modules/unictype/property-id-continue: New file.
97155         * modules/unictype/property-other-id-continue: New file.
97156         * modules/unictype/property-xid-start: New file.
97157         * modules/unictype/property-xid-continue: New file.
97158         * modules/unictype/property-pattern-white-space: New file.
97159         * modules/unictype/property-pattern-syntax: New file.
97160         * modules/unictype/property-join-control: New file.
97161         * modules/unictype/property-grapheme-base: New file.
97162         * modules/unictype/property-grapheme-extend: New file.
97163         * modules/unictype/property-other-grapheme-extend: New file.
97164         * modules/unictype/property-grapheme-link: New file.
97165         * modules/unictype/property-bidi-control: New file.
97166         * modules/unictype/property-bidi-left-to-right: New file.
97167         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
97168         * modules/unictype/property-bidi-arabic-right-to-left: New file.
97169         * modules/unictype/property-bidi-european-digit: New file.
97170         * modules/unictype/property-bidi-eur-num-separator: New file.
97171         * modules/unictype/property-bidi-eur-num-terminator: New file.
97172         * modules/unictype/property-bidi-arabic-digit: New file.
97173         * modules/unictype/property-bidi-common-separator: New file.
97174         * modules/unictype/property-bidi-block-separator: New file.
97175         * modules/unictype/property-bidi-segment-separator: New file.
97176         * modules/unictype/property-bidi-whitespace: New file.
97177         * modules/unictype/property-bidi-non-spacing-mark: New file.
97178         * modules/unictype/property-bidi-boundary-neutral: New file.
97179         * modules/unictype/property-bidi-pdf: New file.
97180         * modules/unictype/property-bidi-embedding-or-override: New file.
97181         * modules/unictype/property-bidi-other-neutral: New file.
97182         * modules/unictype/property-hex-digit: New file.
97183         * modules/unictype/property-ascii-hex-digit: New file.
97184         * modules/unictype/property-ideographic: New file.
97185         * modules/unictype/property-unified-ideograph: New file.
97186         * modules/unictype/property-radical: New file.
97187         * modules/unictype/property-ids-binary-operator: New file.
97188         * modules/unictype/property-ids-trinary-operator: New file.
97189         * modules/unictype/property-zero-width: New file.
97190         * modules/unictype/property-space: New file.
97191         * modules/unictype/property-non-break: New file.
97192         * modules/unictype/property-iso-control: New file.
97193         * modules/unictype/property-format-control: New file.
97194         * modules/unictype/property-dash: New file.
97195         * modules/unictype/property-hyphen: New file.
97196         * modules/unictype/property-punctuation: New file.
97197         * modules/unictype/property-line-separator: New file.
97198         * modules/unictype/property-paragraph-separator: New file.
97199         * modules/unictype/property-quotation-mark: New file.
97200         * modules/unictype/property-sentence-terminal: New file.
97201         * modules/unictype/property-terminal-punctuation: New file.
97202         * modules/unictype/property-currency-symbol: New file.
97203         * modules/unictype/property-math: New file.
97204         * modules/unictype/property-other-math: New file.
97205         * modules/unictype/property-paired-punctuation: New file.
97206         * modules/unictype/property-left-of-pair: New file.
97207         * modules/unictype/property-combining: New file.
97208         * modules/unictype/property-composite: New file.
97209         * modules/unictype/property-decimal-digit: New file.
97210         * modules/unictype/property-numeric: New file.
97211         * modules/unictype/property-diacritic: New file.
97212         * modules/unictype/property-extender: New file.
97213         * modules/unictype/property-ignorable-control: New file.
97214         * modules/unictype/property-test: New file.
97215         * modules/unictype/property-byname: New file.
97216         * modules/unictype/property-all: New file.
97217         * modules/unictype/scripts: New file.
97218         * modules/unictype/scripts-all: New file.
97219         * modules/unictype/block-of: New file.
97220         * modules/unictype/block-test: New file.
97221         * modules/unictype/block-list: New file.
97222         * modules/unictype/block-all: New file.
97223         * modules/unictype/syntax-c-whitespace: New file.
97224         * modules/unictype/syntax-java-whitespace: New file.
97225         * modules/unictype/syntax-c-ident: New file.
97226         * modules/unictype/syntax-java-ident: New file.
97227         * modules/unictype/ctype-alnum: New file.
97228         * modules/unictype/ctype-alpha: New file.
97229         * modules/unictype/ctype-cntrl: New file.
97230         * modules/unictype/ctype-digit: New file.
97231         * modules/unictype/ctype-graph: New file.
97232         * modules/unictype/ctype-lower: New file.
97233         * modules/unictype/ctype-print: New file.
97234         * modules/unictype/ctype-punct: New file.
97235         * modules/unictype/ctype-space: New file.
97236         * modules/unictype/ctype-upper: New file.
97237         * modules/unictype/ctype-xdigit: New file.
97238         * modules/unictype/ctype-blank: New file.
97239         * lib/unictype/bidi_byname.c: New file.
97240         * lib/unictype/bidi_name.c: New file.
97241         * lib/unictype/bidi_of.c: New file.
97242         * lib/unictype/bidi_test.c: New file.
97243         * lib/unictype/bitmap.h: New file.
97244         * lib/unictype/block_test.c: New file.
97245         * lib/unictype/blocks.c: New file.
97246         * lib/unictype/categ_C.c: New file.
97247         * lib/unictype/categ_Cc.c: New file.
97248         * lib/unictype/categ_Cf.c: New file.
97249         * lib/unictype/categ_Cn.c: New file.
97250         * lib/unictype/categ_Co.c: New file.
97251         * lib/unictype/categ_Cs.c: New file.
97252         * lib/unictype/categ_L.c: New file.
97253         * lib/unictype/categ_Ll.c: New file.
97254         * lib/unictype/categ_Lm.c: New file.
97255         * lib/unictype/categ_Lo.c: New file.
97256         * lib/unictype/categ_Lt.c: New file.
97257         * lib/unictype/categ_Lu.c: New file.
97258         * lib/unictype/categ_M.c: New file.
97259         * lib/unictype/categ_Mc.c: New file.
97260         * lib/unictype/categ_Me.c: New file.
97261         * lib/unictype/categ_Mn.c: New file.
97262         * lib/unictype/categ_N.c: New file.
97263         * lib/unictype/categ_Nd.c: New file.
97264         * lib/unictype/categ_Nl.c: New file.
97265         * lib/unictype/categ_No.c: New file.
97266         * lib/unictype/categ_P.c: New file.
97267         * lib/unictype/categ_Pc.c: New file.
97268         * lib/unictype/categ_Pd.c: New file.
97269         * lib/unictype/categ_Pe.c: New file.
97270         * lib/unictype/categ_Pf.c: New file.
97271         * lib/unictype/categ_Pi.c: New file.
97272         * lib/unictype/categ_Po.c: New file.
97273         * lib/unictype/categ_Ps.c: New file.
97274         * lib/unictype/categ_S.c: New file.
97275         * lib/unictype/categ_Sc.c: New file.
97276         * lib/unictype/categ_Sk.c: New file.
97277         * lib/unictype/categ_Sm.c: New file.
97278         * lib/unictype/categ_So.c: New file.
97279         * lib/unictype/categ_Z.c: New file.
97280         * lib/unictype/categ_Zl.c: New file.
97281         * lib/unictype/categ_Zp.c: New file.
97282         * lib/unictype/categ_Zs.c: New file.
97283         * lib/unictype/categ_and.c: New file.
97284         * lib/unictype/categ_and_not.c: New file.
97285         * lib/unictype/categ_byname.c: New file.
97286         * lib/unictype/categ_name.c: New file.
97287         * lib/unictype/categ_none.c: New file.
97288         * lib/unictype/categ_of.c: New file.
97289         * lib/unictype/categ_or.c: New file.
97290         * lib/unictype/categ_test.c: New file.
97291         * lib/unictype/combining.c: New file.
97292         * lib/unictype/ctype_alnum.c: New file.
97293         * lib/unictype/ctype_alpha.c: New file.
97294         * lib/unictype/ctype_blank.c: New file.
97295         * lib/unictype/ctype_cntrl.c: New file.
97296         * lib/unictype/ctype_digit.c: New file.
97297         * lib/unictype/ctype_graph.c: New file.
97298         * lib/unictype/ctype_lower.c: New file.
97299         * lib/unictype/ctype_print.c: New file.
97300         * lib/unictype/ctype_punct.c: New file.
97301         * lib/unictype/ctype_space.c: New file.
97302         * lib/unictype/ctype_upper.c: New file.
97303         * lib/unictype/ctype_xdigit.c: New file.
97304         * lib/unictype/decdigit.c: New file.
97305         * lib/unictype/digit.c: New file.
97306         * lib/unictype/identsyntaxmap.h: New file.
97307         * lib/unictype/mirror.c: New file.
97308         * lib/unictype/numeric.c: New file.
97309         * lib/unictype/pr_alphabetic.c: New file.
97310         * lib/unictype/pr_ascii_hex_digit.c: New file.
97311         * lib/unictype/pr_bidi_arabic_digit.c: New file.
97312         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
97313         * lib/unictype/pr_bidi_block_separator.c: New file.
97314         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
97315         * lib/unictype/pr_bidi_common_separator.c: New file.
97316         * lib/unictype/pr_bidi_control.c: New file.
97317         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
97318         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
97319         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
97320         * lib/unictype/pr_bidi_european_digit.c: New file.
97321         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
97322         * lib/unictype/pr_bidi_left_to_right.c: New file.
97323         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
97324         * lib/unictype/pr_bidi_other_neutral.c: New file.
97325         * lib/unictype/pr_bidi_pdf.c: New file.
97326         * lib/unictype/pr_bidi_segment_separator.c: New file.
97327         * lib/unictype/pr_bidi_whitespace.c: New file.
97328         * lib/unictype/pr_byname.c: New file.
97329         * lib/unictype/pr_byname.gperf: New file.
97330         * lib/unictype/pr_combining.c: New file.
97331         * lib/unictype/pr_composite.c: New file.
97332         * lib/unictype/pr_currency_symbol.c: New file.
97333         * lib/unictype/pr_dash.c: New file.
97334         * lib/unictype/pr_decimal_digit.c: New file.
97335         * lib/unictype/pr_default_ignorable_code_point.c: New file.
97336         * lib/unictype/pr_deprecated.c: New file.
97337         * lib/unictype/pr_diacritic.c: New file.
97338         * lib/unictype/pr_extender.c: New file.
97339         * lib/unictype/pr_format_control.c: New file.
97340         * lib/unictype/pr_grapheme_base.c: New file.
97341         * lib/unictype/pr_grapheme_extend.c: New file.
97342         * lib/unictype/pr_grapheme_link.c: New file.
97343         * lib/unictype/pr_hex_digit.c: New file.
97344         * lib/unictype/pr_hyphen.c: New file.
97345         * lib/unictype/pr_id_continue.c: New file.
97346         * lib/unictype/pr_id_start.c: New file.
97347         * lib/unictype/pr_ideographic.c: New file.
97348         * lib/unictype/pr_ids_binary_operator.c: New file.
97349         * lib/unictype/pr_ids_trinary_operator.c: New file.
97350         * lib/unictype/pr_ignorable_control.c: New file.
97351         * lib/unictype/pr_iso_control.c: New file.
97352         * lib/unictype/pr_join_control.c: New file.
97353         * lib/unictype/pr_left_of_pair.c: New file.
97354         * lib/unictype/pr_line_separator.c: New file.
97355         * lib/unictype/pr_logical_order_exception.c: New file.
97356         * lib/unictype/pr_lowercase.c: New file.
97357         * lib/unictype/pr_math.c: New file.
97358         * lib/unictype/pr_non_break.c: New file.
97359         * lib/unictype/pr_not_a_character.c: New file.
97360         * lib/unictype/pr_numeric.c: New file.
97361         * lib/unictype/pr_other_alphabetic.c: New file.
97362         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
97363         * lib/unictype/pr_other_grapheme_extend.c: New file.
97364         * lib/unictype/pr_other_id_continue.c: New file.
97365         * lib/unictype/pr_other_id_start.c: New file.
97366         * lib/unictype/pr_other_lowercase.c: New file.
97367         * lib/unictype/pr_other_math.c: New file.
97368         * lib/unictype/pr_other_uppercase.c: New file.
97369         * lib/unictype/pr_paired_punctuation.c: New file.
97370         * lib/unictype/pr_paragraph_separator.c: New file.
97371         * lib/unictype/pr_pattern_syntax.c: New file.
97372         * lib/unictype/pr_pattern_white_space.c: New file.
97373         * lib/unictype/pr_private_use.c: New file.
97374         * lib/unictype/pr_punctuation.c: New file.
97375         * lib/unictype/pr_quotation_mark.c: New file.
97376         * lib/unictype/pr_radical.c: New file.
97377         * lib/unictype/pr_sentence_terminal.c: New file.
97378         * lib/unictype/pr_soft_dotted.c: New file.
97379         * lib/unictype/pr_space.c: New file.
97380         * lib/unictype/pr_terminal_punctuation.c: New file.
97381         * lib/unictype/pr_test.c: New file.
97382         * lib/unictype/pr_titlecase.c: New file.
97383         * lib/unictype/pr_unassigned_code_value.c: New file.
97384         * lib/unictype/pr_unified_ideograph.c: New file.
97385         * lib/unictype/pr_uppercase.c: New file.
97386         * lib/unictype/pr_variation_selector.c: New file.
97387         * lib/unictype/pr_white_space.c: New file.
97388         * lib/unictype/pr_xid_continue.c: New file.
97389         * lib/unictype/pr_xid_start.c: New file.
97390         * lib/unictype/pr_zero_width.c: New file.
97391         * lib/unictype/scripts.c: New file.
97392         * lib/unictype/sy_c_ident.c: New file.
97393         * lib/unictype/sy_c_whitespace.c: New file.
97394         * lib/unictype/sy_java_ident.c: New file.
97395         * lib/unictype/sy_java_whitespace.c: New file.
97397         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
97398         Unicode 5.0.0.
97399         * lib/unictype/blocks.h: Likewise.
97400         * lib/unictype/categ_C.h: Likewise.
97401         * lib/unictype/categ_Cc.h: Likewise.
97402         * lib/unictype/categ_Cf.h: Likewise.
97403         * lib/unictype/categ_Cn.h: Likewise.
97404         * lib/unictype/categ_Co.h: Likewise.
97405         * lib/unictype/categ_Cs.h: Likewise.
97406         * lib/unictype/categ_L.h: Likewise.
97407         * lib/unictype/categ_Ll.h: Likewise.
97408         * lib/unictype/categ_Lm.h: Likewise.
97409         * lib/unictype/categ_Lo.h: Likewise.
97410         * lib/unictype/categ_Lt.h: Likewise.
97411         * lib/unictype/categ_Lu.h: Likewise.
97412         * lib/unictype/categ_M.h: Likewise.
97413         * lib/unictype/categ_Mc.h: Likewise.
97414         * lib/unictype/categ_Me.h: Likewise.
97415         * lib/unictype/categ_Mn.h: Likewise.
97416         * lib/unictype/categ_N.h: Likewise.
97417         * lib/unictype/categ_Nd.h: Likewise.
97418         * lib/unictype/categ_Nl.h: Likewise.
97419         * lib/unictype/categ_No.h: Likewise.
97420         * lib/unictype/categ_P.h: Likewise.
97421         * lib/unictype/categ_Pc.h: Likewise.
97422         * lib/unictype/categ_Pd.h: Likewise.
97423         * lib/unictype/categ_Pe.h: Likewise.
97424         * lib/unictype/categ_Pf.h: Likewise.
97425         * lib/unictype/categ_Pi.h: Likewise.
97426         * lib/unictype/categ_Po.h: Likewise.
97427         * lib/unictype/categ_Ps.h: Likewise.
97428         * lib/unictype/categ_S.h: Likewise.
97429         * lib/unictype/categ_Sc.h: Likewise.
97430         * lib/unictype/categ_Sk.h: Likewise.
97431         * lib/unictype/categ_Sm.h: Likewise.
97432         * lib/unictype/categ_So.h: Likewise.
97433         * lib/unictype/categ_Z.h: Likewise.
97434         * lib/unictype/categ_Zl.h: Likewise.
97435         * lib/unictype/categ_Zp.h: Likewise.
97436         * lib/unictype/categ_Zs.h: Likewise.
97437         * lib/unictype/categ_of.h: Likewise.
97438         * lib/unictype/combining.h: Likewise.
97439         * lib/unictype/ctype_alnum.h: Likewise.
97440         * lib/unictype/ctype_alpha.h: Likewise.
97441         * lib/unictype/ctype_blank.h: Likewise.
97442         * lib/unictype/ctype_cntrl.h: Likewise.
97443         * lib/unictype/ctype_digit.h: Likewise.
97444         * lib/unictype/ctype_graph.h: Likewise.
97445         * lib/unictype/ctype_lower.h: Likewise.
97446         * lib/unictype/ctype_print.h: Likewise.
97447         * lib/unictype/ctype_punct.h: Likewise.
97448         * lib/unictype/ctype_space.h: Likewise.
97449         * lib/unictype/ctype_upper.h: Likewise.
97450         * lib/unictype/ctype_xdigit.h: Likewise.
97451         * lib/unictype/decdigit.h: Likewise.
97452         * lib/unictype/digit.h: Likewise.
97453         * lib/unictype/mirror.h: Likewise.
97454         * lib/unictype/numeric.h: Likewise.
97455         * lib/unictype/pr_alphabetic.h: Likewise.
97456         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
97457         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
97458         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
97459         * lib/unictype/pr_bidi_block_separator.h: Likewise.
97460         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
97461         * lib/unictype/pr_bidi_common_separator.h: Likewise.
97462         * lib/unictype/pr_bidi_control.h: Likewise.
97463         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
97464         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
97465         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
97466         * lib/unictype/pr_bidi_european_digit.h: Likewise.
97467         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
97468         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
97469         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
97470         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
97471         * lib/unictype/pr_bidi_pdf.h: Likewise.
97472         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
97473         * lib/unictype/pr_bidi_whitespace.h: Likewise.
97474         * lib/unictype/pr_combining.h: Likewise.
97475         * lib/unictype/pr_composite.h: Likewise.
97476         * lib/unictype/pr_currency_symbol.h: Likewise.
97477         * lib/unictype/pr_dash.h: Likewise.
97478         * lib/unictype/pr_decimal_digit.h: Likewise.
97479         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
97480         * lib/unictype/pr_deprecated.h: Likewise.
97481         * lib/unictype/pr_diacritic.h: Likewise.
97482         * lib/unictype/pr_extender.h: Likewise.
97483         * lib/unictype/pr_format_control.h: Likewise.
97484         * lib/unictype/pr_grapheme_base.h: Likewise.
97485         * lib/unictype/pr_grapheme_extend.h: Likewise.
97486         * lib/unictype/pr_grapheme_link.h: Likewise.
97487         * lib/unictype/pr_hex_digit.h: Likewise.
97488         * lib/unictype/pr_hyphen.h: Likewise.
97489         * lib/unictype/pr_id_continue.h: Likewise.
97490         * lib/unictype/pr_id_start.h: Likewise.
97491         * lib/unictype/pr_ideographic.h: Likewise.
97492         * lib/unictype/pr_ids_binary_operator.h: Likewise.
97493         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
97494         * lib/unictype/pr_ignorable_control.h: Likewise.
97495         * lib/unictype/pr_iso_control.h: Likewise.
97496         * lib/unictype/pr_join_control.h: Likewise.
97497         * lib/unictype/pr_left_of_pair.h: Likewise.
97498         * lib/unictype/pr_line_separator.h: Likewise.
97499         * lib/unictype/pr_logical_order_exception.h: Likewise.
97500         * lib/unictype/pr_lowercase.h: Likewise.
97501         * lib/unictype/pr_math.h: Likewise.
97502         * lib/unictype/pr_non_break.h: Likewise.
97503         * lib/unictype/pr_not_a_character.h: Likewise.
97504         * lib/unictype/pr_numeric.h: Likewise.
97505         * lib/unictype/pr_other_alphabetic.h: Likewise.
97506         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
97507         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
97508         * lib/unictype/pr_other_id_continue.h: Likewise.
97509         * lib/unictype/pr_other_id_start.h: Likewise.
97510         * lib/unictype/pr_other_lowercase.h: Likewise.
97511         * lib/unictype/pr_other_math.h: Likewise.
97512         * lib/unictype/pr_other_uppercase.h: Likewise.
97513         * lib/unictype/pr_paired_punctuation.h: Likewise.
97514         * lib/unictype/pr_paragraph_separator.h: Likewise.
97515         * lib/unictype/pr_pattern_syntax.h: Likewise.
97516         * lib/unictype/pr_pattern_white_space.h: Likewise.
97517         * lib/unictype/pr_private_use.h: Likewise.
97518         * lib/unictype/pr_punctuation.h: Likewise.
97519         * lib/unictype/pr_quotation_mark.h: Likewise.
97520         * lib/unictype/pr_radical.h: Likewise.
97521         * lib/unictype/pr_sentence_terminal.h: Likewise.
97522         * lib/unictype/pr_soft_dotted.h: Likewise.
97523         * lib/unictype/pr_space.h: Likewise.
97524         * lib/unictype/pr_terminal_punctuation.h: Likewise.
97525         * lib/unictype/pr_titlecase.h: Likewise.
97526         * lib/unictype/pr_unassigned_code_value.h: Likewise.
97527         * lib/unictype/pr_unified_ideograph.h: Likewise.
97528         * lib/unictype/pr_uppercase.h: Likewise.
97529         * lib/unictype/pr_variation_selector.h: Likewise.
97530         * lib/unictype/pr_white_space.h: Likewise.
97531         * lib/unictype/pr_xid_continue.h: Likewise.
97532         * lib/unictype/pr_xid_start.h: Likewise.
97533         * lib/unictype/pr_zero_width.h: Likewise.
97534         * lib/unictype/scripts.h: Likewise.
97535         * lib/unictype/scripts_byname.gperf: Likewise.
97536         * lib/unictype/sy_c_ident.h: Likewise.
97537         * lib/unictype/sy_c_whitespace.h: Likewise.
97538         * lib/unictype/sy_java_ident.h: Likewise.
97539         * lib/unictype/sy_java_whitespace.h: Likewise.
97541         * lib/unictype/Makefile: New file.
97542         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
97543         glibc.
97544         * lib/unictype/3level.h: New file, copied from glibc.
97545         * lib/unictype/3levelbit.h: New file.
97547 2007-11-11  Bruno Haible  <bruno@clisp.org>
97549         * modules/gperf: New file.
97550         * modules/iconv_open (Depends-on): Add it.
97551         (Makefile.am): Remove the GPERF definition.
97553 2007-11-11  Bruno Haible  <bruno@clisp.org>
97555         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
97556         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
97558 2007-11-11  Bruno Haible  <bruno@clisp.org>
97560         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
97561         (usage): Remove function.
97563 2007-11-11  Bruno Haible  <bruno@clisp.org>
97565         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
97566         gl_FUNC_CEILF_LIBS.
97567         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
97568         gl_FUNC_CEIL_LIBS.
97569         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
97570         gl_FUNC_CEILL_LIBS.
97571         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
97572         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
97573         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
97575 2007-11-11  Bruno Haible  <bruno@clisp.org>
97577         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
97578         roundf were declared but do not exist on functions.
97579         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
97580         roundl were declared but do not exist on functions.
97581         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
97582         HAVE_FLOORL_AND_CEILL, respectively.
97583         Needed for Sun C on Solaris 10.
97585 2007-11-11  Bruno Haible  <bruno@clisp.org>
97587         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
97588         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
97589         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
97590         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
97591         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
97592         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
97593         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
97594         HAVE_DECL_ROUNDF.
97595         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
97596         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
97597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
97598         of HAVE_DECL_ROUND*.
97599         * modules/math (Makefile.am): Update.
97601 2007-11-10  Bruno Haible  <bruno@clisp.org>
97603         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
97604         ptrdiff_t as m4/intl.m4.
97606 2007-11-10  Jim Meyering  <meyering@redhat.com>
97608         Avoid link failure for the argmatch test.
97609         * tests/test-argmatch.c (usage): Define function to avoid a link
97610         failure: argmatch_die requires a usage function.
97612 2007-11-09  Bruno Haible  <bruno@clisp.org>
97614         * doc/functions/snprintf.texi: Mention BeOS deficiency.
97615         * doc/functions/vsnprintf.texi: Likewise.
97616         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
97617         with a size argument < 2.
97619 2007-11-09  Bruno Haible  <bruno@clisp.org>
97621         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
97622         buffer. Fixes an inefficiency introduced on 2007-11-03.
97624 2007-11-09  Bruno Haible  <bruno@clisp.org>
97626         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
97627         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
97629 2007-11-08  Jim Meyering  <meyering@redhat.com>
97631         Change cache variable name prefix "jm_" to "gl_" everywhere.
97632         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
97633         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
97634         * m4/uptime.m4: s/gl_/jm_/
97636 2007-11-07  Bruno Haible  <bruno@clisp.org>
97638         Update to GNU gettext 0.17.
97639         * m4/intl.m4: Update to GNU gettext 0.17.
97640         * m4/po.m4: Likewise.
97641         * modules/gettext (Files): Remove m4/ulonglong.m4.
97642         (configure.ac): Require gettext infrastructure from version 0.17.
97644 2007-11-06  Bruno Haible  <bruno@clisp.org>
97646         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
97647         symbolic values are not defined in a public header.
97648         * lib/freadable.c (freadable) [QNX]: Likewise.
97649         * lib/freadahead.c (freadahead) [QNX]: Likewise.
97650         * lib/freading.c (freading) [QNX]: Likewise.
97651         * lib/fseterr.c (fseterr) [QNX]: Likewise.
97652         * lib/fwritable.c (fwritable) [QNX]: Likewise.
97653         * lib/fwriting.c (fwriting) [QNX]: Likewise.
97654         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
97655         Reported by Alain Magloire.
97657         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
97659 2007-11-05  Bruno Haible  <bruno@clisp.org>
97661         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
97662         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
97663         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
97664         Reported by Eric Blake.
97666 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97667             Bruno Haible  <bruno@clisp.org>
97669         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
97670         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
97671         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
97672         (malloc): Undefine also before including <stdlib.h>.
97673         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
97674         Needed on OSF/1 4.0.
97676 2007-11-05  Jim Meyering  <meyering@redhat.com>
97678         git-version-gen: sync from coreutils.
97679         * build-aux/git-version-gen: Add comments.
97680         Change the first '-' to '.' in the snapshot version string,
97681         e.g., 6.9-377-08144 -> 6.9.377-08144
97682         Remove first parameter.
97683         Don't declare a version "-dirty" merely because a time
97684         stamp has changed.
97686 2007-11-04  Bruno Haible  <bruno@clisp.org>
97688         * lib/lock.h: Protect all macro definitions containing an 'if'
97689         statement through a "do { ... } while (0)".
97690         * lib/tls.h: Likewise.
97692 2007-11-04  Bruno Haible  <bruno@clisp.org>
97694         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
97696 2007-11-04  Bruno Haible  <bruno@clisp.org>
97698         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
97699         * modules/fprintf-posix (Depends-on): Add nocrash.
97700         * modules/snprintf-posix (Depends-on): Likewise.
97701         * modules/sprintf-posix (Depends-on): Likewise.
97702         * modules/vasnprintf-posix (Depends-on): Likewise.
97703         * modules/vasprintf-posix (Depends-on): Likewise.
97704         * modules/vfprintf-posix (Depends-on): Likewise.
97705         * modules/vsnprintf-posix (Depends-on): Likewise.
97706         * modules/vsprintf-posix (Depends-on): Likewise.
97707         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
97708         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
97709         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
97710         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
97711         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
97712         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
97713         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
97715 2007-11-04  Bruno Haible  <bruno@clisp.org>
97717         * modules/nocrash: New file.
97718         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
97719         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
97721 2007-11-04  Bruno Haible  <bruno@clisp.org>
97723         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
97724         precision handling.
97725         * tests/test-vasprintf-posix.c (test_function): Likewise.
97726         * tests/test-snprintf-posix.h (test_function): Likewise.
97727         * tests/test-sprintf-posix.h (test_function): Likewise.
97729         Fix *printf behaviour for large precisions on mingw and BeOS.
97730         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
97731         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
97732         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
97733         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97734         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97735         gl_PRINTF_PRECISION and test its result. Invoke
97736         gl_PREREQ_VASNPRINTF_PRECISION.
97737         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97738         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97739         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97740         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97741         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97742         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97743         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97744         * doc/functions/fprintf.texi: Update.
97745         * doc/functions/printf.texi: Update.
97746         * doc/functions/snprintf.texi: Update.
97747         * doc/functions/sprintf.texi: Update.
97748         * doc/functions/vfprintf.texi: Update.
97749         * doc/functions/vprintf.texi: Update.
97750         * doc/functions/vsnprintf.texi: Update.
97751         * doc/functions/vsprintf.texi: Update.
97753 2007-11-04  Bruno Haible  <bruno@clisp.org>
97755         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
97757 2007-11-04  Bruno Haible  <bruno@clisp.org>
97759         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
97760         Reported by Sylvain Beucler <beuc@gnu.org>.
97762 2007-11-03  Bruno Haible  <bruno@clisp.org>
97764         * tests/test-fprintf-posix2.sh: New file.
97765         * tests/test-fprintf-posix2.c: New file.
97766         * modules/fprintf-posix-tests (Files): Add them.
97767         (TESTS): Add test-fprintf-posix2.sh.
97768         (configure.ac): Check for getrlimit and setrlimit.
97769         (check_PROGRAMS): Add test-fprintf-posix2.
97771         * tests/test-printf-posix2.sh: New file.
97772         * tests/test-printf-posix2.c: New file.
97773         * modules/printf-posix-tests (Files): Add them.
97774         (TESTS): Add test-printf-posix2.sh.
97775         (configure.ac): Check for getrlimit and setrlimit.
97776         (check_PROGRAMS): Add test-printf-posix2.
97778         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
97779         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
97780         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
97781         (decode_double): New function, copied from decode_long_double.
97782         (scale10_round_decimal_decoded): New function, extracted from
97783         scale10_round_decimal_long_double.
97784         (scale10_round_decimal_long_double): Use it.
97785         (scale10_round_decimal_double): New function.
97786         (floorlog10): New function.
97787         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
97788         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
97789         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97790         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97791         gl_PRINTF_ENOMEM and test its result. Invoke
97792         gl_PREREQ_VASNPRINTF_ENOMEM.
97793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97794         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97795         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97796         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97797         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97798         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97799         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97800         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
97801         * modules/snprintf-posix (Depends-on): Likewise.
97802         * modules/sprintf-posix (Depends-on): Likewise.
97803         * modules/vasnprintf-posix (Depends-on): Likewise.
97804         * modules/vasprintf-posix (Depends-on): Likewise.
97805         * modules/vfprintf-posix (Depends-on): Likewise.
97806         * modules/vsnprintf-posix (Depends-on): Likewise.
97807         * modules/vsprintf-posix (Depends-on): Likewise.
97808         * doc/functions/fprintf.texi: Update.
97809         * doc/functions/printf.texi: Update.
97810         * doc/functions/snprintf.texi: Update.
97811         * doc/functions/sprintf.texi: Update.
97812         * doc/functions/vfprintf.texi: Update.
97813         * doc/functions/vprintf.texi: Update.
97814         * doc/functions/vsnprintf.texi: Update.
97815         * doc/functions/vsprintf.texi: Update.
97817 2007-11-03  Bruno Haible  <bruno@clisp.org>
97819         * modules/frexp-nolibm-tests: New file.
97821         * modules/frexp-nolibm: New file.
97822         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
97824 2007-11-03  Bruno Haible  <bruno@clisp.org>
97826         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
97827         value is C99 compliant.
97828         Needed for OSF/1 5.1.
97830 2007-11-03  Bruno Haible  <bruno@clisp.org>
97832         Fix out-of-memory handling of vasnprintf.
97833         * lib/printf-parse.c: Include <errno.h>.
97834         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
97835         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
97836         is already set.
97838 2007-11-02  Eric Blake  <ebb9@byu.net>
97840         Fix tests on cygwin.
97841         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
97843 2007-11-01  Bruno Haible  <bruno@clisp.org>
97845         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
97846         warning.
97847         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
97848         needed for POSIX compatibility.
97850 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
97852         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
97853         for compatibility with GNU.
97855 2007-11-01  Bruno Haible  <bruno@clisp.org>
97857         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
97858         (putenv): Renamed from rpl_putenv. Change argument type from
97859         'const char *' to 'char *'.
97860         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
97861         of defining putenv in config.h, just set REPLACE_PUTENV.
97862         * modules/putenv (Depends-on): Add stdlib.
97863         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
97864         (Include): Use <stdlib.h>.
97865         * lib/stdlib.in.h (putenv): New declaration.
97866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
97867         REPLACE_PUTENV.
97868         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
97869         REPLACE_PUTENV.
97870         Needed for MacOS X 10.5.0.
97871         Reported by Peter O'Gorman <peter@pogma.com>.
97873 2007-11-01  Jim Meyering  <meyering@redhat.com>
97875         Treat an empty date string exactly like "0".
97876         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
97877         if the remaining date string (to be parsed) is empty, use "0".
97878         Reported by Mischa Molhoek and discussed in this thread:
97879         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
97881 2007-10-31  Bruno Haible  <bruno@clisp.org>
97883         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
97884         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
97885         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
97886         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
97887         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
97888         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
97890 2007-10-31  Bruno Haible  <bruno@clisp.org>
97892         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
97893         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
97894         (AC_TYPE_LONG_LONG_INT): Use it.
97895         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
97896         it as well.
97897         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
97898         to m4/longlong.m4.
97899         * modules/stdint (Files): Remove m4/ulonglong.m4.
97900         * modules/strtoull (Files): Use m4/longlong.m4 instead of
97901         m4/ulonglong.m4.
97902         * modules/strtoumax (Files): Likewise.
97904 2007-10-30  Bruno Haible  <bruno@clisp.org>
97906         * modules/xvasprintf-posix: New file.
97907         Suggested by Eric Blake.
97909 2007-10-30  Bruno Haible  <bruno@clisp.org>
97911         * modules/xprintf-posix-tests: New file.
97912         * tests/test-xprintf-posix.sh: New file.
97913         * tests/test-xprintf-posix.c: New file.
97914         * tests/test-xfprintf-posix.c: New file.
97916         * modules/xprintf-posix: New file.
97918 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97920         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
97921         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
97922         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
97924 2007-10-29  Bruno Haible  <bruno@clisp.org>
97926         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
97927         contain the special marker '_cv_'.
97928         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
97929         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
97930         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
97931         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
97932         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
97933         Reported by Ralf Wildenhues.
97935 2007-10-29  Bruno Haible  <bruno@clisp.org>
97937         * gnulib-tool (func_import): When --lgpl is not specified, set
97938         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
97939         GPLv3.
97940         Reported by Simon Josefsson.
97942 2007-10-28  Bruno Haible  <bruno@clisp.org>
97944         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
97945         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
97946         HAVE_DECL_ISFINITE.
97947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
97948         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
97949         HAVE_DECL_ISFINITE.
97951 2007-10-28  Bruno Haible  <bruno@clisp.org>
97953         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
97954         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
97956 2007-10-28  Bruno Haible  <bruno@clisp.org>
97958         Fix link errors with Sun C 5.0 on Solaris 10.
97959         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
97960         function is declared but not present in the compiler's libm.
97961         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
97962         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
97963         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
97964         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
97965         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
97966         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
97967         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
97968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
97969         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
97970         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
97971         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
97972         HAVE_DECL_FLOORL.
97974 2007-10-28  Bruno Haible  <bruno@clisp.org>
97976         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
97977         gl_FUNC_FLOORL. Cache the result.
97978         (gl_FUNC_FLOORL): Use it.
97979         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
97980         gl_FUNC_CEILL. Cache the result.
97981         (gl_FUNC_CEILL): Use it.
97983         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
97984         gl_FUNC_FLOOR. Cache the result.
97985         (gl_FUNC_FLOOR): Use it.
97986         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
97987         gl_FUNC_CEIL. Cache the result.
97988         (gl_FUNC_CEIL): Use it.
97990         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
97991         gl_FUNC_FLOORF. Cache the result.
97992         (gl_FUNC_FLOORF): Use it.
97993         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
97994         gl_FUNC_CEILF. Cache the result.
97995         (gl_FUNC_CEILF): Use it.
97997 2007-10-28  Bruno Haible  <bruno@clisp.org>
97999         * gnulib-tool: Allow specifying the LGPL version number through
98000         --lgpl=2 or --lgpl=3.
98001         (func_usage): Document --lgpl with argument.
98002         Handle --lgpl=... arguments.
98003         (func_import): Recognize also gl_LGPL calls with an argument. When
98004         --lgpl=2 is used and the module's license is just LGPL, report an
98005         error. Set sed_transform_lib_file according to the lgpl variable. In
98006         the generated files, use --lgpl or gl_LGPL invocations with argument,
98007         if necessary.
98008         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
98009         an LGPv2+ license.
98010         * doc/gnulib-tool.texi (Modified imports): Update explanation of
98011         gl_LGPL macro.
98013 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98014             Bruno Haible  <bruno@clisp.org>
98016         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
98017         (u16_uctomb_aux): Likewise.
98018         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
98019         !HAVE_INLINE.
98020         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
98022 2007-10-28  Bruno Haible  <bruno@clisp.org>
98024         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
98025         Invoke AM_GETTEXT_OPTION if it exists.
98026         * modules/vasprintf: Likewise.
98027         * modules/verror: Likewise.
98028         * modules/xprintf: Likewise.
98029         * modules/xvasprintf: Likewise.
98031 2007-10-27  Ben Pfaff  <blp@gnu.org>
98033         * lib/math.in.h: Define isfinite macro and prototypes for
98034         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
98035         implementations.
98036         * m4/math_h.m4: New substitutions for isfinite module.
98037         * lib/isfinite.c: New file.
98038         * m4/isfinite.m4: New file.
98039         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
98040         * modules/isfinite: New file.
98041         * modules/isfinite-tests: New file.
98042         * tests/tests-isfinite.c: New file.
98043         * doc/functions/isfinite.texi: Mention isfinite module.
98044         * MODULES.html.sh: Mention new module.
98046 2007-10-27  Ben Pfaff  <blp@gnu.org>
98048         Ralf Wildenhues reported that Tru64 4.0D declares the round
98049         functions but does not have definitions.
98050         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
98051         cannot be found in any library, set the output variable to
98052         "missing" instead of "".
98053         * m4/round.m4: Also use our substitute if we cannot find round in
98054         any library, even if it is declared.
98055         * m4/roundf.m4: Likewise for roundf.
98056         * m4/roundl.m4: Likewise for roundl.
98057         * lib/math.in.h: Undefine roundf, round, roundl before defining
98058         their replacements, to allow for hypothetical systems where these
98059         may be defined as macros but not available in libraries.
98061 2007-10-27  Bruno Haible  <bruno@clisp.org>
98063         * doc/gnulib.texi: Invoke @firstparagraphindent.
98064         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
98065         changes in gnulib.
98066         (Source changes): New section.
98068 2007-10-26  Bruno Haible  <bruno@clisp.org>
98070         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
98071         borrowed from autoconf.
98073 2007-10-26  Bruno Haible  <bruno@clisp.org>
98075         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
98076         strerror returned the empty string. Needed on HP-UX 11.00.
98078 2007-10-24  Micah Cowan  <micah@cowan.name>
98080         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
98081         * build-aux/bootstrap: Remove support for now-unnecessary option,
98082         --cvs-user, and envvars CVS_USER, CVS_RSH.
98084 2007-10-24  Jim Meyering  <meyering@redhat.com>
98086         Avoid diagnostics from sha1sum when there is no cached checksum.
98087         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
98088         if the po.s1 file hasn't been created yet.
98090         * build-aux/bootstrap: Sync from coreutils:
98091         2007-10-24  Jim Meyering  <meyering@redhat.com>
98092         Get gnulib from the git repository, not from an obsolete cvs one.
98093         * build-aux/bootstrap: Suggestion from Micah Cowan.
98094         2007-10-04  Jim Meyering  <jim@meyering.net>
98095         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
98096         (update_po_files): Work also when there are no .po files in po/.
98098 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
98100         * README: Append ".git" to git and cg examples.
98101         Problem reported by Benoit Sigoure.
98103 2007-10-23  Micah Cowan  <micah@cowan.name>
98105         * users.txt: Add wget.
98107 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98109         Fix linking of some unistdio tests on FreeBSD.
98110         * modules/unistdio/u16-vsnprintf-tests
98111         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
98112         * modules/unistdio/u16-vsprintf-tests
98113         (test_u16_vsnprintf1_LDADD): Likewise.
98114         * modules/unistdio/u32-vsnprintf-tests
98115         (test_u32_vsnprintf1_LDADD): Likewise.
98116         * modules/unistdio/u32-vsprintf-tests
98117         (test_u32_vsprintf1_LDADD): Likewise.
98118         * modules/unistdio/u8-vsnprintf-tests
98119         (test_u8_vsnprintf1_LDADD): Likewise.
98120         * modules/unistdio/u8-vsprintf-tests
98121         (test_u8_vsprintf1_LDADD): Likewise.
98122         * modules/unistdio/ulc-vsnprintf-tests
98123         (test_ulc_vsnprintf1_LDADD): Likewise.
98124         * modules/unistdio/ulc-vsprintf-tests
98125         (test_ulc_vsprintf1_LDADD): Likewise.
98127         Fix linking of some uniconv tests on FreeBSD.
98128         * modules/uniconv/u16-conv-from-enc-tests
98129         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
98130         * modules/uniconv/u16-conv-to-enc-tests
98131         (test_u16_conv_to_enc_LDADD): Likewise.
98132         * modules/uniconv/u16-strconv-from-enc-tests
98133         (test_u16_strconv_from_enc_LDADD): Likewise.
98134         * modules/uniconv/u16-strconv-to-enc-tests
98135         (test_u16_strconv_to_enc_LDADD): Likewise.
98136         * modules/uniconv/u32-conv-from-enc-tests
98137         (test_u32_conv_from_enc_LDADD): Likewise.
98138         * modules/uniconv/u32-conv-to-enc-tests
98139         (test_u32_conv_to_enc_LDADD): Likewise.
98140         * modules/uniconv/u32-strconv-from-enc-tests
98141         (test_u32_strconv_from_enc_LDADD): Likewise.
98142         * modules/uniconv/u32-strconv-to-enc-tests
98143         (test_u32_strconv_to_enc_LDADD): Likewise.
98144         * modules/uniconv/u8-conv-from-enc-tests
98145         (test_u8_conv_from_enc_LDADD): Likewise.
98146         * modules/uniconv/u8-conv-to-enc-tests
98147         (test_u8_conv_to_enc_LDADD): Likewise.
98148         * modules/uniconv/u8-strconv-from-enc-tests
98149         (test_u8_strconv_from_enc_LDADD): Likewise.
98150         * modules/uniconv/u8-strconv-to-enc-tests
98151         (test_u8_strconv_to_enc_LDADD): Likewise.
98153 2007-10-22  Bruno Haible  <bruno@clisp.org>
98155         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
98156         size.
98158 2007-10-22  Eric Blake  <ebb9@byu.net>
98160         Tweak x*printf documentation.
98161         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
98162         variable name and comments.
98163         Suggested by Bruno Haible.
98165 2007-10-22  Bruno Haible  <bruno@clisp.org>
98167         * lib/acl.c (copy_acl): Fix file name in comment.
98169 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
98171         Fix Tru64 problem with stdbool.h.
98172         * lib/stdbool.in.h (false, true):
98173         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
98174         Don't declare as an enum in this situation; it runs afoul of Tru64.
98175         Problem reported by Steven M. Schweda in
98176         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
98178 2007-10-22  Eric Blake  <ebb9@byu.net>
98180         Also wrap vf?printf.
98181         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
98182         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
98183         (xvprintf, xvfprintf): New functions.
98185 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98187         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
98188         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
98190         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
98191         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
98193 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
98195         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
98196         by Bruno Haible.
98198 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98200         * lib/getloadavg.c
98201         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
98202         Undef `sys' after including sys/table.h, for Tru64 4.0D.
98204         * tests/test-i-ring.c: Work for C89.
98206 2007-10-22  Bruno Haible  <bruno@clisp.org>
98208         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
98209         -1u, in preprocessor expression, so that we don't test for the bug
98210         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
98211         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
98213 2007-10-22  Eric Blake  <ebb9@byu.net>
98215         * tests/test-yesno.sh: Silence stderr during test.
98217 2007-10-22  Simon Josefsson  <simon@josefsson.org>
98219         * modules/crypto/gc-camellia: New file.
98221         * m4/gc-camellia.m4: New file.
98223         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
98225         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
98227 2007-10-22  Simon Josefsson  <simon@josefsson.org>
98229         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
98230         --help to stdout.  Reported by sms@antinode.org (Steven
98231         M. Schweda).
98233 2007-10-22  Simon Josefsson  <simon@josefsson.org>
98235         * users.txt: Fix link to libksba.
98237 2007-10-21  Ben Pfaff  <blp@gnu.org>
98239         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
98240         round.c roundf implementation that depends on floorf and ceilf to
98241         be tested unconditionally.
98243 2007-10-21  Ben Pfaff  <blp@gnu.org>
98245         * m4/check-libm-func.m4: Removed.
98246         * m4/check-math-lib.m4: New file.
98247         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
98248         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
98249         definition and lack of AC_LIBOBJ([roundf]).
98250         * m4/roundl.m4: Ditto, and similarly for roundl.
98251         * modules/round: Reference new m4 file.
98252         * modules/roundf: Ditto.
98253         * modules/roundl: Ditto.
98254         * tests/test-round2.c (main): Use ROUND instead of round.
98255         Bug report from Bruno Haible.
98257 2007-10-21  Bruno Haible  <bruno@clisp.org>
98259         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
98260         context.
98262 2007-10-21  Bruno Haible  <bruno@clisp.org>
98264         * tests/test-wcwidth.c (main): Allow negative result for some control
98265         characters.
98267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
98268         Needed on OSF/1 5.1.
98270 2007-10-21  Bruno Haible  <bruno@clisp.org>
98272         * tests/test-floorf1.c: Include isnanf.h.
98273         (main): Use isnanf() instead of isnan().
98274         * tests/test-ceilf1.c: Include isnanf.h.
98275         (main): Use isnanf() instead of isnan().
98276         * tests/test-truncf1.c: Include isnanf.h.
98277         (main): Use isnanf() instead of isnan().
98278         * tests/test-roundf1.c: Include isnanf.h.
98279         (main): Use isnanf() instead of isnan().
98281 2007-10-21  Eric Blake  <ebb9@byu.net>
98283         * users.txt: Update URL for m4.
98285 2007-10-21  Bruno Haible  <bruno@clisp.org>
98287         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
98289 2007-10-21  Bruno Haible  <bruno@clisp.org>
98291         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
98292         Git's management files if the CVS files are not present.
98294 2007-10-20  Bruno Haible  <bruno@clisp.org>
98296         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
98297         gcc-3.4.x.
98299 2007-10-20  Ben Pfaff  <blp@gnu.org>
98301         * lib/math.in.h: Declare round, roundf, roundl if we are providing
98302         implementations.
98303         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
98304         * lib/round.c: New file.
98305         * lib/roundf.c: New file.
98306         * lib/roundl.c: New file.
98307         * m4/round.m4: New file.
98308         * m4/roundf.m4: New file.
98309         * m4/roundl.m4: New file.
98310         * m4/check-libm-func-m4: New file.
98311         * modules/math: Replace round, roundf, roundl related @VARS@ in
98312         math.in.h.
98313         * modules/round: New file.
98314         * modules/round-tests: New file.
98315         * modules/roundf: New file.
98316         * modules/roundf-tests: New file.
98317         * modules/roundl: New file.
98318         * modules/roundl-tests: New file.
98319         * tests/test-round1.c: New file.
98320         * tests/test-round2.c: New file.
98321         * tests/test-roundf1.c: New file.
98322         * tests/test-roundf2.c: New file.
98323         * tests/test-roundl.c: New file.
98324         * doc/functions/round.texi: Mention round module.
98325         * doc/functions/roundf.texi: Mention roundf module.
98326         * doc/functions/roundl.texi: Mention roundl module.
98327         * MODULES.html.sh: Mention new modules.
98328         Thanks to Bruno Haible for suggestions.
98330 2007-10-20  Jim Meyering  <meyering@redhat.com>
98332         * lib/xprintf.c: Include <config.h> unconditionally.
98334         Change xprintf's license to GPL.
98335         * modules/xprintf (License): s/LGPL/GPL/, since this module
98336         depends on modules (exit and exitfail) which are GPL.
98337         Suggestion from Bruno Haible.
98339         xprintf fixes.
98340         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
98341         Use a clearer diagnostic.
98342         Patch from Bruno Haible.
98344 2007-10-20  Bruno Haible  <bruno@clisp.org>
98346         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
98347         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
98348         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
98350 2007-10-20  Bruno Haible  <bruno@clisp.org>
98352         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
98353         precision in the comparison result > x - 1 or similar.
98354         * tests/test-ceilf2.c (correct_result_p): Likewise.
98355         * tests/test-truncf2.c (correct_result_p): Likewise.
98356         * tests/test-trunc2.c (correct_result_p): Likewise.
98357         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
98359 2007-10-20  Bruno Haible  <bruno@clisp.org>
98361         * modules/ceil: New file.
98362         * m4/ceil.m4: New file.
98363         * doc/functions/ceil.texi: Mention the 'ceil' module.
98365 2007-10-20  Bruno Haible  <bruno@clisp.org>
98367         * modules/floor: New file.
98368         * m4/floor.m4: New file.
98369         * doc/functions/floor.texi: Mention the 'floor' module.
98371 2007-10-20  Bruno Haible  <bruno@clisp.org>
98373         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
98374         of %a.
98375         * modules/floorf-tests (Depends-on): Likewise.
98376         * modules/truncf-tests (Depends-on): Likewise.
98377         * modules/trunc-tests (Depends-on): Likewise.
98378         Reported by Ben Pfaff.
98380 2007-10-19  Jim Meyering  <meyering@redhat.com>
98382         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
98383         Don't bother testing specific errno values.  Just test ferror.
98385         New module: xprintf
98386         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
98388 2007-10-19  Bruno Haible  <bruno@clisp.org>
98390         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
98391         syntax.
98392         * modules/javaexec (Makefile.am): Likewise.
98393         * modules/relocatable-prog (Makefile.am): Likewise.
98394         Suggested by Jim Meyering.
98396 2007-10-18  Bruno Haible  <bruno@clisp.org>
98398         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
98399         Reported by Jim Meyering.
98401 2007-10-18  Eric Blake  <ebb9@byu.net>
98403         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
98405 2007-10-18  Bruno Haible  <bruno@clisp.org>
98407         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
98408         the format string into writable memory. Needed in Fortify conditions.
98410 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
98411             Bruno Haible  <bruno@clisp.org>
98413         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
98414         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
98415         * modules/trim (Depends-on): Add mbchar.
98416         (configure.ac): Add gl_FUNC_MBRTOWC.
98417         (Makefile.am): Augment lib_SOURCES.
98419 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
98421         Modify glob.c to use fstatat and dirfd, to simplify it.
98422         Suggested by Eric Blake.
98423         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
98424         Don't include <stdbool.h>; not used.
98425         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
98426         (link_exists_p): Simplify implementation, since we can now assume
98427         dirfd and fstatat.
98428         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
98430 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98432         * gnulib-tool (func_get_dependencies): Fix sed script to
98433         match only tests.
98435 2007-10-17  Bruno Haible  <bruno@clisp.org>
98437         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
98438         allow locale names without encoding suffix.
98439         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
98440         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
98442 2007-10-16  Bruno Haible  <bruno@clisp.org>
98444         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
98445         * lib/getgroups.c (getgroups): Likewise.
98446         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
98448 2007-10-16  Bruno Haible  <bruno@clisp.org>
98450         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
98451         * modules/malloc-posix (License): Likewise.
98452         * modules/realloc-posix (License): Likewise.
98453         * modules/calloc-posix (License): Likewise.
98454         * modules/intprops (License): Change from GPL to LGPL, with
98455         Paul Eggert's approval.
98457 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
98459         Merge glibc changes into lib/glob.c.
98461         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
98462         2007-10-15 04:59:03 UTC.  Here are the changes:
98464         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
98466         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
98468         * lib/glob.c: Add some branch prediction throughout.
98470         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
98472         [BZ #5103]
98473         * lib/glob.c (glob): Recognize patterns starting \/.
98475         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
98477         [BZ #3996]
98478         * lib/glob.c (attribute_hidden): Define if not defined.
98479         (glob): Unescape dirname, filename or username when needed and not
98480         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
98481         is NULL.  Handle unescaped [ in pattern without closing ].
98482         Don't pass GLOB_CHECK down to recursive glob for directories.
98483         (__glob_pattern_type): New function.
98484         (__glob_pattern_p): Implement using __glob_pattern_type.
98485         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
98486         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
98487         Remove unreachable code.
98489         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
98491         * lib/glob.c (glob_in_dir): Add some comments and asserts to
98492         explain why there are no leaks.
98494         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
98496         [BZ #3253]
98497         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
98498         time, rather allocate increasingly bigger arrays of pointers, if
98499         possible with alloca, if too large with malloc.
98501 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
98503         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
98504         Problem reported by H.Merijn Brand in
98505         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
98506         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
98507         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
98509 2007-10-15  Bruno Haible  <bruno@clisp.org>
98511         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
98512         with explicit rpl_ prefix.
98513         * lib/fopen.c (fopen): Likewise.
98514         * lib/freopen.c (freopen): Likewise.
98515         * lib/iconv.c (iconv): Likewise.
98516         * lib/iconv_close.c (iconv_close): Likewise.
98518 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98520         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
98522 2007-10-15  Bruno Haible  <bruno@clisp.org>
98524         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
98525         <stddef.h> instead of <stdlib.h> since we only need NULL.
98526         Reported by Ben Pfaff <blp@cs.stanford.edu>.
98528 2007-10-15  Bruno Haible  <bruno@clisp.org>
98530         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
98531         Replace paragraph talking about LIBOBJS.
98532         Reported by Colin Watson <cjwatson@debian.org>.
98534 2007-10-15  Bruno Haible  <bruno@clisp.org>
98536         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
98537         <stdlib.h> before using NULL.
98539 2007-10-15  Simon Josefsson  <simon@josefsson.org>
98541         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
98542         Reported by Albert Chin <china@thewrittenword.com>.
98544 2007-10-14  Bruno Haible  <bruno@clisp.org>
98546         * modules/iconv_open-utf-tests: New file.
98547         * tests/test-iconv-utf.c: New file.
98549         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
98550         * modules/iconv_open-utf: New file.
98551         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
98552         (iconv, iconv_close): New declarations.
98553         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
98554         be defined.
98555         (iconv_open): Add special handling of conversion between UTF-8 and
98556         UTF-{16,32}{BE,LE}.
98557         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
98558         * lib/iconv_close.c: New file.
98559         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
98560         gl_FUNC_ICONV_OPEN.
98561         (gl_FUNC_ICONV_OPEN): Use it.
98562         (gl_FUNC_ICONV_OPEN_UTF): New macro.
98563         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
98564         and REPLACE_ICONV_UTF.
98565         * modules/iconv_open (Depends-on): Add c-strcase.
98566         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
98567         ICONV_CONST.
98568         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
98570 2007-10-13  Albert Chin  <china@thewrittenword.com>
98571             Bruno Haible  <bruno@clisp.org>
98573         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
98574         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
98576 2007-10-13  Bruno Haible  <bruno@clisp.org>
98578         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
98579         defined, use the ISO C99 inline semantics.
98580         * lib/argp.h (ARGP_EI): Likewise.
98582 2007-10-13  Bruno Haible  <bruno@clisp.org>
98584         Handle 'inline' change in gcc 4.3.0.
98585         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
98586         argp_fmtstream_write, argp_fmtstream_set_lmargin,
98587         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
98588         argp_fmtstream_point): Disable 'extern' declaration if the function
98589         definition is going to be provided inline.
98590         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
98591         semantics, not the ISO C99 inline semantics.
98592         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
98593         'extern' declaration if the function definition is going to be provided
98594         inline.
98595         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
98596         the GNU C inline semantics, not the ISO C99 inline semantics. With
98597         GCC 4.2, avoid a warning.
98599 2007-10-13  Bruno Haible  <bruno@clisp.org>
98601         * lib/freading.h (freading): Enable the use of __freading for
98602         glibc >= 2.7.
98603         * lib/freading.c (freading): Likewise.
98605 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
98607         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
98608         "warning: C99 inline functions are not supported; using GNU89".
98610 2007-10-12  Bruno Haible  <bruno@clisp.org>
98612         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
98613         of 2.
98614         * tests/test-ceilf2.c: New file.
98615         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
98617         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
98618         * modules/ceilf-tests: Update.
98620 2007-10-12  Bruno Haible  <bruno@clisp.org>
98622         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
98623         of 2.
98624         * tests/test-floorf2.c: New file.
98625         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
98627         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
98628         * modules/floorf-tests: Update.
98630 2007-10-12  Bruno Haible  <bruno@clisp.org>
98632         * tests/test-trunc2.c: New file.
98633         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
98635         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
98636         * modules/trunc-tests: Update.
98638 2007-10-12  Bruno Haible  <bruno@clisp.org>
98640         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
98641         of 2.
98642         * tests/test-truncf2.c: New file.
98643         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
98645         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
98646         * modules/truncf-tests: Update.
98648 2007-10-11  Eric Blake  <ebb9@byu.net>
98650         Don't claim strerror is broken on Interix.
98651         * doc/functions/strerror.texi (strerror): Known broken systems are
98652         now Solaris 8, and not Interix.
98653         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
98654         Interix on cross-compile.
98655         Reported by Martin Koeppe in
98656         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
98658 2007-10-11  Bruno Haible  <bruno@clisp.org>
98660         * modules/i-ring-tests: New file.
98661         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
98662         instead of assert.
98664 2007-10-11  Bruno Haible  <bruno@clisp.org>
98666         * modules/filenamecat-tests: New file.
98667         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
98668         * lib/filenamecat.c: Remove test code.
98670 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
98672         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
98674         * lib/strerror.c: Include <string.h> always, to test interface,
98675         and to remove the need for the dummy.
98676         Include intprops.h to compute width instead of doing it ourselves
98677         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
98678         (strerror): Define it to return NULL if there's no system strerror.
98679         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
98680         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
98681         ancient pre-strerror Unix systems well any more.  Saying "unknown
98682         system error" is enough.
98683         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
98684         simpler strerror.c implementation.
98685         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
98686         Simplify the tests to reflect the simpler strerror implementation.
98687         * modules/strerror (Depends-on): Add intprops.
98689 2007-10-09  Eric Blake  <ebb9@byu.net>
98691         Silence test-fpending.
98692         * modules/fpending-tests (Files): Add wrapper script.
98693         * tests/test-fpending.sh: New file.
98695 2007-10-09  Bruno Haible  <bruno@clisp.org>
98697         * MODULES.html.sh (func_module): Don't create a hyperlink for
98698         function names like 'printf_frexp'.
98699         (Misc): Add crc, memxor.
98700         (Characteristics of floating types): New section.
98701         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
98702         isnanf-nolibm, signbit, trunc, truncf, truncl.
98703         (Enhancements for ISO C 99 functions): New subsection Input/output.
98704         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
98705         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
98706         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
98707         (Compatibility checks for POSIX:2001 functions): Add clock-time.
98708         (Enhancements for POSIX:2001 functions): Add chdir-long.
98709         (File system functions): Add areadlink, chdir-safer, read-file.
98710         Remove cycle-check.
98711         (File system as inode set): New section.
98712         (Date and time): Add gethrxtime.
98713         (Multithreading): Add openmp.
98714         (Internationalization functions): Add localename.
98715         (Unicode string functions): Add unistr/u*-mbsnlen.
98716         (Support for maintaining and releasing projects): Add git-version-gen.
98717         (Lone files): Remove directories.
98719 2007-10-08  Ben Pfaff  <blp@gnu.org>
98721         * lib/xmalloca.h: Fix typo in comment.
98723 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
98725         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
98726         when avoiding problems with integer overflow.  Use a portable test
98727         instead.
98729 2007-10-08  Simon Josefsson  <simon@josefsson.org>
98731         * modules/dummy (License): Change to LGPLv2+.
98732         * modules/float (License): Likewise
98733         * modules/realloc (License): Likewise
98734         * modules/stdlib (License): Likewise
98736 2007-10-07  Bruno Haible  <bruno@clisp.org>
98738         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
98739         * floor.c (TWO_MANT_DIG): Likewise.
98740         * ceil.c (TWO_MANT_DIG): Likewise.
98741         Reported by Ben Pfaff.
98743 2007-10-07  Bruno Haible  <bruno@clisp.org>
98745         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
98746         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
98747         * lib/frexp.c (FUNC): Likewise.
98748         * lib/printf-frexp.h (printf_frexp): Likewise.
98749         * lib/printf-frexpl.h (printf_frexpl): Likewise.
98750         * lib/printf-frexp.c (FUNC): Likewise.
98751         Suggested by Jim Meyering.
98753 2007-10-07  Jim Meyering  <meyering@redhat.com>
98755         Make xnanosleep's integer overflow test more robust.
98756         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
98757         so that gcc-4.3.0 doesn't optimize away this test for overflow.
98759 2007-10-07  Bruno Haible  <bruno@clisp.org>
98761         * NEWS: Mention the license change.
98763         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
98764         abbreviations in the modules files.
98766         Change copyright notice from GPLv2+ to GPLv3+.
98767         * README: Change copyright notice.
98768         * MODULES.html.sh: Likewise.
98769         * build-aux/bootstrap.conf: Likewise.
98770         * build-aux/config.libpath: Likewise.
98771         * build-aux/csharpcomp.sh.in: Likewise.
98772         * build-aux/csharpexec.sh.in: Likewise.
98773         * build-aux/install-reloc: Likewise.
98774         * build-aux/javacomp.sh.in: Likewise.
98775         * build-aux/javaexec.sh.in: Likewise.
98776         * build-aux/ldd.sh.in: Likewise.
98777         * build-aux/reloc-ldflags: Likewise.
98778         * build-aux/relocatable.sh.in: Likewise.
98779         * build-aux/x-to-1.in: Likewise.
98780         * check-module: Likewise.
98781         * config/srclistvars.sh: Likewise.
98782         * gnulib-tool: Likewise.
98783         * lib/acl-internal.h: Likewise.
98784         * lib/acl.c: Likewise.
98785         * lib/acl.h: Likewise.
98786         * lib/acl_entries.c: Likewise.
98787         * lib/areadlink-with-size.c: Likewise.
98788         * lib/areadlink.c: Likewise.
98789         * lib/areadlink.h: Likewise.
98790         * lib/argmatch.c: Likewise.
98791         * lib/argmatch.h: Likewise.
98792         * lib/argp-ba.c: Likewise.
98793         * lib/argp-eexst.c: Likewise.
98794         * lib/argp-fmtstream.c: Likewise.
98795         * lib/argp-fmtstream.h: Likewise.
98796         * lib/argp-fs-xinl.c: Likewise.
98797         * lib/argp-help.c: Likewise.
98798         * lib/argp-namefrob.h: Likewise.
98799         * lib/argp-parse.c: Likewise.
98800         * lib/argp-pin.c: Likewise.
98801         * lib/argp-pv.c: Likewise.
98802         * lib/argp-pvh.c: Likewise.
98803         * lib/argp-xinl.c: Likewise.
98804         * lib/argp.h: Likewise.
98805         * lib/at-func.c: Likewise.
98806         * lib/atanl.c: Likewise.
98807         * lib/backupfile.c: Likewise.
98808         * lib/backupfile.h: Likewise.
98809         * lib/basename.c: Likewise.
98810         * lib/binary-io.h: Likewise.
98811         * lib/byteswap.in.h: Likewise.
98812         * lib/c-stack.c: Likewise.
98813         * lib/c-stack.h: Likewise.
98814         * lib/c-strcasestr.c: Likewise.
98815         * lib/c-strcasestr.h: Likewise.
98816         * lib/c-strstr.c: Likewise.
98817         * lib/c-strstr.h: Likewise.
98818         * lib/c-strtod.c: Likewise.
98819         * lib/calloc.c: Likewise.
98820         * lib/canon-host.c: Likewise.
98821         * lib/canon-host.h: Likewise.
98822         * lib/canonicalize-lgpl.c: Likewise.
98823         * lib/canonicalize.c: Likewise.
98824         * lib/canonicalize.h: Likewise.
98825         * lib/ceil.c: Likewise.
98826         * lib/ceilf.c: Likewise.
98827         * lib/ceill.c: Likewise.
98828         * lib/chdir-long.c: Likewise.
98829         * lib/chdir-long.h: Likewise.
98830         * lib/chdir-safer.c: Likewise.
98831         * lib/chdir-safer.h: Likewise.
98832         * lib/chown.c: Likewise.
98833         * lib/classpath.c: Likewise.
98834         * lib/classpath.h: Likewise.
98835         * lib/clean-temp.c: Likewise.
98836         * lib/clean-temp.h: Likewise.
98837         * lib/cloexec.c: Likewise.
98838         * lib/close-stream.c: Likewise.
98839         * lib/closein.c: Likewise.
98840         * lib/closein.h: Likewise.
98841         * lib/closeout.c: Likewise.
98842         * lib/closeout.h: Likewise.
98843         * lib/concat-filename.c: Likewise.
98844         * lib/copy-file.c: Likewise.
98845         * lib/copy-file.h: Likewise.
98846         * lib/count-one-bits.h: Likewise.
98847         * lib/crc.c: Likewise.
98848         * lib/crc.h: Likewise.
98849         * lib/creat-safer.c: Likewise.
98850         * lib/csharpcomp.c: Likewise.
98851         * lib/csharpcomp.h: Likewise.
98852         * lib/csharpexec.c: Likewise.
98853         * lib/csharpexec.h: Likewise.
98854         * lib/cycle-check.c: Likewise.
98855         * lib/cycle-check.h: Likewise.
98856         * lib/diacrit.c: Likewise.
98857         * lib/diacrit.h: Likewise.
98858         * lib/diffseq.h: Likewise.
98859         * lib/dirchownmod.c: Likewise.
98860         * lib/dirent.in.h: Likewise.
98861         * lib/dirfd.c: Likewise.
98862         * lib/dirfd.h: Likewise.
98863         * lib/dirname.c: Likewise.
98864         * lib/dirname.h: Likewise.
98865         * lib/dummy.c: Likewise.
98866         * lib/dup-safer.c: Likewise.
98867         * lib/dup2.c: Likewise.
98868         * lib/eealloc.h: Likewise.
98869         * lib/error.c: Likewise.
98870         * lib/error.h: Likewise.
98871         * lib/euidaccess.c: Likewise.
98872         * lib/exclude.c: Likewise.
98873         * lib/exclude.h: Likewise.
98874         * lib/execute.c: Likewise.
98875         * lib/execute.h: Likewise.
98876         * lib/exitfail.c: Likewise.
98877         * lib/exitfail.h: Likewise.
98878         * lib/expl.c: Likewise.
98879         * lib/fatal-signal.c: Likewise.
98880         * lib/fatal-signal.h: Likewise.
98881         * lib/fbufmode.c: Likewise.
98882         * lib/fbufmode.h: Likewise.
98883         * lib/fchdir.c: Likewise.
98884         * lib/fchmodat.c: Likewise.
98885         * lib/fchownat.c: Likewise.
98886         * lib/fcntl--.h: Likewise.
98887         * lib/fcntl-safer.h: Likewise.
98888         * lib/fcntl.in.h: Likewise.
98889         * lib/fd-safer.c: Likewise.
98890         * lib/fflush.c: Likewise.
98891         * lib/file-has-acl.c: Likewise.
98892         * lib/file-set.c: Likewise.
98893         * lib/file-type.c: Likewise.
98894         * lib/file-type.h: Likewise.
98895         * lib/fileblocks.c: Likewise.
98896         * lib/filemode.c: Likewise.
98897         * lib/filemode.h: Likewise.
98898         * lib/filename.h: Likewise.
98899         * lib/filenamecat.c: Likewise.
98900         * lib/filenamecat.h: Likewise.
98901         * lib/findprog.c: Likewise.
98902         * lib/findprog.h: Likewise.
98903         * lib/float.in.h: Likewise.
98904         * lib/floor.c: Likewise.
98905         * lib/floorf.c: Likewise.
98906         * lib/floorl.c: Likewise.
98907         * lib/fopen-safer.c: Likewise.
98908         * lib/fopen.c: Likewise.
98909         * lib/fpending.c: Likewise.
98910         * lib/fpending.h: Likewise.
98911         * lib/fprintf.c: Likewise.
98912         * lib/fprintftime.h: Likewise.
98913         * lib/fpucw.h: Likewise.
98914         * lib/fpurge.c: Likewise.
98915         * lib/fpurge.h: Likewise.
98916         * lib/freadable.c: Likewise.
98917         * lib/freadable.h: Likewise.
98918         * lib/freadahead.c: Likewise.
98919         * lib/freadahead.h: Likewise.
98920         * lib/freading.c: Likewise.
98921         * lib/freading.h: Likewise.
98922         * lib/free.c: Likewise.
98923         * lib/freopen.c: Likewise.
98924         * lib/frexp.c: Likewise.
98925         * lib/frexpl.c: Likewise.
98926         * lib/fseek.c: Likewise.
98927         * lib/fseterr.c: Likewise.
98928         * lib/fseterr.h: Likewise.
98929         * lib/fstatat.c: Likewise.
98930         * lib/fstrcmp.c: Likewise.
98931         * lib/fstrcmp.h: Likewise.
98932         * lib/fsusage.c: Likewise.
98933         * lib/fsusage.h: Likewise.
98934         * lib/ftell.c: Likewise.
98935         * lib/ftello.c: Likewise.
98936         * lib/fts-cycle.c: Likewise.
98937         * lib/fts.c: Likewise.
98938         * lib/fts_.h: Likewise.
98939         * lib/full-read.c: Likewise.
98940         * lib/full-read.h: Likewise.
98941         * lib/full-write.c: Likewise.
98942         * lib/full-write.h: Likewise.
98943         * lib/fwritable.c: Likewise.
98944         * lib/fwritable.h: Likewise.
98945         * lib/fwriteerror.c: Likewise.
98946         * lib/fwriteerror.h: Likewise.
98947         * lib/fwriting.c: Likewise.
98948         * lib/fwriting.h: Likewise.
98949         * lib/gcd.c: Likewise.
98950         * lib/gcd.h: Likewise.
98951         * lib/getcwd.c: Likewise.
98952         * lib/getdate.h: Likewise.
98953         * lib/getdate.y: Likewise.
98954         * lib/getdomainname.c: Likewise.
98955         * lib/getdomainname.h: Likewise.
98956         * lib/getgroups.c: Likewise.
98957         * lib/gethostname.c: Likewise.
98958         * lib/gethrxtime.c: Likewise.
98959         * lib/gethrxtime.h: Likewise.
98960         * lib/getloadavg.c: Likewise.
98961         * lib/getndelim2.c: Likewise.
98962         * lib/getndelim2.h: Likewise.
98963         * lib/getnline.c: Likewise.
98964         * lib/getnline.h: Likewise.
98965         * lib/getopt.c: Likewise.
98966         * lib/getopt.in.h: Likewise.
98967         * lib/getopt1.c: Likewise.
98968         * lib/getopt_int.h: Likewise.
98969         * lib/getpagesize.h: Likewise.
98970         * lib/getsubopt.c: Likewise.
98971         * lib/gettime.c: Likewise.
98972         * lib/getugroups.c: Likewise.
98973         * lib/getugroups.h: Likewise.
98974         * lib/getusershell.c: Likewise.
98975         * lib/gl_anyavltree_list1.h: Likewise.
98976         * lib/gl_anyavltree_list2.h: Likewise.
98977         * lib/gl_anyhash_list1.h: Likewise.
98978         * lib/gl_anyhash_list2.h: Likewise.
98979         * lib/gl_anylinked_list1.h: Likewise.
98980         * lib/gl_anylinked_list2.h: Likewise.
98981         * lib/gl_anyrbtree_list1.h: Likewise.
98982         * lib/gl_anyrbtree_list2.h: Likewise.
98983         * lib/gl_anytree_list1.h: Likewise.
98984         * lib/gl_anytree_list2.h: Likewise.
98985         * lib/gl_anytree_oset.h: Likewise.
98986         * lib/gl_anytreehash_list1.h: Likewise.
98987         * lib/gl_anytreehash_list2.h: Likewise.
98988         * lib/gl_array_list.c: Likewise.
98989         * lib/gl_array_list.h: Likewise.
98990         * lib/gl_array_oset.c: Likewise.
98991         * lib/gl_array_oset.h: Likewise.
98992         * lib/gl_avltree_list.c: Likewise.
98993         * lib/gl_avltree_list.h: Likewise.
98994         * lib/gl_avltree_oset.c: Likewise.
98995         * lib/gl_avltree_oset.h: Likewise.
98996         * lib/gl_avltreehash_list.c: Likewise.
98997         * lib/gl_avltreehash_list.h: Likewise.
98998         * lib/gl_carray_list.c: Likewise.
98999         * lib/gl_carray_list.h: Likewise.
99000         * lib/gl_linked_list.c: Likewise.
99001         * lib/gl_linked_list.h: Likewise.
99002         * lib/gl_linkedhash_list.c: Likewise.
99003         * lib/gl_linkedhash_list.h: Likewise.
99004         * lib/gl_list.c: Likewise.
99005         * lib/gl_list.h: Likewise.
99006         * lib/gl_oset.c: Likewise.
99007         * lib/gl_oset.h: Likewise.
99008         * lib/gl_rbtree_list.c: Likewise.
99009         * lib/gl_rbtree_list.h: Likewise.
99010         * lib/gl_rbtree_oset.c: Likewise.
99011         * lib/gl_rbtree_oset.h: Likewise.
99012         * lib/gl_rbtreehash_list.c: Likewise.
99013         * lib/gl_rbtreehash_list.h: Likewise.
99014         * lib/gl_sublist.c: Likewise.
99015         * lib/gl_sublist.h: Likewise.
99016         * lib/group-member.c: Likewise.
99017         * lib/group-member.h: Likewise.
99018         * lib/hard-locale.c: Likewise.
99019         * lib/hard-locale.h: Likewise.
99020         * lib/hash-pjw.c: Likewise.
99021         * lib/hash-pjw.h: Likewise.
99022         * lib/hash-triple.c: Likewise.
99023         * lib/hash.c: Likewise.
99024         * lib/hash.h: Likewise.
99025         * lib/human.c: Likewise.
99026         * lib/human.h: Likewise.
99027         * lib/i-ring.c: Likewise.
99028         * lib/i-ring.h: Likewise.
99029         * lib/idcache.c: Likewise.
99030         * lib/imaxabs.c: Likewise.
99031         * lib/imaxdiv.c: Likewise.
99032         * lib/inet_pton.c: Likewise.
99033         * lib/inet_pton.h: Likewise.
99034         * lib/intprops.h: Likewise.
99035         * lib/inttostr.c: Likewise.
99036         * lib/inttostr.h: Likewise.
99037         * lib/inttypes.in.h: Likewise.
99038         * lib/isapipe.c: Likewise.
99039         * lib/isdir.c: Likewise.
99040         * lib/isnan.c: Likewise.
99041         * lib/isnan.h: Likewise.
99042         * lib/isnanf.c: Likewise.
99043         * lib/isnanf.h: Likewise.
99044         * lib/isnanl-nolibm.h: Likewise.
99045         * lib/isnanl.c: Likewise.
99046         * lib/isnanl.h: Likewise.
99047         * lib/javacomp.c: Likewise.
99048         * lib/javacomp.h: Likewise.
99049         * lib/javaexec.c: Likewise.
99050         * lib/javaexec.h: Likewise.
99051         * lib/javaversion.c: Likewise.
99052         * lib/javaversion.h: Likewise.
99053         * lib/javaversion.java: Likewise.
99054         * lib/lbrkprop.h: Likewise.
99055         * lib/lchmod.h: Likewise.
99056         * lib/lchown.c: Likewise.
99057         * lib/ldexpl.c: Likewise.
99058         * lib/linebreak.c: Likewise.
99059         * lib/linebreak.h: Likewise.
99060         * lib/linebuffer.c: Likewise.
99061         * lib/linebuffer.h: Likewise.
99062         * lib/locale.in.h: Likewise.
99063         * lib/logl.c: Likewise.
99064         * lib/long-options.c: Likewise.
99065         * lib/long-options.h: Likewise.
99066         * lib/lstat.c: Likewise.
99067         * lib/lstat.h: Likewise.
99068         * lib/math.in.h: Likewise.
99069         * lib/mbchar.c: Likewise.
99070         * lib/mbchar.h: Likewise.
99071         * lib/mbfile.h: Likewise.
99072         * lib/mbiter.h: Likewise.
99073         * lib/mbscasecmp.c: Likewise.
99074         * lib/mbscasestr.c: Likewise.
99075         * lib/mbschr.c: Likewise.
99076         * lib/mbscspn.c: Likewise.
99077         * lib/mbslen.c: Likewise.
99078         * lib/mbsncasecmp.c: Likewise.
99079         * lib/mbsnlen.c: Likewise.
99080         * lib/mbspbrk.c: Likewise.
99081         * lib/mbspcasecmp.c: Likewise.
99082         * lib/mbsrchr.c: Likewise.
99083         * lib/mbssep.c: Likewise.
99084         * lib/mbsspn.c: Likewise.
99085         * lib/mbsstr.c: Likewise.
99086         * lib/mbstok_r.c: Likewise.
99087         * lib/mbswidth.c: Likewise.
99088         * lib/mbswidth.h: Likewise.
99089         * lib/mbuiter.h: Likewise.
99090         * lib/memcasecmp.c: Likewise.
99091         * lib/memcasecmp.h: Likewise.
99092         * lib/memchr.c: Likewise.
99093         * lib/memcmp.c: Likewise.
99094         * lib/memcoll.c: Likewise.
99095         * lib/memcoll.h: Likewise.
99096         * lib/memcpy.c: Likewise.
99097         * lib/memrchr.c: Likewise.
99098         * lib/mkancesdirs.c: Likewise.
99099         * lib/mkdir-p.c: Likewise.
99100         * lib/mkdir-p.h: Likewise.
99101         * lib/mkdir.c: Likewise.
99102         * lib/mkdirat.c: Likewise.
99103         * lib/mkdtemp.c: Likewise.
99104         * lib/mkstemp-safer.c: Likewise.
99105         * lib/mkstemp.c: Likewise.
99106         * lib/modechange.c: Likewise.
99107         * lib/modechange.h: Likewise.
99108         * lib/mountlist.c: Likewise.
99109         * lib/mountlist.h: Likewise.
99110         * lib/mpsort.c: Likewise.
99111         * lib/nanosleep.c: Likewise.
99112         * lib/obstack.c: Likewise.
99113         * lib/obstack.h: Likewise.
99114         * lib/open-safer.c: Likewise.
99115         * lib/open.c: Likewise.
99116         * lib/openat-die.c: Likewise.
99117         * lib/openat-priv.h: Likewise.
99118         * lib/openat-proc.c: Likewise.
99119         * lib/openat.c: Likewise.
99120         * lib/openat.h: Likewise.
99121         * lib/pagealign_alloc.c: Likewise.
99122         * lib/pagealign_alloc.h: Likewise.
99123         * lib/physmem.c: Likewise.
99124         * lib/physmem.h: Likewise.
99125         * lib/pipe-safer.c: Likewise.
99126         * lib/pipe.c: Likewise.
99127         * lib/pipe.h: Likewise.
99128         * lib/posixtm.c: Likewise.
99129         * lib/posixtm.h: Likewise.
99130         * lib/posixver.c: Likewise.
99131         * lib/printf-frexp.c: Likewise.
99132         * lib/printf-frexp.h: Likewise.
99133         * lib/printf-frexpl.c: Likewise.
99134         * lib/printf-frexpl.h: Likewise.
99135         * lib/printf.c: Likewise.
99136         * lib/progname.c: Likewise.
99137         * lib/progname.h: Likewise.
99138         * lib/progreloc.c: Likewise.
99139         * lib/putenv.c: Likewise.
99140         * lib/quote.c: Likewise.
99141         * lib/quote.h: Likewise.
99142         * lib/quotearg.c: Likewise.
99143         * lib/quotearg.h: Likewise.
99144         * lib/raise.c: Likewise.
99145         * lib/readline.c: Likewise.
99146         * lib/readline.h: Likewise.
99147         * lib/readlink.c: Likewise.
99148         * lib/readtokens.c: Likewise.
99149         * lib/readtokens.h: Likewise.
99150         * lib/readtokens0.c: Likewise.
99151         * lib/readtokens0.h: Likewise.
99152         * lib/readutmp.c: Likewise.
99153         * lib/readutmp.h: Likewise.
99154         * lib/realloc.c: Likewise.
99155         * lib/relocwrapper.c: Likewise.
99156         * lib/rename-dest-slash.c: Likewise.
99157         * lib/rename.c: Likewise.
99158         * lib/rmdir.c: Likewise.
99159         * lib/rpmatch.c: Likewise.
99160         * lib/safe-read.c: Likewise.
99161         * lib/safe-read.h: Likewise.
99162         * lib/safe-write.c: Likewise.
99163         * lib/safe-write.h: Likewise.
99164         * lib/same-inode.h: Likewise.
99165         * lib/same.c: Likewise.
99166         * lib/same.h: Likewise.
99167         * lib/save-cwd.c: Likewise.
99168         * lib/save-cwd.h: Likewise.
99169         * lib/savedir.c: Likewise.
99170         * lib/savedir.h: Likewise.
99171         * lib/savewd.c: Likewise.
99172         * lib/savewd.h: Likewise.
99173         * lib/search.in.h: Likewise.
99174         * lib/setenv.c: Likewise.
99175         * lib/setenv.h: Likewise.
99176         * lib/settime.c: Likewise.
99177         * lib/sh-quote.c: Likewise.
99178         * lib/sh-quote.h: Likewise.
99179         * lib/sig2str.c: Likewise.
99180         * lib/sig2str.h: Likewise.
99181         * lib/signal.in.h: Likewise.
99182         * lib/signbitd.c: Likewise.
99183         * lib/signbitf.c: Likewise.
99184         * lib/signbitl.c: Likewise.
99185         * lib/sigprocmask.c: Likewise.
99186         * lib/sincosl.c: Likewise.
99187         * lib/sleep.c: Likewise.
99188         * lib/sprintf.c: Likewise.
99189         * lib/sqrtl.c: Likewise.
99190         * lib/stat-time.h: Likewise.
99191         * lib/stdio--.h: Likewise.
99192         * lib/stdio-safer.h: Likewise.
99193         * lib/stdlib--.h: Likewise.
99194         * lib/stdlib-safer.h: Likewise.
99195         * lib/stdlib.in.h: Likewise.
99196         * lib/stpcpy.c: Likewise.
99197         * lib/stpncpy.c: Likewise.
99198         * lib/strchrnul.c: Likewise.
99199         * lib/strcspn.c: Likewise.
99200         * lib/strerror.c: Likewise.
99201         * lib/strftime.c: Likewise.
99202         * lib/strftime.h: Likewise.
99203         * lib/striconveh.c: Likewise.
99204         * lib/striconveh.h: Likewise.
99205         * lib/striconveha.c: Likewise.
99206         * lib/striconveha.h: Likewise.
99207         * lib/stripslash.c: Likewise.
99208         * lib/strnlen1.c: Likewise.
99209         * lib/strnlen1.h: Likewise.
99210         * lib/strtod.c: Likewise.
99211         * lib/strtoimax.c: Likewise.
99212         * lib/strtok_r.c: Likewise.
99213         * lib/strtol.c: Likewise.
99214         * lib/strtoll.c: Likewise.
99215         * lib/strtoul.c: Likewise.
99216         * lib/strtoull.c: Likewise.
99217         * lib/sysexits.in.h: Likewise.
99218         * lib/tempname.c: Likewise.
99219         * lib/tempname.h: Likewise.
99220         * lib/timespec.h: Likewise.
99221         * lib/tls.c: Likewise.
99222         * lib/tls.h: Likewise.
99223         * lib/tmpdir.c: Likewise.
99224         * lib/tmpdir.h: Likewise.
99225         * lib/tmpfile-safer.c: Likewise.
99226         * lib/tmpfile.c: Likewise.
99227         * lib/trigl.c: Likewise.
99228         * lib/trigl.h: Likewise.
99229         * lib/trim.c: Likewise.
99230         * lib/trim.h: Likewise.
99231         * lib/trunc.c: Likewise.
99232         * lib/truncf.c: Likewise.
99233         * lib/truncl.c: Likewise.
99234         * lib/tsearch.c: Likewise.
99235         * lib/unicodeio.c: Likewise.
99236         * lib/unicodeio.h: Likewise.
99237         * lib/unistd--.h: Likewise.
99238         * lib/unistd-safer.h: Likewise.
99239         * lib/unistdio/ulc-fprintf.c: Likewise.
99240         * lib/unistdio/ulc-vfprintf.c: Likewise.
99241         * lib/unlinkdir.c: Likewise.
99242         * lib/unlinkdir.h: Likewise.
99243         * lib/unlocked-io.h: Likewise.
99244         * lib/unsetenv.c: Likewise.
99245         * lib/userspec.c: Likewise.
99246         * lib/utime.c: Likewise.
99247         * lib/utimecmp.c: Likewise.
99248         * lib/utimecmp.h: Likewise.
99249         * lib/utimens.c: Likewise.
99250         * lib/verify.h: Likewise.
99251         * lib/verror.c: Likewise.
99252         * lib/verror.h: Likewise.
99253         * lib/version-etc-fsf.c: Likewise.
99254         * lib/version-etc.c: Likewise.
99255         * lib/version-etc.h: Likewise.
99256         * lib/vfprintf.c: Likewise.
99257         * lib/vprintf.c: Likewise.
99258         * lib/vsprintf.c: Likewise.
99259         * lib/w32spawn.h: Likewise.
99260         * lib/wait-process.c: Likewise.
99261         * lib/wait-process.h: Likewise.
99262         * lib/wcwidth.c: Likewise.
99263         * lib/write-any-file.c: Likewise.
99264         * lib/xalloc-die.c: Likewise.
99265         * lib/xalloc.h: Likewise.
99266         * lib/xasprintf.c: Likewise.
99267         * lib/xgetcwd.c: Likewise.
99268         * lib/xgetcwd.h: Likewise.
99269         * lib/xgetdomainname.c: Likewise.
99270         * lib/xgetdomainname.h: Likewise.
99271         * lib/xgethostname.c: Likewise.
99272         * lib/xmalloc.c: Likewise.
99273         * lib/xmalloca.c: Likewise.
99274         * lib/xmalloca.h: Likewise.
99275         * lib/xmemcoll.c: Likewise.
99276         * lib/xnanosleep.c: Likewise.
99277         * lib/xreadlink.c: Likewise.
99278         * lib/xreadlink.h: Likewise.
99279         * lib/xsetenv.c: Likewise.
99280         * lib/xsetenv.h: Likewise.
99281         * lib/xstriconv.c: Likewise.
99282         * lib/xstriconv.h: Likewise.
99283         * lib/xstrndup.c: Likewise.
99284         * lib/xstrndup.h: Likewise.
99285         * lib/xstrtod.c: Likewise.
99286         * lib/xstrtod.h: Likewise.
99287         * lib/xstrtol-error.c: Likewise.
99288         * lib/xstrtol.c: Likewise.
99289         * lib/xstrtol.h: Likewise.
99290         * lib/xtime.h: Likewise.
99291         * lib/xvasprintf.c: Likewise.
99292         * lib/xvasprintf.h: Likewise.
99293         * lib/yesno.c: Likewise.
99294         * lib/yesno.h: Likewise.
99295         * posix-modules: Likewise.
99296         * tests/test-alloca-opt.c: Likewise.
99297         * tests/test-arcfour.c: Likewise.
99298         * tests/test-arctwo.c: Likewise.
99299         * tests/test-argmatch.c: Likewise.
99300         * tests/test-argp-2.sh: Likewise.
99301         * tests/test-argp.c: Likewise.
99302         * tests/test-arpa_inet.c: Likewise.
99303         * tests/test-array_list.c: Likewise.
99304         * tests/test-array_oset.c: Likewise.
99305         * tests/test-atexit.c: Likewise.
99306         * tests/test-avltree_list.c: Likewise.
99307         * tests/test-avltree_oset.c: Likewise.
99308         * tests/test-avltreehash_list.c: Likewise.
99309         * tests/test-base64.c: Likewise.
99310         * tests/test-binary-io.c: Likewise.
99311         * tests/test-byteswap.c: Likewise.
99312         * tests/test-c-ctype.c: Likewise.
99313         * tests/test-c-strcasecmp.c: Likewise.
99314         * tests/test-c-strcasestr.c: Likewise.
99315         * tests/test-c-strncasecmp.c: Likewise.
99316         * tests/test-c-strstr.c: Likewise.
99317         * tests/test-canonicalize-lgpl.c: Likewise.
99318         * tests/test-canonicalize.c: Likewise.
99319         * tests/test-carray_list.c: Likewise.
99320         * tests/test-ceilf.c: Likewise.
99321         * tests/test-ceill.c: Likewise.
99322         * tests/test-count-one-bits.c: Likewise.
99323         * tests/test-crc.c: Likewise.
99324         * tests/test-dirname.c: Likewise.
99325         * tests/test-fbufmode.c: Likewise.
99326         * tests/test-fcntl.c: Likewise.
99327         * tests/test-fflush.c: Likewise.
99328         * tests/test-floorf.c: Likewise.
99329         * tests/test-floorl.c: Likewise.
99330         * tests/test-fopen.c: Likewise.
99331         * tests/test-fprintf-posix.c: Likewise.
99332         * tests/test-fprintf-posix.h: Likewise.
99333         * tests/test-fpurge.c: Likewise.
99334         * tests/test-freadable.c: Likewise.
99335         * tests/test-freadahead.c: Likewise.
99336         * tests/test-freading.c: Likewise.
99337         * tests/test-freopen.c: Likewise.
99338         * tests/test-frexp.c: Likewise.
99339         * tests/test-frexpl.c: Likewise.
99340         * tests/test-fseek.c: Likewise.
99341         * tests/test-fseeko.c: Likewise.
99342         * tests/test-fseterr.c: Likewise.
99343         * tests/test-fstrcmp.c: Likewise.
99344         * tests/test-ftell.c: Likewise.
99345         * tests/test-ftello.c: Likewise.
99346         * tests/test-fwritable.c: Likewise.
99347         * tests/test-fwriting.c: Likewise.
99348         * tests/test-getaddrinfo.c: Likewise.
99349         * tests/test-getpass.c: Likewise.
99350         * tests/test-gettimeofday.c: Likewise.
99351         * tests/test-hmac-md5.c: Likewise.
99352         * tests/test-hmac-sha1.c: Likewise.
99353         * tests/test-iconv.c: Likewise.
99354         * tests/test-iconvme.c: Likewise.
99355         * tests/test-inttypes.c: Likewise.
99356         * tests/test-isnan.c: Likewise.
99357         * tests/test-isnanf.c: Likewise.
99358         * tests/test-isnanl-nolibm.c: Likewise.
99359         * tests/test-isnanl.c: Likewise.
99360         * tests/test-isnanl.h: Likewise.
99361         * tests/test-ldexpl.c: Likewise.
99362         * tests/test-linked_list.c: Likewise.
99363         * tests/test-linkedhash_list.c: Likewise.
99364         * tests/test-locale.c: Likewise.
99365         * tests/test-localename.c: Likewise.
99366         * tests/test-lock.c: Likewise.
99367         * tests/test-lseek.c: Likewise.
99368         * tests/test-malloca.c: Likewise.
99369         * tests/test-math.c: Likewise.
99370         * tests/test-mbscasecmp.c: Likewise.
99371         * tests/test-mbscasestr1.c: Likewise.
99372         * tests/test-mbscasestr2.c: Likewise.
99373         * tests/test-mbscasestr3.c: Likewise.
99374         * tests/test-mbscasestr4.c: Likewise.
99375         * tests/test-mbschr.c: Likewise.
99376         * tests/test-mbscspn.c: Likewise.
99377         * tests/test-mbsncasecmp.c: Likewise.
99378         * tests/test-mbspbrk.c: Likewise.
99379         * tests/test-mbspcasecmp.c: Likewise.
99380         * tests/test-mbsrchr.c: Likewise.
99381         * tests/test-mbsspn.c: Likewise.
99382         * tests/test-mbsstr1.c: Likewise.
99383         * tests/test-mbsstr2.c: Likewise.
99384         * tests/test-mbsstr3.c: Likewise.
99385         * tests/test-md5.c: Likewise.
99386         * tests/test-memmem.c: Likewise.
99387         * tests/test-netinet_in.c: Likewise.
99388         * tests/test-open.c: Likewise.
99389         * tests/test-printf-frexp.c: Likewise.
99390         * tests/test-printf-frexpl.c: Likewise.
99391         * tests/test-printf-posix.c: Likewise.
99392         * tests/test-printf-posix.h: Likewise.
99393         * tests/test-rbtree_list.c: Likewise.
99394         * tests/test-rbtree_oset.c: Likewise.
99395         * tests/test-rbtreehash_list.c: Likewise.
99396         * tests/test-read-file.c: Likewise.
99397         * tests/test-rijndael.c: Likewise.
99398         * tests/test-search.c: Likewise.
99399         * tests/test-signbit.c: Likewise.
99400         * tests/test-sleep.c: Likewise.
99401         * tests/test-snprintf-posix.c: Likewise.
99402         * tests/test-snprintf-posix.h: Likewise.
99403         * tests/test-snprintf.c: Likewise.
99404         * tests/test-sprintf-posix.c: Likewise.
99405         * tests/test-sprintf-posix.h: Likewise.
99406         * tests/test-stat-time.c: Likewise.
99407         * tests/test-stdbool.c: Likewise.
99408         * tests/test-stdint.c: Likewise.
99409         * tests/test-stdio.c: Likewise.
99410         * tests/test-stdlib.c: Likewise.
99411         * tests/test-stpncpy.c: Likewise.
99412         * tests/test-strcasestr.c: Likewise.
99413         * tests/test-striconv.c: Likewise.
99414         * tests/test-striconveh.c: Likewise.
99415         * tests/test-striconveha.c: Likewise.
99416         * tests/test-string.c: Likewise.
99417         * tests/test-sys_select.c: Likewise.
99418         * tests/test-sys_socket.c: Likewise.
99419         * tests/test-sys_stat.c: Likewise.
99420         * tests/test-sys_time.c: Likewise.
99421         * tests/test-sysexits.c: Likewise.
99422         * tests/test-time.c: Likewise.
99423         * tests/test-tls.c: Likewise.
99424         * tests/test-trunc.c: Likewise.
99425         * tests/test-truncf.c: Likewise.
99426         * tests/test-truncl.c: Likewise.
99427         * tests/test-unistd.c: Likewise.
99428         * tests/test-vasnprintf-posix.c: Likewise.
99429         * tests/test-vasnprintf-posix2.c: Likewise.
99430         * tests/test-vasnprintf.c: Likewise.
99431         * tests/test-vasprintf-posix.c: Likewise.
99432         * tests/test-vasprintf.c: Likewise.
99433         * tests/test-verify.c: Likewise.
99434         * tests/test-vfprintf-posix.c: Likewise.
99435         * tests/test-vprintf-posix.c: Likewise.
99436         * tests/test-vsnprintf-posix.c: Likewise.
99437         * tests/test-vsnprintf.c: Likewise.
99438         * tests/test-vsprintf-posix.c: Likewise.
99439         * tests/test-wchar.c: Likewise.
99440         * tests/test-wctype.c: Likewise.
99441         * tests/test-wcwidth.c: Likewise.
99442         * tests/test-xstrtol.c: Likewise.
99443         * tests/test-xvasprintf.c: Likewise.
99444         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
99445         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
99446         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
99447         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
99448         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
99449         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
99450         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
99451         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
99452         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
99453         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
99454         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
99455         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
99456         * tests/uniname/test-uninames.c: Likewise.
99457         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
99458         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
99459         * tests/unistdio/test-u16-printf1.h: Likewise.
99460         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
99461         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
99462         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
99463         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
99464         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
99465         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
99466         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
99467         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
99468         * tests/unistdio/test-u32-printf1.h: Likewise.
99469         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
99470         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
99471         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
99472         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
99473         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
99474         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
99475         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
99476         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
99477         * tests/unistdio/test-u8-printf1.h: Likewise.
99478         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
99479         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
99480         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
99481         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
99482         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
99483         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
99484         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
99485         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
99486         * tests/unistdio/test-ulc-printf1.h: Likewise.
99487         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
99488         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
99489         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
99490         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
99491         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
99492         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
99493         * tests/uniwidth/test-u16-strwidth.c: Likewise.
99494         * tests/uniwidth/test-u16-width.c: Likewise.
99495         * tests/uniwidth/test-u32-strwidth.c: Likewise.
99496         * tests/uniwidth/test-u32-width.c: Likewise.
99497         * tests/uniwidth/test-u8-strwidth.c: Likewise.
99498         * tests/uniwidth/test-u8-width.c: Likewise.
99499         * tests/uniwidth/test-uc_width.c: Likewise.
99500         * config/srclist-update: Likewise.
99501         (fixlicense): Update to GPLv3+.
99503         Change copyright notice from LGPLv2.1+ to LGPLv3+.
99504         * tests/test-tsearch.c: Change copyright notice.
99506         Change copyright notice from LGPLv2.0+ to LGPLv3+.
99507         * lib/c-strcaseeq.h: Change copyright notice.
99508         * lib/streq.h: Likewise.
99509         * lib/uniconv.h: Likewise.
99510         * lib/uniconv/u-conv-from-enc.h: Likewise.
99511         * lib/uniconv/u-conv-to-enc.h: Likewise.
99512         * lib/uniconv/u-strconv-from-enc.h: Likewise.
99513         * lib/uniconv/u-strconv-to-enc.h: Likewise.
99514         * lib/uniconv/u16-conv-from-enc.c: Likewise.
99515         * lib/uniconv/u16-conv-to-enc.c: Likewise.
99516         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
99517         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
99518         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
99519         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
99520         * lib/uniconv/u32-conv-from-enc.c: Likewise.
99521         * lib/uniconv/u32-conv-to-enc.c: Likewise.
99522         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
99523         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
99524         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
99525         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
99526         * lib/uniconv/u8-conv-from-enc.c: Likewise.
99527         * lib/uniconv/u8-conv-to-enc.c: Likewise.
99528         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
99529         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
99530         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
99531         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
99532         * lib/uniname.h: Likewise.
99533         * lib/uniname/uniname.c: Likewise.
99534         * lib/unistdio.h: Likewise.
99535         * lib/unistdio/u-asnprintf.h: Likewise.
99536         * lib/unistdio/u-asprintf.h: Likewise.
99537         * lib/unistdio/u-printf-args.c: Likewise.
99538         * lib/unistdio/u-printf-args.h: Likewise.
99539         * lib/unistdio/u-printf-parse.h: Likewise.
99540         * lib/unistdio/u-snprintf.h: Likewise.
99541         * lib/unistdio/u-sprintf.h: Likewise.
99542         * lib/unistdio/u-vasprintf.h: Likewise.
99543         * lib/unistdio/u-vsnprintf.h: Likewise.
99544         * lib/unistdio/u-vsprintf.h: Likewise.
99545         * lib/unistdio/u16-asnprintf.c: Likewise.
99546         * lib/unistdio/u16-asprintf.c: Likewise.
99547         * lib/unistdio/u16-printf-parse.c: Likewise.
99548         * lib/unistdio/u16-snprintf.c: Likewise.
99549         * lib/unistdio/u16-sprintf.c: Likewise.
99550         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
99551         * lib/unistdio/u16-u16-asprintf.c: Likewise.
99552         * lib/unistdio/u16-u16-snprintf.c: Likewise.
99553         * lib/unistdio/u16-u16-sprintf.c: Likewise.
99554         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
99555         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
99556         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
99557         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
99558         * lib/unistdio/u16-vasnprintf.c: Likewise.
99559         * lib/unistdio/u16-vasprintf.c: Likewise.
99560         * lib/unistdio/u16-vsnprintf.c: Likewise.
99561         * lib/unistdio/u16-vsprintf.c: Likewise.
99562         * lib/unistdio/u32-asnprintf.c: Likewise.
99563         * lib/unistdio/u32-asprintf.c: Likewise.
99564         * lib/unistdio/u32-printf-parse.c: Likewise.
99565         * lib/unistdio/u32-snprintf.c: Likewise.
99566         * lib/unistdio/u32-sprintf.c: Likewise.
99567         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
99568         * lib/unistdio/u32-u32-asprintf.c: Likewise.
99569         * lib/unistdio/u32-u32-snprintf.c: Likewise.
99570         * lib/unistdio/u32-u32-sprintf.c: Likewise.
99571         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
99572         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
99573         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
99574         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
99575         * lib/unistdio/u32-vasnprintf.c: Likewise.
99576         * lib/unistdio/u32-vasprintf.c: Likewise.
99577         * lib/unistdio/u32-vsnprintf.c: Likewise.
99578         * lib/unistdio/u32-vsprintf.c: Likewise.
99579         * lib/unistdio/u8-asnprintf.c: Likewise.
99580         * lib/unistdio/u8-asprintf.c: Likewise.
99581         * lib/unistdio/u8-printf-parse.c: Likewise.
99582         * lib/unistdio/u8-snprintf.c: Likewise.
99583         * lib/unistdio/u8-sprintf.c: Likewise.
99584         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
99585         * lib/unistdio/u8-u8-asprintf.c: Likewise.
99586         * lib/unistdio/u8-u8-snprintf.c: Likewise.
99587         * lib/unistdio/u8-u8-sprintf.c: Likewise.
99588         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
99589         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
99590         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
99591         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
99592         * lib/unistdio/u8-vasnprintf.c: Likewise.
99593         * lib/unistdio/u8-vasprintf.c: Likewise.
99594         * lib/unistdio/u8-vsnprintf.c: Likewise.
99595         * lib/unistdio/u8-vsprintf.c: Likewise.
99596         * lib/unistdio/ulc-asnprintf.c: Likewise.
99597         * lib/unistdio/ulc-asprintf.c: Likewise.
99598         * lib/unistdio/ulc-printf-parse.c: Likewise.
99599         * lib/unistdio/ulc-snprintf.c: Likewise.
99600         * lib/unistdio/ulc-sprintf.c: Likewise.
99601         * lib/unistdio/ulc-vasnprintf.c: Likewise.
99602         * lib/unistdio/ulc-vasprintf.c: Likewise.
99603         * lib/unistdio/ulc-vsnprintf.c: Likewise.
99604         * lib/unistdio/ulc-vsprintf.c: Likewise.
99605         * lib/unistr.h: Likewise.
99606         * lib/unistr/u-cpy-alloc.h: Likewise.
99607         * lib/unistr/u-cpy.h: Likewise.
99608         * lib/unistr/u-endswith.h: Likewise.
99609         * lib/unistr/u-move.h: Likewise.
99610         * lib/unistr/u-set.h: Likewise.
99611         * lib/unistr/u-startswith.h: Likewise.
99612         * lib/unistr/u-stpcpy.h: Likewise.
99613         * lib/unistr/u-stpncpy.h: Likewise.
99614         * lib/unistr/u-strcat.h: Likewise.
99615         * lib/unistr/u-strcpy.h: Likewise.
99616         * lib/unistr/u-strcspn.h: Likewise.
99617         * lib/unistr/u-strdup.h: Likewise.
99618         * lib/unistr/u-strlen.h: Likewise.
99619         * lib/unistr/u-strncat.h: Likewise.
99620         * lib/unistr/u-strncpy.h: Likewise.
99621         * lib/unistr/u-strnlen.h: Likewise.
99622         * lib/unistr/u-strpbrk.h: Likewise.
99623         * lib/unistr/u-strspn.h: Likewise.
99624         * lib/unistr/u-strstr.h: Likewise.
99625         * lib/unistr/u-strtok.h: Likewise.
99626         * lib/unistr/u16-check.c: Likewise.
99627         * lib/unistr/u16-chr.c: Likewise.
99628         * lib/unistr/u16-cmp.c: Likewise.
99629         * lib/unistr/u16-cpy-alloc.c: Likewise.
99630         * lib/unistr/u16-cpy.c: Likewise.
99631         * lib/unistr/u16-endswith.c: Likewise.
99632         * lib/unistr/u16-mblen.c: Likewise.
99633         * lib/unistr/u16-mbsnlen.c: Likewise.
99634         * lib/unistr/u16-mbtouc-aux.c: Likewise.
99635         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
99636         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
99637         * lib/unistr/u16-mbtouc.c: Likewise.
99638         * lib/unistr/u16-mbtoucr.c: Likewise.
99639         * lib/unistr/u16-move.c: Likewise.
99640         * lib/unistr/u16-next.c: Likewise.
99641         * lib/unistr/u16-prev.c: Likewise.
99642         * lib/unistr/u16-set.c: Likewise.
99643         * lib/unistr/u16-startswith.c: Likewise.
99644         * lib/unistr/u16-stpcpy.c: Likewise.
99645         * lib/unistr/u16-stpncpy.c: Likewise.
99646         * lib/unistr/u16-strcat.c: Likewise.
99647         * lib/unistr/u16-strchr.c: Likewise.
99648         * lib/unistr/u16-strcmp.c: Likewise.
99649         * lib/unistr/u16-strcpy.c: Likewise.
99650         * lib/unistr/u16-strcspn.c: Likewise.
99651         * lib/unistr/u16-strdup.c: Likewise.
99652         * lib/unistr/u16-strlen.c: Likewise.
99653         * lib/unistr/u16-strmblen.c: Likewise.
99654         * lib/unistr/u16-strmbtouc.c: Likewise.
99655         * lib/unistr/u16-strncat.c: Likewise.
99656         * lib/unistr/u16-strncmp.c: Likewise.
99657         * lib/unistr/u16-strncpy.c: Likewise.
99658         * lib/unistr/u16-strnlen.c: Likewise.
99659         * lib/unistr/u16-strpbrk.c: Likewise.
99660         * lib/unistr/u16-strrchr.c: Likewise.
99661         * lib/unistr/u16-strspn.c: Likewise.
99662         * lib/unistr/u16-strstr.c: Likewise.
99663         * lib/unistr/u16-strtok.c: Likewise.
99664         * lib/unistr/u16-to-u32.c: Likewise.
99665         * lib/unistr/u16-to-u8.c: Likewise.
99666         * lib/unistr/u16-uctomb-aux.c: Likewise.
99667         * lib/unistr/u16-uctomb.c: Likewise.
99668         * lib/unistr/u32-check.c: Likewise.
99669         * lib/unistr/u32-chr.c: Likewise.
99670         * lib/unistr/u32-cmp.c: Likewise.
99671         * lib/unistr/u32-cpy-alloc.c: Likewise.
99672         * lib/unistr/u32-cpy.c: Likewise.
99673         * lib/unistr/u32-endswith.c: Likewise.
99674         * lib/unistr/u32-mblen.c: Likewise.
99675         * lib/unistr/u32-mbsnlen.c: Likewise.
99676         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
99677         * lib/unistr/u32-mbtouc.c: Likewise.
99678         * lib/unistr/u32-mbtoucr.c: Likewise.
99679         * lib/unistr/u32-move.c: Likewise.
99680         * lib/unistr/u32-next.c: Likewise.
99681         * lib/unistr/u32-prev.c: Likewise.
99682         * lib/unistr/u32-set.c: Likewise.
99683         * lib/unistr/u32-startswith.c: Likewise.
99684         * lib/unistr/u32-stpcpy.c: Likewise.
99685         * lib/unistr/u32-stpncpy.c: Likewise.
99686         * lib/unistr/u32-strcat.c: Likewise.
99687         * lib/unistr/u32-strchr.c: Likewise.
99688         * lib/unistr/u32-strcmp.c: Likewise.
99689         * lib/unistr/u32-strcpy.c: Likewise.
99690         * lib/unistr/u32-strcspn.c: Likewise.
99691         * lib/unistr/u32-strdup.c: Likewise.
99692         * lib/unistr/u32-strlen.c: Likewise.
99693         * lib/unistr/u32-strmblen.c: Likewise.
99694         * lib/unistr/u32-strmbtouc.c: Likewise.
99695         * lib/unistr/u32-strncat.c: Likewise.
99696         * lib/unistr/u32-strncmp.c: Likewise.
99697         * lib/unistr/u32-strncpy.c: Likewise.
99698         * lib/unistr/u32-strnlen.c: Likewise.
99699         * lib/unistr/u32-strpbrk.c: Likewise.
99700         * lib/unistr/u32-strrchr.c: Likewise.
99701         * lib/unistr/u32-strspn.c: Likewise.
99702         * lib/unistr/u32-strstr.c: Likewise.
99703         * lib/unistr/u32-strtok.c: Likewise.
99704         * lib/unistr/u32-to-u16.c: Likewise.
99705         * lib/unistr/u32-to-u8.c: Likewise.
99706         * lib/unistr/u32-uctomb.c: Likewise.
99707         * lib/unistr/u8-check.c: Likewise.
99708         * lib/unistr/u8-chr.c: Likewise.
99709         * lib/unistr/u8-cmp.c: Likewise.
99710         * lib/unistr/u8-cpy-alloc.c: Likewise.
99711         * lib/unistr/u8-cpy.c: Likewise.
99712         * lib/unistr/u8-endswith.c: Likewise.
99713         * lib/unistr/u8-mblen.c: Likewise.
99714         * lib/unistr/u8-mbsnlen.c: Likewise.
99715         * lib/unistr/u8-mbtouc-aux.c: Likewise.
99716         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
99717         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
99718         * lib/unistr/u8-mbtouc.c: Likewise.
99719         * lib/unistr/u8-mbtoucr.c: Likewise.
99720         * lib/unistr/u8-move.c: Likewise.
99721         * lib/unistr/u8-next.c: Likewise.
99722         * lib/unistr/u8-prev.c: Likewise.
99723         * lib/unistr/u8-set.c: Likewise.
99724         * lib/unistr/u8-startswith.c: Likewise.
99725         * lib/unistr/u8-stpcpy.c: Likewise.
99726         * lib/unistr/u8-stpncpy.c: Likewise.
99727         * lib/unistr/u8-strcat.c: Likewise.
99728         * lib/unistr/u8-strchr.c: Likewise.
99729         * lib/unistr/u8-strcmp.c: Likewise.
99730         * lib/unistr/u8-strcpy.c: Likewise.
99731         * lib/unistr/u8-strcspn.c: Likewise.
99732         * lib/unistr/u8-strdup.c: Likewise.
99733         * lib/unistr/u8-strlen.c: Likewise.
99734         * lib/unistr/u8-strmblen.c: Likewise.
99735         * lib/unistr/u8-strmbtouc.c: Likewise.
99736         * lib/unistr/u8-strncat.c: Likewise.
99737         * lib/unistr/u8-strncmp.c: Likewise.
99738         * lib/unistr/u8-strncpy.c: Likewise.
99739         * lib/unistr/u8-strnlen.c: Likewise.
99740         * lib/unistr/u8-strpbrk.c: Likewise.
99741         * lib/unistr/u8-strrchr.c: Likewise.
99742         * lib/unistr/u8-strspn.c: Likewise.
99743         * lib/unistr/u8-strstr.c: Likewise.
99744         * lib/unistr/u8-strtok.c: Likewise.
99745         * lib/unistr/u8-to-u16.c: Likewise.
99746         * lib/unistr/u8-to-u32.c: Likewise.
99747         * lib/unistr/u8-uctomb-aux.c: Likewise.
99748         * lib/unistr/u8-uctomb.c: Likewise.
99749         * lib/unitypes.h: Likewise.
99750         * lib/uniwidth.h: Likewise.
99751         * lib/uniwidth/cjk.h: Likewise.
99752         * lib/uniwidth/u16-strwidth.c: Likewise.
99753         * lib/uniwidth/u16-width.c: Likewise.
99754         * lib/uniwidth/u32-strwidth.c: Likewise.
99755         * lib/uniwidth/u32-width.c: Likewise.
99756         * lib/uniwidth/u8-strwidth.c: Likewise.
99757         * lib/uniwidth/u8-width.c: Likewise.
99758         * lib/uniwidth/width.c: Likewise.
99760 2007-10-07  Bruno Haible  <bruno@clisp.org>
99762         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
99763         The file is still under LGPL (see modules/inttypes).
99765 2007-10-06  Bruno Haible  <bruno@clisp.org>
99767         * modules/trunc (Dependencies): Add 'extensions'.
99768         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
99769         Reported by Ben Pfaff <blp@gnu.org>.
99771 2007-10-06  Bruno Haible  <bruno@clisp.org>
99773         * modules/freopen-tests: New file.
99774         * tests/test-freopen.c: New file.
99776         * modules/fopen-tests: New file.
99777         * tests/test-fopen.c: New file.
99779         * modules/fopen: New file.
99780         * lib/fopen.c: New file.
99781         * m4/fopen.m4: New file.
99782         * modules/freopen: New file.
99783         * lib/freopen.c: New file.
99784         * m4/freopen.m4: New file.
99785         * lib/stdio.in.h (fopen, freopen): New declarations.
99786         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
99787         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
99788         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
99789         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
99790         * doc/functions/fopen.texi: Mention the 'fopen' module.
99791         * doc/functions/freopen.texi: Mention the 'freopen' module.
99793 2007-10-06  Bruno Haible  <bruno@clisp.org>
99795         * modules/open-tests: New file.
99796         * tests/test-open.c: New file.
99798         * modules/open: New file.
99799         * lib/open.c: New file.
99800         * m4/open.m4: New file.
99801         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
99802         lib/open.c does.
99803         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
99804         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
99805         macros.
99806         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
99807         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
99808         REPLACE_OPEN.
99809         * doc/functions/open.texi: Mention the 'open' module.
99811 2007-10-04  Bruno Haible  <bruno@clisp.org>
99813         * modules/ceill-tests: New file.
99814         * tests/test-ceill.c: New file.
99816         * modules/ceill: New file.
99817         * lib/ceill.c: Replace entire file.
99818         * m4/ceill.m4: New file.
99819         * lib/math.in.h (ceill): Replace declaration.
99820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
99821         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
99822         * doc/functions/ceill.texi: Mention the 'ceill' module.
99823         * modules/mathl (Files): Remove lib/ceill.c.
99824         (Depends-on): Add ceill.
99826 2007-10-04  Bruno Haible  <bruno@clisp.org>
99828         * modules/ceilf-tests: New file.
99829         * tests/test-ceilf.c: New file.
99831         * modules/ceilf: New file.
99832         * lib/ceil.c: New file.
99833         * lib/ceilf.c: New file.
99834         * m4/ceilf.m4: New file.
99835         * lib/math.in.h (ceilf): New declaration.
99836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
99837         HAVE_DECL_CEILF.
99838         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
99839         HAVE_DECL_CEILF.
99840         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
99842 2007-10-04  Bruno Haible  <bruno@clisp.org>
99844         * modules/floorl-tests: New file.
99845         * tests/test-floorl.c: New file.
99847         * modules/floorl: New file.
99848         * lib/floorl.c: Replace entire file.
99849         * m4/floorl.m4: New file.
99850         * lib/math.in.h (floorl): Replace declaration.
99851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
99852         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
99853         * doc/functions/floorl.texi: Mention the 'floorl' module.
99854         * modules/mathl (Files): Remove lib/floorl.c.
99855         (Depends-on): Add floorl.
99857 2007-10-04  Bruno Haible  <bruno@clisp.org>
99859         * modules/floorf-tests: New file.
99860         * tests/test-floorf.c: New file.
99862         * modules/floorf: New file.
99863         * lib/floor.c: New file.
99864         * lib/floorf.c: New file.
99865         * m4/floorf.m4: New file.
99866         * lib/math.in.h (floorf): New declaration.
99867         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
99868         HAVE_DECL_FLOORF.
99869         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
99870         HAVE_DECL_FLOORF.
99871         * doc/functions/floorf.texi: Mention the 'floorf' module.
99873 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
99874             Bruno Haible  <bruno@clisp.org>
99876         Advertise for the Git server instead of the CVS server.
99877         * doc/gnulib-intro.texi (Steady Development): Mention the Git
99878         repository instead of the CVS one.
99879         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
99880         about all VCS systems generically.
99881         * doc/gnulib.texi (Introduction): Capitalize `Git'.
99883 2007-10-04  Bruno Haible  <bruno@clisp.org>
99885         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
99886         means.
99887         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
99889 2007-10-04  Bruno Haible  <bruno@clisp.org>
99891         * modules/truncl-tests: New file.
99892         * tests/test-truncl.c: New file.
99894         * modules/truncl: New file.
99895         * lib/truncl.c: New file.
99896         * m4/truncl.m4: New file.
99897         * lib/math.in.h (truncl): New declaration.
99898         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
99899         HAVE_DECL_TRUNCL.
99900         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
99901         HAVE_DECL_TRUNCL.
99902         * doc/functions/truncl.texi: Mention the 'truncl' module.
99904 2007-10-04  Bruno Haible  <bruno@clisp.org>
99906         * modules/truncf-tests: New file.
99907         * tests/test-truncf.c: New file.
99909         * modules/truncf: New file.
99910         * lib/trunc.c: Make paramerizable through USE_* macros.
99911         * lib/truncf.c: New file.
99912         * m4/truncf.m4: New file.
99913         * lib/math.in.h (truncf): New declaration.
99914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
99915         HAVE_DECL_TRUNCF.
99916         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
99917         HAVE_DECL_TRUNCF.
99918         * doc/functions/truncf.texi: Mention the 'truncf' module.
99920 2007-10-03  Bruno Haible  <bruno@clisp.org>
99922         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
99923         augmentation also for tests modules.
99924         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
99925         * modules/atexit-tests (Makefile.am): Likewise.
99926         * modules/binary-io-tests (Makefile.am): Likewise.
99927         * modules/c-strcase-tests (Makefile.am): Likewise.
99928         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
99929         * modules/canonicalize-tests (Makefile.am): Likewise.
99930         * modules/closein-tests (Makefile.am): Likewise.
99931         * modules/fprintf-posix-tests (Makefile.am): Likewise.
99932         * modules/freadahead-tests (Makefile.am): Likewise.
99933         * modules/fseek-tests (Makefile.am): Likewise.
99934         * modules/fseeko-tests (Makefile.am): Likewise.
99935         * modules/ftell-tests (Makefile.am): Likewise.
99936         * modules/ftello-tests (Makefile.am): Likewise.
99937         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
99938         * modules/isnanl-tests (Makefile.am): Likewise.
99939         * modules/lseek-tests (Makefile.am): Likewise.
99940         * modules/mbscasecmp-tests (Makefile.am): Likewise.
99941         * modules/mbscasestr-tests (Makefile.am): Likewise.
99942         * modules/mbschr-tests (Makefile.am): Likewise.
99943         * modules/mbscspn-tests (Makefile.am): Likewise.
99944         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
99945         * modules/mbspbrk-tests (Makefile.am): Likewise.
99946         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
99947         * modules/mbsrchr-tests (Makefile.am): Likewise.
99948         * modules/mbsspn-tests (Makefile.am): Likewise.
99949         * modules/mbsstr-tests (Makefile.am): Likewise.
99950         * modules/printf-posix-tests (Makefile.am): Likewise.
99951         * modules/snprintf-posix-tests (Makefile.am): Likewise.
99952         * modules/sprintf-posix-tests (Makefile.am): Likewise.
99953         * modules/tsearch-tests (Makefile.am): Likewise.
99954         * modules/uniname/uniname-tests (Makefile.am): Likewise.
99955         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
99956         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
99957         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
99958         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
99959         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
99960         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
99961         * modules/vprintf-posix-tests (Makefile.am): Likewise.
99962         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
99963         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
99964         * modules/xstrtoimax-tests (Makefile.am): Likewise.
99965         * modules/xstrtol-tests (Makefile.am): Likewise.
99966         * modules/xstrtoumax-tests (Makefile.am): Likewise.
99967         * modules/yesno-tests (Makefile.am): Likewise.
99969 2007-10-03  Bruno Haible  <bruno@clisp.org>
99971         * modules/trunc-tests: New file.
99972         * tests/test-trunc.c: New file.
99974         * modules/trunc: New file.
99975         * lib/trunc.c: New file.
99976         * m4/trunc.m4: New file.
99977         * lib/math.in.h (trunc): New declaration.
99978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
99979         HAVE_DECL_TRUNC.
99980         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
99981         HAVE_DECL_TRUNC.
99982         * doc/functions/trunc.texi: Mention the 'trunc' module.
99984 2007-10-03  Bruno Haible  <bruno@clisp.org>
99986         * tests/test-fpending.c: New file, mostly copied
99987         from coreutils/lib/t-fpending.c.
99988         * modules/fpending-tests: New file.
99990 2007-10-03  Bruno Haible  <bruno@clisp.org>
99992         Port the stdio extensions to QNX (untested).
99993         * lib/fseterr.c (fseterr): Add support for QNX.
99994         * lib/fbufmode.c (fbufmode): Likewise.
99995         * lib/freadable.c (freadable): Likewise.
99996         * lib/fwritable.c (fwritable): Likewise.
99997         * lib/freading.c (freading): Likewise.
99998         * lib/fwriting.c (fwriting): Likewise.
99999         * lib/freadahead.c (freadahed): Likewise.
100000         * lib/fpurge.c (fpurge): Likewise.
100001         * lib/fseeko.c (rpl_fseeko): Likewise.
100003 2007-10-03  Bruno Haible  <bruno@clisp.org>
100004             Jim Meyering  <jim@meyering.net>
100005             Eric Blake  <ebb9@byu.net>
100007         * doc/relocatable.texi: Use @command instead of @program.
100009 2007-10-02  Jim Meyering  <jim@meyering.net>
100011         Perform one more "_.h" -> ".in.h" substitution.
100012         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
100013         instead of unistd_.h here, too.
100015 2007-10-01  Bruno Haible  <bruno@clisp.org>
100017         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
100018         Needed for the alloca-opt module.
100020 2007-09-30  Bruno Haible  <bruno@clisp.org>
100022         * lib/alloca.in.h: Renamed from lib/alloca_.h.
100023         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
100024         alloca_.h.
100025         * lib/argz.in.h: Renamed from lib/argz_.h.
100026         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
100027         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
100028         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
100029         byteswap_.h.
100030         * lib/dirent.in.h: Renamed from lib/dirent_.h.
100031         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
100032         dirent_.h.
100033         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
100034         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
100035         fcntl_.h.
100036         * lib/float.in.h: Renamed from lib/float_.h.
100037         * modules/float (Files, Makefile.am): Use float.in.h instead of
100038         float_.h.
100039         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
100040         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
100041         fnmatch_.h.
100042         * lib/getopt.in.h: Renamed from lib/getopt_.h.
100043         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
100044         getopt_.h.
100045         * lib/glob.in.h: Renamed from lib/glob_.h.
100046         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
100047         * lib/iconv.in.h: Renamed from lib/iconv_.h.
100048         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
100049         iconv_.h.
100050         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
100051         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
100052         inttypes_.h.
100053         * lib/locale.in.h: Renamed from lib/locale_.h.
100054         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
100055         locale_.h.
100056         * lib/math.in.h: Renamed from lib/math_.h.
100057         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
100058         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
100059         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
100060         of netinet_in_.h. Add dependency.
100061         * lib/poll.in.h: Renamed from lib/poll_.h.
100062         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
100063         * lib/search.in.h: Renamed from lib/search_.h.
100064         * modules/search (Files, Makefile.am): Use search.in.h instead of
100065         search_.h.
100066         * lib/signal.in.h: Renamed from lib/signal_.h.
100067         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
100068         _signal.h.
100069         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
100070         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
100071         stdbool_.h.
100072         * lib/stdint.in.h: Renamed from lib/stdint_.h.
100073         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
100074         stdint_.h.
100075         * lib/stdio.in.h: Renamed from lib/stdio_.h.
100076         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
100077         stdio_.h.
100078         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
100079         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
100080         stdlib_.h.
100081         * lib/string.in.h: Renamed from lib/string_.h.
100082         * modules/string (Files, Makefile.am): Use string.in.h instead of
100083         string_.h.
100084         * doc/gnulib-tool.texi (Initial import): Update.
100085         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
100086         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
100087         of sys_select_.h. Add dependency.
100088         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
100089         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
100090         of sys_socket_.h.
100091         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
100092         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
100093         sys_stat_.h.
100094         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
100095         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
100096         sys_time_.h.
100097         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
100098         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
100099         sysexits_.h.
100100         * lib/time.in.h: Renamed from lib/time_.h.
100101         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
100102         * lib/unistd.in.h: Renamed from lib/unistd_.h.
100103         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
100104         unistd_.h.
100105         * lib/wchar.in.h: Renamed from lib/wchar_.h.
100106         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
100107         wchar_.h.
100108         * lib/wctype.in.h: Renamed from lib/wctype_.h.
100109         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
100110         wctype_.h.
100111         * build-aux/bootstrap (slurp): Update.
100112         * lib/.cppi-disable: Update.
100114 2007-09-30  Bruno Haible  <bruno@clisp.org>
100116         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
100117         Needed on BeOS.
100119 2007-09-30  Bruno Haible  <bruno@clisp.org>
100121         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
100123 2007-09-29  Bruno Haible  <bruno@clisp.org>
100125         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
100127 2007-09-29  Bruno Haible  <bruno@clisp.org>
100129         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
100130         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
100131         * build-aux/install-reloc: Compile also areadlink.c.
100132         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
100134 2007-09-29  Bruno Haible  <bruno@clisp.org>
100136         * gnulib-tool (func_emit_initmacro_done): Indentation.
100138 2007-09-29  Bruno Haible  <bruno@clisp.org>
100140         * README: Add CVS checkout update instructions.
100141         Info from Bob Proulx <bob@proulx.com>.
100143 2007-09-28  Eric Blake  <ebb9@byu.net>
100145         Provide move-if-change.
100146         * build-aux/move-if-change: New file, based on best practice
100147         rather than any canonical upstream location.
100149 2007-09-28  Jim Meyering  <jim@meyering.net>
100151         Fix canonicalize loop-detection corner case.
100152         Do not attempt to stat the symlink values stored via seen_triple.
100153         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
100154         on linux-2.6.18, (but not 2.6.22).
100155         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
100156         triple_compare.  The former compares dev,ino,filename, while the latter
100157         would actually stat dirname(filename) when dev and ino were equal.
100158         * lib/hash-triple.c: Install <string.h>.
100159         (STREQ): Define.
100160         (triple_compare_ino_str): New function.
100161         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
100163 2007-09-28  Eric Blake  <ebb9@byu.net>
100165         Enforce that AC_REPLACE_FUNCS files exist.
100166         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
100167         override check for typos.
100169         Fix test-closein on Solaris 10.
100170         * tests/test-closein.c (main): Don't assume stdin can be inherited
100171         closed on all systems.
100172         * tests/test-closein.sh: Likewise.
100173         Reported by Piotr Tarnowski.
100175 2007-09-28  Jim Meyering  <jim@meyering.net>
100177         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
100179 2007-09-27  Jim Meyering  <jim@meyering.net>
100181         canonicalize: Avoid a false-positive cycle failure.
100182         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
100183         Sort.  Remove cycle-check.
100184         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
100185         not cycle-check.h.
100186         (seen_triple): New function.
100187         (canonicalize_filename_mode): Use it instead of cycle-check.
100188         * tests/test-canonicalize.c: Add a test for this bug.
100189         * tests/test-canonicalize.sh: Set up and run the test.
100191         New module, file-set, from coreutils.
100192         * modules/file-set: Define it.
100193         * lib/file-set.c, lib/file-set.h: Implement.
100195         New module, hash-triple, from coreutils.
100196         * modules/hash-triple: Define it.
100197         * lib/hash-triple.c, lib/hash-triple.h: Implement.
100199 2007-09-25  Eric Blake  <ebb9@byu.net>
100201         Fix strerror on Interix.
100202         * lib/string_.h (strerror): Declare replacement.
100203         * doc/functions/strerror.texi (strerror): Document the Interix
100204         shortcoming.
100205         * modules/string (Makefile.am): Support new hooks.
100206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
100207         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
100208         gl_FUNC_STRERROR_SEPARATE.
100209         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
100210         * lib/strerror.c (rpl_strerror): Provide replacement.
100211         * modules/strerror (Depends-on): Add string.
100212         (configure.ac): Detect use of module.
100213         * tests/test-strerror.c: New file.
100214         * modules/strerror-tests: New test module.
100215         * modules/argp (Depends-on): Add strerror.
100216         * modules/error (Depends-on): Likewise.
100217         Reported by Martin Koeppe.
100219 2007-09-24  Bruno Haible  <bruno@clisp.org>
100221         * README: Update git instructions.
100223 2007-09-24  Eric Blake  <ebb9@byu.net>
100225         Revert fpending breakage from 2007-09-08.
100226         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
100227         __fpending.c.
100229 2007-09-24  Jim Meyering  <jim@meyering.net>
100231         filenamecat.c: Add a test.
100232         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
100233         showing how the function works when DIR is the empty string.
100235 2007-09-21  Simon Josefsson  <simon@josefsson.org>
100237         * tests/test-canonicalize.sh: Turn on executable bit.
100239 2007-09-19  Eric Blake  <ebb9@byu.net>
100241         * README: Update CVS instructions.
100243 2007-09-18  Bruno Haible  <bruno@clisp.org>
100245         * modules/areadlink: New file.
100246         * lib/areadlink.h (areadlink): New declaration.
100247         * lib/areadlink.c: New file, based on lib/xreadlink.c.
100249 2007-09-17  Jim Meyering  <jim@meyering.net>
100251         * lib/savewd.c (ESTALE) [!defined]: Define.
100252         Reported to be required on Interix by Martin Koeppe.
100254 2007-09-17  Bruno Haible  <bruno@clisp.org>
100256         * gnulib-tool (func_version): Use $version.
100258 2007-09-16  Bruno Haible  <bruno@clisp.org>
100260         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
100261         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
100262         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
100263         Reported by Greg Schafer <gschafer@zip.com.au>.
100265 2007-09-15  Bruno Haible  <bruno@clisp.org>
100267         * gnulib-tool (sed): Try a little harder to make bash understand the
100268         alias.
100269         Reported by Bruce Korb <bruce.korb@gmail.com>.
100271 2007-09-13  Eric Blake  <ebb9@byu.net>
100273         * ChangeLog: Remove conflict markers.
100275 2007-09-13  Simon Josefsson  <simon@josefsson.org>
100277         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
100278         Reported by Bruno Haible <bruno@clisp.org>.
100280 2007-09-12  Bruno Haible  <bruno@clisp.org>
100282         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
100283         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
100284         is not defined.
100286 2007-09-12  Eric Blake  <ebb9@byu.net>
100288         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
100289         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
100290         Autoconf definition.
100291         * modules/euidaccess (Depends-on): Add extensions, for
100292         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
100293         * modules/fnmatch (Depends-on): Likewise.
100294         * modules/getaddrinfo (Depends-on): Likewise.
100295         * modules/getdelim (Depends-on): Likewise.
100296         * modules/getline (Depends-on): Likewise.
100297         * modules/getsubopt (Depends-on): Likewise.
100298         * modules/gettext (Depends-on): Likewise.
100299         * modules/group-member (Depends-on): Likewise.
100300         * modules/mbchar (Depends-on): Likewise.
100301         * modules/memmem (Depends-on): Likewise.
100302         * modules/mempcpy (Depends-on): Likewise.
100303         * modules/memrchr (Depends-on): Likewise.
100304         * modules/pagealign_alloc (Depends-on): Likewise.
100305         * modules/readutmp (Depends-on): Likewise.
100306         * modules/stpcpy (Depends-on): Likewise.
100307         * modules/stpncpy (Depends-on): Likewise.
100308         * modules/strchrnul (Depends-on): Likewise.
100309         * modules/strndup (Depends-on): Likewise.
100310         * modules/strsep (Depends-on): Likewise.
100311         * modules/strverscmp (Depends-on): Likewise.
100312         * modules/vasprintf (Depends-on): Likewise.
100313         * modules/wcwidth (Depends-on): Likewise.
100314         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
100315         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
100316         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
100317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
100318         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
100319         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
100320         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
100321         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
100322         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
100323         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
100324         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
100325         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
100326         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
100327         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
100328         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
100329         * m4/readutmp.m4 (gl_READUTMP): Likewise.
100330         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
100331         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
100332         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
100333         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
100334         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
100335         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
100336         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
100337         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
100338         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
100339         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
100340         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
100341         so that lock.m4 can be used in gettext without extensions module.
100343 2007-09-11  Bruno Haible  <bruno@clisp.org>
100345         * m4/isc-posix.m4: Remove file.
100346         Suggested by Eric Blake.
100348 2007-09-11  Eric Blake  <ebb9@byu.net>
100350         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
100352 2007-09-10  Bruno Haible  <bruno@clisp.org>
100354         * posix-modules: Fix typo in error message.
100355         Reported by Matt <mkraai@beckman.com>.
100357 2007-09-09  Bruno Haible  <bruno@clisp.org>
100359         * doc/functions/getdelim.texi: Update list of platforms lacking the
100360         function.
100361         * doc/functions/getline.texi: Likewise.
100363 2007-09-09  Jim Meyering  <jim@meyering.net>
100365         * lib/hash.c (hash_initialize): Detect calloc failure.
100366         Reported by Bruno Haible.
100368 2007-09-09  Bruno Haible  <bruno@clisp.org>
100370         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
100371         malloc or realloc fails.
100373 2007-09-09  Bruno Haible  <bruno@clisp.org>
100375         * modules/getcwd (Depends-on): Add malloc-posix.
100376         * modules/glob (Depends-on): Likewise.
100377         * modules/putenv (Depends-on): Likewise.
100378         * modules/strdup (Depends-on): Likewise.
100379         * modules/getdelim (Depends-on): Add realloc-posix.
100380         * modules/read-file (Depends-on): Likewise.
100382 2007-09-09  Bruno Haible  <bruno@clisp.org>
100384         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
100385         (gl_FUNC_MALLOC_POSIX): Require it.
100386         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
100387         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
100388         * modules/realloc (Files): Add m4/malloc.m4.
100389         * modules/calloc (Files): Likewise.
100391 2007-09-09  Bruno Haible  <bruno@clisp.org>
100393         * modules/malloc-posix: New file.
100394         * modules/malloc (Depends-on): Add malloc-posix.
100395         * lib/malloc.c: Include errno.h.
100396         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
100397         and a POSIX-compatible malloc into a single function. Set ENOMEM
100398         when returning NULL.
100399         * m4/malloc.m4: New file.
100400         * doc/functions/malloc.texi: Mention the malloc-posix module.
100401         * lib/stdlib_.h (malloc): New declaration.
100402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
100403         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
100404         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
100405         and HAVE_MALLOC_POSIX.
100407 2007-09-09  Bruno Haible  <bruno@clisp.org>
100409         * modules/realloc-posix: New file.
100410         * modules/realloc (Depends-on): Add realloc-posix.
100411         * lib/realloc.c: Include errno.h.
100412         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
100413         and a POSIX-compatible realloc into a single function. Set ENOMEM
100414         when returning NULL.
100415         * m4/realloc.m4: New file.
100416         * doc/functions/realloc.texi: Mention the realloc-posix module.
100417         * lib/stdlib_.h (realloc): New declaration.
100418         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
100419         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
100420         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
100421         and HAVE_REALLOC_POSIX.
100423 2007-09-09  Bruno Haible  <bruno@clisp.org>
100425         * modules/calloc-posix: New file.
100426         * modules/calloc (Depends-on): Add calloc-posix.
100427         * lib/calloc.c: Include errno.h.
100428         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
100429         and a POSIX-compatible calloc into a single function. Set ENOMEM
100430         when returning NULL.
100431         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
100432         * doc/functions/calloc.texi: Mention the calloc-posix module.
100433         * lib/stdlib_.h (calloc): New declaration.
100434         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
100435         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
100436         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
100437         and HAVE_CALLOC_POSIX.
100439 2007-09-09  Bruno Haible  <bruno@clisp.org>
100441         Allow for modules to show an arbitrary notice.
100442         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
100443         * gnulib-tool: New option --extract-notice.
100444         (func_usage): Document it.
100445         (sed_extract_prog): Update.
100446         (func_get_notice): New function.
100447         (func_modules_notice): New function.
100448         (func_import, func_create_testdir): Invoke it.
100449         Suggested by Jim Meyering.
100451 2007-09-09  Bruno Haible  <bruno@clisp.org>
100453         * gnulib-tool: New options --verbose, --quiet.
100454         (func_usage): Document them.
100455         (verbose): New variable.
100456         (func_execute_command): New function.
100457         (func_import): Don't show the module list and the file list if
100458         $verbose < 0.
100459         (func_create_testdir): Likewise. Use func_execute_command.
100460         (func_create_megatestdir): Use func_execute_command.
100462 2007-09-08  Bruno Haible  <bruno@clisp.org>
100464         * gnulib-tool (func_import): Prefer rsync over wget when available,
100465         for fetching the PO files.
100467 2007-09-08  Bruno Haible  <bruno@clisp.org>
100469         * posix-modules: New file. Portions copied from gnulib-tool.
100470         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
100472 2007-09-08  Jim Meyering  <jim@meyering.net>
100474         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
100475         * lib/fpending.h: Rename from __fpending.h.
100476         * lib/fpending.c: Rename from __fpending.c.
100477         Include "fpending.h", not "__fpending.h".
100478         * lib/__fpending.h, lib/__fpending.c: Remove files.
100479         * modules/fpending (Files): Reflect new file names.
100480         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
100482 2007-09-08  Bruno Haible  <bruno@clisp.org>
100484         * m4/inttypes-h.m4: Remove stub file.
100486 2007-09-07  Simon Josefsson  <simon@josefsson.org>
100488         * doc/headers/stdint.texi: Discuss #include_next issue.
100490 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
100492         * build-aux/bootstrap: Remove obsolete comment about wget --help.
100494 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100496         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
100497         in variable name.
100499 2007-09-03  Jim Meyering  <jim@meyering.net>
100501         New module: git-version-gen.
100502         * modules/git-version-gen: New file.
100504         Import changes from coreutils for bootstrap script.
100506         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
100508         bootstrap: uses rsync to download the .po files
100509         * build-aux/bootstrap (po_download_command_format): New global.
100510         (download_po_files): Use rsync.
100511         (update_po_files): Don't remove .po files after download,
100512         so future rsync runs can take advantage of the copies.
100514         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
100516         Solve the unnecessary-.po-file-regeneration problem once and for all.
100517         * build-aux/bootstrap (download_po_files): New function, renamed from
100518         get_translations.  Now, downloads, but doesn't update LINGUAS.
100519         (update_po_files): New function.
100521         bootstrap: Ignore more.
100522         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
100523         uniwidth to e.g., lib/.gitignore.
100524         (slurp): Handle the sys_stat_.h -> sys mapping, too.
100526         * build-aux/bootstrap: New setting: vc_ignore.
100527         (insert_sorted_if_absent): Create $file if absent.
100528         Adapt to new, possibly empty, list: $vc_ignore.
100530         bootstrap: generate more ignorable names
100531         * build-aux/bootstrap (slurp): When generating ignorable names,
100532         also map .sin to .sed, .gperf to .c, and .y to .c.
100534 2007-09-03  Jim Meyering  <jim@meyering.net>
100536         * build-aux/git-version-gen: New file, from coreutils.  For details, see
100537         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
100539 2007-09-02  Bruno Haible  <bruno@clisp.org>
100541         Fix mis-recognition of 'mcs' on QNX 6.
100542         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
100543         output contains the string "Mono".
100544         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
100545         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
100547 2007-09-01  Bruno Haible  <bruno@clisp.org>
100549         Fix collision between uniwidth/* and linebreak modules.
100550         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
100551         u32_width): Remove declarations.
100552         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
100553         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
100554         streq3, streq2, streq1, streq0): Remove functions.
100555         (STREQ): Remove macro.
100556         (is_cjk_encoding): Remove function.
100557         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
100558         (uc_width, u8_width, u16_width, u32_width): Remove functions.
100559         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
100560         * NEWS: Document the change.
100562 2007-09-01  Bruno Haible  <bruno@clisp.org>
100564         * lib/streq.h: Add double-inclusion guard.
100566 2007-09-01  Karl Berry  <karl@gnu.org>
100568         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
100570 2007-08-28  Jim Meyering  <jim@meyering.net>
100572         Rename mreadlink_with_size to areadlink_with_size.
100573         * NEWS: Document the change.
100574         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
100575         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
100576         * lib/mreadlink.h: Rename this to...
100577         * lib/areadlink.h: ...this.
100578         * modules/mreadlink-with-size: Rename this to...
100579         * modules/areadlink-with-size: ...this.
100580         * lib/canonicalize.c: Reflect the renaming.
100581         * modules/canonicalize: Likewise.
100583 2007-08-26  Bruno Haible  <bruno@clisp.org>
100585         * gnulib-tool (func_import): When deciding which files to remove,
100586         consider also dangling symbolic links.
100587         Reported by Eric Blake.
100589 2007-08-26  Bruno Haible  <bruno@clisp.org>
100591         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
100593 2007-08-23  Simon Josefsson  <simon@josefsson.org>
100595         * lib/readline.c: Don't include getline.h, the prototype is now
100596         found in stdio.h.
100598 2007-08-23  Jim Meyering  <jim@meyering.net>
100600         Getdelim touchup.
100601         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
100602         around the funlockfile call, since funlockfile never sets errno.
100603         Don't set errno upon failed realloc.
100605 2007-08-22  Eric Blake  <ebb9@byu.net>
100607         Getline touchups.
100608         * lib/getdelim.c (getdelim): Revert regression that required *n to
100609         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
100610         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
100611         getdelim, rather than whether implementation is missing.
100612         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
100613         * lib/stdio_.h (getline): Also declare if replacement is
100614         required.
100615         * doc/functions/getdelim.texi: New file.
100616         * doc/functions/getline.texi: Likewise.
100617         * doc/gnulib.texi (Function Substitutes): Add new files.
100618         Reported by Bruno Haible.
100620 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
100622         * users.txt: Add Guile.
100624 2007-08-22  Eric Blake  <ebb9@byu.net>
100626         * tests/test-getdelim.c (main): Use remove, not unlink.
100627         * tests/test-getline.c (main): Likewise.
100629         Move getline and getdelim into stdio.h, per POSIX 200x.
100630         * modules/getline (Files): Remove getline.h.
100631         (Depends-on): Add stdio.
100632         (configure.ac): Add module indicator.
100633         * modules/getdelim (Files): Remove getdelim.h.
100634         (Depends-on): Add stdio.
100635         (configure.ac): Add module indicator.
100636         * modules/stdio (Makefile.am): Work with new indicators.
100637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
100638         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
100639         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
100640         * lib/getdelim.h: Delete.
100641         * lib/getline.h: Delete.
100642         * lib/stdio_.h (getdelim, getline): Declare.
100643         * modules/getdelim-tests: New module.
100644         * modules/getline-tests: Likewise.
100645         * tests/test-getdelim.c: New file.
100646         * tests/test-getline.c: Likewise.
100647         * NEWS: Document the change.
100648         * lib/getline.c: Update choice of header.
100649         * lib/csharpcomp.c: Likewise.
100650         * lib/getpass.c: Likewise.
100651         * lib/javacomp.c: Likewise.
100652         * lib/javaversion.c: Likewise.
100653         * lib/yesno.c: Likewise.
100654         * lib/getdelim.c: Likewise.
100655         (getdelim): Set errno on failure, and avoid memory leak.
100657 2007-08-19  Bruno Haible  <bruno@clisp.org>
100659         * modules/closein (Depends-on): Add freadahead.
100660         * lib/closein.c: Include freadahead.h.
100661         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
100662         is zero.
100664 2007-08-19  Bruno Haible  <bruno@clisp.org>
100666         * modules/freadahead-tests: New file.
100667         * tests/test-freadahead.sh: New file.
100668         * tests/test-freadahead.c: New file.
100670         * modules/freadahead: New file.
100671         * lib/freadahead.h: New file.
100672         * lib/freadahead.c: New file.
100673         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
100674         fbufmode, fpurge, freadable, fwritable.
100676 2007-08-19  Eric Blake  <ebb9@byu.net>
100678         Test yesno in combination with closein.
100679         * lib/yesno.c (yesno): Document use of stdin.
100680         * modules/yesno-tests (Files): New module.
100681         * tests/test-yesno.c (main): New file.
100682         * tests/test-yesno.sh: Likewise.
100684 2007-08-19  Bruno Haible  <bruno@clisp.org>
100686         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
100687         * lib/fseeko.c (rpl_fseeko): Likewise.
100688         * lib/fseterr.c (fseterr): Likewise.
100690 2007-08-19  Bruno Haible  <bruno@clisp.org>
100692         * tests/test-lseek.c (main): Disable a test for BeOS.
100693         * doc/functions/lseek.texi: Document the BeOS bug.
100695 2007-08-19  Bruno Haible  <bruno@clisp.org>
100696             Eric Blake  <ebb9@byu.net>
100698         * lib/lseek.c: Include <sys/stat.h>.
100699         (rpl_lseek): Add workaround code also for Unix platforms.
100700         Needed for BeOS.
100701         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
100702         * doc/functions/lseek.texi: Document BeOS definiency.
100704 2007-08-18  Bruno Haible  <bruno@clisp.org>
100706         * modules/fstrcmp-tests: New file.
100707         * tests/test-fstrcmp.c: New file.
100709 2007-08-18  Bruno Haible  <bruno@clisp.org>
100711         * modules/fstrcmp: New file, from GNU gettext with modifications.
100712         * lib/fstrcmp.h: New file, from GNU gettext.
100713         * lib/fstrcmp.c: New file, from GNU gettext.
100714         * MODULES.html.sh (String handling): Add fstrcmp.
100716 2007-08-18  Bruno Haible  <bruno@clisp.org>
100718         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
100719         'bool'.
100720         (diag, compareseq): Remove const from the ctxt argument.
100721         (USE_HEURISTIC): Undefine at the end.
100723 2007-08-18  Jim Meyering  <jim@meyering.net>
100725         New file: lib/idcache.h
100726         * NEWS: Mention the addition.
100727         * modules/idcache (Files): Add lib/idcache.h
100728         * lib/idcache.c: Include "idcache.h".
100729         Don't include <sys/types.h>.
100730         Add a FIXME comment.
100731         Move file-scoped "static" declarations to the top.
100732         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
100734 2007-08-17  Bruno Haible  <bruno@clisp.org>
100735         and Paul Eggert  <eggert@cs.ucla.edu>
100737         * MODULES.html.sh: Add diffseq.
100738         * modules/diffseq: New file.
100739         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
100740         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
100742 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
100744         Import changes from coreutils for bootstrap script.
100746         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
100748         * build-aux/bootstrap (slurp): Work even in environments where
100749         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
100750         current code does not slurp files whose names start with ".", and
100751         this looks like it might be a troublesome area.
100753         2007-07-11  Jim Meyering  <jim@meyering.net>
100755         If there's a GPL vN copyright comment, require that N == 3.
100757         2007-07-08  Jim Meyering  <jim@meyering.net>
100759         Run the coreutils-specific code only if tests/Makefile.am.in exists.
100760         * build-aux/bootstrap (mam_template): Move definition out of loop.
100762         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
100764         * build-aux/bootstrap (symlink_to_dir): Rename function from
100765         symlink_to_gnulib.  Add a directory parameter.  Update all
100766         callers.
100767         (cp_mark_as_generated): Also check for -- and link to -- files in
100768         gl/.
100770         2007-07-08  Jim Meyering  <jim@meyering.net>
100772         Adapt to deeper hierarchy in gnulib.
100773         * build-aux/bootstrap (symlink_to_dir): If the destination
100774         directory doesn't exist, create it. This is required at least for
100775         "lib/uniwidth/cjk.h".
100777         2007-05-15  Jim Meyering  <jim@meyering.net>
100779         * build-aux/bootstrap: Now that generated Makefile.am files
100780         are no longer under version control, they must be created at
100781         bootstrap time.
100783 2007-08-14  Ben Pfaff  <blp@gnu.org>
100785         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
100787 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
100789         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
100790         given the changes below.
100791         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
100792         even on hosts that have padding bits beyond the supported 64.
100794 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
100796         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
100797         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
100798         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
100799         depends on it.
100800         (xstrtol_error): Remove.
100801         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
100802         but with a different signature.
100803         (ATTRIBUTE_NORETURN, __attribute__): New macros.
100804         * lib/xstrtol-error.c: Include exitfail.h.
100805         (xstrtol_fatal): New function, with a different signature from the
100806         old xstrtol_error, so that the caller need not worry about passing
100807         in an exit status, or about storage management of the option argument.
100808         (xstrtol_error): Now a static function.  Redo signature to
100809         implement xstrtol_fatal.  Output the correct number of hyphens in
100810         front of the option so that the caller need not worry about
100811         storage management.
100812         (N_): New macro.
100813         (_): Remove; not used now.
100814         * modules/xstrtol: Depend on getopt.
100815         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
100816         of old STRTOL_FATAL_ERROR macro.
100817         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
100818         of test program.
100819         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
100820         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
100822 2007-08-08  Eric Blake  <ebb9@byu.net>
100824         * lib/xstrtol-error.c: Add missing include.
100826         Move xstrtol messages into gnulib domain, when --pobase is used.
100827         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
100828         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
100829         * modules/xstrtol (Files): Distribute new file.
100830         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
100831         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
100832         * tests/test-xstrtol.c: ...into new file.
100833         * tests/test-xstrtoul.c: Also test xstrtoul.
100834         * tests/test-xstrtoimax.c: Also test xstrtoimax.
100835         * tests/test-xstrtoumax.c: Also test xstrtoumax.
100836         * tests/test-xstrtol.sh: Drive the tests.
100837         * tests/test-xstrtoimax.sh: Likewise.
100838         * tests/test-xstrtoumax.sh: Likewise.
100839         * modules/xstrtol-tests: New module.
100840         * modules/xstrtoimax-tests: Likewise.
100841         * modules/xstrtoumax-tests: Likewise.
100843 2007-08-08  Jim Meyering  <jim@meyering.net>
100845         New function: mfile_name_concat.
100846         * lib/filenamecat.c (mfile_name_concat): New function, just like
100847         file_name_concat, but return NULL upon failure rather than exiting
100848         with a diagnostic.
100849         * lib/filenamecat.h: Declare it.
100851 2007-08-07  Bruno Haible  <bruno@clisp.org>
100853         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
100854         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
100855         warning from gcc.
100856         Reported by Eric Blake.
100858 2007-08-07  Simon Josefsson  <simon@josefsson.org>
100860         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
100861         * modules/crypto/arcfour (License): Likewise.
100862         * modules/crypto/des-tests (License): Likewise.
100863         * modules/crypto/gc-arctwo-tests (License): Likewise.
100864         * modules/crypto/gc-des-tests (License): Likewise.
100865         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
100866         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
100867         * modules/crypto/gc-md2-tests (License): Likewise.
100868         * modules/crypto/gc-md4-tests (License): Likewise.
100869         * modules/crypto/gc-md5-tests (License): Likewise.
100870         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
100871         * modules/crypto/gc-rijndael-tests (License): Likewise.
100872         * modules/crypto/gc-sha1-tests (License): Likewise.
100873         * modules/crypto/gc-tests (License): Likewise.
100874         * modules/crypto/hmac-md5 (License): Likewise.
100875         * modules/crypto/hmac-sha1 (License): Likewise.
100876         * modules/crypto/md2-tests (License): Likewise.
100877         * modules/crypto/md4-tests (License): Likewise.
100878         * modules/crypto/md5 (License): Likewise.
100879         * modules/crypto/rijndael (License): Likewise.
100880         * modules/crypto/sha1 (License): Likewise.
100881         * modules/memxor (License): Likewise.
100883 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
100884         and Bruno Haible  <bruno@clisp.org>
100886         * NEWS: Describe interface changes to human, xstrtol.
100887         * lib/human.h: Include <xstrtol.h>.
100888         (human_options): Return enum strtol_error, not int.  Remove
100889         bool arg; take int * instead.
100890         * lib/human.c: Don't include "gettext.h".
100891         (_): Remove; no longer used.
100892         Don't include <xstrtol.h>, since human.h does it.
100893         (human_options): Adjust to abovementioned interface changes.
100894         Do not report error to stderr; that's now the caller's
100895         responsibility.
100896         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
100897         interface change.
100898         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
100899         Str, Argument_type_string.  All uses changed.  Put " argument"
100900         in diagnostics to make them clearer.  Change wording of suffix
100901         message for clarity.
100902         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
100903         Argument_type_string.
100904         (STRTOL_FATAL_WARN): Remove; no longer used.
100905         * modules/human (Depends-on): Remove gettext-h.
100907 2007-08-06  Simon Josefsson  <simon@josefsson.org>
100909         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
100911 2007-07-31  Bruno Haible  <bruno@clisp.org>
100913         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
100914         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
100915         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
100917 2007-07-31  Bruno Haible  <bruno@clisp.org>
100919         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
100920         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
100922 2007-07-30  Bruno Haible  <bruno@clisp.org>
100924         * modules/base64 (License): Use the synonymous term "LGPLv2+".
100925         * modules/c-ctype (License): Likewise.
100926         * modules/c-strcase (License): Likewise.
100927         * modules/check-version (License): Likewise.
100928         * modules/iconv (License): Likewise.
100929         * modules/iconv_open (License): Likewise.
100930         * modules/read-file (License): Likewise.
100931         * modules/striconv (License): Likewise.
100932         * modules/strverscmp (License): Likewise.
100933         * modules/vasprintf (License): Likewise.
100934         * modules/crypto/des (License): Likewise.
100935         * modules/crypto/gc (License): Likewise.
100936         * modules/crypto/gc-arcfour (License): Likewise.
100937         * modules/crypto/gc-arctwo (License): Likewise.
100938         * modules/crypto/gc-des (License): Likewise.
100939         * modules/crypto/gc-hmac-md5 (License): Likewise.
100940         * modules/crypto/gc-hmac-sha1 (License): Likewise.
100941         * modules/crypto/gc-md2 (License): Likewise.
100942         * modules/crypto/gc-md4 (License): Likewise.
100943         * modules/crypto/gc-md5 (License): Likewise.
100944         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
100945         * modules/crypto/gc-random (License): Likewise.
100946         * modules/crypto/gc-rijndael (License): Likewise.
100947         * modules/crypto/gc-sha1 (License): Likewise.
100948         * modules/crypto/md2 (License): Likewise.
100949         * modules/crypto/md4 (License): Likewise.
100951 2007-07-30  Jim Meyering  <jim@meyering.net>
100953         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
100954         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
100955         it has valid stat data.  This bug would cause du not to count the
100956         sizes of inaccessible directories.
100957         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
100958         in <http://bugzilla.redhat.com/250077>.
100960 2007-07-25  Peter O'Gorman  <peter@pogma.com>
100961             Bruno Haible  <bruno@clisp.org>
100963         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
100964         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
100965         #include_next, gives a diagnostic about it, but reports no error in
100966         the exit code.
100967         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
100969 2007-07-24  Ben Pfaff  <blp@gnu.org>
100971         Improve name: "count-one-bits" is better than "popcount".
100972         * MODULES.html.sh: Update name.
100973         * lib/popcount.h: Renamed lib/count-one-bits.h.
100974         (popcount): Renamed count_one_bits.
100975         (popcountl): Renamed count_one_bits_l.
100976         (popcountll): Renamed count_one_bits_ll.
100977         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
100978         * modules/popcount: Renamed module/count-one-bits.
100979         * modules/popcount-tests: Renamed module/count-one-bits-tests.
100980         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
100982 2007-07-23  Ben Pfaff  <blp@gnu.org>
100984         * lib/popcount.h (popcount32): Reduce size of constants, to allow
100985         better code generation, and add U to large constants to avoid
100986         warnings, in non-GCC case.
100987         Suggested by Bruno Haible.
100989 2007-07-23  Ben Pfaff  <blp@gnu.org>
100991         * lib/popcount.h: Use verify_true instead of if...abort.
100992         * modules/popcount: Depend on verify module.
100993         Suggested by Jim Meyering.
100995 2007-07-23  Bruno Haible  <bruno@clisp.org>
100997         * gnulib-tool (func_import): Create a .cvsignore file also when the
100998         directory is not yet in CVS but the toplevel directory is. When
100999         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
101000         Reported by Karl Berry.
101002 2007-07-22  Ben Pfaff  <blp@gnu.org>
101004         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
101005         case.
101006         Suggested by Eric Blake.
101008 2007-07-22  Ben Pfaff  <blp@gnu.org>
101010         New module: popcount.
101011         * MODULES.html.sh: Add popcount.
101012         * modules/popcount: New file.
101013         * modules/popcount-tests: New file.
101014         * tests/test-popcount.c: New file.
101015         * lib/popcount.h: New file.
101016         * m4/popcount.m4: New file.
101018 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
101020         * build-aux/announce-gen: Update to GPLv3.
101022         * build-aux/config.guess: Update from config.
101024 2007-07-21  Bruno Haible  <bruno@clisp.org>
101026         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
101027         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
101029 2007-07-20  Jim Meyering  <jim@meyering.net>
101031         * check-module: Diagnose a self-dependency.
101033 2007-07-19  Bruno Haible  <bruno@clisp.org>
101035         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
101036         empty.
101037         Reported by Eric Blake.
101039 2007-07-18  Bruno Haible  <bruno@clisp.org>
101041         * gnulib-tool: New options --po-base, --po-domain.
101042         (func_usage): Document them.
101043         (pobase, po_domain): New variables.
101044         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
101045         DEFAULT_TEXT_DOMAIN.
101046         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
101047         (func_import): Consider pobase and po_domain. Create a po/ directory.
101048         (func_create_testdir): Set pobase and po_domain to empty.
101049         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
101050         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
101052 2007-07-18  Bruno Haible  <bruno@clisp.org>
101054         * gnulib-tool (func_get_automake_snippet): Synthesize also an
101055         EXTRA_DIST augmentation for files in build-aux/.
101057 2007-07-16  Bruno Haible  <bruno@clisp.org>
101059         * modules/lseek (License): Use the synonymous term "LGPLv2+".
101060         * modules/getdelim (License): Likewise.
101062 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101064         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
101065         * modules/d-type (License): Likewise.
101066         * modules/extensions (License): Likewise.
101067         * modules/fnmatch (License): Likewise.
101068         * modules/fseeko (License): Likewise.
101069         * modules/getaddrinfo (License): Likewise.
101070         * modules/getline (License): Likewise.
101071         * modules/getlogin_r (License): Likewise.
101072         * modules/getpass (License): Likewise.
101073         * modules/gettimeofday (License): Likewise.
101074         * modules/glob (License): Likewise.
101075         * modules/inet_ntop (License): Likewise.
101076         * modules/malloc (License): Likewise.
101077         * modules/malloca (License): Likewise.
101078         * modules/memmem (License): Likewise.
101079         * modules/mempcpy (License): Likewise.
101080         * modules/memset (License): Likewise.
101081         * modules/minmax (License): Likewise.
101082         * modules/mktime (License): Likewise.
101083         * modules/netinet_in (License): Likewise.
101084         * modules/pathmax (License): Likewise.
101085         * modules/poll (License): Likewise.
101086         * modules/regex (License): Likewise.
101087         * modules/snprintf (License): Likewise.
101088         * modules/stdbool (License): Likewise.
101089         * modules/stdint (License): Likewise.
101090         * modules/stdio (License): Likewise.
101091         * modules/strcase (License): Likewise.
101092         * modules/strcasestr (License): Likewise.
101093         * modules/strdup (License): Likewise.
101094         * modules/string (License): Likewise.
101095         * modules/strndup (License): Likewise.
101096         * modules/strnlen (License): Likewise.
101097         * modules/strpbrk (License): Likewise.
101098         * modules/strptime (License): Likewise.
101099         * modules/strsep (License): Likewise.
101100         * modules/sys_select (License): Likewise.
101101         * modules/sys_socket (License): Likewise.
101102         * modules/sys_stat (License): Likewise.
101103         * modules/sys_time (License): Likewise.
101104         * modules/time (License): Likewise.
101105         * modules/time_r (License): Likewise.
101106         * modules/timegm (License): Likewise.
101107         * modules/unistd (License): Likewise.
101108         * modules/vsnprintf (License): Likewise.
101109         * modules/wctype (License): Likewise.
101111 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101113         * modules/argz (License): LGPLv2+.
101115 2007-07-15  Karl Berry  <karl@gnu.org>
101117         * doc/gnulib.texi: revise node structure per new fdl.texi.
101119 2007-07-14  Bruno Haible  <bruno@clisp.org>
101121         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
101122         the output file.
101123         * lib/uniname/uninames.h: Regenerated.
101125 2007-07-14  Karl Berry  <karl@gnu.org>
101127         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
101128         omitting sectioning and index commands.
101130 2007-07-13  Bruno Haible  <bruno@clisp.org>
101132         New gnulib-tool option --more-symlinks.
101133         * gnulib-tool (func_usage): Document --more-symlinks.
101134         (do_copyrights): New variable.
101135         Recognize option --more-symlinks.
101136         (func_import): Don't add a copyright notice transform to
101137         sed_transform_lib_file if do_copyrights is empty.
101139 2007-07-13  Bruno Haible  <bruno@clisp.org>
101141         * lib/vasnprintf.c (decimal_point_char): Define also if
101142         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
101143         && !NEED_PRINTF_DIRECTIVE_A.
101144         Reported by Clemens Koller <clemens.koller@anagramm.de> via
101145         Gary V. Vaughan <gary@gnu.org>.
101147 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
101149         * lib/inttypes_.h: Undo previous change, since it was fixed
101150         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
101152 2007-07-13  Bruno Haible  <bruno@clisp.org>
101154         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
101155         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
101157 2007-07-13  Jim Meyering  <jim@meyering.net>
101159         df: Don't fail for Tru64's "file-on-file mount".
101160         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
101161         so we fall through and use statfs instead.  Details here:
101162         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
101163         Reported by Albert Chin.
101165 2007-07-13  Bruno Haible  <bruno@clisp.org>
101167         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
101168         * modules/configmake (License): Likewise.
101169         * modules/gettext (License): Likewise.
101170         * modules/gettext-h (License): Likewise.
101171         * modules/include_next (License): Likewise.
101172         * modules/link-warning (License): Likewise.
101173         * modules/localcharset (License): Likewise.
101174         * modules/localename (License): Likewise.
101175         * modules/lock (License): Likewise.
101176         * modules/relocatable-lib-lgpl (License): Likewise.
101177         * modules/size_max (License): Likewise.
101178         * modules/vasnprintf (License): Likewise.
101179         * modules/wchar (License): Likewise.
101180         * modules/xsize (License): Likewise.
101182 2007-07-13  Bruno Haible  <bruno@clisp.org>
101184         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
101185         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
101187 2007-07-12  Bruno Haible  <bruno@clisp.org>
101189         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
101190         in the modules files.
101192 2007-07-11  Karl Berry  <karl@gnu.org>
101194         * MODULES.html.sh (func_module): use
101195          sed -e '\|^'"${includefile}"'$|d'
101196          instead of /.../d, to avoid errors on $includefile's containing /.
101198 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101200         * gnulib-tool (func_import): Avoid duplication of --avoid
101201         statements
101202         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
101203         names to `_' in variable names.
101205 2007-07-10  Eric Blake  <ebb9@byu.net>
101207         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
101208         * NEWS: Document this change.
101210 2007-07-08  Bruno Haible  <bruno@clisp.org>
101212         Update to Unicode 5.0.
101213         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
101214         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
101215         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
101216         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
101217         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
101218         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
101219         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
101220         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
101221         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
101222         U+10A3F, U+1D242..U+1D244.
101223         (nonspacing_table_ind): Update.
101224         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
101225         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
101227 2007-07-08  Bruno Haible  <bruno@clisp.org>
101229         Update to Unicode 5.0.
101230         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
101231         code transform. Extend the name index field of unicode_name_to_code and
101232         unicode_code_to_name from 16 to 24 bits.
101233         * lib/uniname/uniname.c (unicode_character_name,
101234         unicode_name_character): Add the range 0x12xxx to the code transform.
101235         * lib/uniname/uninames.h: Regenerated.
101236         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
101238 2007-07-07  Bruno Haible  <bruno@clisp.org>
101240         * modules/wcwidth-tests: New file.
101241         * tests/test-wcwidth.c: New file.
101243         Work around MacOS X wcwidth() bug.
101244         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
101245         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
101246         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
101247         original wcwidth in non-UTF-8 locales.
101248         * modules/wcwidth (Depends-on): Add localcharset, streq,
101249         uniwidth/width.
101250         * doc/functions/wcwidth.texi: Update.
101252 2007-07-07  Bruno Haible  <bruno@clisp.org>
101254         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
101255         (wcwidth): New declaration.
101256         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
101257         macros.
101258         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
101259         here. Prepare for creating <wchar.h> unconditionally.
101260         * modules/wchar (Depends-on): Add link-warning.
101261         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
101262         REPLACE_WCWIDTH, and GL_LINK_WARNING.
101263         * lib/wcwidth.h: Remove file.
101264         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
101265         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
101266         * modules/wcwidth (Files): Remove lib/wcwidth.h.
101267         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
101268         (Include): Replace wcwidth.h with <wchar.h>.
101269         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
101270         * lib/mbchar.h: Don't include wcwidth.h.
101271         * lib/mbswidth.c: Likewise.
101272         * NEWS: Mention the change.
101274 2007-07-07  Bruno Haible  <bruno@clisp.org>
101276         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
101277         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
101278         definition with an external declaration.
101279         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
101280         defined as a function. Remove AC_C_INLINE requirement.
101281         * modules/wcwidth (Files): Add lib/wcwidth.c.
101282         (Makefile.am): Remove redundant statement.
101284 2007-07-07  Bruno Haible  <bruno@clisp.org>
101286         * MODULES.html.sh (Unicode string functions): Add the new modules.
101288         * tests/uniwidth/test-u32-strwidth.c: New file.
101289         * modules/uniwidth/u32-strwidth-tests: New file.
101291         * lib/uniwidth/u32-strwidth.c: New file.
101292         * modules/uniwidth/u32-strwidth: New file.
101294         * tests/uniwidth/test-u16-strwidth.c: New file.
101295         * modules/uniwidth/u16-strwidth-tests: New file.
101297         * lib/uniwidth/u16-strwidth.c: New file.
101298         * modules/uniwidth/u16-strwidth: New file.
101300         * tests/uniwidth/test-u8-strwidth.c: New file.
101301         * modules/uniwidth/u8-strwidth-tests: New file.
101303         * lib/uniwidth/u8-strwidth.c: New file.
101304         * modules/uniwidth/u8-strwidth: New file.
101306         * tests/uniwidth/test-u32-width.c: New file.
101307         * modules/uniwidth/u32-width-tests: New file.
101309         * lib/uniwidth/u32-width.c: New file.
101310         * modules/uniwidth/u32-width: New file.
101312         * tests/uniwidth/test-u16-width.c: New file.
101313         * modules/uniwidth/u16-width-tests: New file.
101315         * lib/uniwidth/u16-width.c: New file.
101316         * modules/uniwidth/u16-width: New file.
101318         * tests/uniwidth/test-u8-width.c: New file.
101319         * modules/uniwidth/u8-width-tests: New file.
101321         * lib/uniwidth/u8-width.c: New file.
101322         * modules/uniwidth/u8-width: New file.
101324         * tests/uniwidth/test-uc_width.c: New file.
101325         * modules/uniwidth/width-tests: New file.
101327         * lib/uniwidth/width.c: New file, from GNU libiconv.
101328         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
101329         * modules/uniwidth/width: New file.
101331         * lib/uniwidth.h: New file, from GNU libiconv.
101332         * modules/uniwidth/base: New file.
101334 2007-07-07  Bruno Haible  <bruno@clisp.org>
101336         * lib/uniname.h: New file, from GNU gettext.
101337         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
101338         * lib/uniname/uninames.h: New file, from GNU gettext.
101339         * lib/uniname/uniname.c: New file, from GNU gettext.
101340         * tests/uniname/test-uninames.sh: New file.
101341         * tests/uniname/test-uninames.c: New file, from GNU gettext.
101342         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
101343         * modules/uniname/base: New file.
101344         * modules/uniname/uniname: New file.
101345         * modules/uniname/uniname-tests: New file.
101346         * MODULES.html.sh (Unicode string functions): Add the new modules.
101348 2007-07-06  Bruno Haible  <bruno@clisp.org>
101350         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
101352 2007-07-06  Bruno Haible  <bruno@clisp.org>
101354         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
101355         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
101356         includes <cygwin/sys_time.h> which includes <sys/select.h> which
101357         include <sys/time.h>.
101358         Reported by Eric Blake.
101360 2007-07-06  Eric Blake  <ebb9@byu.net>
101362         Fix testing canonicalize on cygwin.
101363         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
101364         Revert patch from 2007-06-19.
101365         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
101366         canonicalize module is also in use.
101367         * tests/test-canonicalize.c: New file.
101368         * tests/test-canonicalize.sh: Likewise.
101369         * modules/canonicalize-tests: Likewise.
101371 2007-07-06  Jim Meyering  <jim@meyering.net>
101373         * lib/getugroups.c (getugroups): Detect getgrent failure.
101374         Adjust comment to reflect reality: this function may return -1.
101376 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
101378         * build-aux/bootstrap (TP_URL,get_translations): Update to use
101379         the new TP address.
101380         (usage): Fix typo
101381         (gnulib_mk): New variable.
101383 2007-07-05  Jim Meyering  <jim@meyering.net>
101385         Don't let endgrent clobber errno, no matter how improbable.
101386         * lib/getugroups.c (getugroups): Save and restore errno around
101387         endgrent call.
101389         Close the group DB even when failing with 2^31 or more members.
101390         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
101392 2007-07-04  Jim Meyering  <jim@meyering.net>
101394         * lib/getugroups.h: New file.
101395         * lib/getugroups.c: Include "getugroups.h".
101396         Remove uses of "register" keyword.
101397         Move local variable, "cp", down into scope where used.
101398         Give "username" parameter the "const" attribute.
101399         * modules/getugroups (Files): Add lib/getugroups.h
101401 2007-07-04  Karl Berry  <karl@gnu.org>
101403         * MODULES.html.sh (func_all_modules): Complete rename of
101404         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
101406 2007-07-02  Bruno Haible  <bruno@clisp.org>
101408         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
101409         mode, when inttypes.h comes from gnulib.
101410         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
101412 2007-07-02  Simon Josefsson  <simon@josefsson.org>
101414         * NEWS: Mention lgpl module name change.
101416         * modules/lgpl-2.1: Renamed from lgpl.
101418         * NEWS: Mention gpl module name change.
101420         * modules/gpl-3.0: New file, based on gpl-2.0.
101422         * modules/gpl-2.0: Renamed from gpl.
101424         * modules/gpl: Fix filename, doc/gpl.texi is now found at
101425         doc/gpl-2.0.texi.
101427 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
101429         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
101430         #define __STDC_LIMIT_MACROS temporarily while including
101431         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
101432         Problem reported by Joel E. Denny in
101433         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
101435 2007-07-01  Bruno Haible  <bruno@clisp.org>
101437         * lib/unistdio.h: New file.
101438         * lib/unistdio/u-asnprintf.h: New file.
101439         * lib/unistdio/u-asprintf.h: New file.
101440         * lib/unistdio/u-printf-args.c: New file.
101441         * lib/unistdio/u-printf-args.h: New file.
101442         * lib/unistdio/u-printf-parse.h: New file.
101443         * lib/unistdio/u-snprintf.h: New file.
101444         * lib/unistdio/u-sprintf.h: New file.
101445         * lib/unistdio/u-vasprintf.h: New file.
101446         * lib/unistdio/u-vsnprintf.h: New file.
101447         * lib/unistdio/u-vsprintf.h: New file.
101448         * lib/unistdio/ulc-asnprintf.c: New file.
101449         * lib/unistdio/ulc-asprintf.c: New file.
101450         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
101451         * lib/unistdio/ulc-printf-parse.c: New file.
101452         * lib/unistdio/ulc-snprintf.c: New file.
101453         * lib/unistdio/ulc-sprintf.c: New file.
101454         * lib/unistdio/ulc-vasnprintf.c: New file.
101455         * lib/unistdio/ulc-vasprintf.c: New file.
101456         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
101457         * lib/unistdio/ulc-vsnprintf.c: New file.
101458         * lib/unistdio/ulc-vsprintf.c: New file.
101459         * lib/unistdio/u8-asnprintf.c: New file.
101460         * lib/unistdio/u8-asprintf.c: New file.
101461         * lib/unistdio/u8-printf-parse.c: New file.
101462         * lib/unistdio/u8-snprintf.c: New file.
101463         * lib/unistdio/u8-sprintf.c: New file.
101464         * lib/unistdio/u8-vasnprintf.c: New file.
101465         * lib/unistdio/u8-vasprintf.c: New file.
101466         * lib/unistdio/u8-vsnprintf.c: New file.
101467         * lib/unistdio/u8-vsprintf.c: New file.
101468         * lib/unistdio/u8-u8-asnprintf.c: New file.
101469         * lib/unistdio/u8-u8-asprintf.c: New file.
101470         * lib/unistdio/u8-u8-snprintf.c: New file.
101471         * lib/unistdio/u8-u8-sprintf.c: New file.
101472         * lib/unistdio/u8-u8-vasnprintf.c: New file.
101473         * lib/unistdio/u8-u8-vasprintf.c: New file.
101474         * lib/unistdio/u8-u8-vsnprintf.c: New file.
101475         * lib/unistdio/u8-u8-vsprintf.c: New file.
101476         * lib/unistdio/u16-asnprintf.c: New file.
101477         * lib/unistdio/u16-asprintf.c: New file.
101478         * lib/unistdio/u16-printf-parse.c: New file.
101479         * lib/unistdio/u16-snprintf.c: New file.
101480         * lib/unistdio/u16-sprintf.c: New file.
101481         * lib/unistdio/u16-vasnprintf.c: New file.
101482         * lib/unistdio/u16-vasprintf.c: New file.
101483         * lib/unistdio/u16-vsnprintf.c: New file.
101484         * lib/unistdio/u16-vsprintf.c: New file.
101485         * lib/unistdio/u16-u16-asnprintf.c: New file.
101486         * lib/unistdio/u16-u16-asprintf.c: New file.
101487         * lib/unistdio/u16-u16-snprintf.c: New file.
101488         * lib/unistdio/u16-u16-sprintf.c: New file.
101489         * lib/unistdio/u16-u16-vasnprintf.c: New file.
101490         * lib/unistdio/u16-u16-vasprintf.c: New file.
101491         * lib/unistdio/u16-u16-vsnprintf.c: New file.
101492         * lib/unistdio/u16-u16-vsprintf.c: New file.
101493         * lib/unistdio/u32-asnprintf.c: New file.
101494         * lib/unistdio/u32-asprintf.c: New file.
101495         * lib/unistdio/u32-printf-parse.c: New file.
101496         * lib/unistdio/u32-snprintf.c: New file.
101497         * lib/unistdio/u32-sprintf.c: New file.
101498         * lib/unistdio/u32-vasnprintf.c: New file.
101499         * lib/unistdio/u32-vasprintf.c: New file.
101500         * lib/unistdio/u32-vsnprintf.c: New file.
101501         * lib/unistdio/u32-vsprintf.c: New file.
101502         * lib/unistdio/u32-u32-asnprintf.c: New file.
101503         * lib/unistdio/u32-u32-asprintf.c: New file.
101504         * lib/unistdio/u32-u32-snprintf.c: New file.
101505         * lib/unistdio/u32-u32-sprintf.c: New file.
101506         * lib/unistdio/u32-u32-vasnprintf.c: New file.
101507         * lib/unistdio/u32-u32-vasprintf.c: New file.
101508         * lib/unistdio/u32-u32-vsnprintf.c: New file.
101509         * lib/unistdio/u32-u32-vsprintf.c: New file.
101510         * tests/unistdio/test-ulc-asnprintf1.c: New file.
101511         * tests/unistdio/test-ulc-asnprintf1.h: New file.
101512         * tests/unistdio/test-ulc-printf1.h: New file.
101513         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
101514         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
101515         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
101516         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
101517         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
101518         * tests/unistdio/test-ulc-vasprintf1.c: New file.
101519         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
101520         * tests/unistdio/test-ulc-vsprintf1.c: New file.
101521         * tests/unistdio/test-u8-asnprintf1.c: New file.
101522         * tests/unistdio/test-u8-asnprintf1.h: New file.
101523         * tests/unistdio/test-u8-printf1.h: New file.
101524         * tests/unistdio/test-u8-vasnprintf1.c: New file.
101525         * tests/unistdio/test-u8-vasnprintf2.c: New file.
101526         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
101527         * tests/unistdio/test-u8-vasnprintf3.c: New file.
101528         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
101529         * tests/unistdio/test-u8-vasprintf1.c: New file.
101530         * tests/unistdio/test-u8-vsnprintf1.c: New file.
101531         * tests/unistdio/test-u8-vsprintf1.c: New file.
101532         * tests/unistdio/test-u16-asnprintf1.c: New file.
101533         * tests/unistdio/test-u16-asnprintf1.h: New file.
101534         * tests/unistdio/test-u16-printf1.h: New file.
101535         * tests/unistdio/test-u16-vasnprintf1.c: New file.
101536         * tests/unistdio/test-u16-vasnprintf2.c: New file.
101537         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
101538         * tests/unistdio/test-u16-vasnprintf3.c: New file.
101539         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
101540         * tests/unistdio/test-u16-vasprintf1.c: New file.
101541         * tests/unistdio/test-u16-vsnprintf1.c: New file.
101542         * tests/unistdio/test-u16-vsprintf1.c: New file.
101543         * tests/unistdio/test-u32-asnprintf1.c: New file.
101544         * tests/unistdio/test-u32-asnprintf1.h: New file.
101545         * tests/unistdio/test-u32-printf1.h: New file.
101546         * tests/unistdio/test-u32-vasnprintf1.c: New file.
101547         * tests/unistdio/test-u32-vasnprintf2.c: New file.
101548         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
101549         * tests/unistdio/test-u32-vasnprintf3.c: New file.
101550         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
101551         * tests/unistdio/test-u32-vasprintf1.c: New file.
101552         * tests/unistdio/test-u32-vsnprintf1.c: New file.
101553         * tests/unistdio/test-u32-vsprintf1.c: New file.
101554         * modules/unistdio/base: New file.
101555         * modules/unistdio/u-printf-args: New file.
101556         * modules/unistdio/ulc-asnprintf: New file.
101557         * modules/unistdio/ulc-asprintf: New file.
101558         * modules/unistdio/ulc-fprintf: New file.
101559         * modules/unistdio/ulc-printf-parse: New file.
101560         * modules/unistdio/ulc-snprintf: New file.
101561         * modules/unistdio/ulc-sprintf: New file.
101562         * modules/unistdio/ulc-vasnprintf: New file.
101563         * modules/unistdio/ulc-vasprintf: New file.
101564         * modules/unistdio/ulc-vfprintf: New file.
101565         * modules/unistdio/ulc-vsnprintf: New file.
101566         * modules/unistdio/ulc-vsprintf: New file.
101567         * modules/unistdio/u8-asnprintf: New file.
101568         * modules/unistdio/u8-asprintf: New file.
101569         * modules/unistdio/u8-printf-parse: New file.
101570         * modules/unistdio/u8-snprintf: New file.
101571         * modules/unistdio/u8-sprintf: New file.
101572         * modules/unistdio/u8-vasnprintf: New file.
101573         * modules/unistdio/u8-vasprintf: New file.
101574         * modules/unistdio/u8-vsnprintf: New file.
101575         * modules/unistdio/u8-vsprintf: New file.
101576         * modules/unistdio/u8-u8-asnprintf: New file.
101577         * modules/unistdio/u8-u8-asprintf: New file.
101578         * modules/unistdio/u8-u8-snprintf: New file.
101579         * modules/unistdio/u8-u8-sprintf: New file.
101580         * modules/unistdio/u8-u8-vasnprintf: New file.
101581         * modules/unistdio/u8-u8-vasprintf: New file.
101582         * modules/unistdio/u8-u8-vsnprintf: New file.
101583         * modules/unistdio/u8-u8-vsprintf: New file.
101584         * modules/unistdio/u16-asnprintf: New file.
101585         * modules/unistdio/u16-asprintf: New file.
101586         * modules/unistdio/u16-printf-parse: New file.
101587         * modules/unistdio/u16-snprintf: New file.
101588         * modules/unistdio/u16-sprintf: New file.
101589         * modules/unistdio/u16-vasnprintf: New file.
101590         * modules/unistdio/u16-vasprintf: New file.
101591         * modules/unistdio/u16-vsnprintf: New file.
101592         * modules/unistdio/u16-vsprintf: New file.
101593         * modules/unistdio/u16-u16-asnprintf: New file.
101594         * modules/unistdio/u16-u16-asprintf: New file.
101595         * modules/unistdio/u16-u16-snprintf: New file.
101596         * modules/unistdio/u16-u16-sprintf: New file.
101597         * modules/unistdio/u16-u16-vasnprintf: New file.
101598         * modules/unistdio/u16-u16-vasprintf: New file.
101599         * modules/unistdio/u16-u16-vsnprintf: New file.
101600         * modules/unistdio/u16-u16-vsprintf: New file.
101601         * modules/unistdio/u32-asnprintf: New file.
101602         * modules/unistdio/u32-asprintf: New file.
101603         * modules/unistdio/u32-printf-parse: New file.
101604         * modules/unistdio/u32-snprintf: New file.
101605         * modules/unistdio/u32-sprintf: New file.
101606         * modules/unistdio/u32-vasnprintf: New file.
101607         * modules/unistdio/u32-vasprintf: New file.
101608         * modules/unistdio/u32-vsnprintf: New file.
101609         * modules/unistdio/u32-vsprintf: New file.
101610         * modules/unistdio/u32-u32-asnprintf: New file.
101611         * modules/unistdio/u32-u32-asprintf: New file.
101612         * modules/unistdio/u32-u32-snprintf: New file.
101613         * modules/unistdio/u32-u32-sprintf: New file.
101614         * modules/unistdio/u32-u32-vasnprintf: New file.
101615         * modules/unistdio/u32-u32-vasprintf: New file.
101616         * modules/unistdio/u32-u32-vsnprintf: New file.
101617         * modules/unistdio/u32-u32-vsprintf: New file.
101618         * modules/unistdio/ulc-asnprintf-tests: New file.
101619         * modules/unistdio/ulc-vasnprintf-tests: New file.
101620         * modules/unistdio/ulc-vasprintf-tests: New file.
101621         * modules/unistdio/ulc-vsnprintf-tests: New file.
101622         * modules/unistdio/ulc-vsprintf-tests: New file.
101623         * modules/unistdio/u8-asnprintf-tests: New file.
101624         * modules/unistdio/u8-vasnprintf-tests: New file.
101625         * modules/unistdio/u8-vasprintf-tests: New file.
101626         * modules/unistdio/u8-vsnprintf-tests: New file.
101627         * modules/unistdio/u8-vsprintf-tests: New file.
101628         * modules/unistdio/u16-asnprintf-tests: New file.
101629         * modules/unistdio/u16-vasnprintf-tests: New file.
101630         * modules/unistdio/u16-vasprintf-tests: New file.
101631         * modules/unistdio/u16-vsnprintf-tests: New file.
101632         * modules/unistdio/u16-vsprintf-tests: New file.
101633         * modules/unistdio/u32-asnprintf-tests: New file.
101634         * modules/unistdio/u32-vasnprintf-tests: New file.
101635         * modules/unistdio/u32-vasprintf-tests: New file.
101636         * modules/unistdio/u32-vsnprintf-tests: New file.
101637         * modules/unistdio/u32-vsprintf-tests: New file.
101638         * MODULES.html.sh (Unicode string functions): Add the new modules.
101640 2007-07-01  Bruno Haible  <bruno@clisp.org>
101642         * lib/sprintf.c (sprintf): Limit the available length estimation,
101643         to avoid address wraparound.
101644         * lib/vsprintf.c (vsprintf): Likewise.
101645         * modules/sprintf-posix (Dependencies): Add stdint.
101646         * modules/vsprintf-posix (Dependencies): Likewise.
101648 2007-07-01  Bruno Haible  <bruno@clisp.org>
101650         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
101651         Windows PATH as well. Conservative double-quoting. Comments.
101653 2007-07-01  Bruno Haible  <bruno@clisp.org>
101654             Eric Blake  <ebb9@byu.net>
101655             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101657         * gnulib-tool (self_abspathname): Fix algorithm to cope with
101658         empty components in $PATH, denoting '.'.
101660 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101662         * gnulib-tool: Fix indentation.
101663         (func_create_megatestdir): Likewise.
101664         Report by Bruno Haible.
101666 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101668         Sync from Automake.
101669         * build-aux/gnupload: Fix shell portability issues with for loops.
101670         Report by Karl Berry.
101672 2007-06-29  Simon Josefsson  <simon@josefsson.org>
101674         * build-aux/maint.mk (POURL): Use translationproject.org.
101676 2007-06-27  Simon Josefsson  <simon@josefsson.org>
101677             Bruno Haible  <bruno@clisp.org>
101679         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
101680         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
101681         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
101682         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
101683         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
101685 2007-06-27  Bruno Haible  <bruno@clisp.org>
101687         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
101688         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
101690 2007-06-26  Karl Berry  <karl@gnu.org>
101692         * MODULES.html.sh: remove xreadlink-with-size.
101694 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
101696         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
101697         method that I hope also handles the double-include problem noted
101698         by Bruno Haible in
101699         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
101701 2007-06-23  Bruno Haible  <bruno@clisp.org>
101703         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
101704         Don't let the 'mostlyclean' target fail if the last subdirectory could
101705         not be removed.
101706         Reported by Karl Berry.
101708 2007-06-23  Bruno Haible  <bruno@clisp.org>
101710         * gnulib-tool (echo): Add a speedier workaround for ksh.
101711         * tests/test-echo.sh: Likewise.
101713 2007-06-23  Bruno Haible  <bruno@clisp.org>
101715         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
101716         * tests/test-echo.sh: Likewise.
101718 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101720         * gnulib-tool (IFS): Initialize early, so we don't set it to
101721         empty later.
101722         (self_abspathname): Rewrite algorithm to set it, reindent.
101723         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
101724         (func_create_megatestdir): Merge some sed scripts.
101726 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
101728         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
101729         exposed by Sun Studio 11 cc on Solaris 8.
101731 2007-06-22  Bruno Haible  <bruno@clisp.org>
101733         * gnulib-tool (echo): Ensure the echo primitive does not interpret
101734         backslashes.
101735         * tests/test-echo.sh: New file.
101737 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101739         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
101740         simplify `sed_replace_build_aux' scripts, they are portable but
101741         echoing them with `echo' is not.
101742         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
101744 2007-06-21  Karl Berry  <karl@gnu.org>
101746         * config/srclist.txt: guess we can't handle the licenses via
101747         srclist at the moment.
101749 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
101751         * MODULES.html.sh: Add include_next.
101752         * modules/include_next: New file.
101754 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
101756         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
101757         INCLUDE_NEXT.
101758         (gl_CHECK_NEXT_HEADERS): New macro.
101759         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
101760         the obsolescent gl_ABSOLUTE_HEADER.
101761         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
101762         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
101763         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
101764         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
101765         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
101766         * m4/math_h.m4 (gl_MATH_H): Likewise.
101767         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
101768         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
101769         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
101770         * m4/stdint.m4 (gl_STDINT_H): Likewise.
101771         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
101772         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
101773         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
101774         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
101775         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
101776         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
101777         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
101778         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
101779         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
101780         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
101781         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
101782         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
101783         * m4/inttypes.m4 (gl_INTTYPES_H): Define
101784         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
101785         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
101786         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
101787         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
101788         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
101789         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
101790         * lib/float_.h: Likewise.
101791         * lib/inttypes_.h: Likewise.
101792         * lib/math_.h: Likewise.
101793         * lib/search_.h: Likewise.
101794         * lib/signal_.h: Likewise.
101795         * lib/stdint_.h: Likewise.
101796         * lib/stdio_.h: Likewise.
101797         * lib/stdlib_.h: Likewise.
101798         * lib/string_.h: Likewise.
101799         * lib/sys_stat_.h: Likewise.
101800         * lib/sys_time_.h: Likewise.
101801         * lib/time_.h: Likewise.
101802         * lib/unistd_.h: Likewise.
101803         * lib/wchar_.h: Likewise.
101804         * lib/wctype_.h: Likewise.
101805         * lib/dirent_.h: Likewise.
101806         * lib/iconv_.h: Likewise.
101807         * lib/locale_.h: Likewise.
101808         * lib/netinet_in_.h: Likewise.
101809         * lib/sys_select_.h: Likewise.
101810         * lib/sys_socket_.h: Likewise.
101811         * lib/sysexits_.h: Likewise.
101812         * modules/fcntl (Depends-on): Depend on include_next, not
101813         absolute_header.
101814         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
101815         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
101816         * modules/fchdir: Likewise.
101817         * modules/float: Likewise.
101818         * modules/iconv_open: Likewise.
101819         * modules/inttypes: Likewise.
101820         * modules/locale: Likewise.
101821         * modules/math: Likewise.
101822         * modules/netinet_in: Likewise.
101823         * modules/search: Likewise.
101824         * modules/signal: Likewise.
101825         * modules/stdint: Likewise.
101826         * modules/stdio: Likewise.
101827         * modules/stdlib: Likewise.
101828         * modules/string: Likewise.
101829         * modules/sys_select: Likewise.
101830         * modules/sys_socket: Likewise.
101831         * modules/sys_stat: Likewise.
101832         * modules/sys_time: Likewise.
101833         * modules/sysexits: Likewise.
101834         * modules/time: Likewise.
101835         * modules/unistd: Likewise.
101836         * modules/wchar: Likewise.
101837         * modules/wctype: Likewise.
101838         * modules/sys_stat: Change maintainer to "all".
101839         * modules/unistd: Likewise.
101841 2007-06-20  Karl Berry  <karl@gnu.org>
101843         * config/srclist.txt: track www changes in license files.
101845 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
101847         * build-aux/bootstrap: Remove stray dot.
101848         Make sure build_aux settings are honored when linking
101849         gnulib_extra_files.
101851 2007-06-19  Eric Blake  <ebb9@byu.net>
101853         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
101854         Allow compilation on cygwin.
101856 2007-06-19  Jim Meyering  <jim@meyering.net>
101858         xreadlink-with-size: Remove module.  No longer used.
101859         Ex-callers now use xreadlink or mreadlink-with-size.
101860         * modules/xreadlink-with-size: Remove module.
101861         * lib/xreadlink-with-size.c: Remove file.
101862         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
101863         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
101864         just before the function definition *is* accurate.
101866         Eliminate one way canonicalize_filename_mode could exit.
101867         * lib/canonicalize.c (canonicalize_filename_mode):
101868         Use mreadlink_with_size, not xreadlink_with_size.
101870 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
101872         Detect porting problems to FreeBSD/arm, which has time_t wider than
101873         long int.  Original problem reported for GNU diff by Xin Li in
101874         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
101875         * modules/getdate (Depends-on): Add intprops, verify.
101876         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
101877         is an integer type no wider than long int.
101879 2007-06-18  Jim Meyering  <jim@meyering.net>
101881         New module: mreadlink-with-size.
101882         * MODULES.html.sh: Add mreadlink-with-size.
101883         * modules/mreadlink-with-size: New module
101884         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
101885         not xreadlink-with-size.
101886         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
101888 2007-06-16  Bruno Haible  <bruno@clisp.org>
101890         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
101891         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
101892         Reported by Gary V. Vaughan <gary@gnu.org>.
101894 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
101896         Revamp lchown so that it lives in unistd.h where it belongs.
101897         * lib/lchown.h: Remove.
101898         * lib/dirchownmod.c: Don't include lib/lchown.h.
101899         * lib/fchownat.c: Likewise.
101900         * lib/openat.c: Likewise.
101901         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
101902         does not follow symlinks.
101903         (EOPNOTSUPP): Define if not defined.
101904         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
101905         is defined to 0.
101906         (lchown): New decl.
101907         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
101908         Do not check for lchown decl.
101909         Set REPLACE_LCHOWN.
101910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
101911         REPLACE_LCHOWN.
101912         * modules/chown: Make it clear it follows symlinks.
101913         * modules/lchown: Make it clear it doesn't follow symlinks.
101914         (Files): Remove lib/lchown.h
101915         (Depends-on): Add unistd.
101916         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
101917         (Include): Include <unistd.h>, not "lchown.h".
101918         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
101919         REPLACE_LCHOWN.
101921 2007-06-15  Jim Meyering  <jim@meyering.net>
101923         Change license (GPL to LGPL) of fsusage and dependents.
101924         * modules/fsusage (License): Change to LGPL.
101925         * modules/full-read (License): Likewise.
101926         * modules/full-write (License): Likewise.
101927         * modules/safe-read (License): Likewise.
101928         * modules/safe-write (License): Likewise.
101930 2007-06-14  Ben Pfaff  <blp@gnu.org>
101932         Missing part of allocsa -> malloca transition.
101933         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
101934         gl_MALLOCA.
101936 2007-06-12  Bruno Haible  <bruno@clisp.org>
101938         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
101939         to ia64, x86_64, i386.
101940         Reported by Eric Blake.
101942 2007-06-12  Bruno Haible  <bruno@clisp.org>
101944         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
101945         cross-compiling to x86_64.
101947 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
101949         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
101950         glitch reported by Ralf Wildenhues in
101951         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
101953         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
101954         Vin Shelton.
101956 2007-06-11  Bruno Haible  <bruno@clisp.org>
101958         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
101959         replacement string.
101960         Reported by Eric Blake.
101962 2007-06-10  Bruno Haible  <bruno@clisp.org>
101964         Prepare vasnprintf code for use with Unicode strings.
101965         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
101966         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
101967         TYPE_U32_STRING.
101968         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
101969         a_u32_string variants.
101970         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
101971         * lib/printf-args.c: Don't include config.h and the specification
101972         header if PRINTF_FETCHARGS is already defined.
101973         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
101974         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
101975         TYPE_U16_STRING, TYPE_U32_STRING.
101976         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
101977         u16_directive, u16_directives, u32_directive, u32_directives): New
101978         types.
101979         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
101980         New declarations.
101981         * lib/printf-parse.c: Don't include config.h and the specification
101982         header if PRINTF_PARSE is already defined. Eliminate the set of
101983         parameters for WIDE_CHAR_VERSION; the user of this file must provide
101984         them now. Include c-ctype.h.
101985         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
101986         directive and CHAR_T_ONLY_ASCII.
101987         * lib/vasnprintf.c: Don't include config.h and the specification header
101988         if VASNPRINTF is already defined.
101989         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
101990         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
101991         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
101992         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
101993         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
101994         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
101995         code accordingly.
101996         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
101997         pad_ourselves also in this case, with the 'c' and 's' directives, and
101998         with a different notion of "width".
101999         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
102001 2007-06-10  Bruno Haible  <bruno@clisp.org>
102003         * modules/unistr/u32-mbsnlen: New file.
102004         * lib/unistr/u32-mbsnlen.c: New file.
102006         * modules/unistr/u16-mbsnlen: New file.
102007         * lib/unistr/u16-mbsnlen.c: New file.
102009         * modules/unistr/u8-mbsnlen: New file.
102010         * lib/unistr/u8-mbsnlen.c: New file.
102012         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
102013         declarations.
102015 2007-06-10  Bruno Haible  <bruno@clisp.org>
102017         * lib/string_.h (mbsnlen): New declaration.
102018         * lib/mbsnlen.c: New file.
102019         * m4/mbsnlen.m4: New file.
102020         * modules/mbsnlen: New file.
102021         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
102022         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
102023         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
102025 2007-06-10  Bruno Haible  <bruno@clisp.org>
102027         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
102029 2007-06-10  Bruno Haible  <bruno@clisp.org>
102031         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
102032         * lib/mbuiter.h: Likewise.
102034 2007-06-10  Bruno Haible  <bruno@clisp.org>
102036         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
102037         declaration.
102039 2007-06-10  Karl Berry  <karl@gnu.org>
102041         * config/srclist.txt: remove gettext entries, Bruno prefers
102042         to update individually.
102044 2007-06-10  Bruno Haible  <bruno@clisp.org>
102046         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
102047         'maxlen'. Ensure only length + width bytes are allocated, not
102048         length + 1 + width.
102050 2007-06-09  Bruno Haible  <bruno@clisp.org>
102052         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
102053         (CHAR_T): Remove macro.
102054         (VASNPRINTF): Update.
102056 2007-06-09  Bruno Haible  <bruno@clisp.org>
102058         * MODULES.html.sh (Unicode string functions): Add the new modules.
102060         * modules/uniconv/u32-conv-to-enc: New file.
102061         * lib/uniconv/u32-conv-to-enc.c: New file.
102062         * modules/uniconv/u32-conv-to-enc-tests: New file.
102063         * tests/uniconv/test-u32-conv-to-enc.c: New file.
102065         * modules/uniconv/u16-conv-to-enc: New file.
102066         * lib/uniconv/u16-conv-to-enc.c: New file.
102067         * lib/uniconv/u-conv-to-enc.h: New file.
102068         * modules/uniconv/u16-conv-to-enc-tests: New file.
102069         * tests/uniconv/test-u16-conv-to-enc.c: New file.
102071         * modules/uniconv/u8-conv-to-enc: New file.
102072         * lib/uniconv/u8-conv-to-enc.c: New file.
102073         * modules/uniconv/u8-conv-to-enc-tests: New file.
102074         * tests/uniconv/test-u8-conv-to-enc.c: New file.
102076         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
102077         u32_conv_to_encoding): New declarations.
102079 2007-06-09  Bruno Haible  <bruno@clisp.org>
102081         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
102083 2007-06-09  Bruno Haible  <bruno@clisp.org>
102085         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
102086         * modules/malloca: Renamed from modules/allocsa, updated.
102087         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
102088         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
102089         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
102090         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
102091         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
102092         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
102093         * modules/xmalloca: Renamed from modules/xallocsa, updated.
102094         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
102095         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
102096         * modules/c-strcasestr (Depends-on): Update.
102097         * lib/c-strcasestr.c: Update.
102098         * modules/c-strstr (Depends-on): Update.
102099         * lib/c-strstr.c: Update.
102100         * modules/canonicalize-lgpl (Depends-on): Update.
102101         * lib/canonicalize-lgpl.c: Update.
102102         * modules/clean-temp (Depends-on): Update.
102103         * lib/clean-temp.c: Update.
102104         * modules/csharpcomp (Depends-on): Update.
102105         * lib/csharpcomp.c: Update.
102106         * modules/csharpexec (Depends-on): Update.
102107         * lib/csharpexec.c: Update.
102108         * modules/javacomp (Depends-on): Update.
102109         * lib/javacomp.c: Update.
102110         * modules/javaexec (Depends-on): Update.
102111         * lib/javaexec.c: Update.
102112         * modules/mbscasestr (Depends-on): Update.
102113         * lib/mbscasestr.c: Update.
102114         * modules/mbsstr (Depends-on): Update.
102115         * lib/mbsstr.c: Update.
102116         * modules/setenv (Depends-on): Update.
102117         * lib/setenv.c: Update.
102118         * modules/strcasestr (Depends-on): Update.
102119         * lib/strcasestr.c: Update.
102120         * modules/striconveha (Depends-on): Update.
102121         * lib/striconveha.c: Update.
102122         * modules/relocatable-prog-wrapper (Files): Update.
102123         * lib/relocwrapper.c: Update.
102124         * build-aux/install-reloc: Update.
102125         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
102127 2007-06-08  Bruno Haible  <bruno@clisp.org>
102129         Port to uClibc.
102130         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
102131         * lib/fpurge.c (fpurge): Likewise.
102132         * lib/freading.c (freading): Likewise.
102133         * lib/fseeko.c (rpl_fseeko): Likewise.
102134         * lib/fseterr.c (fseterr): Likewise.
102135         * lib/fwriting.c (fwriting): Likewise.
102136         * tests/test-fflush.c (main): Avoid a failure on uClibc.
102138 2007-06-08  Bruno Haible  <bruno@clisp.org>
102140         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
102141         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
102142         * modules/gettext (Files): Add m4/intlmacosx.m4.
102144 2007-06-07  Bruno Haible  <bruno@clisp.org>
102146         * modules/localename-tests: New file.
102147         * tests/test-localename.c: New file.
102149         New module 'localename'.
102150         * lib/localename.h: New file.
102151         * lib/localename.c: New file, from GNU gettext.
102152         * m4/localename.m4: New file.
102153         * modules/localename: New file.
102155 2007-06-07  Bruno Haible  <bruno@clisp.org>
102157         Work around the lack of <wchar.h> on some builds of uClibc.
102158         * doc/headers/wchar.texi: Update.
102159         * lib/wchar_.h: Include <wchar.h> only if it exists.
102160         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
102161         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
102162         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
102163         doesn't exist.
102164         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
102165         * modules/mbfile (Depends-on): Add wchar.
102166         * modules/mbiter (Depends-on): Likewise.
102167         * modules/mbuiter (Depends-on): Likewise.
102168         Reported by Simon Josefsson.
102170 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
102172         Work around problem reported by Steven M. Schweda in
102173         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
102174         Tru64 5.1B with the Compaq compiler environment installed declares
102175         an 'isblank' function but does not define it in the C library.
102176         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
102177         * lib/regex_internal.h (isblank): Likewise.
102178         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
102179         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102181 2007-06-05  Bruno Haible  <bruno@clisp.org>
102183         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
102184         ia64.
102185         * modules/printf-safe: New file.
102186         * modules/fprintf-posix (Depends-on): Add printf-safe.
102187         * modules/printf-posix (Depends-on): Likewise.
102188         * modules/snprintf-posix (Depends-on): Likewise.
102189         * modules/sprintf-posix (Depends-on): Likewise.
102190         * modules/vasnprintf-posix (Depends-on): Likewise.
102191         * modules/vasprintf-posix (Depends-on): Likewise.
102192         * modules/vfprintf-posix (Depends-on): Likewise.
102193         * modules/vprintf-posix (Depends-on): Likewise.
102194         * modules/vsnprintf-posix (Depends-on): Likewise.
102195         * modules/vsprintf-posix (Depends-on): Likewise.
102196         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
102197         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
102198         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
102199         "no" on i386, x86_64, ia64.
102200         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
102201         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
102202         on i386, x86_64, ia64.
102203         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
102204         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
102205         on i386, x86_64, ia64.
102206         * tests/test-vasnprintf-posix.c: Include float.h.
102207         (LDBL80_WORDS): New macro.
102208         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
102209         on i386, x86_64, ia64.
102210         * tests/test-vasprintf-posix.c: Include float.h.
102211         (LDBL80_WORDS): New macro.
102212         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
102213         on i386, x86_64, ia64.
102214         * tests/test-snprintf-posix.c: Include float.h.
102215         * tests/test-sprintf-posix.c: Likewise.
102216         * tests/test-vsnprintf-posix.c: Likewise.
102217         * tests/test-vsprintf-posix.c: Likewise.
102219 2007-06-05  Bruno Haible  <bruno@clisp.org>
102221         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
102222         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
102223         non-IEEE numbers on i386, x86_64, ia64.
102224         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
102225         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
102226         * tests/test-isnanl.h: Include float.h.
102227         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
102229 2007-06-05  Bruno Haible  <bruno@clisp.org>
102231         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
102232         also the %a / %A. Handle the %a / %A code before this extra handling.
102234 2007-06-05  Bruno Haible  <bruno@clisp.org>
102236         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
102237         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
102239 2007-06-05  Bruno Haible  <bruno@clisp.org>
102241         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
102242         typo in variable name.
102244 2007-06-05  Eric Blake  <ebb9@byu.net>
102246         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
102247         Reported by Simon Josefsson.
102249 2007-06-04  Bruno Haible  <bruno@clisp.org>
102251         Avoid test failures on some PowerPC platforms.
102252         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
102253         Define differently for PowerPC.
102254         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
102255         Reported by Gary V. Vaughan <gary@gnu.org>.
102257 2007-06-02  Bruno Haible  <bruno@clisp.org>
102259         Fix test-stdint failure on FreeBSD/ia64.
102260         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
102261         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
102262         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
102263         * doc/headers/stdint.texi: Update.
102265 2007-06-01  Bruno Haible  <bruno@clisp.org>
102267         * tests/test-binary-io.c (main): Pass a third argument to open().
102268         Reported by Gary V. Vaughan <gary@gnu.org>.
102270 2007-06-01  Bruno Haible  <bruno@clisp.org>
102272         * doc/functions/frexpl.texi: Update for mingw.
102274 2007-06-01  Bruno Haible  <bruno@clisp.org>
102276         * tests/test-lseek.c (main): Disable test of errno for invalid third
102277         argument.
102278         * doc/functions/lseek.texi: Update.
102279         Reported by Gary V. Vaughan <gary@gnu.org>.
102281 2007-05-28  Bruno Haible  <bruno@clisp.org>
102283         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
102285 2007-05-31  Eric Blake  <ebb9@byu.net>
102287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
102288         cross compiling.
102290 2007-05-30  Eric Blake  <ebb9@byu.net>
102291         and Bruno Haible  <bruno@clisp.org>
102293         Work around mingw test failures exposed by m4-1.4.9b.
102294         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
102295         * tests/test-unistd.c: Disable uid_t and git_t tests for the
102296         moment.
102298 2007-05-30  Bruno Haible  <bruno@clisp.org>
102300         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
102301         assuming that they are closed. Needed on HP-UX 11.
102303 2007-05-29  Bruno Haible  <bruno@clisp.org>
102305         Fix a problem with #include_next.
102306         * lib/dirent_.h: Split the double-inclusion guard.
102307         * lib/fcntl_.h: Likewise.
102308         * lib/float_.h: Likewise.
102309         * lib/iconv_.h: Likewise.
102310         * lib/inttypes_.h: Likewise.
102311         * lib/locale_.h: Likewise.
102312         * lib/math_.h: Likewise.
102313         * lib/netinet_in_.h: Likewise.
102314         * lib/search_.h: Likewise.
102315         * lib/signal_.h: Likewise.
102316         * lib/stdint_.h: Likewise.
102317         * lib/stdio_.h: Likewise.
102318         * lib/stdlib_.h: Likewise.
102319         * lib/string_.h: Likewise.
102320         * lib/sys_select_.h: Likewise.
102321         * lib/sys_socket_.h: Likewise.
102322         * lib/sys_stat_.h: Likewise.
102323         * lib/sys_time_.h: Likewise.
102324         * lib/sysexits_.h: Likewise.
102325         * lib/time_.h: Likewise.
102326         * lib/unistd_.h: Likewise.
102327         * lib/wchar_.h: Likewise.
102328         * lib/wctype_.h: Likewise.
102330 2007-05-29  Bruno Haible  <bruno@clisp.org>
102332         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
102333         for the moment.
102335 2007-05-29  Bruno Haible  <bruno@clisp.org>
102337         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
102338         invocation.
102339         Reported by Eric Blake.
102341 2007-05-29  Bruno Haible  <bruno@clisp.org>
102343         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
102344         compiling case.
102346 2007-05-29  Eric Blake  <ebb9@byu.net>
102347             Bruno Haible  <bruno@clisp.org>
102349         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
102350         cross compiles.
102352 2007-05-28  Eric Blake  <ebb9@byu.net>
102354         * modules/closein-tests (test_closein_LDADD): Support test on
102355         cygwin with libtool.
102357 2007-05-28  Bruno Haible  <bruno@clisp.org>
102359         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
102360         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
102361         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
102362         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
102363         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
102364         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
102365         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
102366         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
102367         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
102369 2007-05-28  Eric Blake  <ebb9@byu.net>
102371         Unconditionally include <config.h> in unit tests.
102372         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
102373         * tests/test-allocsa.c, tests/test-arcfour.c,
102374         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
102375         tests/test-array_list.c, tests/test-array_oset.c,
102376         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
102377         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
102378         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
102379         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
102380         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
102381         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
102382         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
102383         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
102384         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
102385         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
102386         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
102387         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
102388         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
102389         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
102390         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
102391         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
102392         test-md5.c, test-memmem.c, test-printf-posix.c,
102393         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
102394         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
102395         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
102396         test-strcasestr.c, test-striconv.c, test-striconveh.c,
102397         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
102398         test-vasnprintf-posix2.c, test-vasnprintf.c,
102399         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
102400         test-vfprintf-posix.c, test-vprintf-posix.c,
102401         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
102402         test-xvasprintf.c: Likewise.
102404 2007-05-28  Bruno Haible  <bruno@clisp.org>
102406         * gnulib-tool (func_import): Remember the --with-tests command-line
102407         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
102408         Reported by Eric Blake.
102410 2007-05-28  Bruno Haible  <bruno@clisp.org>
102412         * modules/ftell-tests: New file.
102413         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
102414         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
102416         * lib/ftell.c: New file.
102417         * modules/ftell: New file.
102418         * m4/ftell.m4: New file.
102419         * doc/functions/ftell.texi: Update.
102420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
102421         REPLACE_FTELL.
102422         * lib/stdio_.h (rpl_ftell): New declaration.
102423         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
102424         REPLACE_FTELL.
102426 2007-05-28  Eric Blake  <ebb9@byu.net>
102428         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
102430 2007-05-28  Bruno Haible  <bruno@clisp.org>
102432         * modules/fseek-tests: New file.
102433         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
102434         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
102436         * lib/fseek.c: New file.
102437         * modules/fseek: New file.
102438         * m4/fseek.m4: New file.
102439         * doc/functions/fseek.texi: Update.
102440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
102441         REPLACE_FSEEK.
102442         * lib/stdio_.h (rpl_fseek): New declaration.
102443         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
102444         REPLACE_FSEEK.
102446 2007-05-28  Bruno Haible  <bruno@clisp.org>
102448         * lib/stdio_.h (fflush): More comments.
102450 2007-05-28  Bruno Haible  <bruno@clisp.org>
102452         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
102453         runtime test.
102455 2007-05-28  Eric Blake  <ebb9@byu.net>
102457         Improve lseek module.
102458         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
102459         * lib/unistd_.h (lseek): Scale back link warning message.
102460         * tests/test-lseek.c: Beef up test.
102461         * tests/test-lseek.sh: Exercise more facets of lseek.
102462         Reported by Bruno Haible.
102464 2007-05-28  Bruno Haible  <bruno@clisp.org>
102466         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
102467         to define.
102469 2007-05-27  Bruno Haible  <bruno@clisp.org>
102471         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
102473 2007-05-27  Bruno Haible  <bruno@clisp.org>
102475         * modules/openmp: New file.
102476         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
102477         Noah Misch.
102479 2007-05-26  Bruno Haible  <bruno@clisp.org>
102481         * modules/chdir-long (Depends-on): Add fchdir.
102482         * modules/chdir-safer (Depends-on): Likewise.
102483         * modules/fts (Depends-on): Likewise.
102484         * modules/fts-lgpl (Depends-on): Likewise.
102485         * modules/openat (Depends-on): Likewise.
102486         * modules/savewd (Depends-on): Likewise.
102488 2007-05-24  Eric Blake  <ebb9@byu.net>
102490         Fix lseek on mingw.
102491         * modules/lseek: New module.
102492         * m4/lseek.m4: New file.
102493         * lib/lseek.c: New file.
102494         * modules/lseek-tests: New file.
102495         * tests/test-lseek.c: New file.
102496         * tests/test-lseek.sh: New file.
102497         * MODULES.html.sh: Document lseek module.
102498         * modules/fflush (Depends-on): Add lseek, fseeko.
102499         * modules/fseeko (Depends-on): Likewise.
102500         * modules/ftello (Depends-on): Likewise.
102501         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
102502         broken.
102503         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
102504         broken.
102505         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
102506         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
102507         * lib/ftello.c (rpl_ftello): Likewise.
102508         * tests/test-fseeko.c (main): Test this.
102509         * tests/test-fseeko.sh: Likewise.
102510         * tests/test-ftello.c (main): Likewise.
102511         * tests/test-ftello.sh: Likewise.
102512         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
102513         implies replacing fseek.
102514         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
102515         HAVE_FTELLO.
102516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
102517         * modules/unistd (Makefile.am): Likewise.
102518         * lib/unistd_.h (lseek): Declare a replacement.
102519         * doc/functions/lseek.texi (lseek): Document this fix.
102520         * doc/functions/fseek.texi (fseek): Likewise.
102521         * doc/functions/ftell.texi (ftell): Likewise.
102523 2007-05-24  Bruno Haible  <bruno@clisp.org>
102525         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
102526         in the printed representation of a NaN.
102527         * tests/test-vasprintf-posix.c (test_function): Likewise.
102528         * tests/test-snprintf-posix.h (test_function): Likewise.
102529         * tests/test-sprintf-posix.h (test_function): Likewise.
102530         Reported by Eric Blake.
102532 2007-05-23  Eric Blake  <ebb9@byu.net>
102534         Fix fseeko/ftello on cygwin 1.5.24.
102535         * doc/functions/fseeko.texi (fseeko): Document the fix.
102536         * doc/functions/ftello.texi (ftello): Document the fix.
102537         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
102538         * doc/functions/stdout.text (stdout): New file.
102539         * doc/functions/stderr.text (stderr): New file.
102540         * doc/gnulib.texi (Function Substitutes): Use new files.
102541         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
102542         prior to 1.7.0.
102543         * tests/test-ftello.c (main): Likewise for ftello.
102544         * tests/test-fseeko.sh: New file.
102545         * tests/test-ftello.sh: New file.
102546         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
102547         with seekable stdin.
102548         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
102549         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
102550         (gl_REPLACE_FSEEKO): New macro.
102551         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
102552         * modules/fseeko (Files): Distribute fseeko.c.
102553         * modules/ftello (Files): Distribute ftello.c.
102554         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
102555         mode.
102556         * lib/ftello.c (rpl_ftello): New file.
102557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
102558         fseeko, ftello.
102559         (gl_STDIN_LARGE_OFFSET): New macro.
102560         * modules/stdio (Makefile.am): Perform the replacement.
102561         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
102563 2007-05-23  Bruno Haible  <bruno@clisp.org>
102565         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
102566         GNULIB_POSIXCHECK is defined.
102568 2007-05-21  Bruno Haible  <bruno@clisp.org>
102570         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
102571         Check also the output for NaN arguments. When cross-compiling, guess
102572         no on IRIX.
102573         * lib/vasnprintf.c: Update comments.
102574         * tests/test-vasnprintf-posix.c (strisnan): New function.
102575         (test_function): Use it.
102576         * tests/test-vasprintf-posix.c (strisnan): New function.
102577         (test_function): Use it.
102578         * tests/test-snprintf-posix.h (strisnan): New function.
102579         (test_function): Use it.
102580         * tests/test-sprintf-posix.h (strisnan): New function.
102581         (test_function): Use it.
102582         Reported by Eric Blake.
102584 2007-05-20  Bruno Haible  <bruno@clisp.org>
102586         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
102587         numbers that fails on BeOS.
102588         * doc/functions/frexpl.texi: Update.
102590 2007-05-20  Jim Meyering  <jim@meyering.net>
102592         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
102593         forced upon us by glibc-2.6.
102595 2007-05-20  Bruno Haible  <bruno@clisp.org>
102597         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
102598         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
102599         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
102600         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
102601         NEED_PRINTF_INFINITE.
102602         (is_infinitel): New function.
102603         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
102604         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
102605         gl_PREREQ_VASNPRINTF_INFINITE.
102606         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
102607         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
102608         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
102609         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
102610         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
102611         gl_PREREQ_VASNPRINTF_INFINITE.
102612         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
102613         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
102614         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
102615         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
102616         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
102617         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
102618         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
102619         * doc/functions/fprintf.texi: Update.
102620         * doc/functions/printf.texi: Update.
102621         * doc/functions/snprintf.texi: Update.
102622         * doc/functions/sprintf.texi: Update.
102623         * doc/functions/vfprintf.texi: Update.
102624         * doc/functions/vprintf.texi: Update.
102625         * doc/functions/vsnprintf.texi: Update.
102626         * doc/functions/vsprintf.texi: Update.
102628 2007-05-20  Bruno Haible  <bruno@clisp.org>
102630         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
102631         was not found in libc.
102632         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
102634 2007-05-20  Bruno Haible  <bruno@clisp.org>
102636         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
102637         printed as "-nan" instead of "nan".
102638         * tests/test-vasprintf-posix.c (test_function): Likewise.
102639         * tests/test-snprintf-posix.h (test_function): Likewise.
102640         * tests/test-sprintf-posix.h (test_function): Likewise.
102641         Needed for HP-UX 11.
102643 2007-05-20  Jim Meyering  <jim@meyering.net>
102645         Fix buggy test for the fchownat-deref bug.
102646         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
102647         symlink required for the run-test.  Without it, this test would
102648         always declare that fchownat doesn't work, and client code would
102649         unnecessarily use the replacement function with fixed libc.
102650         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
102651         Reported by Greg Schafer.
102653 2007-05-19  Bruno Haible  <bruno@clisp.org>
102655         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
102656         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
102657         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
102658         Needed for IRIX 6.5 and Solaris 2.5.1.
102660 2007-05-19  Bruno Haible  <bruno@clisp.org>
102662         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
102663         (test_function): Skip tests involving -0.0 on platforms where
102664         -0.0 = 0.0.
102665         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
102666         (test_function): Skip tests involving -0.0 on platforms where
102667         -0.0 = 0.0.
102668         * tests/test-snprintf-posix.h (have_minus_zero): New function.
102669         (test_function): Skip tests involving -0.0 on platforms where
102670         -0.0 = 0.0.
102671         * tests/test-sprintf-posix.h (have_minus_zero): New function.
102672         (test_function): Skip tests involving -0.0 on platforms where
102673         -0.0 = 0.0.
102674         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
102675         tests.
102676         * tests/test-printf-posix.h (test_function): Likewise.
102677         * tests/test-printf-posix.output: Remove all -0.0 related results.
102678         Needed for IRIX 6.5.
102680 2007-05-19  Bruno Haible  <bruno@clisp.org>
102682         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
102683         printed as "nan0x7fffffff" instead of "nan".
102684         * tests/test-vasprintf-posix.c (test_function): Likewise.
102685         * tests/test-snprintf-posix.h (test_function): Likewise.
102686         * tests/test-sprintf-posix.h (test_function): Likewise.
102687         * tests/test-fprintf-posix.h (NaN): Remove macro.
102688         (test_function): Remove all NaN related tests.
102689         * tests/test-printf-posix.h (NaN): Remove macro.
102690         (test_function): Remove all NaN related tests.
102691         * tests/test-printf-posix.output: Remove all NaN related results.
102692         Needed for IRIX 6.5.
102694 2007-05-19  Bruno Haible  <bruno@clisp.org>
102696         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
102697         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
102699 2007-05-19  Bruno Haible  <bruno@clisp.org>
102701         * lib/float_.h: New file.
102702         * m4/float_h.m4: New file.
102703         * modules/float: New file.
102704         * modules/isnanl (Dependencies): Add float.
102705         * modules/isnanl-nolibm (Dependencies): Likewise.
102706         * modules/mathl (Dependencies): Likewise.
102707         * modules/printf-frexpl (Dependencies): Likewise.
102708         * modules/signbit (Dependencies): Likewise.
102709         * modules/vasnprintf (Dependencies): Likewise.
102710         * doc/headers/float.texi: Update.
102712 2007-05-19  Jim Meyering  <jim@meyering.net>
102714         * lib/utimens.c (gl_futimens): Rename from futimens,
102715         now that glibc-2.6 declares futimens.
102716         * lib/utimens.h: Likewise.
102718 2007-05-19  Bruno Haible  <bruno@clisp.org>
102720         Avoid test failures on mingw.
102721         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
102722         * tests/test-printf-posix.sh: Likewise.
102723         * tests/test-vfprintf-posix.sh: Likewise.
102724         * tests/test-vprintf-posix.sh: Likewise.
102726 2007-05-19  Bruno Haible  <bruno@clisp.org>
102728         Fix *printf result for NaN, Inf, -0.0 on mingw.
102729         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
102730         * lib/vasnprintf.c: Include math.h and isnan.h.
102731         (is_infinite_or_zero): New function.
102732         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
102733         values in the %f, %F, %e, %E, %g, %G directives.
102734         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
102735         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
102736         gl_PRINTF_INFINITE and test its result. Invoke
102737         gl_PREREQ_VASNPRINTF_INFINITE.
102738         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
102739         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
102740         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
102741         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
102742         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
102743         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
102744         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
102745         * doc/functions/fprintf.texi: Update.
102746         * doc/functions/printf.texi: Update.
102747         * doc/functions/snprintf.texi: Update.
102748         * doc/functions/sprintf.texi: Update.
102749         * doc/functions/vfprintf.texi: Update.
102750         * doc/functions/vprintf.texi: Update.
102751         * doc/functions/vsnprintf.texi: Update.
102752         * doc/functions/vsprintf.texi: Update.
102754 2007-05-19  Bruno Haible  <bruno@clisp.org>
102756         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
102757         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
102758         Instead of multiplying with 10^k, set extra_zeroes to k.
102759         (scale10_round_long_double): Remove function.
102761 2007-05-18  Bruno Haible  <bruno@clisp.org>
102763         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
102764         introduced on 2007-05-06.
102766 2007-05-18  Bruno Haible  <bruno@clisp.org>
102768         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
102769         %g directives.
102770         * tests/test-vasprintf-posix.c (test_function): Likewise.
102771         * tests/test-snprintf-posix.h (test_function): Likewise.
102772         * tests/test-sprintf-posix.h (test_function): Likewise.
102774 2007-05-18  Bruno Haible  <bruno@clisp.org>
102776         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
102777         (strmatch): New function.
102778         (test_function): Test the %f directive on numbers of various exponents.
102779         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
102780         (strmatch): New function.
102781         (test_function): Test the %f directive on numbers of various exponents.
102782         * tests/test-snprintf-posix.h (strmatch): New function.
102783         (test_function): Test the %f directive on numbers of various exponents.
102784         * tests/test-sprintf-posix.h (strmatch): New function.
102785         (test_function): Test the %f directive on numbers of various exponents.
102786         * tests/test-snprintf-posix.c (SIZEOF): New macro.
102787         * tests/test-sprintf-posix.c (SIZEOF): New macro.
102788         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
102789         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
102791 2007-05-18  Bruno Haible  <bruno@clisp.org>
102793         Add support for 'long double' number output.
102794         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
102795         * lib/vasnprintf.c: Include math.h and float+.h.
102796         (mp_limb_t): New type.
102797         (GMP_LIMB_BITS): New macro.
102798         (mp_twolimb_t): New type.
102799         (GMP_TWOLIMB_BITS): New macro.
102800         (mpn_t): New type.
102801         (multiply, divide, convert_to_decimal, decode_long_double,
102802         scale10_round_long_double, scale10_round_decimal_long_double,
102803         floorlog10l): New functions.
102804         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
102805         for the %f, %F, %e, %E, %g, %G directives.
102806         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
102807         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
102808         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
102809         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
102810         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
102811         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
102812         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
102813         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
102814         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
102815         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
102816         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
102817         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
102818         * modules/snprintf-posix (Depends-on): Likewise.
102819         * modules/sprintf-posix (Depends-on): Likewise.
102820         * modules/vasnprintf-posix (Depends-on): Likewise.
102821         * modules/vasprintf-posix (Depends-on): Likewise.
102822         * modules/vfprintf-posix (Depends-on): Likewise.
102823         * modules/vsnprintf-posix (Depends-on): Likewise.
102824         * modules/vsprintf-posix (Depends-on): Likewise.
102825         * modules/vasnprintf (Files): Add lib/float+.h.
102826         * doc/functions/fprintf.texi: Update.
102827         * doc/functions/printf.texi: Update.
102828         * doc/functions/snprintf.texi: Update.
102829         * doc/functions/sprintf.texi: Update.
102830         * doc/functions/vfprintf.texi: Update.
102831         * doc/functions/vprintf.texi: Update.
102832         * doc/functions/vsnprintf.texi: Update.
102833         * doc/functions/vsprintf.texi: Update.
102835 2007-05-18  Bruno Haible  <bruno@clisp.org>
102837         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
102839 2007-05-18  Bruno Haible  <bruno@clisp.org>
102841         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
102842         for printing 64-bit integers. Needed for mingw.
102844 2007-05-18  Bruno Haible  <bruno@clisp.org>
102846         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
102847         gl_FUNC_FREXPL_WORKS.
102848         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
102850 2007-05-18  Bruno Haible  <bruno@clisp.org>
102852         * modules/frexpl-nolibm-tests: New file.
102854         * modules/frexpl-nolibm: New file.
102855         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
102857 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
102859         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
102860         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
102861         GCC 4.2, which otherwise issues a lot of warnings.
102862         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
102863         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
102864         Likewise.
102865         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
102866         * modules/iconv_open (iconv.h): Likewise.
102867         * modules/locale (locale.h): Likewise.
102868         * modules/netinet_in (netinet/in.h): Likewise.
102869         * modules/sys_select (sys_select.h): Likewise.
102870         * modules/sys_socket (sys/socket.h): Likewise.
102871         * modules/sys_stat (sys/stat.h): Likewise.
102872         * modules/sysexits (sysexits.h): Likewise.
102873         * modules/unistd (unistd.h): Likewise.
102875 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102877         * modules/closein-tests (Makefile.am): Distribute
102878         `test-closein.sh'.
102880 2007-05-17  Bruno Haible  <bruno@clisp.org>
102882         * tests/test-printf-posix.output: Renamed from
102883         tests/test-fprintf-posix.out.
102884         * modules/fprintf-posix-tests: Update.
102885         * modules/printf-posix-tests: Update.
102886         * modules/vfprintf-posix-tests: Update.
102887         * modules/vprintf-posix-tests: Update.
102888         * tests/test-fprintf-posix.sh: Update.
102889         * tests/test-printf-posix.sh: Update.
102890         * tests/test-vfprintf-posix.sh: Update.
102891         * tests/test-vprintf-posix.sh: Update.
102892         Reported by Ralf Wildenhues.
102894 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
102896         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
102897         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
102898         GCC 4.2, which otherwise issues a lot of warnings.
102899         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
102900         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
102901         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
102902         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
102903         it should no longer be needed.
102904         * lib/string_.h: Likewise.
102905         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
102906         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
102907         * modules/inttypes (inttypes.h): Likewise.
102908         * modules/math (math.h): Likewise.
102909         * modules/search (search.h): Likewise.
102910         * modules/signal (signal.h): Likewise.
102911         * modules/stdint (stdint.h): Likewise.
102912         * modules/stdio (stdio.h): Likewise.
102913         * modules/stdlib (stdlib.h): Likewise.
102914         * modules/string (string.h): Likewise.
102915         * modules/sys_time (sys/time.h): Likewise.
102916         * modules/time (time.h): Likewise.
102917         * modules/wchar (wchar.h): Likewise.
102918         * modules/wctype (wtype.h): Likewise.
102920 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
102922         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
102924 2007-05-13  Bruno Haible  <bruno@clisp.org>
102926         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
102927         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102928         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
102929         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
102930         (gl_PREREQ_STRTOK_R): Don't require it here.
102932 2007-05-13  Bruno Haible  <bruno@clisp.org>
102934         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
102935         when used in C++ mode.
102937 2007-05-12  Bruno Haible  <bruno@clisp.org>
102939         * lib/linebuffer.h: Tweak doc.
102940         * lib/linebuffer.c: Likewise.
102942 2007-05-12  James Youngman  <jay@gnu.org>
102944         * lib/linebuffer.c (readlinebuffer_delim): New function,
102945         like readlinebuffer, but use a caller-specified delimiter.
102946         (readlinebuffer): Just call readlinebuffer_delim with '\n'
102947         as the delimiter.
102948         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
102950 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
102952         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
102953         * modules/openat (Files): Remove openat-die.c.
102954         (Depends-on): Add openat-die.
102955         * modules/openat-die: New module.
102957 2007-05-06  Bruno Haible  <bruno@clisp.org>
102959         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
102960         Update with info about Cygwin.
102961         * doc/functions/fprintf.texi: Update.
102962         * doc/functions/printf.texi: Update.
102963         * doc/functions/snprintf.texi: Update.
102964         * doc/functions/sprintf.texi: Update.
102965         * doc/functions/vfprintf.texi: Update.
102966         * doc/functions/vprintf.texi: Update.
102967         * doc/functions/vsnprintf.texi: Update.
102968         * doc/functions/vsprintf.texi: Update.
102969         Reported by Eric Blake.
102971 2007-05-06  Bruno Haible  <bruno@clisp.org>
102973         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
102974         padding ourselves for the floating-point directives.
102975         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
102976         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
102977         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
102978         gl_PRINTF_FLAG_ZERO and test its result. Invoke
102979         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
102980         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
102981         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
102982         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
102983         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
102984         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
102985         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
102986         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
102987         * tests/test-snprintf-posix.h (test_function): Also check the width
102988         and some flags in the %f directive.
102989         * tests/test-sprintf-posix.h (test_function): Likewise.
102990         * tests/test-vasnprintf-posix.c (test_function): Likewise.
102991         * tests/test-vasprintf-posix.c (test_function): Likewise.
102992         * doc/functions/fprintf.texi: Update.
102993         * doc/functions/printf.texi: Update.
102994         * doc/functions/snprintf.texi: Update.
102995         * doc/functions/sprintf.texi: Update.
102996         * doc/functions/vfprintf.texi: Update.
102997         * doc/functions/vprintf.texi: Update.
102998         * doc/functions/vsnprintf.texi: Update.
102999         * doc/functions/vsprintf.texi: Update.
103001 2007-05-06  Bruno Haible  <bruno@clisp.org>
103003         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
103004         pass the ' flag character to sprintf or snprintf.
103005         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
103006         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
103007         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
103008         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
103009         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
103010         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103011         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
103012         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103013         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103014         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103015         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103016         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103017         * tests/test-snprintf-posix.h (test_function): Also check the grouping
103018         flag.
103019         * tests/test-sprintf-posix.h (test_function): Likewise.
103020         * tests/test-vasnprintf-posix.c (test_function): Likewise.
103021         * tests/test-vasprintf-posix.c (test_function): Likewise.
103022         * doc/functions/fprintf.texi: Update.
103023         * doc/functions/printf.texi: Update.
103024         * doc/functions/snprintf.texi: Update.
103025         * doc/functions/sprintf.texi: Update.
103026         * doc/functions/vfprintf.texi: Update.
103027         * doc/functions/vprintf.texi: Update.
103028         * doc/functions/vsnprintf.texi: Update.
103029         * doc/functions/vsprintf.texi: Update.
103031 2007-05-01  Bruno Haible  <bruno@clisp.org>
103033         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
103035 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
103037         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
103038         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
103040 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
103042         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
103043         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
103044         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
103046 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
103048         * lib/argp-help.c (struct hol_entry): New member `ord'.
103049         (HOL_ENTRY_PTRCMP): Use ord for comparison
103050         (hol_sort): Initialize ord.
103052 2007-05-01  Bruno Haible  <bruno@clisp.org>
103054         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
103055         Reported by Eric Blake.
103056         * doc/gnulib.texi (Function Substitutes): Update.
103058 2007-05-01  Bruno Haible  <bruno@clisp.org>
103060         * doc/functions.texi: Remove file, now redundant through
103061         doc/functions/*.texi.
103063 2007-05-01  Bruno Haible  <bruno@clisp.org>
103065         * modules/argp (Depends-on): Add sleep.
103067 2007-05-01  Bruno Haible  <bruno@clisp.org>
103069         * modules/sleep-tests: New file.
103070         * tests/test-sleep.c: New file.
103072         * modules/sleep: New file.
103073         * lib/sleep.c: New file.
103074         * m4/sleep.m4: New file.
103075         * lib/unistd_.h (sleep): New declaration.
103076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
103077         HAVE_SLEEP.
103078         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
103079         * doc/functions/sleep.texi: Document the sleep module.
103081 2007-05-01  Bruno Haible  <bruno@clisp.org>
103083         * lib/sigprocmask.h: Remove file.
103084         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
103085         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
103086         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
103087         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
103088         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
103089         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
103090         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
103091         HAVE_SIGSET_T as a shell variable.
103092         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
103093         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
103094         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
103095         (Depends-on): Add signal. Remove verify.
103096         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
103097         (Include): Mention <signal.h> instead of sigprocmask.h.
103098         * NEWS: Mention the change.
103099         * lib/fatal-signal.c: Don't include sigprocmask.h.
103101 2007-05-01  Bruno Haible  <bruno@clisp.org>
103103         * modules/signal: New file.
103104         * lib/signal_.h: New file.
103105         * m4/signal_h.m4: New file.
103107 2007-05-01  Bruno Haible  <bruno@clisp.org>
103109         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
103110         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
103111         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
103112         HAVE_WCTYPE_CTMP_BUG into wctype.h.
103114 2007-05-01  Bruno Haible  <bruno@clisp.org>
103116         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
103117         configure time.
103118         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
103119         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
103120         * modules/sys_stat (Makefile.am): Substitute their values into
103121         sys/stat.h.
103123 2007-05-01  Bruno Haible  <bruno@clisp.org>
103125         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
103126         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
103127         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
103129 2007-05-01  Bruno Haible  <bruno@clisp.org>
103131         * doc/header/assert.texi: Undo last change: don't mention the gnulib
103132         'assert' module here.
103134 2007-05-01  Bruno Haible  <bruno@clisp.org>
103136         * doc/functions/*.texi: New files.
103137         * doc/functions/google-ranking.txt: New file.
103138         * doc/gnulib.texi (Function Substitutes): New chapter.
103139         (ctime, inet_ntoa): Remove sections.
103140         * doc/ctime.texi: Remove file.
103141         * doc/inet_ntoa.texi: Remove file.
103142         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
103143         dependencies.
103144         (%.info): New rule, specifying a --reference-limit.
103146 2007-05-01  Bruno Haible  <bruno@clisp.org>
103148         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
103150 2007-05-01  Bruno Haible  <bruno@clisp.org>
103152         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
103153         the portability of 'mkdir' to mingw systems.
103155 2007-05-01  Bruno Haible  <bruno@clisp.org>
103157         * doc/headers/google-ranking.txt: New file.
103159 2007-04-30  Eric Blake  <ebb9@byu.net>
103161         Prefer fseeko to fseek.
103162         * modules/getpass (Depends-on): Add fseeko.
103163         * lib/getpass.c (getpass): Use fseeko, not fseek.
103165 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
103167         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
103168         assumes the sorting is stable, while most qsort implementations
103169         are not.  Use argument addresses to ensure they never compare as
103170         equal.
103172         * tests/test-argp-2.sh (usage-indent test): Fix output
103173         (func_compare): Restore diff options
103174         * tests/test-argp.c: Restore #include "progname.h"
103176 2007-04-29  Bruno Haible  <bruno@clisp.org>
103178         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
103179         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
103180         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
103181         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103182         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
103183         (configure.ac): Define CHECK_SNPRINTF_POSIX.
103184         (TESTS, check_PROGRAMS): Add test-snprintf.
103185         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
103186         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
103187         (TESTS, check_PROGRAMS): Add test-vsnprintf.
103188         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
103189         assertions that fail on HP-UX, OSF/1, or IRIX.
103190         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
103192 2007-04-29  Bruno Haible  <bruno@clisp.org>
103194         * MODULES.html.sh (posix_functions): Remove 'contents'.
103196 2007-04-29  Karl Berry  <karl@gnu.org>
103198         * config/srclist.txt (gendocs_template_min): new entry.
103200 2007-04-29  Bruno Haible  <bruno@clisp.org>
103202         Work around fpurge bug on BSD systems.
103203         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
103204         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
103205         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
103206         fpurge to rpl_fpurge if the system already has this function.
103207         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
103208         the case where the system already has this function. Correct invariants
103209         on BSD systems.
103210         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
103211         BSD systems.
103213 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
103215         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
103216         proposed by Sven Verdoolaege.
103218         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
103219         options.
103220         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
103221         (usage and help tests): Update
103223 2007-04-29  Bruno Haible  <bruno@clisp.org>
103225         * tests/test-fflush.c (main): Use a file of size 17, not 10.
103226         Print more information in case of failure. Disable a test on BeOS.
103228 2007-04-29  Bruno Haible  <bruno@clisp.org>
103230         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
103231         This helps debugging on systems on which no gdb is available.
103233 2007-04-29  Bruno Haible  <bruno@clisp.org>
103235         * lib/freading.h: Improve comments.
103236         * lib/fwriting.h: Likewise.
103237         * tests/test-freading.c (main): Don't check freading immediately after
103238         repositioning. Needed for glibc.
103240 2007-04-29  Bruno Haible  <bruno@clisp.org>
103242         * lib/freading.c (freading): Trivial simplification.
103244 2007-04-28  Bruno Haible  <bruno@clisp.org>
103246         * tests/test-fwriting.c (main): Also test the interaction between
103247         fflush and fwriting.
103248         * modules/fwriting-tests (Depends-on): Add fflush.
103250         * tests/test-freading.c (main): Also test the interaction between
103251         fflush and freading.
103252         * modules/freading-tests (Depends-on): Add fflush.
103254 2007-04-28  Bruno Haible  <bruno@clisp.org>
103256         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
103257         fseeko and ftello.
103258         Suggested by Eric Blake.
103260 2007-04-28  Jim Meyering  <jim@meyering.net>
103262         Avoid false-negative in gl_STDINT_H's C99 conformance test.
103263         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
103264         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
103266 2007-04-27  Eric Blake  <ebb9@byu.net>
103268         * doc/headers/assert.texi (assert.h): Document assert module use.
103270 2007-04-27  Bruno Haible  <bruno@clisp.org>
103272         * doc/headers/*.texi: New files.
103273         * doc/gnulib.texi (Header File Substitutes): New chapter.
103274         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
103275         dependencies.
103276         (standards.info ,standards.html, standards.dvi): Update dependencies.
103277         (mostlyclean, clean): New targets.
103279 2007-04-27  Bruno Haible  <bruno@clisp.org>
103281         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
103282         * modules/sysexits (Files, Makefile.am): Update.
103284         * lib/sys_socket_.h: Renamed from lib/socket_.h.
103285         * modules/sys_socket (Files, Makefile.am): Update.
103287         * lib/sys_stat_.h: Renamed from lib/stat_.h.
103288         * modules/sys_stat (Files, Makefile.am): Update.
103290 2007-04-27  Eric Blake  <ebb9@byu.net>
103292         * lib/freading.h: Improve comments.
103293         * lib/fwriting.h: Likewise.
103294         * lib/fflush.c: Likewise.
103296         Fix closein for mingw.
103297         * modules/closein-tests: Add tests for closein.
103298         * tests/test-closein.c: New file.
103299         * tests/test-closein.sh: Likewise.
103300         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
103301         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
103303 2007-04-27  Bruno Haible  <bruno@clisp.org>
103305         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
103306         version is < 6.
103307         * lib/math_.h [__DECC]: Likewise.
103308         * lib/stdio_.h [__DECC]: Likewise.
103309         * lib/stdlib_.h [__DECC]: Likewise.
103310         * lib/string_.h [__DECC]: Likewise.
103311         * lib/time_.h [__DECC]: Likewise.
103312         * lib/wchar_.h [__DECC]: Likewise.
103313         * lib/wctype_.h [__DECC]: Likewise.
103315 2007-04-27  Bruno Haible  <bruno@clisp.org>
103317         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
103319 2007-04-27  Bruno Haible  <bruno@clisp.org>
103321         * lib/fflush.c: Add comments.
103322         * modules/fpurge-tests (Depends-on): Add fflush.
103323         * modules/freadable-tests (Depends-on): Likewise.
103324         * modules/fwritable-tests (Depends-on): Likewise.
103326 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
103328         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
103329         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
103330         Report by Bruno Haible <bruno@clisp.org>.
103332 2007-04-26  Eric Blake  <ebb9@byu.net>
103334         Fix fflush on mingw.
103335         * modules/fflush (Depends-on): Add freading.
103336         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
103337         but unread data.
103339 2007-04-26  Eric Blake  <ebb9@byu.net>
103340         and Bruno Haible  <bruno@clisp.org>
103342         Implement freading and fwriting.
103343         * lib/freading.c: New file.
103344         * lib/freading.h: Likewise.
103345         * m4/freading.m4: Likewise.
103346         * modules/freading: Likewise.
103347         * modules/freading-tests: Likewise.
103348         * tests/test-freading.c: Likewise.
103349         * lib/fwriting.c: New file.
103350         * lib/fwriting.h: Likewise.
103351         * m4/fwriting.m4: Likewise.
103352         * modules/fwriting: Likewise.
103353         * modules/fwriting-tests: Likewise.
103354         * tests/test-fwriting.c: Likewise.
103355         * MODULES.html.sh (File stream based Input/Output): Mention them.
103357 2007-04-26  Bruno Haible  <bruno@clisp.org>
103359         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
103360         'long' when we assume it.
103361         Suggested by Eric Blake.
103363 2007-04-26  Bruno Haible  <bruno@clisp.org>
103365         Ensure fseeko, ftello are declared on glibc systems.
103366         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
103367         * modules/fseeko (configure.ac-early): Likewise.
103368         * modules/ftello (configure.ac-early): Likewise.
103369         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
103370         AC_FUNC_FSEEKO for this.
103371         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
103372         (gl_CHECK_FSEEKO): Remove macro.
103374 2007-04-26  Bruno Haible  <bruno@clisp.org>
103376         * tests/test-fflush.c (main): Also check the ftell result after
103377         fflush and fseek/fseeko.
103378         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
103379         file descriptor position cache in the stream.
103380         * lib/fseeko.c (rpl_fseeko): Likewise.
103382 2007-04-26  Bruno Haible  <bruno@clisp.org>
103384         * modules/fflush-tests (Depends-on): Add fseeko.
103386 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
103387             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103389         * lib/argz_.h: ensure error_t definition is obtained in same
103390         mechanism system argz.h would have.
103391         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
103392         argz facilities are known bad.  Err on the side of caution if
103393         cross-compiling.
103395 2007-04-25  Eric Blake  <ebb9@byu.net>
103397         * lib/fpurge.c (includes): Use stdlib.h for free.
103398         * tests/test-fflush.c (main): Also test fflush-fseeko.
103400 2007-04-25  Bruno Haible  <bruno@clisp.org>
103402         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
103403         * lib/fseeko.c: New file.
103404         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
103405         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
103406         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
103407         gl_FUNC_FSEEKO.
103408         (gl_FUNC_FSEEKO): Invoke it.
103409         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
103410         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
103411         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
103413 2007-04-25  Bruno Haible  <bruno@clisp.org>
103415         * modules/fflush (Depends-on): Add ftello.
103417 2007-04-25  Bruno Haible  <bruno@clisp.org>
103419         * modules/ftello-tests: New file.
103420         * tests/test-ftello.c: New file.
103422         * modules/ftello: New file.
103423         * m4/ftello.m4: New file.
103424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
103425         HAVE_FTELLO.
103426         * lib/stdio_.h (ftello): New declaration.
103427         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
103428         HAVE_FTELLO.
103430 2007-04-25  Bruno Haible  <bruno@clisp.org>
103432         * modules/fseeko-tests: New file.
103433         * tests/test-fseeko.c: New file.
103435         * modules/fseeko: New file.
103436         * m4/fseeko.m4: New file.
103437         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
103438         HAVE_FSEEKO.
103439         * lib/stdio_.h (fseeko): New declaration.
103440         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
103441         HAVE_FSEEKO.
103443 2007-04-25  Bruno Haible  <bruno@clisp.org>
103445         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
103447 2007-04-25  Bruno Haible  <bruno@clisp.org>
103449         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
103450         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
103451         * tests/test-unistd.c: Likewise.
103452         * tests/test-fcntl.c: Likewise.
103454 2007-04-23  Eric Blake  <ebb9@byu.net>
103456         * lib/fflush.c: Fix missing include.
103457         Reported by Bruno Haible.
103459 2007-04-23  Bruno Haible  <bruno@clisp.org>
103461         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
103462         Reported by Eric Blake.
103464 2007-04-23  Bruno Haible  <bruno@clisp.org>
103466         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
103468 2007-04-23  Bruno Haible  <bruno@clisp.org>
103470         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
103472 2007-04-23  Bruno Haible  <bruno@clisp.org>
103474         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
103475         Needed on HP-UX 11.
103477 2007-04-16  Eric Blake  <ebb9@byu.net>
103479         Make fflush rely on fpurge.
103480         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
103481         open coding all variants.
103482         * modules/fflush (Depends-on): Add fpurge and unistd.
103483         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
103484         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
103486         Fix --with-tests compilation on cygwin.
103487         * modules/argmatch-tests (Makefile.am): List gnulib library first
103488         in LDADD.
103489         * modules/argp-tests (Makefile.am): Likewise.
103490         * modules/array-list-tests (Makefile.am): Likewise.
103491         * modules/array-oset-tests (Makefile.am): Likewise.
103492         * modules/avltree-list-tests (Makefile.am): Likewise.
103493         * modules/avltree-oset-tests (Makefile.am): Likewise.
103494         * modules/avltreehash-list-tests (Makefile.am): Likewise.
103495         * modules/carray-list-tests (Makefile.am): Likewise.
103496         * modules/dirname-tests (Makefile.am): Likewise.
103497         * modules/frexp-tests (Makefile.am): Likewise.
103498         * modules/isnanl-tests (Makefile.am): Likewise.
103499         * modules/linked-list-tests (Makefile.am): Likewise.
103500         * modules/linkedhash-list-tests (Makefile.am): Likewise.
103501         * modules/lock-tests (Makefile.am): Likewise.
103502         * modules/rbtree-list-tests (Makefile.am): Likewise.
103503         * modules/rbtree-oset-tests (Makefile.am): Likewise.
103504         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
103505         * modules/tls-tests (Makefile.am): Likewise.
103506         * modules/tsearch-tests (Makefile.am): Likewise.
103507         * modules/xvasprintf-tests (Makefile.am): Likewise.
103509         Fix fpurge for cygwin.
103510         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
103511         value.
103512         * modules/fpurge-tests (Depends-on): Clean up trash.
103514 2007-04-16  Simon Josefsson  <simon@josefsson.org>
103516         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
103518         * m4/autobuild.m4: Re-indent.
103520 2007-04-13  Bruno Haible  <bruno@clisp.org>
103522         * modules/fpurge-tests: New file.
103523         * tests/test-fpurge.c: New file.
103525         * modules/fpurge: New file.
103526         * lib/fpurge.h: New file.
103527         * lib/fpurge.c: New file.
103528         * m4/fpurge.m4: New file.
103530 2007-04-13  Bruno Haible  <bruno@clisp.org>
103532         * modules/fbufmode-tests: New file.
103533         * tests/test-fbufmode.c: New file.
103535         * modules/fbufmode: New file.
103536         * lib/fbufmode.h: New file.
103537         * lib/fbufmode.c: New file.
103538         * m4/fbufmode.m4: New file.
103540 2007-04-13  Bruno Haible  <bruno@clisp.org>
103542         * modules/fwritable-tests: New file.
103543         * tests/test-fwritable.c: New file.
103545         * modules/fwritable: New file.
103546         * lib/fwritable.h: New file.
103547         * lib/fwritable.c: New file.
103548         * m4/fwritable.m4: New file.
103550 2007-04-13  Bruno Haible  <bruno@clisp.org>
103552         * modules/freadable-tests: New file.
103553         * tests/test-freadable.c: New file.
103555         * modules/freadable: New file.
103556         * lib/freadable.h: New file.
103557         * lib/freadable.c: New file.
103558         * m4/freadable.m4: New file.
103560 2007-04-13  Bruno Haible  <bruno@clisp.org>
103562         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
103563         MOSTLYCLEANFILES.
103565 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
103567         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
103568         gzip bootstrap.conf to avoid dragging in i18n machinery.
103569         (gnulib_tool_option): Use it.
103571 2007-04-13  Bruno Haible  <bruno@clisp.org>
103573         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
103574         %F directives.
103575         * tests/test-vasprintf-posix.c (test_function): Likewise.
103576         * tests/test-snprintf-posix.h (test_function): Likewise.
103577         * tests/test-sprintf-posix.h (test_function): Likewise.
103578         * tests/test-fprintf-posix.h (test_function): Likewise.
103579         * tests/test-printf-posix.h (test_function): Likewise.
103580         * tests/test-fprintf-posix.out: Likewise.
103582 2007-04-13  Bruno Haible  <bruno@clisp.org>
103584         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
103585         * modules/tls-tests (configure.ac): Likewise.
103586         Reported by Arto C. Nirkko <anirkko@insel.ch>.
103588 2007-04-13  Bruno Haible  <bruno@clisp.org>
103590         * lib/tls.c (glthread_tls_get): Fix return type.
103591         Patch by Arto C. Nirkko <anirkko@insel.ch>.
103593 2007-04-12  Eric Blake  <ebb9@byu.net>
103595         * modules/gettime (Depends-on): Remove gettime.
103596         Reported by Dmitry V. Levin.
103598 2007-04-12  Bruno Haible  <bruno@clisp.org>
103600         * modules/fflush (Include): Mention <stdio.h>.
103601         * modules/strtoimax (Include): Mention <inttypes.h>.
103602         * modules/strtoumax (Include): Likewise.
103604 2007-04-12  Eric Blake  <ebb9@byu.net>
103606         * .cvsignore: New file.
103607         * .gitignore: Likewise.
103609 2007-04-12  Bruno Haible  <bruno@clisp.org>
103611         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
103612         not before, since $(LDADD) often contains libgnu.a.
103613         * modules/striconv-tests (test_striconv_LDADD): Likewise.
103614         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
103615         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
103616         Needed on Cygwin.
103618 2007-04-12  Eric Blake  <ebb9@byu.net>
103620         Work around glibc's failure to flush stdin on fclose.
103621         * lib/closein.c (close_stdin): Flush stdin before closing.
103623         Work around glibc's failure to reset seekable stdin on exit.
103624         * modules/closein: New module.
103625         * lib/closein.c: New file.
103626         * lib/closein.h: Likewise.
103627         * m4/closein.m4: Likewise.
103628         * MODULES.html.sh (File stream based Input/Output): Document it.
103630 2007-04-12  Simon Josefsson  <simon@josefsson.org>
103632         * gnulib-tool: Rename generated 'autobuild' script to
103633         'do-autobuild' in --create-megatestdir output.
103635         * doc/gnulib.texi (Build robot for gnulib): Fix.
103637 2007-04-12  Simon Josefsson  <simon@josefsson.org>
103639         * modules/sysexits (Depends-on): Add absolute-header.
103641 2007-04-12  Eric Blake  <ebb9@byu.net>
103643         No need to preserve errno on success.
103644         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
103645         Reported by Bruno Haible.
103647 2007-04-12  Simon Josefsson  <simon@josefsson.org>
103649         * MODULES.html.sh (Support for maintaining and releasing
103650         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
103652 2007-04-12  Simon Josefsson  <simon@josefsson.org>
103654         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
103656 2007-04-12  Simon Josefsson  <simon@josefsson.org>
103658         * modules/autobuild: New module.
103660         * m4/autobuild.m4: New file.
103662 2007-04-11  Bruno Haible  <bruno@clisp.org>
103664         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
103665         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
103666         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
103667         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
103668         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103669         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103670         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103671         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
103672         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103673         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103674         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
103675         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103676         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103677         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
103678         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103679         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103680         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
103681         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103682         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103683         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
103684         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103685         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
103687         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103688         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103689         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
103690         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
103691         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
103692         Reported by Eric Blake.
103694 2007-04-11  Bruno Haible  <bruno@clisp.org>
103696         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
103698 2007-04-10  Bruno Haible  <bruno@clisp.org>
103700         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
103701         for NaN and Infinity. Needed on FreeBSD 6.1.
103702         * tests/test-vasnprintf-posix.c (test_function): Undo last change
103703         regarding results for "%010a" of Infinity and NaN.
103704         * tests/test-vasprintf-posix.c (test_function): Likewise.
103705         * tests/test-snprintf-posix.h (test_function): Likewise.
103706         * tests/test-sprintf-posix.h (test_function): Likewise.
103707         * tests/test-fprintf-posix.h (test_function): Likewise.
103708         * tests/test-printf-posix.h (test_function): Likewise.
103709         * tests/test-fprintf-posix.out: Likewise.
103711 2007-04-10  Bruno Haible  <bruno@clisp.org>
103713         * modules/locale-tests: New file.
103714         * tests/test-locale.c: New file.
103716         * modules/locale: New file.
103717         * lib/locale_.h: New file.
103718         * m4/locale_h.m4: New file.
103720 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
103721             Bruno Haible  <bruno@clisp.org>
103723         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
103724         be determined, test for availability of the copysignf, copysign,
103725         copysignl functions.
103726         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
103727         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
103728         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
103730 2007-04-09  Eric Blake  <ebb9@byu.net>
103732         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
103733         * modules/stdio (Makefile.am): Support fflush.
103734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
103735         * modules/fflush: New file.
103736         * lib/fflush.c: Likewise.
103737         * m4/fflush.m4: Likewise.
103738         * modules/fflush-tests: New test.
103739         * tests/test-fflush.c: Likewise.
103740         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
103742 2007-04-06  Bruno Haible  <bruno@clisp.org>
103744         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
103745         (VASNPRINTF): Use signbit for faster determination whether to print a
103746         minus sign.
103747         * modules/vasnprintf (Files): Remove lib/float+.h.
103748         * modules/fprintf-posix (Depends-on): Add signbit.
103749         * modules/snprintf-posix (Depends-on): Likewise.
103750         * modules/sprintf-posix (Depends-on): Likewise.
103751         * modules/vasnprintf-posix (Depends-on): Likewise.
103752         * modules/vasprintf-posix (Depends-on): Likewise.
103753         * modules/vfprintf-posix (Depends-on): Likewise.
103754         * modules/vsnprintf-posix (Depends-on): Likewise.
103755         * modules/vsprintf-posix (Depends-on): Likewise.
103757 2007-04-06  Bruno Haible  <bruno@clisp.org>
103759         * tests/test-frexp.c (main): Test also the sign bit of zero results.
103760         * tests/test-frexpl.c (main): Likewise.
103761         * tests/test-ldexpl.c (main): Likewise.
103762         * modules/frexp-tests (Depends-on): Add signbit.
103763         * modules/frexpl-tests (Depdends-on): Likewise.
103764         * modules/ldexpl-tests (Depdends-on): Likewise.
103766 2007-04-06  Bruno Haible  <bruno@clisp.org>
103768         * modules/signbit-tests: New file.
103769         * tests/test-signbit.c: New file.
103771         * modules/signbit: New file.
103772         * lib/signbitf.c: New file.
103773         * lib/signbitd.c: New file.
103774         * lib/signbitl.c: New file.
103775         * m4/signbit.m4: New file.
103776         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
103777         (signbit): New macro.
103778         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
103779         REPLACE_SIGNBIT.
103780         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
103781         REPLACE_FREXPL into math.h.
103783 2007-04-06  Bruno Haible  <bruno@clisp.org>
103785         * modules/isnanf-nolibm-tests: New file.
103786         * tests/test-isnanf.c: New file.
103788         * modules/isnanf-nolibm: New file.
103789         * lib/isnanf.h: New file.
103790         * lib/isnanf.c: New file.
103791         * lib/isnan.c: Consider the USE_FLOAT macro.
103792         * m4/isnanf.m4: New file.
103794 2007-04-06  Bruno Haible  <bruno@clisp.org>
103796         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
103797         (Link): New section.
103799         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
103801 2007-04-06  Bruno Haible  <bruno@clisp.org>
103803         Assume the 'long double' type.
103804         * m4/longdouble.m4: Remove file.
103805         * config/srclist.txt: Don't mention longdouble.m4.
103806         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
103807         * lib/float+.h: Likewise.
103808         * lib/frexp.c: Likewise.
103809         * lib/printf-args.h: Likewise.
103810         * lib/printf-args.c: Likewise.
103811         * lib/printf-frexp.c: Likewise.
103812         * lib/printf-parse.c: Likewise.
103813         * lib/vasnprintf.c: Likewise.
103814         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
103815         * m4/intl.m4: Likewise.
103816         * m4/isnanl.m4: Likewise.
103817         * m4/printf.m4: Likewise.
103818         * m4/printf-frexpl.m4: Likewise.
103819         * m4/vasnprintf.m4: Likewise.
103820         * modules/allocsa (Files): Remove m4/longdouble.m4.
103821         * modules/gettext (Files): Likewise.
103822         * modules/relocatable-prog-wrapper (Files): Likewise.
103823         * modules/vasnprintf (Files): Likewise.
103824         * modules/isnanl (Files): Likewise.
103825         (Include): Simplify.
103826         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
103827         (Include): Simplify.
103828         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
103829         (Include): Simplify.
103830         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
103831         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
103832         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
103833         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
103834         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
103835         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
103836         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
103837         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
103838         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
103839         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
103840         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
103841         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
103842         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
103843         * tests/test-isnanl.c: Likewise.
103844         * tests/test-snprintf-posix.h: Likewise.
103845         * tests/test-sprintf-posix.h: Likewise.
103846         * tests/test-vasnprintf-posix.c: Likewise.
103847         * tests/test-vasnprintf-posix2.c: Likewise.
103848         * tests/test-vasprintf-posix.c: Likewise.
103850 2007-04-06  Bruno Haible  <bruno@clisp.org>
103852         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
103853         * lib/math_.h [__DECC]: Include the overridden include file through
103854         #include_next, outside the double-inclusion guard.
103855         * lib/stdio_.h [__DECC]: Likewise.
103856         * lib/stdlib_.h [__DECC]: Likewise.
103857         * lib/string_.h [__DECC]: Likewise.
103858         * lib/time_.h [__DECC]: Likewise.
103859         * lib/wchar_.h [__DECC]: Likewise.
103860         * lib/wctype_.h [__DECC]: Likewise.
103861         * lib/inttypes_.h [__DECC]: Likewise.
103862         Reported by Albert Chin <china@thewrittenword.com> in
103863         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
103865 2007-04-04  Eric Blake  <ebb9@byu.net>
103867         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
103868         1.5.x.
103870 2007-04-04  Bruno Haible  <bruno@clisp.org>
103872         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
103873         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
103875 2007-04-04  Bruno Haible  <bruno@clisp.org>
103877         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
103878         results for "%010a" of Infinity and NaN.
103879         * tests/test-vasprintf-posix.c (test_function): Likewise.
103880         * tests/test-snprintf-posix.h (test_function): Likewise.
103881         * tests/test-sprintf-posix.h (test_function): Likewise.
103882         * tests/test-fprintf-posix.h (test_function): Remove these tests.
103883         * tests/test-printf-posix.h (test_function): Likewise.
103884         * tests/test-fprintf-posix.out: Update.
103885         Needed for FreeBSD 6.1.
103887 2007-04-04  Bruno Haible  <bruno@clisp.org>
103889         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
103890         directly used by the gnulib modules nor by gnulib-tool.
103892 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
103894         * DEPENDENCIES: Give overall description of version dependency
103895         desirability.  Use more-typical names for apps.
103896         Add shell, coreutils, diffutils, grep, tar, gzip.
103898 2007-04-04  Simon Josefsson  <simon@josefsson.org>
103900         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
103902 2007-04-04  Karl Berry  <karl@gnu.org>
103904         * MODULES.html.sh (func_module): missing '.
103906 2007-04-03  Bruno Haible  <bruno@clisp.org>
103908         * modules/argmatch-tests (Makefile.am): New variable
103909         test_argmatch_LDADD.
103910         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
103911         * modules/array-list-tests (Makefile.am): New variable
103912         test_array_list_LDADD.
103913         * modules/array-oset-tests (Makefile.am): New variable
103914         test_array_oset_LDADD.
103915         * modules/avltree-list-tests (Makefile.am): New variable
103916         test_avltree_list_LDADD.
103917         * modules/avltree-oset-tests (Makefile.am): New variable
103918         test_avltree_oset_LDADD.
103919         * modules/avltreehash-list-tests (Makefile.am): New variable
103920         test_avltreehash_list_LDADD.
103921         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
103922         test_canonicalize_lgpl_LDADD.
103923         * modules/carray-list-tests (Makefile.am): New variable
103924         test_carray_list_LDADD.
103925         * modules/dirname-tests (Makefile.am): New variable
103926         test_dirname_LDADD.
103927         * modules/linked-list-tests (Makefile.am): New variable
103928         test_linked_list_LDADD.
103929         * modules/linkedhash-list-tests (Makefile.am): New variable
103930         test_linkedhash_list_LDADD.
103931         * modules/rbtree-list-tests (Makefile.am): New variable
103932         test_rbtree_list_LDADD.
103933         * modules/rbtree-oset-tests (Makefile.am): New variable
103934         test_rbtree_oset_LDADD.
103935         * modules/rbtreehash-list-tests (Makefile.am): New variable
103936         test_rbtreehash_list_LDADD.
103937         * modules/xvasprintf-tests (Makefile.am): New variable
103938         test_xvasprintf_LDADD.
103939         Reported by Eric Blake.
103941 2007-04-03  Eric Blake  <ebb9@byu.net>
103943         * DEPENDENCIES: Weaken m4 requirements.
103945 2007-04-03  Bruno Haible  <bruno@clisp.org>
103947         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
103948         * modules/isnanl-tests (configure.ac): Likewise.
103950 2007-04-03  Ben Pfaff  <blp@gnu.org>
103952         * modules/iconv_open: Add $(srcdir)/ to source directory
103953         references in Makefile fragments that call gperf, to fix VPATH
103954         builds.
103956 2007-04-03  Bruno Haible  <bruno@clisp.org>
103958         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
103959         * lib/ldexpl.c: Undo last change.
103961 2007-04-03  Bruno Haible  <bruno@clisp.org>
103963         * modules/printf-frexpl (Depends-on): Undo last change.
103964         (Files): Add m4/ldexpl.m4.
103966 2007-04-03  Bruno Haible  <bruno@clisp.org>
103968         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
103969         * modules/isnanl (Link): New section.
103971         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
103972         * modules/frexp (Link): New section.
103974         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
103975         * modules/frexpl (Link): New section.
103977         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
103978         * modules/ldexpl (Link): New section.
103980 2007-04-03  Bruno Haible  <bruno@clisp.org>
103982         * modules/TEMPLATE-EXTENDED: New file.
103983         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
103985 2007-04-03  Bruno Haible  <bruno@clisp.org>
103987         * DEPENDENCIES: New file.
103988         Suggested by Simon Josefsson.
103990 2007-04-03  Bruno Haible  <bruno@clisp.org>
103992         * doc/gnulib.texi: Escape @.
103994 2007-04-03  James Youngman  <jay@gnu.org>
103995         and Paul Eggert  <eggert@cs.ucla.edu>
103997         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
103998         birthtime on all systems that have birthtime, not just those which
103999         use st_birthtimensec rather than st_birthtim.  Putting zero in
104000         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
104001         that the birth time is not available for files on an NFS mount.
104003 2007-04-03  Simon Josefsson  <simon@josefsson.org>
104005         * modules/memxor: Move back from crypto/, suggested by Bruno.
104006         * modules/crypto/hmac-sha1: Fix memxor dependency.
104008         * modules/crypto/gc: Moved from ../.
104010 2007-04-02  Eric Blake  <ebb9@byu.net>
104012         * lib/ldexpl.c (includes): Avoid libm.
104014         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
104016 2007-04-02  Bruno Haible  <bruno@clisp.org>
104018         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
104019         on IRIX.
104021 2007-04-02  Bruno Haible  <bruno@clisp.org>
104023         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
104024         x86 or x86_64 platforms running MacOS X.
104025         Reported by Ryan Schmidt <@ryandesign.com>.
104027 2007-04-02  Bruno Haible  <bruno@clisp.org>
104029         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
104030         i386.
104032 2007-04-01  Simon Josefsson  <simon@josefsson.org>
104034         * modules/crypto/arcfour: Moved from ../.
104035         * modules/crypto/arcfour-tests: Moved from ../.
104036         * modules/crypto/arctwo: Moved from ../.
104037         * modules/crypto/arctwo-tests: Moved from ../.
104038         * modules/crypto/des: Moved from ../.
104039         * modules/crypto/des-tests: Moved from ../.
104040         * modules/crypto/gc-arcfour: Moved from ../.
104041         * modules/crypto/gc-arcfour-tests: Moved from ../.
104042         * modules/crypto/gc-arctwo: Moved from ../.
104043         * modules/crypto/gc-arctwo-tests: Moved from ../.
104044         * modules/crypto/gc-des: Moved from ../.
104045         * modules/crypto/gc-des-tests: Moved from ../.
104046         * modules/crypto/gc-hmac-md5: Moved from ../.
104047         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
104048         * modules/crypto/gc-hmac-sha1: Moved from ../.
104049         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
104050         * modules/crypto/gc-md2: Moved from ../.
104051         * modules/crypto/gc-md2-tests: Moved from ../.
104052         * modules/crypto/gc-md4: Moved from ../.
104053         * modules/crypto/gc-md4-tests: Moved from ../.
104054         * modules/crypto/gc-md5: Moved from ../.
104055         * modules/crypto/gc-md5-tests: Moved from ../.
104056         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
104057         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
104058         * modules/crypto/gc-random: Moved from ../.
104059         * modules/crypto/gc-rijndael: Moved from ../.
104060         * modules/crypto/gc-rijndael-tests: Moved from ../.
104061         * modules/crypto/gc-sha1: Moved from ../.
104062         * modules/crypto/gc-sha1-tests: Moved from ../.
104063         * modules/crypto/gc-tests: Moved from ../.
104064         * modules/crypto/hmac-md5: Moved from ../.
104065         * modules/crypto/hmac-md5-tests: Moved from ../.
104066         * modules/crypto/hmac-sha1: Moved from ../.
104067         * modules/crypto/hmac-sha1-tests: Moved from ../.
104068         * modules/crypto/md2: Moved from ../.
104069         * modules/crypto/md2-tests: Moved from ../.
104070         * modules/crypto/md4: Moved from ../.
104071         * modules/crypto/md4-tests: Moved from ../.
104072         * modules/crypto/md5: Moved from ../.
104073         * modules/crypto/md5-tests: Moved from ../.
104074         * modules/crypto/memxor: Moved from ../.
104075         * modules/crypto/rijndael: Moved from ../.
104076         * modules/crypto/rijndael-tests: Moved from ../.
104077         * modules/crypto/sha1: Moved from ../.
104079 2007-03-30  James Youngman  <jay@gnu.org>
104081         * tests/test-stat-time.c (prepare_test): use chmod() rather than
104082         rename() to change the ctime of a file (because ctime is unaffected
104083         by rename on jfs2 on AIX 5.1).
104084         (main): Start by doing cleanup, in case a previous run failed leaving
104085         test files behind.
104087 2007-03-31  Bruno Haible  <bruno@clisp.org>
104089         Support old proprietary implementations of iconv.
104090         * modules/iconv_open: New file.
104091         * lib/iconv_.h: New file.
104092         * m4/iconv_h.m4: New file.
104093         * lib/iconv_open.c: New file.
104094         * lib/iconv_open-aix.gperf: New file.
104095         * lib/iconv_open-hpux.gperf: New file.
104096         * lib/iconv_open-irix.gperf: New file.
104097         * lib/iconv_open-osf.gperf: New file.
104098         * m4/iconv_open.m4: New file.
104099         * modules/linebreak (Depends-on): Add iconv_open.
104100         * modules/striconv (Depends-on): Likewise.
104101         * modules/striconveh (Depends-on): Likewise.
104102         * modules/unicodeio (Depends-on): Likewise.
104103         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
104104         (iconv_t)(-1).
104105         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
104106         conversion if cd is (iconv_t)(-1).
104107         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
104108         is not possible.
104110 2007-03-31  Bruno Haible  <bruno@clisp.org>
104112         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
104113         work on Solaris either. Protect also second use of "autodetect_jp".
104115 2007-03-31  Bruno Haible  <bruno@clisp.org>
104117         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
104118         the function is not present.
104120 2007-03-31  Bruno Haible  <bruno@clisp.org>
104122         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
104123         the function is not present.
104125 2007-03-31  Bruno Haible  <bruno@clisp.org>
104127         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
104128         a bug in HP-UX iconv_open().
104130 2007-03-31  Bruno Haible  <bruno@clisp.org>
104132         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
104133         (Mathematics <math.h>): New section, add fpieee.
104134         (Input/output <stdio.h>): Add fseterr.
104135         (Mathematics <math.h>): New section, add printf-frexp.
104136         (Container data structures): Add sublist.
104137         (Core language properties): Add fpucw, inline.
104138         (Functions for greatest-width integer types <inttypes.h>): Add
104139         imaxabs, imaxdiv, inttypes.
104140         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
104141         isnanl-nolibm, ldexp.
104142         (Mathematics <math.h>): New section, add printf-frexpl.
104143         (Support for systems lacking POSIX:2001): Add fprintf-posix,
104144         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
104145         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
104146         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
104147         (Unicode string functions): Add unistr/u*-mbtoucr.
104148         (Java): Add javacomp-script, javaexec-script.
104149         (C#): Add csharpcomp-script, csharpexec-script.
104150         (Support for building libraries and executables): Add havelib,
104151         relocatable-*.
104152         (Support for maintaining and releasing projects): Renamed from
104153         'Support for maintaining and release projects'. Add announce-gen.
104155 2007-03-31  Bruno Haible  <bruno@clisp.org>
104157         * README: Talk primarily about git.
104158         (git and CVS): Renamed from CVS.
104159         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
104160         gnulib is available through git.
104161         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
104163 2007-03-30  Bruno Haible  <bruno@clisp.org>
104165         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
104166         * lib/poll_.h: Likewise.
104167         * lib/stat_.h: Likewise.
104168         * lib/sys_time_.h: Likewise.
104169         * lib/sysexit_.h: Likewise.
104170         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
104171         * lib/stdbool_.h: Likewise.
104172         * lib/byteswap_.h: Add double-inclusion guard.
104174 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
104176         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
104178 2007-03-30  Karl Berry  <karl@gnu.org>
104180         * config/srclist-update: double space after USA in the license
104181         substitution, since that's how it's usually (?) written.
104183 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
104185         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
104186         reported by Bruno Haible.
104188 2007-03-29  Bruno Haible  <bruno@clisp.org>
104190         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
104191         a bug in AIX iconv().
104193 2007-03-29  Bruno Haible  <bruno@clisp.org>
104195         * modules/ldexpl-tests: New file.
104196         * tests/test-ldexpl.c: New file.
104198 2007-03-29  Bruno Haible  <bruno@clisp.org>
104200         * lib/ldexpl.c: Include fpucw.h.
104201         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
104202         multiplication.
104203         * modules/ldexpl (Depends-on): Add fpucw.
104205 2007-03-29  Bruno Haible  <bruno@clisp.org>
104207         * modules/ldexpl: New file.
104208         * m4/ldexpl.m4: New file.
104209         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
104210         set.
104211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
104212         REPLACE_LDEXPL.
104213         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
104214         REPLACE_LDEXPL.
104215         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
104216         gl_FUNC_LDEXPL_WORKS.
104217         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
104218         * modules/mathl (Files): Remove lib/ldexpl.c.
104219         (Depends-on): Add ldexpl.
104221 2007-03-29  Bruno Haible  <bruno@clisp.org>
104223         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
104225 2007-03-29  Bruno Haible  <bruno@clisp.org>
104227         * tests/test-striconveh.c (main): Don't assume that a direct conversion
104228         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
104229         and possibly also HP-UX.
104230         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
104231         work on AIX, IRIX, HP-UX, OSF/1.
104232         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
104233         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
104234         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
104235         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
104236         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
104237         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
104239 2007-03-29  Bruno Haible  <bruno@clisp.org>
104241         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
104243 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
104245         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
104246         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
104248 2007-03-29  Eric Blake  <ebb9@byu.net>
104250         * lib/acl-internal.h: Remove redundant include.
104251         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
104252         Cygwin when a file is locked.
104254 2007-03-29  Bruno Haible  <bruno@clisp.org>
104256         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
104257         file.
104258         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
104260 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
104262         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
104263         try to remove a parent directory if the child couldn't be removed
104264         (except for the first rmdir, which could fail because the child
104265         doesn't exist).  Problem reported by Jeff Blaine in
104266         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
104268 2007-03-28  Bruno Haible  <bruno@clisp.org>
104270         * lib/striconveh.c (utf8conv_carefully): New function.
104271         (mem_cd_iconveh_internal): Invoke it.
104273 2007-03-28  Bruno Haible  <bruno@clisp.org>
104275         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
104276         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
104277         input.
104278         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
104279         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
104280         unistr/u8-uctomb.
104282 2007-03-28  Bruno Haible  <bruno@clisp.org>
104284         * modules/unistr/u8-mbtoucr: New file.
104285         * lib/unistr/u8-mbtoucr.c: New file.
104286         * modules/unistr/u16-mbtoucr: New file.
104287         * lib/unistr/u16-mbtoucr.c: New file.
104288         * modules/unistr/u16-mbtoucr: New file.
104289         * lib/unistr/u16-mbtoucr.c: New file.
104290         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
104292 2007-03-27  Simon Josefsson  <simon@josefsson.org>
104293             Bruno Haible  <bruno@clisp.org>
104295         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
104296         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
104297         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
104299         * m4/stdio_h.m4: Add stubs for vasprintf too.
104301         * modules/stdio: Support vasprintf in sed command.
104303         * modules/vasprintf: Depend on stdio for prototypes.  Remove
104304         vasprintf.h.  Add stdio module indicator.
104306         * lib/stdio_.h: Declare asprintf and vasprintf, based on
104307         vasprintf.h.
104309         * lib/vasprintf.h: File removed.
104311         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
104312         * lib/vasprintf.c: Ditto.
104313         * lib/xvasprintf.c: Ditto.
104314         * tests/test-vasprintf-posix.c: Ditto.
104315         * tests/test-vasprintf.c: Ditto.
104317 2007-03-27  Bruno Haible  <bruno@clisp.org>
104319         Make vasnprintf multithread-safe.
104320         * lib/vasnprintf.c (decimal_point_char): New function.
104321         (VASNPRINTF): Use it.
104322         Suggested by Simon Josefsson.
104324 2007-03-27  Eric Blake  <ebb9@byu.net>
104326         Support sub-second birthtime on cygwin.
104327         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
104328         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
104329         (get_stat_birthtime): Also work with st_birthtim.
104331 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
104333         * lib/stat-time.h (USE_BIRTHTIME): Remove.
104334         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
104335         (get_stat_birthtime_ns): Do not try to use "spare" fields.
104336         (get_stat_birthtime_ns): Simplify compile-time tests.
104337         (get_stat_birthtime): Change the API to look like
104338         get_stat_mtime etc., except return a negative tv_nsec on error.
104339         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
104340         Don't check for "spare" fields.
104341         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
104342         or for struct stat.st_birthtime, as these tests aren't used.
104343         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
104345 2007-03-27  Bruno Haible  <bruno@clisp.org>
104347         * lib/stat-time.h: Include <sys/stat.h>.
104349 2007-03-27  James Youngman  <jay@gnu.org>
104351         * lib/stat-time.h (get_stat_birthtime): New function for
104352           retrieving st_birthtime as provided by UFS2 (hence *BSD).
104353         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
104354           and its variants.
104355         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
104356         * modules/stat-time-test: New file.
104357         * tests/test-stat-time.c: New test, devised by Bruno Haible.
104359 2007-03-26  Bruno Haible  <bruno@clisp.org>
104361         Better support of signalling NaNs.
104362         * lib/atanl.c: Include isnanl.h.
104363         (atanl): Perform test for NaN at the beginning of the function and
104364         through a call to isnanl.
104365         * lib/cosl.c: Include isnanl.h.
104366         (cosl): Perform test for NaN at the beginning of the function and
104367         through a call to isnanl.
104368         * lib/ldexpl.c: Include isnanl.h.
104369         (ldexpl): Perform test for NaN through a call to isnanl.
104370         * lib/logl.c: Include isnanl.h.
104371         (logl): Perform test for NaN at the beginning of the function and
104372         through a call to isnanl.
104373         * lib/sinl.c: Include isnanl.h.
104374         (sinl): Perform test for NaN at the beginning of the function and
104375         through a call to isnanl.
104376         * lib/sqrtl.c: Include isnanl.h.
104377         (sqrtl): Perform test for NaN at the beginning of the function and
104378         through a call to isnanl.
104379         * lib/tanl.c: Include isnanl.h.
104380         (tanl): Perform test for NaN at the beginning of the function and
104381         through a call to isnanl.
104382         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
104383         * modules/mathl (Depends-on): Add isnanl.
104385 2007-03-26  Eric Blake  <ebb9@byu.net>
104387         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
104388         regression in logic sense of previous patch.
104390 2007-03-26  Bruno Haible  <bruno@clisp.org>
104392         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
104393         unportable shell command "if ! ...".
104394         Reported by Ralf Wildenhues.
104396 2007-03-25  Bruno Haible  <bruno@clisp.org>
104398         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
104399         <sysexits.h> file, and only add EX_CONFIG.
104400         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
104401         absolute file name and whether it is sufficient. Substitute also
104402         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
104403         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
104404         ABSOLUTE_SYSEXITS_H into sysexits.h.
104406 2007-03-25  Bruno Haible  <bruno@clisp.org>
104408         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
104409         hints is NULL.
104411 2007-03-25  Bruno Haible  <bruno@clisp.org>
104413         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
104414         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
104416 2007-03-25  Bruno Haible  <bruno@clisp.org>
104418         * lib/vasnprintf.c: Include langinfo.h.
104419         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
104420         multithread-safe.
104421         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
104422         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
104423         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104424         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104425         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104426         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104427         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104428         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
104429         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104430         Reported by Simon Josefsson.
104432 2007-03-25  Bruno Haible  <bruno@clisp.org>
104434         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
104435         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
104436         * modules/vasnprintf (Depends-on): Add stdint.
104438 2007-03-25  Bruno Haible  <bruno@clisp.org>
104440         * modules/fpieee: New file.
104441         * m4/fpieee.m4: New file.
104442         * modules/isnan-nolibm (Depends-on): Add fpieee.
104443         * modules/isnanl-nolibm (Depends-on): Add fpieee.
104444         * modules/isnanl (Depends-on): Add fpieee.
104446 2007-03-25  Bruno Haible  <bruno@clisp.org>
104448         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
104450 2007-03-25  Bruno Haible  <bruno@clisp.org>
104452         Avoid test failures on IRIX 6.5.
104453         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
104454         (main): Use it.
104455         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
104456         macros.
104457         (main): Use them.
104459 2007-03-25  Bruno Haible  <bruno@clisp.org>
104461         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
104462         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
104463         exists but doesn't work.
104464         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
104465         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
104466         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
104467         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
104468         math.h.
104470 2007-03-25  Bruno Haible  <bruno@clisp.org>
104472         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
104473         returns inf. Needed on IRIX 6.5.
104475 2007-03-25  Bruno Haible  <bruno@clisp.org>
104477         * tests/test-frexpl.c: Include isnanl-nolibm.h.
104478         (main): Use isnanl instead of x != x idiom.
104479         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
104481         * tests/test-frexp.c: Include isnan.h.
104482         (main): Use isnan instead of x != x idiom.
104483         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
104485 2007-03-25  Bruno Haible  <bruno@clisp.org>
104487         * tests/test-frexp.c (NaN): New function/macro.
104488         (main): Use it instead of 0.0 / 0.0.
104489         * tests/test-isnan.c (NaN): New function/macro.
104490         (main): Use it instead of 0.0 / 0.0.
104491         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
104492         (test_function): Use it instead of 0.0 / 0.0.
104493         * tests/test-vasprintf-posix.c (NaN): New function/macro.
104494         (test_function): Use it instead of 0.0 / 0.0.
104495         * tests/test-snprintf-posix.h (NaN): New function/macro.
104496         (test_function): Use it instead of 0.0 / 0.0.
104497         * tests/test-sprintf-posix.h (NaN): New function/macro.
104498         (test_function): Use it instead of 0.0 / 0.0.
104499         * tests/test-fprintf-posix.h (NaN): New function/macro.
104500         (test_function): Use it instead of 0.0 / 0.0.
104501         * tests/test-printf-posix.h (NaN): New function/macro.
104502         (test_function): Use it instead of 0.0 / 0.0.
104504         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
104506 2007-03-25  Bruno Haible  <bruno@clisp.org>
104508         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
104510 2007-03-25  Bruno Haible  <bruno@clisp.org>
104512         * lib/regexec.c (merge_state_with_log): Make static.
104514 2007-03-25  Bruno Haible  <bruno@clisp.org>
104516         * lib/trigl.c (kernel_rem_pio2): Make static.
104518 2007-03-25  Bruno Haible  <bruno@clisp.org>
104520         * lib/sincosl.c (sincosl_table): Make static.
104522 2007-03-25  Bruno Haible  <bruno@clisp.org>
104524         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
104525         if the compiler does not support C99.
104527 2007-03-25  Bruno Haible  <bruno@clisp.org>
104529         * modules/time (Makefile.am): Ensure all rule action lines start with a
104530         tab.
104532 2007-03-24  Bruno Haible  <bruno@clisp.org>
104534         * modules/tsearch-tests: New file.
104535         * tests/test-tsearch.sh: New file.
104536         * tests/test-tsearch.c: New file, mostly copied from glibc.
104538         * modules/search-tests: New file.
104539         * tests/test-search.c: New file.
104541         * modules/search: New file.
104542         * lib/search_.h: New file, incorporating lib/tsearch.h.
104543         * m4/search_h.m4: New file.
104544         * lib/tsearch.h: Remove file.
104545         * lib/tsearch.c: Include search.h instead of tsearch.h.
104546         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
104547         HAVE_TSEARCH.
104548         * modules/tsearch (Files): Remove lib/tsearch.h.
104549         (Depends-on): Add search.
104550         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
104551         (Include): Change tsearch.h into search.h.
104553 2007-03-24  Bruno Haible  <bruno@clisp.org>
104555         * modules/fpucw: New file.
104556         * lib/fpucw.h: New file.
104557         * lib/frexp.c: Include fpucw.h.
104558         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
104559         (FUNC): Use them.
104560         * lib/printf-frexp.c: Include fpucw.h.
104561         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
104562         (FUNC): Use them.
104563         * lib/vasnprintf.c: Include fpucw.h.
104564         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
104565         'long double' calculations.
104566         * tests/test-frexpl.c: Include fpucw.h.
104567         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
104568         * tests/test-printf-frexpl.c: Include fpucw.h.
104569         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
104570         * modules/frexpl (Depends-on): Add fpucw.
104571         * modules/printf-frexpl (Depends-on): Likewise.
104572         * modules/fprintf-posix (Depends-on): Likewise.
104573         * modules/snprintf-posix (Depends-on): Likewise.
104574         * modules/sprintf-posix (Depends-on): Likewise.
104575         * modules/vasnprintf-posix (Depends-on): Likewise.
104576         * modules/vasprintf-posix (Depends-on): Likewise.
104577         * modules/vfprintf-posix (Depends-on): Likewise.
104578         * modules/vsnprintf-posix (Depends-on): Likewise.
104579         * modules/vsprintf-posix (Depends-on): Likewise.
104580         * modules/frexpl-tests (Depends-on): Likewise.
104581         * modules/printf-frexpl-tests (Depends-on): Likewise.
104583 2007-03-24  Bruno Haible  <bruno@clisp.org>
104585         * lib/float+.h: New file.
104586         * lib/isnan.c: Include float+.h.
104587         (SIZE): New macro.
104588         (FUNC): Compare only SIZE bytes of the value.
104589         * lib/vasnprintf.c: Include float+.h.
104590         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
104591         SIZEOF_LDBL or SIZEOF_DBL bytes.
104592         * modules/isnan-nolibm (Files): Add lib/float+.h.
104593         * modules/isnanl-nolibm (Files): Add lib/float+.h.
104594         * modules/isnanl (Files): Add lib/float+.h.
104595         * modules/vasnprintf (Files): Add lib/float+.h.
104597 2007-03-24  Bruno Haible  <bruno@clisp.org>
104599         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
104600         include isnanl-nolibm.h.
104602 2007-03-24  Bruno Haible  <bruno@clisp.org>
104604         * tests/test-read-file.c (main): Don't produce spurious output for
104605         expected situations. Make the test fail if it encountered unexpected
104606         results.
104608 2007-03-24  Bruno Haible  <bruno@clisp.org>
104610         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
104611         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
104613 2007-03-24  Bruno Haible  <bruno@clisp.org>
104615         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
104617 2007-03-24  Bruno Haible  <bruno@clisp.org>
104619         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
104620         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
104622         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
104623         * modules/utf8-ucs4: Turn into a symbolic link to module
104624         unistr/u8-mbtouc.
104626         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
104627         utf8-ucs4-unsafe.
104628         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
104629         unistr/u8-mbtouc-unsafe.
104631         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
104632         * modules/utf16-ucs4: Turn into a symbolic link to module
104633         unistr/u16-mbtouc.
104635         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
104636         utf16-ucs4-unsafe.
104637         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
104638         unistr/u16-mbtouc-unsafe.
104640         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
104641         * modules/ucs4-utf8: Turn into a symbolic link to module
104642         unistr/u8-ubtomb.
104644         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
104645         * modules/ucs4-utf16: Turn into a symbolic link to module
104646         unistr/u16-ubtomb.
104648 2007-03-24  Bruno Haible  <bruno@clisp.org>
104650         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
104651         Enable the function only if HAVE_INLINE.
104652         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
104653         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
104654         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
104655         Enable the function only if HAVE_INLINE.
104656         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
104657         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
104658         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
104659         Enable the function only if HAVE_INLINE.
104660         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
104661         Enable the function only if HAVE_INLINE.
104662         * modules/utf8-ucs4: Update.
104663         * modules/utf8-ucs4-unsafe: Update.
104664         * modules/utf16-ucs4: Update.
104665         * modules/utf16-ucs4-unsafe: Update.
104666         * modules/ucs4-utf8: Update.
104667         * modules/ucs4-utf16: Update.
104669 2007-03-24  Bruno Haible  <bruno@clisp.org>
104671         * lib/utf8-ucs4.h: Remove file.
104672         * lib/utf8-ucs4-unsafe.h: Remove file.
104673         * lib/utf16-ucs4.h: Remove file.
104674         * lib/utf16-ucs4-unsafe.h: Remove file.
104675         * lib/ucs4-utf8.h: Remove file.
104676         * lib/ucs4-utf16.h: Remove file.
104677         * lib/unistr.h: Include their previous contents.
104678         * m4/utf-ucs4.m4: Remove file.
104679         * m4/ucs4-utf.m4: Remove file.
104680         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
104681         (Depends-on): Add unistr/base.
104682         (configure.ac): Remove gl_UTF_UCS4.
104683         (Makefile.am): Update.
104684         (Include): Change to unistr.h.
104685         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
104686         (Depends-on): Add unistr/base.
104687         (configure.ac): Remove gl_UTF_UCS4.
104688         (Makefile.am): Update.
104689         (Include): Change to unistr.h.
104690         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
104691         (Depends-on): Add unistr/base.
104692         (configure.ac): Remove gl_UTF_UCS4.
104693         (Makefile.am): Update.
104694         (Include): Change to unistr.h.
104695         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
104696         (Depends-on): Add unistr/base.
104697         (configure.ac): Remove gl_UTF_UCS4.
104698         (Makefile.am): Update.
104699         (Include): Change to unistr.h.
104700         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
104701         (Depends-on): Add unistr/base.
104702         (configure.ac): Remove gl_UCS4_UTF.
104703         (Makefile.am): Update.
104704         (Include): Change to unistr.h.
104705         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
104706         (Depends-on): Add unistr/base.
104707         (configure.ac): Remove gl_UCS4_UTF.
104708         (Makefile.am): Update.
104709         (Include): Change to unistr.h.
104710         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
104711         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
104712         utf8-ucs4-unsafe.h.
104713         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
104714         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
104715         utf16-ucs4-unsafe.h.
104716         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
104717         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
104718         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
104719         * lib/unistr/u8-strchr.c: Likewise.
104720         * lib/unistr/u8-strrchr.c: Likewise.
104721         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
104722         * lib/unistr/u16-strchr.c: Likewise.
104723         * lib/unistr/u16-strrchr.c: Likewise.
104724         * lib/striconveh.c: Update.
104725         * lib/linebreak.c: Update.
104727 2007-03-24  Bruno Haible  <bruno@clisp.org>
104729         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
104730         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
104732 2007-03-22  Bruno Haible  <bruno@clisp.org>
104734         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
104736 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
104738         * MODULES.html.sh (File system functions): New module write-any-file.
104739         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
104740         * m4/write-any-file.m4: New files.
104742 2007-03-23  Eric Blake  <ebb9@byu.net>
104744         * gnulib-tool: Rearrange space-tab sequences, since some editors
104745         like to eat them.
104747 2007-03-23  Eric Blake  <ebb9@byu.net>
104749         * lib/version-etc.c (version_etc_va): Update license wording to
104750         be more concise.  Recommended by Richard Stallman.
104752 2007-03-22  Bruno Haible  <bruno@clisp.org>
104754         * lib/poll.c (MSG_PEEK): New fallback definition.
104756 2007-03-22  Bruno Haible  <bruno@clisp.org>
104758         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
104759         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
104760         (main): Update.
104761         Fixes a compilation error on BeOS.
104763 2007-03-22  Bruno Haible  <bruno@clisp.org>
104765         * modules/frexpl-tests: New file.
104766         * tests/test-frexpl.c: New file.
104768         * modules/frexpl: New file.
104769         * m4/frexpl.m4: New file.
104770         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
104771         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
104772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
104773         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
104774         (Depends-on): Add frexpl. Remove isnanl-nolibm.
104775         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
104777 2007-03-22  Bruno Haible  <bruno@clisp.org>
104779         * lib/frexpl.c: Share code with lib/frexp.c.
104780         * modules/mathl (Files): Add lib/frexp.c.
104781         (Depends-on): Add isnanl-nolibm.
104783 2007-03-22  Bruno Haible  <bruno@clisp.org>
104785         * modules/printf-frexp (Files): Add m4/frexp.m4.
104786         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
104787         only if the found frexp function actually works.
104789 2007-03-22  Bruno Haible  <bruno@clisp.org>
104791         * lib/frexp.c: Remove older implementation that uses divisions.
104793 2007-03-21  Bruno Haible  <bruno@clisp.org>
104795         * modules/frexp-tests: New file.
104796         * tests/test-frexp.c: New file.
104798         * modules/frexp: New file.
104799         * lib/frexp.c: New file.
104800         * m4/frexp.m4: New file.
104801         * lib/math_.h (frexp): New declaration.
104802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
104803         REPLACE_FREXP.
104804         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
104806 2007-03-21  Bruno Haible  <bruno@clisp.org>
104808         * modules/isnanl-tests: New file.
104809         * tests/test-isnanl.c: New file.
104811         * modules/isnanl: New file.
104812         * lib/isnanl.h: New file.
104813         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
104814         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
104815         gl_FUNC_ISNANL_WORKS.
104816         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
104817         New macros.
104819 2007-03-21  Bruno Haible  <bruno@clisp.org>
104821         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
104822         lib/isnanl.h.
104823         (Include): Update.
104824         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
104825         * lib/vasnprintf.c: Update.
104826         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
104827         tests/test-isnanl.h, remove tests/test-isnanl.c.
104828         (Makefile.am): Update.
104829         * tests/test-isnanl-nolibm.c: New file.
104830         * tests/test-isnanl.h: New file.
104831         * tests/test-isnanl.c: Remove file.
104833 2007-03-21  Jim Meyering  <jim@meyering.net>
104835         When trying to open ".", treat ESTALE like EACCES.
104836         * lib/savewd.c (savewd_save): Resort to forking not just upon
104837         failure with EACCES, but also when errno is ESTALE.
104839 2007-03-20  Bruno Haible  <bruno@clisp.org>
104841         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
104842         Needed on AIX 5.1. Reported by Matthew Woehlke.
104844 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
104846         Suggestions by Bruno Haible:
104847         * lib/acl-internal.h: Include "gettext.h" rather than rolling
104848         our own.
104849         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
104850         * modules/acl (Depends-on): Add gettext.
104852 2007-03-19  Bruno Haible  <bruno@clisp.org>
104854         * modules/iconvme: Remove file.
104855         * lib/iconvme.h: Remove file.
104856         * lib/iconvme.c: Remove file.
104857         * m4/iconvme.m4: Remove file.
104859 2007-03-19  Bruno Haible  <bruno@clisp.org>
104861         * doc/relocatable-maint.texi: Break long shell script line.
104862         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
104864 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
104866         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
104867         handle file_has_acl.
104868         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
104869         * lib/acl.c: Move header inclusions and related macro defns into
104870         lib/acl-internal.h.
104871         (S_ISLNK): Remove defn, since that's now done for us.
104872         (file_has_acl): Move to lib/file-has-acl.c.
104873         Call acl_trivial if available.  This is the crucial part of the fix.
104874         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
104875         shared within the library.  Rewrite a bit, partly to make it compatible
104876         with the GNU coding style.
104877         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
104878         Remove unnecessary double-quotes.
104879         Don't test for acl_to_text; the build will catch that.
104880         Replace acl_entries if it doesn't exist and it is needed.
104881         Check for -lsec and acl_trivial (as used on Solaris 10).
104882         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
104883         lib/file-has-acl.c.
104884         (Depends-on): Add sys_stat, for S_ISLNK.
104886 2007-03-19  Ben Pfaff  <blp@gnu.org>
104888         * doc/gnulib.texi: Fix typos.
104889         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
104891 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
104893         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
104894         If size is zero here, buf must be zero.
104896 2007-03-19  Simon Josefsson  <simon@josefsson.org>
104898         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
104899         <bruno@clisp.org>.
104901 2007-03-18  Bruno Haible  <bruno@clisp.org>
104903         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
104904         Suggested by Eric Blake.
104906 2007-03-18  Ben Pfaff  <blp@gnu.org>
104908         * doc/relocatable.texi: Recommend using as prefix a directory
104909         that does not exist and will never be created.  Based on
104910         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
104911         and others.
104913 2007-03-17  Bruno Haible  <bruno@clisp.org>
104915         * lib/fchownat.c: Include lchown.h.
104917 2007-03-17  Bruno Haible  <bruno@clisp.org>
104919         Fix endless loop when the given allocated size was > INT_MAX.
104920         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
104921         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
104922         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
104923         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
104924         * lib/sprintf.c (sprintf): Likewise.
104926 2007-03-17  Bruno Haible  <bruno@clisp.org>
104928         * tests/test-argp-2.sh (func_compare): Output a context diff.
104930 2007-03-17  Bruno Haible  <bruno@clisp.org>
104932         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
104933         locale's decimal-point character.
104935 2007-03-17  Bruno Haible  <bruno@clisp.org>
104937         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
104938         before comparing it. Needed because on some platforms (e.g. x86) a
104939         'long double' occupies less bytes than sizeof (long double).
104941 2007-03-17  Bruno Haible  <bruno@clisp.org>
104943         * tests/test-crc.c (main): Make printf statements 64-bit clean.
104944         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
104945         * tests/test-getaddrinfo.c (simple): Likewise.
104946         * tests/test-read-file.c (main): Likewise.
104948 2007-03-17  Bruno Haible  <bruno@clisp.org>
104950         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
104952 2007-03-17  Bruno Haible  <bruno@clisp.org>
104954         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
104955         unused variable.
104957 2007-03-17  Bruno Haible  <bruno@clisp.org>
104959         * tests/test-c-strcasecmp.c: Include c-strcase.h.
104960         * tests/test-c-strncasecmp.c: Likewise.
104962 2007-03-17  Bruno Haible  <bruno@clisp.org>
104964         * modules/stdlib (Depends-on): Add unistd.
104965         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
104966         Needed for MacOS X 10.3.
104968 2007-03-17  Bruno Haible  <bruno@clisp.org>
104970         * lib/unistr/u-strdup.h: Include <stdlib.h>.
104972 2007-03-17  Bruno Haible  <bruno@clisp.org>
104974         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
104976 2007-03-17  Bruno Haible  <bruno@clisp.org>
104978         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
104979         to reflect files copied from gnulib (with or without modifications).
104980         Suggested by Jim Meyering.
104982 2007-03-17  Eric Blake  <ebb9@byu.net>
104984         * NEWS: Document stdlib change from 2007-02-18.
104986 2007-03-17  Jim Meyering  <jim@meyering.net>
104988         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
104989         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
104990         someone uses a name containing shell meta-characters.
104991         Reported by Alfred M. Szmidt.
104993         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
104995 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
104997         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
104998         and copy gettext configuration files only if configure.ac contains
104999         a use of AM_GNU_GETTEXT_VERSION.
105001 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
105003         * build-aux/bootstrap (gnulib_name): New variable.
105004         (gnulib_tool_options): Use it.
105006 2007-03-13  Simon Josefsson  <simon@josefsson.org>
105008         * tests/test-des.c: Use new namespace.
105010 2007-03-15  Bruno Haible  <bruno@clisp.org>
105012         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
105013         Reported by James Youngman <jay@gnu.org>.
105015 2007-03-15  Bruno Haible  <bruno@clisp.org>
105017         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
105018         declared prototype. Needed with cc on OSF/1 5.1.
105020 2007-03-15  Bruno Haible  <bruno@clisp.org>
105022         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
105023         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
105024         (struct gl_list_implementation): Add dispose_fn argument to the
105025         'create_empty', 'create' methods.
105026         (struct gl_list_impl_base): Add field 'dispose_fn'.
105027         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
105028         argument.
105029         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
105030         dispose_fn argument.
105031         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
105032         dispose_fn on the dropped values.
105033         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
105034         dispose_fn argument.
105035         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
105036         dropped values.
105037         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
105038         (gl_tree_remove_node): Call dispose_fn on the dropped value.
105039         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
105040         (gl_tree_remove_node): Call dispose_fn on the dropped value.
105041         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
105042         argument.
105043         (gl_tree_list_free): Call dispose_fn on the dropped values.
105044         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
105045         the dropped values.
105046         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
105047         Add dispose_fn argument.
105048         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
105049         Call dispose_fn on the dropped values.
105050         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
105051         Add dispose_fn argument.
105052         (gl_sublist_create): Initialize the 'dispose_fn' field.
105053         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
105054         * tests/test-array_list.c (main): Update.
105055         * tests/test-carray_list.c (main): Update.
105056         * tests/test-avltree_list.c (main): Update.
105057         * tests/test-rbtree_list.c (main): Update.
105058         * tests/test-avltreehash_list.c (main): Update.
105059         * tests/test-rbtreehash_list.c (main): Update.
105060         * tests/test-linked_list.c (main): Update.
105061         * tests/test-linkedhash_list.c (main): Update.
105062         * tests/test-array_oset.c (main): Update.
105064 2007-03-15  Bruno Haible  <bruno@clisp.org>
105066         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
105067         (gl_oset_create_empty): Add dispose_fn argument.
105068         (struct gl_oset_implementation): Add dispose_fn argument to
105069         'create_empty' method.
105070         (struct gl_oset_impl_base): Add dispose_fn field.
105071         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
105072         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
105073         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
105074         values.
105075         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
105076         (gl_tree_oset_free): Call dispose_fn on the dropped values.
105077         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
105078         dropped value.
105079         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
105080         dropped value.
105081         * tests/test-array_oset.c (main): Update.
105082         * tests/test-avltree_oset.c (main): Update.
105083         * tests/test-rbtree_oset.c (main): Update.
105084         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
105086 2007-03-13  Bruno Haible  <bruno@clisp.org>
105088         * tests/test-stdbool.c (i): Update after last patch.
105090 2007-03-12  Bruno Haible  <bruno@clisp.org>
105092         * lib/quotearg.c: Include <wctype.h> early, before the definition of
105093         the iswprint macro. Needed on Solaris 2.5.1.
105095 2007-03-12  Bruno Haible  <bruno@clisp.org>
105097         * tests/test-printf-frexp.c (main): Declare x as volatile.
105099 2007-03-12  Simon Josefsson  <simon@josefsson.org>
105101         * doc/gnulib.texi (Build robot for gnulib): New section.
105103 2007-03-12  Jim Meyering  <jim@meyering.net>
105105         * build-aux/bootstrap: New file.
105106         * build-aux/bootstrap.conf: New file, from coreutils.
105108 2007-03-11  Bruno Haible  <bruno@clisp.org>
105110         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
105112 2007-03-12  Simon Josefsson  <simon@josefsson.org>
105114         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
105115         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
105116         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
105118 2007-03-11  Bruno Haible  <bruno@clisp.org>
105120         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
105121         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
105123 2007-03-11  Bruno Haible  <bruno@clisp.org>
105125         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
105126         formula. Needed for SunPRO C 5.0.
105128 2007-03-11  Bruno Haible  <bruno@clisp.org>
105130         * modules/long-options (Depends-on): Add getopt.
105132 2007-03-11  Bruno Haible  <bruno@clisp.org>
105134         * modules/modechange (Depends-on): Add stdbool.
105136 2007-03-11  Bruno Haible  <bruno@clisp.org>
105138         * modules/i-ring (Depends-on): Add stdbool.
105140 2007-03-11  Bruno Haible  <bruno@clisp.org>
105142         * modules/gc-des (Depends-on): Add stdbool.
105144 2007-03-11  Bruno Haible  <bruno@clisp.org>
105146         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
105148 2007-03-11  Bruno Haible  <bruno@clisp.org>
105150         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
105152 2007-03-11  Bruno Haible  <bruno@clisp.org>
105154         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
105156 2007-03-11  Bruno Haible  <bruno@clisp.org>
105158         * lib/vasnprintf.c (sprintf): Undefine.
105160 2007-03-11  Bruno Haible  <bruno@clisp.org>
105162         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
105163         initializers in SunPRO C and Compaq C compilers.
105165 2007-03-11  Bruno Haible  <bruno@clisp.org>
105167         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
105168         decrementing code ANSI C compliant.
105170 2007-03-11  Bruno Haible  <bruno@clisp.org>
105172         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
105173         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
105175 2007-03-11  Bruno Haible  <bruno@clisp.org>
105177         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
105178         <stdbool.h> substitute doesn't pass.
105180 2007-03-11  Bruno Haible  <bruno@clisp.org>
105182         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
105184 2007-03-11  Bruno Haible  <bruno@clisp.org>
105186         * gnulib-tool (func_create_megatestdir): Create also an autobuild
105187         script, for submission to autobuild.josefsson.org.
105189 2007-03-10  Bruno Haible  <bruno@clisp.org>
105191         * modules/canonicalize-lgpl-tests: New file.
105192         * tests/test-canonicalize-lgpl.sh: New file.
105193         * tests/test-canonicalize-lgpl.c: New file.
105195         * modules/c-strcase-tests: New file.
105196         * tests/test-c-strcase.sh: New file.
105197         * tests/test-c-strcasecmp.c: New file.
105198         * tests/test-c-strncasecmp.c: New file.
105200         * modules/atexit-tests: New file.
105201         * tests/test-atexit.sh: New file.
105202         * tests/test-atexit.c: New file.
105204 2007-03-10  Bruno Haible  <bruno@clisp.org>
105206         * tests/test-binary-io.sh: Use temporary filenames that are not so
105207         likely to clash with those of other tests (in a parallel make).
105208         * tests/test-binary-io.c: Likewise.
105210 2007-03-10  Bruno Haible  <bruno@clisp.org>
105212         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
105213         fallback; use #error instead.
105214         Suggested by Simon Josefsson.
105216 2007-03-10  Bruno Haible  <bruno@clisp.org>
105218         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
105219         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
105220         first and the last.
105222 2007-03-10  Bruno Haible  <bruno@clisp.org>
105224         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
105226 2007-03-10  Bruno Haible  <bruno@clisp.org>
105228         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
105229         "make distcheck".
105230         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
105231         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
105232         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
105234 2007-03-10  Bruno Haible  <bruno@clisp.org>
105236         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
105237         variable.
105238         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
105239         variable.
105241 2007-03-09  Eric Blake  <ebb9@byu.net>
105242         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
105244         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
105245         types are not being provided by gnulib.
105246         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
105247         types are supported.
105249 2007-03-10  Bruno Haible  <bruno@clisp.org>
105251         * lib/stdio_.h (__attribute__): New macro.
105252         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
105253         vsprintf): Specify __attribute__ __format__ for GCC.
105254         Suggested by Eric Blake.
105256 2007-03-09  Bruno Haible  <bruno@clisp.org>
105258         * modules/printf-posix-tests: New file.
105259         * tests/test-printf-posix.sh: New file.
105260         * tests/test-printf-posix.c: New file.
105262         * modules/printf-posix: New file.
105263         * lib/printf.c: New file.
105264         * m4/printf-posix-rpl.m4: New file.
105265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
105266         REPLACE_PRINTF.
105267         * lib/stdio_.h (printf): New declaration.
105268         (format, __format__, ____printf____, ____scanf____, ____strftime____,
105269         ____strfmon____): New macros.
105270         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
105271         REPLACE_PRINTF.
105273 2007-03-09  Bruno Haible  <bruno@clisp.org>
105275         * tests/test-vasnprintf-posix2.sh: New file.
105276         * tests/test-vasnprintf-posix2.c: New file.
105277         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
105278         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
105279         (Makefile.am): Activate test-vasnprintf-posix2.sh.
105281         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
105282         a locale dependent decimal point, rather than always '.'.
105284 2007-03-09  Eric Blake  <ebb9@byu.net>
105286         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
105287         spite of platforms like Tandem/NSK that define it to -1.
105289 2007-03-08  Bruno Haible  <bruno@clisp.org>
105291         * modules/vprintf-posix-tests: New file.
105292         * tests/test-vprintf-posix.sh: New file.
105293         * tests/test-vprintf-posix.c: New file.
105294         * tests/test-printf-posix.h: New file.
105296         * modules/vprintf-posix: New file.
105297         * lib/vprintf.c: New file.
105298         * m4/vprintf-posix.m4: New file.
105299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
105300         REPLACE_VPRINTF.
105301         * lib/stdio_.h (vprintf): New declaration.
105302         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
105303         REPLACE_VPRINTF.
105305 2007-03-08  Bruno Haible  <bruno@clisp.org>
105307         * modules/fprintf-posix-tests: New file.
105308         * tests/test-fprintf-posix.sh: New file.
105309         * tests/test-fprintf-posix.c: New file.
105311         * modules/fprintf-posix: New file.
105312         * lib/fprintf.c: New file.
105313         * m4/fprintf-posix.m4: New file.
105314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
105315         REPLACE_FPRINTF.
105316         * lib/stdio_.h (fprintf): New declaration.
105317         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
105318         REPLACE_FPRINTF.
105320 2007-03-08  Bruno Haible  <bruno@clisp.org>
105322         * modules/vfprintf-posix-tests: New file.
105323         * tests/test-vfprintf-posix.sh: New file.
105324         * tests/test-vfprintf-posix.c: New file.
105325         * tests/test-fprintf-posix.h: New file.
105326         * tests/test-fprintf-posix.out: New file.
105328         * modules/vfprintf-posix: New file.
105329         * lib/vfprintf.c: New file.
105330         * m4/vfprintf-posix.m4: New file.
105331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
105332         REPLACE_VFPRINTF.
105333         * lib/stdio_.h (vfprintf): New declaration.
105334         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
105335         REPLACE_VFPRINTF.
105337 2007-03-08  Bruno Haible  <bruno@clisp.org>
105339         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
105341 2007-03-08  Bruno Haible  <bruno@clisp.org>
105343         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
105344         instead of 'expr' invocations.
105345         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105346         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105347         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105348         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105349         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105350         Suggested by Paul Eggert.
105352 2007-03-08  Bruno Haible  <bruno@clisp.org>
105354         * modules/fseterr-tests: New file.
105355         * tests/test-fseterr.c: New file.
105357         * modules/fseterr: New file.
105358         * lib/fseterr.h: New file.
105359         * lib/fseterr.c: New file.
105361 2007-03-08  Bruno Haible  <bruno@clisp.org>
105363         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
105364         * lib/getopt_.h: Likewise.
105365         * lib/mbswidth.h: Likewise.
105366         * lib/setenv.h: Likewise.
105367         * lib/vasnprintf.h: Likewise.
105368         * lib/vasprintf.h: Likewise.
105369         * lib/verror.h: Likewise.
105370         * lib/xsetenv.h: Likewise.
105371         * lib/xvasprintf.h: Likewise.
105373 2007-03-08  Jim Meyering  <jim@meyering.net>
105375         * users.txt: Add parted.
105377         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
105379 2007-03-07  Bruno Haible  <bruno@clisp.org>
105381         * m4/printf.m4: Make the shell script snippets copy&pastable.
105383 2007-03-02  Bruno Haible  <bruno@clisp.org>
105385         * lib/netinet_in_.h: New file.
105386         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
105387         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
105388         * modules/netinet_in (Files): Add lib/netinet_in_.h.
105389         (Depends-on): Add absolute-header.
105390         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
105391         into netinet/in.h.
105393 2007-03-03  Bruno Haible  <bruno@clisp.org>
105395         * lib/sys_select_.h: New file.
105396         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
105397         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
105398         * modules/sys_select (Files): Add lib/sys_select_.h.
105399         (Depends-on): Add absolute-header.
105400         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
105401         into sys/select.h.
105403 2007-03-02  Bruno Haible  <bruno@clisp.org>
105405         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
105406         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
105407         values.
105408         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
105409         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
105410         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
105411         * modules/sys_socket (Depends-on): Add absolute-header.
105412         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
105413         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
105414         (Include): Remove requirement of inclusion of <sys/types.h>.
105416 2007-03-02  Bruno Haible  <bruno@clisp.org>
105418         * lib/byteswap_.h (bswap_32): Fix formula.
105420 2007-03-06  Bruno Haible  <bruno@clisp.org>
105422         * modules/sprintf-posix-tests: New file.
105423         * tests/test-sprintf-posix.c: New file.
105425         * modules/sprintf-posix: New file.
105426         * lib/sprintf.c: New file.
105427         * m4/sprintf-posix.m4: New file.
105428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
105429         REPLACE_SPRINTF.
105430         * lib/stdio_.h (sprintf): New declaration.
105431         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
105432         REPLACE_SPRINTF.
105434 2007-03-06  Bruno Haible  <bruno@clisp.org>
105436         * modules/vsprintf-posix-tests: New file.
105437         * tests/test-vsprintf-posix.c: New file.
105438         * tests/test-sprintf-posix.h: New file.
105440         * modules/vsprintf-posix: New file.
105441         * lib/vsprintf.c: New file.
105442         * m4/vsprintf-posix.m4: New file.
105443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
105444         REPLACE_VSPRINTF.
105445         * lib/stdio_.h (vsprintf): New declaration.
105446         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
105447         REPLACE_VSPRINTF.
105449 2007-03-06  Bruno Haible  <bruno@clisp.org>
105451         * modules/vsnprintf (Depend-on): Remove minmax.
105453 2007-03-06  Bruno Haible  <bruno@clisp.org>
105455         * modules/snprintf-posix-tests: New file.
105456         * tests/test-snprintf-posix.c: New file.
105458         * modules/snprintf-posix: New file.
105459         * m4/snprintf-posix.m4: New file.
105460         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
105461         gl_FUNC_SNPRINTF.
105462         (gl_FUNC_SNPRINTF): Invoke it.
105463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
105464         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
105465         is set.
105466         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
105468 2007-03-06  Bruno Haible  <bruno@clisp.org>
105470         * modules/vsnprintf-posix-tests: New file.
105471         * tests/test-vsnprintf-posix.c: New file.
105472         * tests/test-snprintf-posix.h: New file.
105474         * modules/vsnprintf-posix: New file.
105475         * m4/vsnprintf-posix.m4: New file.
105476         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
105477         gl_FUNC_VSNPRINTF.
105478         (gl_FUNC_VSNPRINTF): Invoke it.
105479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
105480         * lib/stdio_.h (vsnprintf): Define as a replacement if
105481         REPLACE_VSNPRINTF is set.
105482         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
105484 2007-03-06  Bruno Haible  <bruno@clisp.org>
105486         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
105487         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
105489 2007-03-06  Bruno Haible  <bruno@clisp.org>
105491         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
105492         (asinl): Declare also if HAVE_DECL_ASINL is set.
105493         (atanl): Declare also if HAVE_DECL_ATANL is set.
105494         (ceill): Declare also if HAVE_DECL_CEILL is set.
105495         (cosl): Declare also if HAVE_DECL_COSL is set.
105496         (expl): Declare also if HAVE_DECL_EXPL is set.
105497         (floorl): Declare also if HAVE_DECL_FLOORL is set.
105498         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
105499         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
105500         (logl): Declare also if HAVE_DECL_LOGL is set.
105501         (sinl): Declare also if HAVE_DECL_SINL is set.
105502         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
105503         (tanl): Declare also if HAVE_DECL_TANL is set.
105504         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
105505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
105506         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
105507         declaration of frexpl, ldexpl.
105508         * modules/printf-frexpl (Depends-on): Add math.
105509         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
105511 2007-03-05  Bruno Haible  <bruno@clisp.org>
105513         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
105514         frexpl and ldexpl are declared.
105515         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
105517 2007-03-05  Bruno Haible  <bruno@clisp.org>
105519         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
105520         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
105522 2007-03-05  Bruno Haible  <bruno@clisp.org>
105524         * lib/stdio_.h: Include <stddef.h>.
105526 2007-03-05  Bruno Haible  <bruno@clisp.org>
105528         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
105530 2007-03-05  Bruno Haible  <bruno@clisp.org>
105532         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
105533         NetBSD 4, from Ralf Wildenhues.
105535 2007-03-04  Bruno Haible  <bruno@clisp.org>
105537         * lib/vasprintf.h: Update #if logic for the case when the functions
105538         exist but are overridden.
105540 2007-03-04  Bruno Haible  <bruno@clisp.org>
105542         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
105543         implementations: glibc-2.4 and MacOS X 10.3.
105544         * tests/test-vasnprintf-posix.c (test_function): Test also the case
105545         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
105546         * tests/test-vasprintf-posix.c (test_function): Likewise.
105548 2007-03-04  Bruno Haible  <bruno@clisp.org>
105550         * modules/vasprintf-posix-tests: New file.
105551         * tests/test-vasprintf-posix.c: New file.
105553         * modules/vasprintf-posix: New file.
105554         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
105555         defined.
105556         * m4/vasprintf-posix.m4: New file.
105557         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
105558         gl_FUNC_VASPRINTF.
105559         (gl_FUNC_VASPRINTF): Invoke it.
105560         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
105561         here.
105562         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
105564 2007-03-04  Bruno Haible  <bruno@clisp.org>
105566         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
105567         REPLACE_GETTIMEOFDAY.
105568         * modules/sys_time (Makefile.am): Likewise.
105569         * m4/sys_time_h.m4: Likewise.
105570         * m4/gettimeofday.m4: Likewise.
105572 2007-03-04  Bruno Haible  <bruno@clisp.org>
105574         * modules/vasnprintf-posix-tests: New file.
105575         * tests/test-vasnprintf-posix.c: New file.
105577         * modules/vasnprintf-posix: New file.
105578         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
105579         printf-frexpl.h.
105580         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
105581         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
105582         REPLACE_VASNPRINTF is defined.
105583         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
105584         gl_FUNC_VASNPRINTF.
105585         (gl_FUNC_VASNPRINTF): Invoke it.
105586         * m4/vasnprintf-posix.m4: New file.
105587         * m4/printf.m4: New file.
105589 2007-03-04  Bruno Haible  <bruno@clisp.org>
105591         Compile progreloc.c only if --enable-relocatable is specified.
105592         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
105593         if --enable-relocatable was specified.
105594         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
105595         lib_SOURCES.
105597 2007-03-04  Jim Meyering  <jim@meyering.net>
105599         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
105600         Use it consistently, rather than enumerating errno constants.
105602 2007-03-04  Bruno Haible  <bruno@clisp.org>
105604         * modules/xvasprintf-tests: New file.
105605         * tests/test-xvasprintf.c: New file.
105607         * modules/vasprintf-tests: New file.
105608         * tests/test-vasprintf.c: New file.
105610         * modules/vasnprintf-tests: New file.
105611         * tests/test-vasnprintf.c: New file.
105613         * modules/vsnprintf-tests: New file.
105614         * tests/test-vsnprintf.c: New file.
105616         * modules/snprintf-tests: New file.
105617         * tests/test-snprintf.c: New file.
105619 2007-03-04  Bruno Haible  <bruno@clisp.org>
105621         Compile relocatable.c only if --enable-relocatable is specified.
105622         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
105623         gl_RELOCATABLE_LIBRARY.
105624         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
105625         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
105626         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
105627         gl_RELOCATABLE_LIBRARY.
105628         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
105629         (Makefile.am): Remove lib_SOURCES.
105630         * modules/relocatable-lib-lgpl (configure.ac): Invoke
105631         gl_RELOCATABLE_LIBRARY.
105632         (Makefile.am): Remove lib_SOURCES.
105633         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
105634         always.
105635         * modules/relocatable-prog-wrapper (configure.ac): Invoke
105636         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
105638 2007-03-04  Bruno Haible  <bruno@clisp.org>
105640         * modules/argmatch-tests: New file.
105641         * tests/test-argmatch.c: New file.
105643         * tests/test-allocsa.c (main): Halve the number of loop runs.
105645         * modules/alloca-opt-tests: New file.
105646         * tests/test-alloca-opt.c: New file.
105648 2007-03-04  Jim Meyering  <jim@meyering.net>
105650         Work around difference between Linux ACLs and Solaris 10 ZFS.
105651         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
105652         for EINVAL.
105654 2007-03-03  Bruno Haible  <bruno@clisp.org>
105656         * modules/relocatable-prog (Depends-on): Add back progreloc's
105657         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
105659 2007-03-03  Bruno Haible  <bruno@clisp.org>
105661         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
105662         * modules/relocatable-lib: New file.
105664 2007-03-03  Bruno Haible  <bruno@clisp.org>
105666         * modules/relocatable-prog: Renamed from modules/relocatable.
105667         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
105669 2007-03-03  Bruno Haible  <bruno@clisp.org>
105671         * modules/relocatable-script (Files): Add doc/relocatable.texi,
105672         m4/relocatable-lib.m4.
105673         (Depends-on): Remove 'relocatable'.
105674         (configure.ac): Add gl_RELOCATABLE_NOP.
105676 2007-03-03  Bruno Haible  <bruno@clisp.org>
105678         * modules/relocatable-prog-wrapper: New file.
105679         * modules/relocatable (Depends-on): Add it. Remove all other
105680         dependencies except progname.
105681         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
105683         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
105684         (gl_FUNC_STRERROR): Nop.
105685         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
105687         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
105688         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
105690         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
105691         (gl_FUNC_READLINK): Update.
105693         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
105695 2007-03-03  Bruno Haible  <bruno@clisp.org>
105697         * lib/xreadlink.c: Include <unistd.h> unconditionally.
105698         * modules/xreadlink (Depends-on): Add unistd.
105699         * modules/xreadlink-with-size (Depends-on): Likewise.
105701 2007-03-03  Bruno Haible  <bruno@clisp.org>
105703         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
105704         extracted from gt_FUNC_SETENV.
105705         (gt_FUNC_SETENV): Remove macro.
105706         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
105707         remove gt_FUNC_SETENV.
105709 2007-03-03  Bruno Haible  <bruno@clisp.org>
105711         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
105712         ENABLE_RELOCATABLE here.
105713         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
105715 2007-03-03  Bruno Haible  <bruno@clisp.org>
105717         * modules/rbtreehash-list-tests (Depends-on): Add progname.
105718         * tests/test-rbtreehash_list.c: Include progname.h.
105719         (main): Call set_program_name.
105721         * modules/rbtree-oset-tests (Depends-on): Add progname.
105722         * tests/test-rbtree_oset.c: Include progname.h.
105723         (main): Call set_program_name.
105725         * modules/rbtree-list-tests (Depends-on): Add progname.
105726         * tests/test-rbtree_list.c: Include progname.h.
105727         (main): Call set_program_name.
105729         * modules/linked-list-tests (Depends-on): Add progname.
105730         * tests/test-linked_list.c: Include progname.h.
105731         (main): Call set_program_name.
105733 2007-03-03  Bruno Haible  <bruno@clisp.org>
105735         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
105736         All uses of __restrict changed to _Restrict_.
105737         * lib/glob_.h (__restrict): Remove macro.
105739 2007-03-02  Bruno Haible  <bruno@clisp.org>
105741         * modules/gettext (configure.ac): Require gettext infrastructure
105742         from version 0.16.1.
105744 2007-03-02  Bruno Haible  <bruno@clisp.org>
105746         * modules/linkedhash-list-tests (Depends-on): Add progname.
105747         * tests/test-linkedhash_list.c: Include progname.h.
105748         (main): Call set_program_name.
105750         * modules/carray-list-tests (Depends-on): Add progname.
105751         * tests/test-carray_list.c: Include progname.h.
105752         (main): Call set_program_name.
105754         * modules/avltreehash-list-tests (Depends-on): Add progname.
105755         * tests/test-avltreehash_list.c: Include progname.h.
105756         (main): Call set_program_name.
105758         * modules/avltree-oset-tests (Depends-on): Add progname.
105759         * tests/test-avltree_oset.c: Include progname.h.
105760         (main): Call set_program_name.
105762         * modules/avltree-list-tests (Depends-on): Add progname.
105763         * tests/test-avltree_list.c: Include progname.h.
105764         (main): Call set_program_name.
105766         * modules/array-oset-tests (Depends-on): Add progname.
105767         * tests/test-array_oset.c: Include progname.h.
105768         (main): Call set_program_name.
105770         * modules/array-list-tests (Depends-on): Add progname.
105771         * tests/test-array_list.c: Include progname.h.
105772         (main): Call set_program_name.
105774         * modules/argp-tests (Depends-on): Add progname.
105775         * tests/test-argp.c: Include argp.h first. Include progname.h.
105776         (main): Call set_program_name.
105778 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
105780         * doc/gnulib-tool.texi (Initial import): Reword description of
105781         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
105782         limited effect even if defined after the first system include.
105784 2007-03-01  Bruno Haible  <bruno@clisp.org>
105786         * build-aux/config.libpath: Update to libtool-1.5.22.
105787         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
105789 2007-03-01  Bruno Haible  <bruno@clisp.org>
105791         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
105792         foo_CFLAGS.
105793         Reported by Ralf Wildenhues.
105795 2007-03-01  Bruno Haible  <bruno@clisp.org>
105797         * build-aux/install-reloc: Remove object files left over by some
105798         compilers.
105799         Reported by Ralf Wildenhues.
105801 2007-03-01  Bruno Haible  <bruno@clisp.org>
105803         * build-aux/install-reloc: Break long lines.
105805 2007-03-01  Bruno Haible  <bruno@clisp.org>
105807         * doc/relocatable.texi: Document that it may not work on OpenBSD.
105808         Reported by Ralf Wildenhues.
105810 2007-03-01  Bruno Haible  <bruno@clisp.org>
105812         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
105813         include ordering constraints.
105815 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105817         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
105818         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
105819         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
105820         as another example.
105821         * lib/time_.h: Fix misspelling.
105822         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
105823         Require gl_HEADER_TIME_H_DEFAULTS.
105824         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
105825         * m4/time_r.m4 (gl_TIME_R): Likewise.
105826         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
105828 2007-03-01  Bruno Haible  <bruno@clisp.org>
105830         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
105831         * m4/utimens.m4 (gl_UTIMENS): Likewise.
105833 2007-03-01  Jim Meyering  <jim@meyering.net>
105835         * modules/xreadlink (Maintainer): Add my name.
105836         * modules/xreadlink-with-size (Depends-on): Alphabetize.
105838 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
105839             Bruno Haible  <bruno@clisp.org>
105841         * build-aux/install-reloc: Compile also c-ctype.c.
105842         * build-aux/relocatable.sh.in: New file.
105843         * doc/relocatable.texi: New file.
105844         * doc/relocatable-maint.texi: New file.
105845         * doc/gnulib.texi: Include relocatable-maint.texi.
105846         * lib/progreloc.c: Include unistd.h unconditionally.
105847         * lib/relocwrapper.c: Include unistd.h unconditionally.
105848         Include c-ctype.h.
105849         (add_dotbin): Use c_tolower.
105850         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
105851         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
105852         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
105853         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
105854         to m4/relocatable-lib.m4.
105855         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
105856         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
105857         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
105858         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
105859         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
105860         * modules/relocatable: New file.
105861         * modules/relocatable-lib: New file.
105862         * modules/relocatable-script: New file.
105864 2007-02-28  Bruno Haible  <bruno@clisp.org>
105866         Import --enable-relocatable infrastructure.
105867         * build-aux/config.libpath: New file, from GNU gettext.
105868         * build-aux/install-reloc: New file, from GNU gettext.
105869         * build-aux/reloc-ldflags: New file, from GNU gettext.
105870         * lib/relocatable.h: New file, from GNU gettext.
105871         * lib/relocatable.c: New file, from GNU gettext.
105872         * lib/relocwrapper.c: New file, from GNU gettext.
105873         * m4/relocatable.m4: New file, from GNU gettext.
105875 2007-02-28  Bruno Haible  <bruno@clisp.org>
105877         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
105879         * modules/xreadlink: New file, from GNU gettext with modifications.
105880         * lib/xreadlink.c: New file, from GNU gettext.
105881         * lib/xreadlink.h: Add comments.
105882         (xreadlink): New declaration.
105884         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
105885         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
105886         lib/xreadlink-with-size.c.
105887         (configure.ac): Remove gl_XREADLINK invocation.
105888         (Makefile.am): Augment lib_SOURCES.
105889         * m4/xreadlink.m4: Remove file.
105890         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
105891         (xreadlink_with_size): Renamed from xreadink.
105892         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
105893         * modules/canonicalize (Depends-on): Replace xreadlink with
105894         xreadlink-with-size.
105895         * lib/canonicalize.c (canonicalize_filename_mode): Update.
105897 2007-02-25  Jim Meyering  <jim@meyering.net>
105899         * build-aux/announce-gen: When complaining about excess arguments,
105900         list them.
105902 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105904         * README: Document signed integer overflow situation more
105905         accurately.
105907 2007-02-25  Bruno Haible  <bruno@clisp.org>
105909         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
105910         'a' or 'A' conversion.
105912 2007-02-25  Bruno Haible  <bruno@clisp.org>
105914         * modules/filename: Renamed from modules/pathname.
105915         (Files): Replace lib/pathname.h with lib/filename.h. Replace
105916         lib/concatpath.c with lib/concat-filename.c.
105917         (Makefile.am): Update.
105918         (Include): Replace pathname.h with filename.h.
105919         * lib/filename.h: Renamed from lib/pathname.h.
105920         (concatenated_filename): Renamed from concatenated_pathname.
105921         * lib/concat-filename.c: Renamed from lib/concatpath.c.
105922         (concatenated_filename): Renamed from concatenated_pathname.
105923         * lib/findprog.c: Include filename.h instead of pathname.h.
105924         (find_in_path): Update.
105925         * lib/javacomp.c: Include filename.h instead of pathname.h.
105926         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
105927         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
105928         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
105929         is_oldgcj_14_13_usable, is_javac_usable): Update.
105930         * lib/javaexec.c: Include filename.h instead of pathname.h.
105931         (execute_java_class): Update.
105932         * modules/findprog: Update.
105933         * modules/javacomp: Update.
105934         * modules/javaexec: Update.
105935         * MODULES.html.sh (File system functions): Add 'filename', remove
105936         'pathname'.
105938 2007-02-25  Bruno Haible  <bruno@clisp.org>
105940         * modules/printf-frexpl-tests: New file.
105941         * tests/test-printf-frexpl.c: New file.
105943         * modules/printf-frexpl: New file.
105944         * lib/printf-frexpl.h: New file.
105945         * lib/printf-frexpl.c: New file.
105946         * m4/printf-frexpl.m4: New file.
105948 2007-02-25  Bruno Haible  <bruno@clisp.org>
105950         * modules/printf-frexp-tests: New file.
105951         * tests/test-printf-frexp.c: New file.
105953         * modules/printf-frexp: New file.
105954         * lib/printf-frexp.h: New file.
105955         * lib/printf-frexp.c: New file.
105956         * m4/printf-frexp.m4: New file.
105958 2007-02-25  Bruno Haible  <bruno@clisp.org>
105960         Assume automake >= 1.10 for the tests.
105961         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
105962         * modules/arctwo-tests: Likewise.
105963         * modules/argp-tests: Likewise.
105964         * modules/avltree-list-tests: Likewise.
105965         * modules/avltree-oset-tests: Likewise.
105966         * modules/avltreehash-list-tests: Likewise.
105967         * modules/carray-list-tests: Likewise.
105968         * modules/crc-tests: Likewise.
105969         * modules/des-tests: Likewise.
105970         * modules/gc-arcfour-tests: Likewise.
105971         * modules/gc-arctwo-tests: Likewise.
105972         * modules/gc-des-tests: Likewise.
105973         * modules/gc-hmac-md5-tests: Likewise.
105974         * modules/gc-hmac-sha1-tests: Likewise.
105975         * modules/gc-md2-tests: Likewise.
105976         * modules/gc-md4-tests: Likewise.
105977         * modules/gc-md5-tests: Likewise.
105978         * modules/gc-pbkdf2-sha1-tests: Likewise.
105979         * modules/gc-rijndael-tests: Likewise.
105980         * modules/gc-sha1-tests: Likewise.
105981         * modules/gc-tests: Likewise.
105982         * modules/getaddrinfo-tests: Likewise.
105983         * modules/hmac-md5-tests: Likewise.
105984         * modules/hmac-sha1-tests: Likewise.
105985         * modules/linked-list-tests: Likewise.
105986         * modules/linkedhash-list-tests: Likewise.
105987         * modules/lock-tests: Likewise.
105988         * modules/md2-tests: Likewise.
105989         * modules/md4-tests: Likewise.
105990         * modules/md5-tests: Likewise.
105991         * modules/rbtree-list-tests: Likewise.
105992         * modules/rbtree-oset-tests: Likewise.
105993         * modules/rbtreehash-list-tests: Likewise.
105994         * modules/read-file-tests: Likewise.
105995         * modules/rijndael-tests: Likewise.
105996         * modules/stdint-tests: Likewise.
105997         * modules/tls-tests: Likewise.
105999 2007-02-24  Bruno Haible  <bruno@clisp.org>
106001         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
106002         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
106003         function; instead check whether isnan with a double argument links.
106004         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
106005         function; instead check whether isnan with a 'long double' argument
106006         links.
106007         Reported by Eric Blake <ebb9@byu.net>.
106009 2007-02-24  Bruno Haible  <bruno@clisp.org>
106011         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
106012         defined.
106013         * lib/isnanl.c: Remove all code. Just include isnan.c.
106014         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
106016 2007-02-25  Jim Meyering  <jim@meyering.net>
106018         Avoid conflicting types for 'unsetenv' on FreeBSD.
106019         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
106020         conflicting with FreeBSD's (5.0 and 6.1) function declaration
106021         in stdlib.h.
106023 2007-02-24  Bruno Haible  <bruno@clisp.org>
106025         * modules/isnanl-nolibm-tests: New file.
106026         * tests/test-isnanl.c: New file.
106028         * modules/isnanl-nolibm: New file.
106029         * lib/isnanl.h: New file.
106030         * lib/isnanl.c: New file.
106031         * m4/isnanl.m4: New file.
106033 2007-02-24  Bruno Haible  <bruno@clisp.org>
106035         * modules/isnan-nolibm-tests: New file.
106036         * tests/test-isnan.c: New file.
106038         * modules/isnan-nolibm: New file.
106039         * lib/isnan.h: New file.
106040         * lib/isnan.c: New file.
106041         * m4/isnan.m4: New file.
106043 2007-02-24  Bruno Haible  <bruno@clisp.org>
106045         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
106046         assume that an exponent fits in 20 bits.
106048 2007-02-24  Jim Meyering  <jim@meyering.net>
106050         * m4/regex.m4: Update the description of the configure-time option,
106051         --without-included-regex, to state accurately what the defaults are,
106052         and perhaps to give people an idea why using this option is risky.
106054 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
106056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
106057         loops on small arguments.  This attempts to avoid the problem
106058         Bruno Haible reported for AIX 4.3.2 in
106059         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
106061 2007-02-23  Bruno Haible  <bruno@clisp.org>
106063         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
106064         Needed for help2man.
106066 2007-02-23  Karl Berry  <karl@gnu.org>
106068         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
106069         exists, foo.h should be cvs-ignored, not committed.
106071 2007-02-23  Eric Blake  <ebb9@byu.net>
106073         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
106074         * lib/stat-time.h (includes): Likewise.
106075         * lib/utimecmp.c (includes): Likewise.
106076         * lib/utimens.h (includes): Likewise.
106077         * lib/getdate.y (includes): Also include "timespec.h" for use
106078         internal to the module.
106079         * modules/utimens (Depends-on): Revert yesterday's patch.
106080         * modules/nanosleep (Depends-on): Add missing dependency.
106082 2007-02-22  Bruno Haible  <bruno@clisp.org>
106084         * lib/glob.c: Don't include getlogin_r.h.
106086 2007-02-22  Jim Meyering  <jim@meyering.net>
106088         * modules/utimens (Depends-on): Add timespec, required for
106089         utimens.h's inclusion of timespec.h.
106091 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
106093         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
106094         long unreadable paths in GNU/Linux.  Problem reported by Andreas
106095         Schwab in
106096         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
106097         I'll try to think of a better way to fix the Solaris problem.
106099         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
106100         like glibc; on Solaris 10, it fails with errno == EINVAL.
106101         POSIX says the behavior is unspecified if the first argument is NULL,
106102         so play it safe and never pass NULL to the system getcwd.
106104 2007-02-21  Jim Meyering  <jim@meyering.net>
106106         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
106107         of gettimeofday.  It would conflict with the one now always
106108         provided via sys_time_.h.  Reported by Matthew Woehlke, as
106109         an IRIX 6.5 build failure.
106111 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
106113         Minor fixups to port to Solaris 10 with Sun C 5.8.
106114         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
106115         * modules/getcwd (Depends-on): Add dirfd.
106116         * lib/putenv.c (putenv): #undef it.
106117         (rpl_putenv): New decl.
106118         (malloc, free): Include <stdlib.h> rather than prototyping separately.
106120 2007-02-20  Bruno Haible  <bruno@clisp.org>
106122         * modules/stdio-tests: New file.
106123         * tests/test-stdio.c: New file.
106125         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
106126         (Depends-on): Add stdio.
106127         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
106128         (Include): Use <stdio.h> instead of vsnprintf.h.
106129         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
106130         HAVE_DECL_VSNPRINTF.
106131         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
106133         * modules/snprintf (Files): Remove lib/snprintf.h.
106134         (Depends-on): Add stdio.
106135         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
106136         (Include): Use <stdio.h> instead of snprintf.h.
106137         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
106138         HAVE_DECL_SNPRINTF.
106139         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
106140         * lib/getaddrinfo.c: Likewise.
106142         * modules/stdio: New file.
106143         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
106144         * lib/snprintf.h: Remove file.
106145         * lib/vsnprintf.h: Remove file.
106146         * lib/.cppi-disable: Remove snprintf.h.
106147         * m4/stdio_h.m4: New file.
106148         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
106150 2007-02-20  Jim Meyering  <jim@meyering.net>
106152         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
106153         used by e.g., mingw.  From Bruno Haible.
106155 2007-02-19  Bruno Haible  <bruno@clisp.org>
106157         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
106158         warnings.
106159         Reported by Ben Pfaff <blp@cs.stanford.edu>.
106161 2007-02-19  Bruno Haible  <bruno@clisp.org>
106163         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
106164         from mingw users.
106166 2007-02-19  Bruno Haible  <bruno@clisp.org>
106168         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
106169         warnings.
106170         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
106172 2007-02-19  Jim Meyering  <jim@meyering.net>
106174         Don't use FD after a successful "fdopendir (fd)".
106175         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
106176         Reset it by calling dirfd on the just-obtained DIR*.
106178         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
106179         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
106181 2007-02-18  Bruno Haible  <bruno@clisp.org>
106183         * lib/readlink.c: Include <unistd.h>.
106184         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
106185         HAVE_READLINK.
106186         * modules/readlink (Depends-on): Add unistd.
106187         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106188         (Include): Add <unistd.h>.
106190         * lib/getlogin_r.h: Remove file.
106191         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
106192         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
106193         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
106194         HAVE_DECL_GETLOGIN_R.
106195         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
106196         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106197         (Include): Use <unistd.h> instead of getlogin_r.h.
106199         * lib/getcwd.h: Remove file.
106200         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
106201         * lib/xgetcwd.c: Likewise.
106202         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
106203         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
106204         * modules/getcwd (Files): Remove lib/getcwd.h.
106205         (Depends-on): Add unistd.
106206         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106207         (Include): Use <unistd.h> instad of getcwd.h.
106209         * lib/ftruncate.c: Include <unistd.h> first.
106210         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
106211         Set HAVE_FTRUNCATE.
106212         * modules/ftruncate (Depends-on): Add unistd.
106213         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106215         * lib/fchdir.c: Include <unistd.h> first.
106216         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
106217         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
106218         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
106219         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106220         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
106222         * lib/dup2.c: Include <unistd.h> first.
106223         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
106224         HAVE_DUP2.
106225         * modules/dup2 (Depends-on): Add unistd.
106226         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106228         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
106229         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
106230         REPLACE_CHOWN. Don't define chown as a macro here.
106231         * modules/chown (Depends-on): Add unistd.
106232         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
106234         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
106235         Add definition for GL_LINK_WARNING.
106236         (chown, dup2): New declarations.
106237         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
106238         link warning.
106239         (ftruncate): New declaration.
106240         (getcwd): New declaration, taken from old getcwd.h.
106241         (getlogin_r): New declaration, taken from old getlogin_r.h.
106242         (readlink): New declaration.
106243         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
106244         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
106245         (gl_PREREQ_UNISTD): Remove macro.
106246         (gl_UNISTD_MODULE_INDICATOR): New macro.
106247         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
106248         many new variables. Don't set UNISTD_H.
106249         * modules/unistd (Description): Change.
106250         (Depends-on): Add link-warning.
106251         (configure.ac): Update.
106252         (Makefile.am): Create unistd.h always. Substitute many new variables
106253         into it.
106255 2007-02-18  Bruno Haible  <bruno@clisp.org>
106257         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
106258         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
106259         HAVE_GETSUBOPT.
106260         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
106261         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
106262         * lib/getsubopt.h: Remove file.
106263         * modules/getsubopt (Files): Remove lib/getsubopt.h.
106264         (Depends-on): Add stdlib.
106265         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
106266         (Includes): Use <stdlib.h> instead of getsubopt.h.
106267         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
106268         Set HAVE_GETSUBOPT.
106269         * lib/getsubopt.c: Don't include getsubopt.h.
106271 2007-02-18  Bruno Haible  <bruno@clisp.org>
106273         * modules/fchdir (Depends-on): Add dup2.
106275 2007-02-18  Bruno Haible  <bruno@clisp.org>
106277         * lib/stdlib_.h: Handle glibc's special invocation convention
106278         specially.
106280 2007-02-18  Bruno Haible  <bruno@clisp.org>
106282         * modules/stdlib-tests: New file.
106283         * tests/test-stdlib.c: New file.
106285         * modules/mkstemp (Files): Remove lib/mkstemp.h.
106286         (Depends-on): Add stdlib.
106287         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
106288         (Includes): Use <stdlib.h> instead of mkstemp.h.
106289         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
106290         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
106291         * lib/mkstemp.c: Don't include mkstemp.h.
106292         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
106293         * lib/stdlib--.h: Don't include mkstemp.h.
106295         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
106296         (Depends-on): Add stdlib.
106297         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
106298         (Includes): Use <stdlib.h> instead of mkdtemp.h.
106299         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
106300         HAVE_MKDTEMP.
106301         * lib/mkdtemp.c: Don't include mkdtemp.h.
106302         * lib/clean-temp.c: Don't include mkdtemp.h.
106304         * modules/exit (Files): Remove lib/exit.h.
106305         (Depends-on): Add stdlib.
106306         (Makefile.am): Remove lib_SOURCES.
106307         (Include): Use <stdlib.h> instead of exit.h.
106308         * lib/argmatch.c: Don't include exit.h.
106309         * lib/execute.c: Likewise.
106310         * lib/pagealign_alloc.c: Likewise.
106311         * lib/pipe.c: Likewise.
106312         * lib/wait-process.c: Likewise.
106313         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
106314         * lib/exitfail.c: Likewise.
106315         * lib/savewd.c: Likewise.
106316         * lib/xsetenv.c: Likewise.
106318         * modules/stdlib: New file.
106319         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
106320         and extra comments about mkstemp().
106321         * lib/exit.h: Remove file.
106322         * lib/mkdtemp.h: Remove file.
106323         * lib/mkstemp.h: Remove file.
106324         * m4/stdlib_h.m4: New file.
106325         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
106327 2007-02-18  Bruno Haible  <bruno@clisp.org>
106329         * modules/math-tests: New file.
106330         * tests/test-math.c: New file.
106332         * modules/math: New file.
106333         * modules/mathl (Files): Remove lib/mathl.h.
106334         (Depends-on): Add math.
106335         (Makefile.am): Don't mention mathl.h.
106336         (Include): Use <math.h> instead of mathl.h.
106337         * lib/math_.h: New file.
106338         * lib/mathl.h: Remove file.
106339         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
106340         mathl.h.
106341         * lib/asinl.c: Likewise.
106342         * lib/atanl.c: Likewise.
106343         * lib/ceill.c: Likewise.
106344         * lib/cosl.c: Likewise.
106345         * lib/expl.c: Likewise.
106346         * lib/floorl.c: Likewise.
106347         * lib/frexpl.c: Likewise.
106348         * lib/ldexpl.c: Likewise.
106349         * lib/logl.c: Likewise.
106350         * lib/sincosl.c: Likewise.
106351         * lib/sinl.c: Likewise.
106352         * lib/sqrtl.c: Likewise.
106353         * lib/tanl.c: Likewise.
106354         * lib/trigl.c: Likewise.
106355         * m4/math_h.m4: New file.
106356         * MODULES.html.sh (Mathematics): Add math.
106358 2007-02-17  Bruno Haible  <bruno@clisp.org>
106360         * modules/wctype-tests: New file.
106361         * tests/test-wctype.c: New file.
106363         * modules/wchar-tests: New file.
106364         * tests/test-wchar.c: New file.
106366         * modules/unistd-tests: New file.
106367         * tests/test-unistd.c: New file.
106369         * modules/time-tests: New file.
106370         * tests/test-time.c: New file.
106372         * modules/sysexits-tests: New file.
106373         * tests/test-sysexits.c: New file.
106375         * modules/sys_time-tests: New file.
106376         * tests/test-sys_time.c: New file.
106378         * modules/sys_stat-tests: New file.
106379         * tests/test-sys_stat.c: New file.
106381         * modules/sys_socket-tests: New file.
106382         * tests/test-sys_socket.c: New file.
106384         * modules/sys_select-tests: New file.
106385         * tests/test-sys_select.c: New file.
106387         * modules/string-tests: New file.
106388         * tests/test-string.c: New file.
106390         * modules/stdbool-tests: New file.
106391         * tests/test-stdbool.c: New file.
106393         * modules/netinet_in-tests: New file.
106394         * tests/test-netinet_in.c: New file.
106396         * modules/inttypes-tests: New file.
106397         * tests/test-inttypes.c: New file.
106399         * modules/fcntl-tests: New file.
106400         * tests/test-fcntl.c: New file.
106402         * modules/byteswap-tests: New file.
106403         * tests/test-byteswap.c: New file.
106405         * modules/arpa_inet-tests: New file.
106406         * tests/test-arpa_inet.c: New file.
106408 2007-02-17  Bruno Haible  <bruno@clisp.org>
106410         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
106411         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
106412         if the corresponding module is not enabled. Emit link warnings if
106413         the function is used nevertheless.
106414         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
106415         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
106416         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
106417         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
106418         * modules/inttypes (Depends-on): Add link-warning.
106419         (Makefile.am): Copy the contents of build-aux/link-warning.h into
106420         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
106421         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
106422         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
106423         * modules/imaxdiv (configure.ac): Likewise.
106424         * modules/strtoimax (configure.ac): Likewise.
106425         * modules/strtoumax (configure.ac): Likewise.
106427 2007-02-17  Bruno Haible  <bruno@clisp.org>
106429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
106430         gl_STRING_MODULE_INDICATOR_DEFAULTS.
106431         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
106432         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
106434 2007-02-17  Bruno Haible  <bruno@clisp.org>
106436         * modules/link-warning: New file.
106437         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
106438         * lib/string_.h (GL_LINK_WARNING): Remove definition.
106439         * modules/string (Depends-on): Add link-warning.
106440         (Makefile.am): Copy the contents of build-aux/link-warning.h into
106441         string.h.
106442         * MODULES.html.sh (Support for building libraries and executables): Add
106443         link-warning.
106445 2007-02-17  Bruno Haible  <bruno@clisp.org>
106447         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
106448         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
106449         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
106450         long lines.
106452 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
106453             Bruno Haible  <bruno@clisp.org>
106455         * modules/tmpfile: New file.
106456         * lib/tmpfile.c: New file.
106457         * m4/tmpfile.m4: New file.
106458         * MODULES.html.sh (func_all_modules): New section "Input/output".
106460 2007-02-15  Bruno Haible  <bruno@clisp.org>
106462         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
106463         (supports_delete_on_close): New function.
106464         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
106466 2007-02-14  Bruno Haible  <bruno@clisp.org>
106468         * modules/mbspcasecmp-tests: New file.
106469         * tests/test-mbspcasecmp.sh: New file.
106470         * tests/test-mbspcasecmp.c: New file.
106472         New module mbspcasecmp.
106473         * modules/mbspcasecmp: New file.
106474         * lib/mbspcasecmp.c: New file.
106475         * lib/string_.h (strncasecmp): Change warning message.
106476         (mbspcasecmp): New declaration.
106477         * m4/mbspcasecmp.m4: New file.
106478         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106479         GNULIB_MBSPCASECMP.
106480         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
106481         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
106483 2007-02-14  Bruno Haible  <bruno@clisp.org>
106485         * modules/mbsncasecmp-tests: New file.
106486         * tests/test-mbsncasecmp.sh: New file.
106487         * tests/test-mbsncasecmp.c: New file.
106489         New module mbsncasecmp.
106490         * modules/mbsncasecmp: New file.
106491         * lib/mbsncasecmp.c: New file.
106492         * lib/string_.h (mbsncasecmp): New declaration.
106493         * m4/mbsncasecmp.m4: New file.
106494         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106495         GNULIB_MBSNCASECMP.
106496         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
106497         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
106499 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
106501         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
106502         Verify that it doesn't overlap with our flags.
106503         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
106504         do not have the desired effect in multibyte locales; instead, use
106505         mbscasecmp.
106506         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
106507         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
106508         we don't require GNU fnmatch ourselves (if our users require it, they
106509         should do so explicitly).
106511         Fix regex code so it doesn't rely on strcasecmp.
106512         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
106513         Otherwise, include gnulib's langinfo.h.
106514         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
106515         undesirable behavior in non-C locales.  Instead, rely on localecharset.
106516         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
106517         * modules/regex (FILES): Remove m4/codeset.m4.
106518         (Depends-on): Add localcharset.  Remove strcase.
106520 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106522         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
106523         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
106525 2007-02-13  Bruno Haible  <bruno@clisp.org>
106527         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
106528         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
106530 2007-02-12  Bruno Haible  <bruno@clisp.org>
106532         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
106533         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
106534         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
106535         time warning rather than a link error.
106537 2007-02-12  Bruno Haible  <bruno@clisp.org>
106539         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
106540         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
106541         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
106543 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
106545         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
106546         args, not 2.
106548 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
106550         New module 'time', so that apps can include <time.h> as per
106551         POSIX and GNU instead of separate include files like time_r.h
106552         and timegm.h.  This implementation tries out a simpler approach
106553         for replacing decls in standard include files (as compared to
106554         the string module), somewhat as an experiment.
106556         * config/srclist.txt: Comment out mktime.c for now.
106557         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
106558         since it doesn't apply any more.  Use generic wording instead.
106559         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
106560         'time'.
106561         * lib/time_.h, m4/time_h.m4, modules/time: New files.
106562         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
106563         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
106564         Don't include <sys/types.h>; no longer needed since we assume C89.
106565         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
106566         * lib/strftime.c: Likewise.
106567         * lib/time_r.c: Likewise.
106568         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
106569         * lib/nanosleep.c: Include <time.h> first, to check interface.
106570         * lib/strptime.c: Likewise.
106571         * lib/time_r.c: Likewise.
106572         * lib/timegm.c: Likewise.
106573         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
106574         needed.
106575         * lib/timegm.c: Don't include timegm.h; no longer needed.
106576         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
106577         time.h now handles any problems in that area.
106578         (struct timespec, nanosleep): Remove; time.h now arranges for these.
106579         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
106580         that time.h defines struct timespec.
106581         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
106582         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
106583         handles that.
106584         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
106585         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
106586         needed.  Set REPLACE_LOCALTIME.
106587         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
106588         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
106589         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
106590         nanosleep; time_h.m4 now does that.  Don't require
106591         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
106592         module handles this now.
106593         * modules/getdate (Depends-on): Remove timespec.  Add time.
106594         * modules/nanosleep (Depends-on): Likewise.
106595         * modules/stat-time (Depends-on): Likewise.
106596         * modules/nanosleep (Include): Include time.h, not timespec.h.
106597         * modules/strptime (Files): Remove lib/strptime.h.
106598         (Depends-on): Add extensions, time.
106599         (Include): Include time.h, not strptime.h.
106600         * modules/time_r (Files): Remove lib/time_r.h.
106601         (Depends-on): Add time.
106602         (Include): Include time.h, not time_r.h.
106603         * modules/timegm: Likewise.
106604         * modules/timespec (Description): Now does timespec-related decls
106605         of our own, instead of struct timespec itself.
106606         (Depends-on): Add time; remove extensions.
106607         (Maintainer): Add self.
106608         * modules/utimecmp (Depends-on): Add time; remove timespec.
106609         * modules/utimens (Depends-on): Likewise.
106610         * modules/xnanosleep (Depends-on): Likewise.
106612 2007-02-11  Bruno Haible  <bruno@clisp.org>
106614         * lib/c-strstr.c: Include allocsa.h.
106615         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
106616         * lib/c-strcasestr.c: Include allocsa.h.
106617         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
106618         * lib/strcasestr.c: Include allocsa.h.
106619         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
106620         * lib/mbsstr.c: Include allocsa.h.
106621         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
106622         allocsa/freesa instead of malloc/free.
106623         * lib/mbscasestr.c: Include allocsa.h.
106624         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
106625         allocsa/freesa instead of malloc/free.
106626         * modules/c-strstr (Depends-on): Add allocsa.
106627         * modules/c-strcasestr (Depends-on): Likewise.
106628         * modules/strcasestr (Depends-on): Likewise.
106629         * modules/mbsstr (Depends-on): Likewise.
106630         * modules/mbscasestr (Depends-on): Likewise.
106632 2007-02-11  Bruno Haible  <bruno@clisp.org>
106634         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
106636         * modules/mbsspn-tests: New file.
106637         * tests/test-mbsspn.sh: New file.
106638         * tests/test-mbsspn.c: New file.
106640 2007-02-11  Bruno Haible  <bruno@clisp.org>
106642         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
106644         * modules/mbspbrk-tests: New file.
106645         * tests/test-mbspbrk.sh: New file.
106646         * tests/test-mbspbrk.c: New file.
106648 2007-02-11  Bruno Haible  <bruno@clisp.org>
106650         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
106651         unneeded cast.
106653         * modules/mbscspn-tests: New file.
106654         * tests/test-mbscspn.sh: New file.
106655         * tests/test-mbscspn.c: New file.
106657 2007-02-11  Bruno Haible  <bruno@clisp.org>
106659         * modules/mbscasecmp-tests: New file.
106660         * tests/test-mbscasecmp.sh: New file.
106661         * tests/test-mbscasecmp.c: New file.
106663 2007-02-11  Bruno Haible  <bruno@clisp.org>
106665         Ensure O(n) worst-case complexity of mbscasestr.
106666         * lib/mbscasestr.c: Include stdbool.h.
106667         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
106668         functions.
106669         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
106670         the bookkeeping indicates that it's worth it.
106671         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
106673         * modules/mbscasestr-tests: New file.
106674         * tests/test-mbscasestr1.c: New file.
106675         * tests/test-mbscasestr2.sh: New file.
106676         * tests/test-mbscasestr2.c: New file.
106677         * tests/test-mbscasestr3.sh: New file.
106678         * tests/test-mbscasestr3.c: New file.
106679         * tests/test-mbscasestr4.sh: New file.
106680         * tests/test-mbscasestr4.c: New file.
106681         * m4/locale-tr.m4: New file.
106683 2007-02-11  Bruno Haible  <bruno@clisp.org>
106685         Ensure O(n) worst-case complexity of mbsstr.
106686         * lib/mbsstr.c: Include stdbool.h.
106687         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
106688         functions.
106689         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
106690         bookkeeping indicates that it's worth it.
106691         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
106693         * modules/mbsstr-tests: New file.
106694         * tests/test-mbsstr1.c: New file.
106695         * tests/test-mbsstr2.sh: New file.
106696         * tests/test-mbsstr2.c: New file.
106697         * tests/test-mbsstr3.sh: New file.
106698         * tests/test-mbsstr3.c: New file.
106699         * m4/locale-fr.m4: New file.
106701 2007-02-11  Bruno Haible  <bruno@clisp.org>
106703         * lib/mbsrchr.c (mbsrchr): Fix bug.
106705         * modules/mbsrchr-tests: New file.
106706         * tests/test-mbsrchr.sh: New file.
106707         * tests/test-mbsrchr.c: New file.
106709 2007-02-11  Bruno Haible  <bruno@clisp.org>
106711         * lib/mbschr.c (mbschr): Fix bug.
106713         * modules/mbschr-tests: New file.
106714         * tests/test-mbschr.sh: New file.
106715         * tests/test-mbschr.c: New file.
106716         * m4/locale-zh.m4: New file.
106718 2007-02-11  Bruno Haible  <bruno@clisp.org>
106720         Support for copying multibyte string iterators.
106721         * lib/mbiter.h: Include <string.h>.
106722         (mbiter_multi_copy): New function.
106723         (mbi_copy): New macro.
106724         * lib/mbuiter.h: Include <string.h>.
106725         (mbuiter_multi_copy): New function.
106726         (mbui_copy): New macro.
106728 2007-02-11  Bruno Haible  <bruno@clisp.org>
106730         New module mbslen.
106731         * modules/mbslen: New file.
106732         * lib/mbslen.c: New file.
106733         * lib/string_.h (mbslen): New declaration.
106734         * m4/mbslen.m4: New file.
106735         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106736         GNULIB_MBSLEN.
106737         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
106738         * MODULES.html.sh (Internationalization functions): Add mbslen.
106740 2007-02-11  Bruno Haible  <bruno@clisp.org>
106742         Ensure O(n) worst-case complexity of strcasestr substitute.
106743         * lib/strcasestr.c: Include stdbool.h.
106744         (knuth_morris_pratt): New function.
106745         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
106746         bookkeeping indicates that it's worth it.
106747         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
106749         * modules/strcasestr-tests: New file.
106750         * tests/test-strcasestr.c: New file.
106752 2007-02-11  Bruno Haible  <bruno@clisp.org>
106754         Ensure O(n) worst-case complexity of c_strcasestr.
106755         * lib/c-strcasestr.c: Include stdbool.h, string.h.
106756         (knuth_morris_pratt): New function.
106757         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
106758         the bookkeeping indicates that it's worth it.
106759         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
106761         * modules/c-strcasestr-tests: New file.
106762         * tests/test-c-strcasestr.c: New file.
106764 2007-02-11  Bruno Haible  <bruno@clisp.org>
106766         Ensure O(n) worst-case complexity of c_strstr.
106767         * lib/c-strstr.c: Include stdbool.h, string.h.
106768         (knuth_morris_pratt): New function.
106769         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
106770         bookkeeping indicates that it's worth it.
106771         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
106773         * lib/c-strstr.c: Complete rewrite for maintainability.
106775         * modules/c-strstr-tests: New file.
106776         * tests/test-c-strstr.c: New file.
106778 2007-02-11  Bruno Haible  <bruno@clisp.org>
106780         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
106781         5.2.1 and earlier, whereby \055 was treated just like the range
106782         delimiter '-'.
106783         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
106785 2007-02-08  Bruno Haible  <bruno@clisp.org>
106787         * modules/regex (Depends-on): Add stdbool.
106788         Reported by Dalibor Topic <robilad@kaffe.org>.
106790 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
106792         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
106793         Prefer returning from main to exiting from it.
106794         Remove unnecessary parens after sizeof.
106796 2007-02-05  Bruno Haible  <bruno@clisp.org>
106798         New module mbssep.
106799         * modules/mbssep: New file.
106800         * lib/mbssep.c: New file.
106801         * lib/string_.h (strsep): Add a conditional link warning.
106802         (mbssep): New declaration.
106803         * m4/mbssep.m4: New file.
106804         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106805         GNULIB_MBSSEP.
106806         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
106807         * MODULES.html.sh (Internationalization functions): Add mbssep.
106809 2007-02-05  Bruno Haible  <bruno@clisp.org>
106811         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
106812         Optimize search in case of 1 delimiter.
106814 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
106816         * lib/acl.h: Include sys/types.h before sys/acl.h.
106818 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
106820         Merge upstream fix for glibc bugzilla #3957:
106822         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
106824         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
106825         bit for RE_HAT_LISTS_NOT_NEWLINE.
106826         (build_charclass_op): Remove bogus comment.
106828 2007-02-05  Simon Josefsson  <simon@josefsson.org>
106830         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
106832 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
106834         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
106835         * lib/memmem.c [!defined _LIBC]: Include config.h.
106837 2007-02-04  Bruno Haible  <bruno@clisp.org>
106839         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
106840         warning message.
106842 2007-02-04  Bruno Haible  <bruno@clisp.org>
106844         New module mbstok_r.
106845         * modules/mbstok_r: New file.
106846         * lib/mbstok_r.c: New file.
106847         * lib/string_.h (strtok_r): Change argument names to match the
106848         comments. Add a conditional link warning.
106849         (mbstok_r): New declaration.
106850         * m4/mbstok_r.m4: New file.
106851         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106852         GNULIB_MBSTOK_R.
106853         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
106854         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
106856 2007-02-04  Bruno Haible  <bruno@clisp.org>
106858         New module mbsspn.
106859         * modules/mbsspn: New file.
106860         * lib/mbsspn.c: New file.
106861         * lib/string_.h (strspn): Add a conditional link warning.
106862         (mbsspn): New declaration.
106863         * m4/mbsspn.m4: New file.
106864         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106865         GNULIB_MBSSPN.
106866         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
106867         * MODULES.html.sh (Internationalization functions): Add mbsspn.
106869 2007-02-04  Bruno Haible  <bruno@clisp.org>
106871         New module mbspbrk.
106872         * modules/mbspbrk: New file.
106873         * lib/mbspbrk.c: New file.
106874         * lib/string_.h (strpbrk): Add a conditional link warning.
106875         (mbspbrk): New declaration.
106876         * m4/mbspbrk.m4: New file.
106877         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106878         GNULIB_MBSPBRK.
106879         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
106880         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
106882 2007-02-04  Bruno Haible  <bruno@clisp.org>
106884         New module mbscspn.
106885         * modules/mbscspn: New file.
106886         * lib/mbscspn.c: New file.
106887         * lib/string_.h (strcspn): Add a conditional link warning.
106888         (mbscspn): New declaration.
106889         * m4/mbscspn.m4: New file.
106890         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106891         GNULIB_MBSCSPN.
106892         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
106893         * MODULES.html.sh (Internationalization functions): Add mbscspn.
106895 2007-02-04  Bruno Haible  <bruno@clisp.org>
106897         New module mbscasestr, reduced goal of strcasestr.
106898         * modules/mbscasestr: New file.
106899         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
106900         (mbscasestr): Renamed from strcasestr.
106901         * lib/strcasestr.c: Don't include mbuiter.h.
106902         (strcasestr): Remove support for multibyte locales.
106903         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
106904         Change the conditional link warning.
106905         (mbscasestr): New declaration.
106906         * m4/mbscasestr.m4: New file.
106907         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
106908         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
106909         REPLACE_STRCASESTR.
106910         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
106911         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
106912         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
106913         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
106914         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
106915         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
106916         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
106917         (Depends-on): Remove mbuiter.
106918         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
106920 2007-02-04  Bruno Haible  <bruno@clisp.org>
106922         Simplify handling of strncasecmp.
106923         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
106924         the conditional link warning.
106925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
106926         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
106927         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
106928         * modules/strcase (configure.ac): Don't invoke
106929         gl_STRING_MODULE_INDICATOR.
106930         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
106932 2007-02-04  Bruno Haible  <bruno@clisp.org>
106934         New module mbscasecmp, reduced goal of strcasecmp.
106935         * modules/mbscasecmp: New file.
106936         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
106937         (mbscasecmp): Renamed from strcasecmp.
106938         * lib/strcasecmp.c: Don't include mbuiter.h.
106939         (strcasecmp): Remove support for multibyte locales.
106940         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
106941         Change the conditional link warning.
106942         (mbscasecmp): New declaration.
106943         * m4/mbscasecmp.m4: New file.
106944         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
106945         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
106946         REPLACE_STRCASECMP.
106947         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
106948         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106949         GNULIB_MBSCASECMP.
106950         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
106951         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
106952         * modules/strcase (Files): Remove m4/mbrtowc.m4.
106953         (Depends-on): Remove mbuiter.
106954         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
106956 2007-02-04  Bruno Haible  <bruno@clisp.org>
106958         New module mbsstr. Remove module strstr.
106959         * modules/mbsstr: New file.
106960         * modules/strstr: Remove file.
106961         * lib/mbsstr.c: Renamed from lib/strstr.c.
106962         (mbsstr): Renamed from strstr.
106963         * lib/string_.h (strstr): Remove declaration. Change the conditional
106964         link warning.
106965         (mbsstr): New declaration.
106966         * m4/mbsstr.m4: New file.
106967         * m4/strstr.m4: Remove file.
106968         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
106969         REPLACE_STRSTR.
106970         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
106971         Don't initialize GNULIB_STRSTR.
106972         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
106973         substitute GNULIB_STRSTR and REPLACE_STRSTR.
106974         * MODULES.html.sh (Internationalization functions): Add mbsstr.
106975         (Support for systems lacking ANSI C 89): Remove strstr.
106977 2007-02-04  Bruno Haible  <bruno@clisp.org>
106979         New module mbsrchr.
106980         * modules/mbsrchr: New file.
106981         * lib/mbsrchr.c: New file.
106982         * lib/string_.h (strrchr): Add a conditional link warning.
106983         (mbsrchr): New declaration.
106984         * m4/mbsrchr.m4: New file.
106985         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106986         GNULIB_MBSRCHR.
106987         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
106988         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
106990 2007-02-04  Bruno Haible  <bruno@clisp.org>
106992         New module mbschr.
106993         * modules/mbschr: New file.
106994         * lib/mbschr.c: New file.
106995         * lib/string_.h (strchr): Add a conditional link warning.
106996         (mbschr): New declaration.
106997         * m4/mbschr.m4: New file.
106998         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
106999         GNULIB_MBSCHR.
107000         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
107001         * MODULES.html.sh (Internationalization functions): Add mbschr.
107003 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
107005         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
107007         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
107009 2007-02-04  Bruno Haible  <bruno@clisp.org>
107011         New module description section 'configure.ac-early'.
107012         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
107013         (func_get_autoconf_early_snippet): New function.
107014         (func_import, func_create_testdir): Use it. Remove special cases for
107015         modules 'extensions' and 'lock'.
107016         * modules/extensions (configure.ac-early): Require
107017         gl_USE_SYSTEM_EXTENSIONS.
107018         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
107020 2007-02-04  Bruno Haible  <bruno@clisp.org>
107022         Make use of gcj-4.3's -fsource and -ftarget option.
107023         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
107024         and if so try the options -fsource and -ftarget.
107025         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
107026         source_version, ftarget_option, target_version arguments.
107027         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
107028         (is_envjavac_oldgcj_14_14_usable): Renamed from
107029         is_envjavac_gcj_14_14_usable.
107030         (is_envjavac_oldgcj_14_13_usable): Renamed from
107031         is_envjavac_gcj_14_13_usable.
107032         (is_gcj_present): Update.
107033         (is_gcj_43, is_gcj43_usable): New functions.
107034         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
107035         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
107036         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
107037         try the options -fsource and -ftarget.
107039 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
107041         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
107042         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
107043         larger value.
107045 2007-02-03  Jim Meyering  <jim@meyering.net>
107047         Give tools a better chance to allocate space for very large buffers.
107048         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
107050         Make pwd and readlink work also when run with an unreadable parent dir
107051         on systems with openat support.
107052         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
107053         provided getcwd function, even when we have openat support.
107054         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
107056 2007-02-02  Bruno Haible  <bruno@clisp.org>
107058         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
107059         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
107060         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
107061         portability problems if one of these functions is only used on specific
107062         platforms.
107063         Reported by Paul Eggert.
107065 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
107067         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
107068         is causing more trouble than it's curing.
107069         * lib/regex_internal.h (__mempcpy): Remove.
107070         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
107071         (and make the code a tad smaller to boot).
107072         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
107074 2007-02-02  Jim Meyering  <jim@meyering.net>
107076         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
107077         section, not in the Makefile.am: one.
107079 2007-02-02  Eric Blake  <ebb9@byu.net>
107081         * lib/strchrnul.c: Always include config.h first.
107083         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
107084         gnulib strstr is not necessary here.
107086 2007-02-02  Simon Josefsson  <simon@josefsson.org>
107088         * m4/socklen.m4: Fix typo.
107090 2007-02-02  Eric Blake  <ebb9@byu.net>
107092         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
107093         * modules/netinet_in (Makefile.am): Likewise.
107095 2007-02-01  Bruno Haible  <bruno@clisp.org>
107097         * lib/string_.h (GL_LINK_WARNING): New macro.
107098         (strcasecmp, strstr, strcasestr): If provided by the system,
107099         conditionally define as a macro that leads to a warning instead of to
107100         an error.
107101         (strncasecmp): Conditionally define as a macro that leads to a warning.
107103 2007-02-01  Karl Berry  <karl@gnu.org>
107105         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
107107 2007-02-01  Bruno Haible  <bruno@clisp.org>
107109         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
107110         renamings.
107112 2007-02-01  Eric Blake  <ebb9@byu.net>
107114         * modules/regex (Depends-on): Revert dependence on mempcpy.
107115         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
107116         module's definition of mempcpy.
107117         Reported by Paul Eggert.
107119 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
107121         * lib/string_.h: If the gnulib module XYZ is not present, undefine
107122         the symbol XYZ before redefining it.  This fixes a problem with
107123         programs that don't use XYZ, when compiled on systems that define
107124         XYZ to something else.
107126 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
107128         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
107129         occurs when "mkdir -m foo" creates a setgid directory that is (1)
107130         writeable to group or other and (2) is intended to have a special
107131         mode bit that is set or cleared.  In such a case, the directory
107132         should be neither group- nor other-writeable until the special
107133         mode bits are right.
107135 2007-01-31  Eric Blake  <ebb9@byu.net>
107137         * modules/mountlist (Depends-on): Add strstr.
107139         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
107140         bug.
107141         * modules/string (Makefile.am): Remove redundant replacement.
107142         * modules/regex (Depends-on): Add mempcpy.
107144 2007-01-31  Bruno Haible  <bruno@clisp.org>
107146         New module description field 'Link'.
107147         * gnulib-tool (func_usage): Document --extract-link-directive.
107148         (sed_extract_prog): Recognize 'Link' directive.
107149         (func_get_link_directive): New function.
107150         (func_import): Show summary of link directives.
107151         Handle --extract-link-directive option.
107152         * modules/acl (Link): New section.
107153         * modules/clock-time (Link): New section.
107154         * modules/euidaccess (Link): New section.
107155         * modules/gettext (Link): New section.
107156         * modules/iconv (Link): New section.
107157         * modules/lock (Link): New section.
107158         * modules/nanosleep (Link): New section.
107159         * modules/readline (Link): New section.
107161 2007-01-27  Bruno Haible  <bruno@clisp.org>
107163         Enforce the use of gnulib modules for unportable <string.h> functions.
107164         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
107165         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
107166         (gl_HEADER_STRING_H_BODY): Require it.
107167         * lib/string_.h: If the gnulib module XYZ is not present, redefine
107168         the symbol XYZ to one that gives a link error.
107169         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
107170         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
107171         * modules/mempcpy (configure.ac): Likewise.
107172         * modules/memrchr (configure.ac): Likewise.
107173         * modules/stpcpy (configure.ac): Likewise.
107174         * modules/stpncpy (configure.ac): Likewise.
107175         * modules/strcase (configure.ac): Likewise.
107176         * modules/strcasestr (configure.ac): Likewise.
107177         * modules/strchrnul (configure.ac): Likewise.
107178         * modules/strdup (configure.ac): Likewise.
107179         * modules/strndup (configure.ac): Likewise.
107180         * modules/strnlen (configure.ac): Likewise.
107181         * modules/strpbrk (configure.ac): Likewise.
107182         * modules/strsep (configure.ac): Likewise.
107183         * modules/strstr (configure.ac): Likewise.
107184         * modules/strtok_r (configure.ac): Likewise.
107186 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
107188         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
107190 2007-01-30  Jim Meyering  <jim@meyering.net>
107192         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
107194 2007-01-29  Bruno Haible  <bruno@clisp.org>
107196         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
107197         * lib/execute.c: Likewise.
107198         * lib/pipe.c: Likewise.
107199         * lib/printf-args.h: Likewise.
107200         * lib/printf-args.c: Likewise.
107201         * lib/printf-parse.c: Likewise.
107202         * lib/vasnprintf.c: Likewise.
107204 2007-01-29  Eric Blake  <ebb9@byu.net>
107206         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
107207         declaration.
107209 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
107211         * lib/strptime.h (strptime): Use 'restrict' for args where
107212         POSIX requires this.
107213         * lib/strptime.c (strptime): Likewise.
107214         Change license notice from LGPL to GPL, since gnulib-tool will
107215         change this as needed.
107216         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
107217         defined.
107218         Include "strptime.h" first, to check interface.
107219         Do not #undef _LIBC and _NL_CURRENT.
107220         Do not include <stdlib.h>; no longer needed.
107221         Include "time_r.h" and declare ptime_locale_status
107222         only if _LIBC is not defined.
107223         (__P): Remove unused macro.
107224         (match_string): Bring back glibc version, but use it only if _LIBC
107225         is defined.
107226         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
107227         Remove unnecessary assertion and abort() call.
107228         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
107229         * m4/strptime.m4: Fix serial number comment.
107230         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
107231         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
107232         (Depends-on): Add time_r.
107234 2007-01-29  Bruno Haible  <bruno@clisp.org>
107236         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107237         strptime.
107238         * modules/strptime (Depends-on): Add stdbool.
107239         * lib/strptime.h: Include <time.h> always. Add comments.
107241 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107243         * modules/strptime: New file.
107244         * lib/strptime.h: New file.
107245         * lib/strptime.c: New file.
107246         * m4/strptime.m4: New file.
107248 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
107250         * MODULES.html.sh: New module mpsort.
107251         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
107253         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
107254         a circularity problem with HP-UX ia64 reported by Bob Proulx in
107255         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
107256         All uses changed.
107257         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
107258         All uses changed.
107259         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
107260         to _Restrict_.
107261         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
107262         the parameter matches the prototype.
107264 2007-01-28  Jim Meyering  <jim@meyering.net>
107266         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
107267         sys/time.h here, reverting that part of the previous patch:
107268         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
107270 2007-01-28  Bruno Haible  <bruno@clisp.org>
107272         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
107273         value of $(SYS_TIME_H).
107274         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
107275         remove it conditionally, too. [added by Jim Meyering]
107276         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
107277         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
107278         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
107279         GETTIMEOFDAY_REPLACEMENT to 1.
107281 2007-01-28  Bruno Haible  <bruno@clisp.org>
107283         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
107284         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
107285         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
107286         Set UNISTD_H instead of UNISTD_H2.
107287         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
107289 2007-01-28  Bruno Haible  <bruno@clisp.org>
107291         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
107292         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
107294 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107296         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
107297         (func_create_testdir): Ensure C locale for `grep' and `tr'
107298         character ranges.
107299         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
107300         ACLOCAL_AMFLAGS parsing state machine.
107302 2007-01-27  Bruno Haible  <bruno@clisp.org>
107304         * modules/unistr/base: Update.
107306 2007-01-27  Bruno Haible  <bruno@clisp.org>
107308         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
107309         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
107310         * modules/unistr/u32-mbtouc-unsafe: Renamed from
107311         modules/unistr/u32-mbtouc.
107312         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
107313         * lib/unistr.h: Update.
107314         * lib/linebreak.c: Update.
107315         * modules/unistr/u32-mbtouc: Renamed from
107316         modules/unistr/u32-mbtouc-safe.
107317         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
107318         * lib/unistr.h: Update.
107319         * lib/unistr/u32-to-u8.c: Update.
107320         * lib/unistr/u32-to-u16.c: Update.
107322 2007-01-27  Bruno Haible  <bruno@clisp.org>
107324         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
107325         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
107326         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
107327         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
107328         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
107329         * modules/unistr/u16-mbtouc-unsafe: Renamed from
107330         modules/unistr/u16-mbtouc.
107331         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
107332         * lib/unistr.h: Update.
107333         * lib/linebreak.c: Update.
107334         * modules/linebreak: Update.
107335         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
107336         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
107337         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
107338         * modules/unistr/u16-mbtouc: Renamed from
107339         modules/unistr/u16-mbtouc-safe.
107340         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
107341         * lib/unistr.h: Update.
107342         * lib/unistr/u16-to-u8.c: Update.
107343         * modules/unistr/u16-to-u8: Update.
107344         * lib/unistr/u16-to-u32.c: Update.
107345         * modules/unistr/u16-to-u32: Update.
107347 2007-01-27  Bruno Haible  <bruno@clisp.org>
107349         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
107350         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
107351         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
107352         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
107353         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
107354         * modules/unistr/u8-mbtouc-unsafe: Renamed from
107355         modules/unistr/u8-mbtouc.
107356         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
107357         * lib/unistr.h: Update.
107358         * lib/striconveh.c: Update.
107359         * modules/striconveh: Update.
107360         * lib/linebreak.c: Update.
107361         * modules/linebreak: Update.
107362         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
107363         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
107364         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
107365         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
107366         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
107367         * lib/unistr.h: Update.
107368         * lib/striconveh.c: Update.
107369         * modules/striconveh: Update.
107370         * lib/unistr/u8-to-u16.c: Update.
107371         * modules/unistr/u8-to-u16: Update.
107372         * lib/unistr/u8-to-u32.c: Update.
107373         * modules/unistr/u8-to-u32: Update.
107375 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107377         Sync from Libtool.
107378         * lib/argz.c: Do not include strings.h nor memory.h, include
107379         string.h unconditionally.  Patch by Simon Josefsson.
107381 2007-01-27  Bruno Haible  <bruno@clisp.org>
107383         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
107384         from gl_HEADER_STRING_H_BODY.
107385         (gl_HEADER_STRING_H_BODY): Require it.
107386         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
107387         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
107388         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
107389         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
107390         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
107391         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
107392         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
107393         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
107394         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
107395         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
107396         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
107397         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
107398         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
107399         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
107400         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
107402 2007-01-27  Bruno Haible  <bruno@clisp.org>
107404         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
107405         check_PROGRAMS into noinst_PROGRAMS.
107406         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
107407         check_PROGRAMS in this case.
107408         (func_import): Set for_test to false.
107409         (func_create_testdir): Set for_test to true.
107411 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
107412             Bruno Haible  <bruno@clisp.org>
107414         * modules/strcasestr (Files): Remove lib/strcasestr.h.
107415         (Depends-on): Add string.
107416         (Includes): Use <string.h> instead of strcasestr.h.
107417         * modules/string (Makefile.am): Also substitute the value of
107418         REPLACE_STRCASESTR.
107419         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
107420         assume strcasestr is declared in <string.h> not <strings.h>. Also
107421         set REPLACE_STRCASESTR.
107422         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
107423         REPLACE_STRCASESTR.
107424         * lib/strcasestr.h: Remove file.
107425         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
107426         * lib/string_.h (strcasestr): New declaration.
107428 2007-01-27  Bruno Haible  <bruno@clisp.org>
107430         * lib/string_.h: Use 'extern'.
107432 2007-01-27  Jim Meyering  <jim@meyering.net>
107434         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
107435         of set-but-not-used local, "q".
107437         * lib/mempcpy.c: Include <config.h> before <string.h>.
107438         This fixes a compilation error on HP-UX, due to the system's
107439         "restrict"-using mempcpy prototype.
107441 2007-01-26  Bruno Haible  <bruno@clisp.org>
107443         Small optimization.
107444         * lib/javacomp.c: Include c-strstr.h.
107445          (is_envjavac_gcj): Use c_strstr instead of strstr.
107446         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
107448 2007-01-26  Bruno Haible  <bruno@clisp.org>
107450         * MODULES.html.sh (Unicode string functions): Add the new modules.
107452         * modules/uniconv/u32-strconv-to-locale: New file.
107453         * lib/uniconv/u32-strconv-to-locale.c: New file.
107455         * modules/uniconv/u16-strconv-to-locale: New file.
107456         * lib/uniconv/u16-strconv-to-locale.c: New file.
107458         * modules/uniconv/u8-strconv-to-locale: New file.
107459         * lib/uniconv/u8-strconv-to-locale.c: New file.
107461         * modules/uniconv/u32-strconv-from-locale: New file.
107462         * lib/uniconv/u32-strconv-from-locale.c: New file.
107464         * modules/uniconv/u16-strconv-from-locale: New file.
107465         * lib/uniconv/u16-strconv-from-locale.c: New file.
107467         * modules/uniconv/u8-strconv-from-locale: New file.
107468         * lib/uniconv/u8-strconv-from-locale.c: New file.
107470         * modules/uniconv/u32-strconv-to-enc: New file.
107471         * lib/uniconv/u32-strconv-to-enc.c: New file.
107472         * modules/uniconv/u32-strconv-to-enc-tests: New file.
107473         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
107475         * modules/uniconv/u16-strconv-to-enc: New file.
107476         * lib/uniconv/u16-strconv-to-enc.c: New file.
107477         * lib/uniconv/u-strconv-to-enc.h: New file.
107478         * modules/uniconv/u16-strconv-to-enc-tests: New file.
107479         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
107481         * modules/uniconv/u8-strconv-to-enc: New file.
107482         * lib/uniconv/u8-strconv-to-enc.c: New file.
107483         * modules/uniconv/u8-strconv-to-enc-tests: New file.
107484         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
107486         * modules/uniconv/u32-strconv-from-enc: New file.
107487         * lib/uniconv/u32-strconv-from-enc.c: New file.
107488         * modules/uniconv/u32-strconv-from-enc-tests: New file.
107489         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
107491         * modules/uniconv/u16-strconv-from-enc: New file.
107492         * lib/uniconv/u16-strconv-from-enc.c: New file.
107493         * modules/uniconv/u16-strconv-from-enc-tests: New file.
107494         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
107496         * modules/uniconv/u8-strconv-from-enc: New file.
107497         * lib/uniconv/u8-strconv-from-enc.c: New file.
107498         * lib/uniconv/u-strconv-from-enc.h: New file.
107499         * modules/uniconv/u8-strconv-from-enc-tests: New file.
107500         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
107502         * modules/uniconv/u32-conv-from-enc: New file.
107503         * lib/uniconv/u32-conv-from-enc.c: New file.
107504         * modules/uniconv/u32-conv-from-enc-tests: New file.
107505         * tests/uniconv/test-u32-conv-from-enc.c: New file.
107507         * modules/uniconv/u16-conv-from-enc: New file.
107508         * lib/uniconv/u16-conv-from-enc.c: New file.
107509         * lib/uniconv/u-conv-from-enc.h: New file.
107510         * modules/uniconv/u16-conv-from-enc-tests: New file.
107511         * tests/uniconv/test-u16-conv-from-enc.c: New file.
107513         * modules/uniconv/u8-conv-from-enc: New file.
107514         * lib/uniconv/u8-conv-from-enc.c: New file.
107515         * modules/uniconv/u8-conv-from-enc-tests: New file.
107516         * tests/uniconv/test-u8-conv-from-enc.c: New file.
107518         * modules/uniconv/base: New file.
107519         * lib/uniconv.h: New file.
107521 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
107523         * doc/gnulib-tool.texi (Initial import): Update to match current
107524         behavior with strdup module.
107525         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
107526         * lib/memmem.h: Remove; all uses removed.  This is now done
107527         by <string.h>.
107528         * lib/mempcpy.h: Likewise.
107529         * lib/memrchr.h: Likewise.
107530         * lib/stpcpy.h: Likewise.
107531         * lib/stpncpy.h: Likewise.
107532         * lib/strcase.h: Likewise.
107533         * lib/strchrnul.h: Likewise.
107534         * lib/strdup.h: Likewise.
107535         * lib/strndup.h: Likewise.
107536         * lib/strnlen.h: Likewise.
107537         * lib/strpbrk.h: Likewise.
107538         * lib/strsep.h: Likewise.
107539         * lib/strstr.h: Likewise.
107540         * lib/strtok_r.h: Likewise.
107541         * lib/string_.h: New file.
107542         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
107543         Rely on <string.h> instead.
107544         * lib/canon-host.c: Likewise.
107545         * lib/chdir-long.c: Likewise.
107546         * lib/concatpath.c: Likewise.
107547         * lib/exclude.c: Likewise.
107548         * lib/fchdir.c: Likewise.
107549         * lib/getaddrinfo.c: Likewise.
107550         * lib/getcwd.c: Likewise.
107551         * lib/getsubopt.c: Likewise.
107552         * lib/glob.c: Likewise.
107553         * lib/hard-locale.c: Likewise.
107554         * lib/iconvme.c: Likewise.
107555         * lib/javacomp.c: Likewise.
107556         * lib/mempcpy.c: Likewise.
107557         * lib/memrchr.c: Likewise.
107558         * lib/regex_internal.h: Likewise.
107559         * lib/stpncpy.c: Likewise.
107560         * lib/strcasecmp.c: Likewise.
107561         * lib/strchrnul.c: Likewise.
107562         * lib/strdup.c: Likewise.
107563         * lib/striconv.c: Likewise.
107564         * lib/striconveh.c: Likewise.
107565         * lib/striconveha.c: Likewise.
107566         * lib/strncasecmp.c: Likewise.
107567         * lib/strndup.c: Likewise.
107568         * lib/strnlen.c: Likewise.
107569         * lib/strsep.c: Likewise.
107570         * lib/strstr.c: Likewise.
107571         * lib/strtok_r.c: Likewise.
107572         * lib/userspec.c: Likewise.
107573         * lib/w32spawn.h: Likewise.
107574         * lib/xstrndup.c: Likewise.
107575         * lib/mountlist.c (strstr): Remove decl.
107576         * m4/string_h.m4: New file.
107577         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
107578         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
107579         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
107580         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
107581         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
107582         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
107583         Set REPLACE_STRCASECMP if necessary.
107584         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
107585         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
107586         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
107587         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
107588         HAVE_DECL_STRDUP if necessary.
107589         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
107590         since gl_FUNC_STRNDUP does that now.
107591         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
107592         Check for decl here...
107593         (gl_PREREQ_STRNLEN): ... not here.
107594         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
107595         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
107596         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
107597         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
107598         necessary.
107599         * modules/string: New file.
107600         * modules/memmem (Files): Remove special-purpose include file.
107601         (Depends-on): Add string.
107602         (Include): Include <string.h>, not the removed file.
107603         * modules/mempcpy: Likewise.
107604         * modules/memrchr: Likewise.
107605         * modules/stpcpy: Likewise.
107606         * modules/stpncpy: Likewise.
107607         * modules/strcase: Likewise.
107608         * modules/strchrnul: Likewise.
107609         * modules/strdup: Likewise.
107610         * modules/strndup: Likewise.
107611         * modules/strnlen: Likewise.
107612         * modules/strpbrk: Likewise.
107613         * modules/strsep: Likewise.
107614         * modules/strstr: Likewise.
107615         * modules/strtok_r: Likewise.
107616         * tests/test-dirname.c: Don't include "strdup.h", since
107617         <string.h> now suffices.
107618         * tests/test-memmem.c: Don't include "memmem.h", since
107619         <string.h> now suffices.
107621 2007-01-25  Bruno Haible  <bruno@clisp.org>
107623         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
107624         *resultp is 0.
107626         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
107627         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
107628         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
107629         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
107631         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
107632         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
107633         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
107634         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
107635         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
107636         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
107638 2007-01-24  Bruno Haible  <bruno@clisp.org>
107640         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
107641         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
107642         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
107643         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
107644         gl_FUNC_FTS_CORE.
107645         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
107646         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
107647         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
107648         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
107649         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
107650         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
107651         gl_FUNC_FCHOWNAT.
107652         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
107653         gl_FUNC_STRFTIME.
107654         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
107655         Reported by Ralf Wildenhues.
107657 2007-01-24  Bruno Haible  <bruno@clisp.org>
107659         Drop AC_REQUIRE calls that are redundant with the module dependencies.
107660         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
107661         gl_GETADDRINFO.
107662         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
107663         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
107664         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
107666 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
107668         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
107669         Don't use 'exit'; just return from 'main'.
107670         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
107672         * lib/fnmatch_.h: Readjust white space and comments to match
107673         glibc, to avoid spurious diffs.
107675 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
107677         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
107678         2004-12-01 change by Jakub Jelinek, since this code won't compile
107679         if !LIBC.  Problem reported by Bob Proulx.
107681 2007-01-23  Bruno Haible  <bruno@clisp.org>
107683         * lib/striconveh.c: Include c-strcaseeq.h.
107684         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
107685         * modules/striconveh (Depends-on): Add c-strcaseeq.
107687 2007-01-23  Bruno Haible  <bruno@clisp.org>
107689         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
107691         * modules/c-strcaseeq: New file.
107692         * lib/c-strcaseeq.h: New file.
107694         * modules/streq: New file.
107695         * lib/streq.h: New file.
107697 2007-01-23  Bruno Haible  <bruno@clisp.org>
107699         * modules/striconveha-tests: New file.
107700         * tests/test-striconveha.c: New file.
107702         * lib/striconveha.h: Include <stdbool.h>.
107703         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
107704         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
107705         (mem_iconveha_notranslit): Renamed from mem_iconveha.
107706         (mem_iconveha): New function.
107707         (str_iconveha_notranslit): Renamed from str_iconveha.
107708         (str_iconveha): New function.
107709         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
107710         c-strcase.
107712 2007-01-23  Bruno Haible  <bruno@clisp.org>
107714         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
107715         encodings without forgiving before trying any encoding with handler.
107716         (str_iconveha): Try all encodings without forgiving before trying any
107717         encoding with handler.
107719 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
107721         Import the following changes from libc.
107723         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
107725         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
107727         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
107729         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
107730         normal_bracket label.
107732         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
107734         [BZ #361]
107735         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
107736         to normal_bracket after fetching the next character.
107738 2007-01-22  Bruno Haible  <bruno@clisp.org>
107740         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
107741         argument.
107742         * lib/striconveh.c (iconv_carefully_1): New function.
107743         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
107744         argument.
107745         (str_cd_iconveh): Update.
107746         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
107747         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
107748         * tests/test-striconveh.c (MAGIC): New macro.
107749         (new_offsets): New function.
107750         (main): Test call with and without offsets.
107752 2007-01-22  Bruno Haible  <bruno@clisp.org>
107754         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
107755         * modules/sys_select (Makefile.am): Likewise.
107756         * modules/sys_socket (Makefile.am): Likewise.
107757         * modules/sys_time (Makefile.am): Likewise.
107759 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
107761         * modules/gettimeofday (License): Change from GPL to LGPL, since
107762         gettimeofday is a library function.
107764 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
107766         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
107768 2007-01-21  Bruno Haible  <bruno@clisp.org>
107770         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
107772 2007-01-21  Bruno Haible  <bruno@clisp.org>
107774         * modules/striconveha: New file.
107775         * lib/striconveha.h: New file.
107776         * lib/striconveha.c: New file.
107777         * MODULES.html.sh (Internationalization functions): Add striconveha.
107778         * lib/striconv.c (str_iconv): Optimize the case of an empty input
107779         string.
107780         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
107782 2007-01-21  Bruno Haible  <bruno@clisp.org>
107784         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
107785         * lib/striconveh.c (str_iconveh): Likewise.
107787 2007-01-21  Bruno Haible  <bruno@clisp.org>
107789         * lib/striconveh.h (mem_iconveh): New declaration.
107790         * lib/striconveh.c (mem_iconveh): New function.
107791         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
107793 2007-01-21  Bruno Haible  <bruno@clisp.org>
107795         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
107797         * lib/striconveh.h (mem_cd_iconveh): Change specification.
107798         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
107799         original result buffer.
107800         (str_cd_iconveh): Update.
107801         * tests/test-striconveh.c (main): Update.
107803         * lib/striconv.h (mem_cd_iconv): Change specification.
107804         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
107805         result buffer.
107806         (str_cd_iconv): Update.
107807         * tests/test-striconv.c (main): Update.
107809 2007-01-21  Bruno Haible  <bruno@clisp.org>
107811         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
107813 2007-01-20  Jim Meyering  <jim@meyering.net>
107815         * lib/userspec.c (parse_with_separator): If a user or group string
107816         starts with "+", skip the corresponding name-to-ID look-up, since
107817         such a look-up must fail: user and group names may not include "+".
107819 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
107821         * lib/poll.c: Include sys/time.h and time.h unconditionally,
107822         since we now assume the sys_time module.
107823         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
107824         check for sys/time.h; no longer needed.
107825         * modules/poll (Depends-on): Depend on sys_time.
107827 2007-01-18  Bruno Haible  <bruno@clisp.org>
107829         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
107830         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
107832         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
107833         gettimeofday.
107835         * tests/test-gettimeofday.c: Include <time.h>.
107836         (dummy): Remove variable.
107838         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
107839         gl_HEADER_SYS_TIME_H.
107840         (gl_HEADER_SYS_TIME_H): New macro.
107842         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
107843         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
107844         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
107845         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
107846         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
107847         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
107848         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
107849         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
107850         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
107851         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
107852         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
107854         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
107855         last change; it caused a compilation error when cross-compiling to
107856         Cygwin.
107858 2007-01-18  Jim Meyering  <jim@meyering.net>
107860         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
107861         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
107862         than the race-prone "test -d sys || mkdir sys".
107863         (configure.ac): Use AC_PROG_MKDIR_P.
107864         * modules/sys_select: Likewise.
107865         * modules/sys_socket: Likewise.
107866         * modules/sys_time: Likewise.
107868 2007-01-18  Eric Blake  <ebb9@byu.net>
107870         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
107871         replace gettimeofday.
107872         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
107873         name, to avoid infinite recursion.
107875 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
107877         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
107878         module sys_time.
107879         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
107880         assume timespec.h defines struct timeval.
107881         * lib/settime.c: Likewise.
107882         * lib/utimens.c: Likewise.
107883         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
107884         since we now assume the gettimeofday module.
107885         * lib/tempname.c (__gen_tempname): Likewise.
107886         * lib/gettimeofday.h: Remove.
107887         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
107888         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
107889         Include <time.h>, for 'time()'.
107890         (localtime_buffer_addr): Also use this workaround if
107891         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
107892         to simplify the uses.  All uses changed.
107893         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
107894         that #undef is inside {}, and 'const' follows type name consistently.
107895         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
107896         (gettimeofday): Do not use the maximum possible value for
107897         tv->tv_usec, since that might break usages other than ls.c.
107898         Instead, we'll leave ls.c alone.  This undoes today's patch
107899         by Bruno.  Add a compile-time warning for 1s-clock resolution;
107900         we've never observed the problem but might as well keep the
107901         canary.
107902         * lib/nanosleep.c: Include timespec.h first, for interface check.
107903         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
107904         now assume the sys_time module.
107905         * lib/tempname.c: Likewise.
107906         * lib/timespec.h: Likewise.
107907         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
107908         needed.
107909         * lib/strftime.c: Likewise.
107910         * lib/timespec.h: Likewise.
107911         * lib/posixtm.c: Include posixtm.h first, for interface check.
107912         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
107913         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
107914         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
107915         * lib/sys_time_.h: New file.
107916         * lib/timespec.h (struct timespec): Use long int, not long.
107917         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
107918         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
107919         Remove obsolescent call to AC_HEADER_TIME.
107920         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
107921         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
107922         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
107923         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
107924         Likewise.
107925         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
107926         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
107927         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
107928         into the sys_time module.  Check for gettimeofday just once.
107929         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
107930         for gettimeofday signature to just check the signature.  Merely
107931         compile it, since linking doesn't test signature.  Improve test for
107932         whether gettimeofday.o is actually needed.
107933         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
107934         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
107935         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
107936         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
107937         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
107938         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
107939         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
107940         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
107941         than worrying about sys/time.h.
107942         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
107943         Don't bother worrying about TIME_WITH_SYS_TIME.
107944         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
107945         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
107946         * m4/sys_time_h.m4: New file.
107947         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
107948         Don't include sys/time.h.  Return from main rather than exiting.
107949         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
107950         all uses changed.
107951         * modules/gethrxtime (Depends-on): Add sys_time.
107952         * modules/gettime (Depends-on): Likewise.
107953         * modules/gettimeofday (Depends-on): Likewise.
107954         * modules/nanosleep (Depends-on): Likewise.
107955         * modules/settime (Depends-on): Likewise.
107956         * modules/tempname (Depends-on): Likewise.
107957         * modules/utimens (Depends-on): Likewise.
107958         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
107959         (Include): Change back to <sys/time.h>.
107960         (Maintainer): Add self.
107961         * modules/sys_time: New file.
107962         * modules/tempname (Depends-on): Add gettimeofday.
107963         * tests/test-gettimeofday.c: Include <sys/time.h>
107964         rather than gettimeofday.h.
107966 2007-01-17  Bruno Haible  <bruno@clisp.org>
107968         * gnulib-tool (func_get_license): Revert last patch. Instead, let
107969         the license default to GPL.
107970         (func_create_testdir): Don't complain if a module is LGPL and its
107971         tests module depends on GPLed modules.
107973 2007-01-17  Bruno Haible  <bruno@clisp.org>
107975         * lib/gettimeofday.c (gettimeofday): Add code for the case
107976         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
107977         maximum possible value for tv->tv_usec, rather than the minimum one.
107979 2005-10-08  Martin Lambers  <marlam@marlam.de>
107980 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
107981 2007-01-16  Bruno Haible  <bruno@clisp.org>
107983         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
107984         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
107985         gl_FUNC_GETTIMEOFDAY.
107986         (Include): Add gettimeofday.h.
107987         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
107988         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
107989         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
107990         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
107991         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
107992         * lib/gettimeofday.h: New file.
107993         * lib/gettimeofday.c: Include <sys/timeb.h>.
107994         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
107995         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
107996         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
107997         fall back on time().
107999         * tests/test-gettimeofday.c: New file.
108000         * modules/gettimeofday-tests: New file.
108002 2007-01-16  Eric Blake  <ebb9@byu.net>
108004         * modules/fnmatch (Depends-on): Depend on wchar.
108005         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
108006         * m4/fnmatch.m4: Likewise.
108007         * modules/mbchar (Makefile.am): Assume <wchar.h>.
108008         * m4/mbchar.m4: Likewise.
108009         * modules/mbswidth (Depends-on): Depend on wchar.
108010         * lib/mbswidth.c: Assume <wchar.h>.
108011         * m4/mbswidth.m4: Likewise.
108012         * modules/quotearg (Depends-on): Depend on wchar.
108013         * lib/quotearg.c: Assume <wchar.h>.
108014         * m4/quotearg.m4: Likewise.
108015         * modules/regex (Depends-on): Depend on wchar.
108016         * lib/regex_internal.h: Assume <wchar.h>.
108017         * m4/regex.m4: Likewise.
108018         * modules/stdint (Depends-on): Depend on wchar.
108019         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
108020         * m4/stdint.m4: Likewise.
108021         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
108022         * modules/strftime (Depends-on): Depend on wchar.
108023         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
108024         * modules/strtol (Depends-on): Depend on wchar.
108025         * lib/strtol.c: Assume <wchar.h>.
108026         * modules/wcwidth (Depends-on): Depend on wchar.
108027         * lib/wcwidth.h: Assume <wchar.h>.
108028         * m4/wcwidth.m4: Likewise.
108030 2007-01-16  Bruno Haible  <bruno@clisp.org>
108032         * modules/csharpexec-script: New, created from...
108033         * modules/csharpexec: ... this.
108035 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
108037         * modules/javaexec-script: New, created from...
108038         * modules/javaexec: ... this.
108040 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108042         * modules/poll (Dependencies): Add sys_select.
108044 2007-01-15  Jim Meyering  <jim@meyering.net>
108046         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
108047         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
108048         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
108049         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
108051 2007-01-15  Bruno Haible  <bruno@clisp.org>
108053         * modules/striconveh: New file.
108054         * lib/striconveh.h: New file.
108055         * lib/striconveh.c: New file.
108056         * MODULES.html.sh (Internationalization functions): Add striconveh.
108058         * modules/striconveh-tests: New file.
108059         * tests/test-striconveh.c: New file.
108061 2007-01-15  Bruno Haible  <bruno@clisp.org>
108063         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
108064         not from GNU libiconv or GNU libc.
108066 2007-01-15  Bruno Haible  <bruno@clisp.org>
108068         * doc/gnulib-intro.texi (Copyright): Explain the different license
108069         terms for module descriptions, autoconf macros, tests, documentation.
108071 2007-01-14  Bruno Haible  <bruno@clisp.org>
108073         * modules/striconv-tests: New file.
108074         * tests/test-striconv.c: New file.
108076 2007-01-14  Bruno Haible  <bruno@clisp.org>
108078         * modules/iconv-tests: New file.
108079         * tests/test-iconv.c: New file.
108081 2007-01-14  Bruno Haible  <bruno@clisp.org>
108083         * gnulib-tool (func_get_license): For test modules, use the license of
108084         the main module.
108086 2007-01-14  Bruno Haible  <bruno@clisp.org>
108088         * modules/iconv (Include): Clarify that <iconv.h> can only be included
108089         if iconv is found to exist.
108091 2007-01-14  Bruno Haible  <bruno@clisp.org>
108093         * modules/c-ctype-tests: New file.
108094         * tests/test-c-ctype.c: New file.
108096 2007-01-14  Bruno Haible  <bruno@clisp.org>
108098         * modules/binary-io-tests: New file.
108099         * tests/test-binary-io.sh: New file.
108100         * tests/test-binary-io.c: New file.
108102 2007-01-14  Bruno Haible  <bruno@clisp.org>
108104         * modules/array-oset-tests: New file.
108105         * tests/test-array_oset.c: New file.
108107 2007-01-14  Bruno Haible  <bruno@clisp.org>
108109         * modules/array-list-tests: New file.
108110         * tests/test-array_list.c: New file.
108112 2007-01-14  Bruno Haible  <bruno@clisp.org>
108114         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
108115         and make.
108116         Reported by Simon Josefsson in
108117         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
108119 2007-01-14  Bruno Haible  <bruno@clisp.org>
108121         * modules/allocsa-tests: New file.
108122         * tests/test-allocsa.c: New file.
108124 2007-01-14  Bruno Haible  <bruno@clisp.org>
108126         * modules/fchdir (Depends-on): Add absolute-header.
108127         * modules/unistd (Depends-on): Likewise.
108129 2006-12-30  Bruno Haible  <bruno@clisp.org>
108131         * modules/fchdir: New file.
108132         * modules/unistd (Files): Add lib/unistd_.h.
108133         (Makefile.am): Generate unistd.h from unistd_.h.
108134         * lib/fchdir.c: New file.
108135         * lib/dirent_.h: New file.
108136         * lib/unistd_.h: New file.
108137         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
108138         * m4/fchdir.m4: New file.
108139         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
108140         (gl_HEADER_UNISTD): Invoke it.
108141         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
108142         function.
108143         * lib/backupfile.c (opendir, closedir): Undefine.
108144         * lib/chown.c (open, close): Undefine.
108145         * lib/clean-temp.c (open, close): Undefine.
108146         * lib/copy-file.c (open, close): Undefine.
108147         * lib/execute.c (open, close): Undefine.
108148         * lib/fsusage.c (open, close): Undefine.
108149         * lib/gc-gnulib.c (open, close): Undefine.
108150         * lib/getcwd.c (opendir, closedir): Undefine.
108151         * lib/glob.c (opendir, closedir): Undefine.
108152         * lib/javacomp.c (open, close): Undefine.
108153         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
108154         * lib/openat-proc.c (open, close): Undefine.
108155         * lib/pagealign_alloc.c (open, close): Undefine.
108156         * lib/pipe.c (open, close): Undefine.
108157         * lib/progreloc.c (open, close): Undefine.
108158         * lib/savedir.c (opendir, closedir): Undefine.
108159         * lib/utime.c (open, close): Undefine.
108160         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
108162 2007-01-10  Bruno Haible  <bruno@clisp.org>
108164         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
108166 2007-01-12  Eric Blake  <ebb9@byu.net>
108168         Provide a robust <wchar.h>.  Further simplifications are now
108169         possible in other modules, but not included here.
108170         * modules/wchar: New module.
108171         * m4/wchar.m4: New file.
108172         * lib/wchar_.h: Likewise.
108173         * modules/mbchar (Depends-on): Depend on wchar, as the first use
108174         of the new module.
108175         * MODULES.html.sh (Extended multibyte and wide character utilities):
108176         New section.
108178 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
108180         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
108181         to a reasonable default for memory allocation.
108182         (xreadlink): Don't allocate a huge buffer, to work around a buggy
108183         file system that reports garbage st_size values for symlinks.
108184         Problem reported by Liyang Hu.
108186 2007-01-11  Simon Josefsson  <simon@josefsson.org>
108188         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
108189         Emacs .#* auto-save files).
108191 2007-01-11  Bruno Haible  <bruno@clisp.org>
108193         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
108194         directory.
108196 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
108198         Use @...@ consistently in lib/wctype_.h.
108199         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
108200         on it being set to 1 or 0.
108201         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
108202         go back to AC_SUBSTing it.
108203         * modules/wctype (Makefile.am): Undo previous change.
108205 2007-01-10  Eric Blake  <ebb9@byu.net>
108207         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
108208         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
108209         * modules/wctype (Makefile.am): Likewise.
108210         Reported by Chris McGuire.
108212 2007-01-10  Jim Meyering  <jim@meyering.net>
108214         fts.c: a small readability/maintainability improvement
108215         * lib/fts.c (fts_read): Make this code slightly more readable and
108216         maintainable by hoisting the "sp->fts_cur = p" assignments to
108217         immediately follow the statements that set P.  Derived from
108218         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
108220 2007-01-10  Eric Blake  <ebb9@byu.net>
108222         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
108223         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
108224         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
108225         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
108226         Reported by Chris McGuire.
108228 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108230         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
108231         in sed script.
108233 2007-01-09  Bruno Haible  <bruno@clisp.org>
108235         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
108236         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
108237         variables.
108238         (func_module): Use them.
108240 2007-01-09  Bruno Haible  <bruno@clisp.org>
108242         * modules/unistr/base: New file.
108243         * lib/unistr.h: New file.
108245         * modules/unistr/u8-to-u16: New file.
108246         * lib/unistr/u8-to-u16.c: New file.
108248         * modules/unistr/u8-to-u32: New file.
108249         * lib/unistr/u8-to-u32.c: New file.
108251         * modules/unistr/u16-to-u8: New file.
108252         * lib/unistr/u16-to-u8.c: New file.
108254         * modules/unistr/u16-to-u32: New file.
108255         * lib/unistr/u16-to-u32.c: New file.
108257         * modules/unistr/u32-to-u8: New file.
108258         * lib/unistr/u32-to-u8.c: New file.
108260         * modules/unistr/u32-to-u16: New file.
108261         * lib/unistr/u32-to-u16.c: New file.
108263         * modules/unistr/u8-check: New file.
108264         * modules/unistr/u16-check: New file.
108265         * modules/unistr/u32-check: New file.
108266         * lib/unistr/u8-check.c: New file.
108267         * lib/unistr/u16-check.c: New file.
108268         * lib/unistr/u32-check.c: New file.
108270         * modules/unistr/u8-chr: New file.
108271         * modules/unistr/u16-chr: New file.
108272         * modules/unistr/u32-chr: New file.
108273         * lib/unistr/u8-chr.c: New file.
108274         * lib/unistr/u16-chr.c: New file.
108275         * lib/unistr/u32-chr.c: New file.
108277         * modules/unistr/u8-cmp: New file.
108278         * modules/unistr/u16-cmp: New file.
108279         * modules/unistr/u32-cmp: New file.
108280         * lib/unistr/u8-cmp.c: New file.
108281         * lib/unistr/u16-cmp.c: New file.
108282         * lib/unistr/u32-cmp.c: New file.
108284         * modules/unistr/u8-cpy: New file.
108285         * modules/unistr/u16-cpy: New file.
108286         * modules/unistr/u32-cpy: New file.
108287         * lib/unistr/u8-cpy.c: New file.
108288         * lib/unistr/u16-cpy.c: New file.
108289         * lib/unistr/u32-cpy.c: New file.
108290         * lib/unistr/u-cpy.h: New file.
108292         * modules/unistr/u8-cpy-alloc: New file.
108293         * modules/unistr/u16-cpy-alloc: New file.
108294         * modules/unistr/u32-cpy-alloc: New file.
108295         * lib/unistr/u8-cpy-alloc.c: New file.
108296         * lib/unistr/u16-cpy-alloc.c: New file.
108297         * lib/unistr/u32-cpy-alloc.c: New file.
108298         * lib/unistr/u-cpy-alloc.h: New file.
108300         * modules/unistr/u8-endswith: New file.
108301         * modules/unistr/u16-endswith: New file.
108302         * modules/unistr/u32-endswith: New file.
108303         * lib/unistr/u8-endswith.c: New file.
108304         * lib/unistr/u16-endswith.c: New file.
108305         * lib/unistr/u32-endswith.c: New file.
108306         * lib/unistr/u-endswith.h: New file.
108308         * modules/unistr/u8-mblen: New file.
108309         * modules/unistr/u16-mblen: New file.
108310         * modules/unistr/u32-mblen: New file.
108311         * lib/unistr/u8-mblen.c: New file.
108312         * lib/unistr/u16-mblen.c: New file.
108313         * lib/unistr/u32-mblen.c: New file.
108315         * modules/unistr/u8-mbtouc: New file.
108316         * modules/unistr/u16-mbtouc: New file.
108317         * modules/unistr/u32-mbtouc: New file.
108318         * lib/unistr/u8-mbtouc.c: New file.
108319         * lib/unistr/u16-mbtouc.c: New file.
108320         * lib/unistr/u32-mbtouc.c: New file.
108322         * modules/unistr/u8-mbtouc-safe: New file.
108323         * modules/unistr/u16-mbtouc-safe: New file.
108324         * modules/unistr/u32-mbtouc-safe: New file.
108325         * lib/unistr/u8-mbtouc-safe.c: New file.
108326         * lib/unistr/u16-mbtouc-safe.c: New file.
108327         * lib/unistr/u32-mbtouc-safe.c: New file.
108329         * modules/unistr/u8-move: New file.
108330         * modules/unistr/u16-move: New file.
108331         * modules/unistr/u32-move: New file.
108332         * lib/unistr/u8-move.c: New file.
108333         * lib/unistr/u16-move.c: New file.
108334         * lib/unistr/u32-move.c: New file.
108335         * lib/unistr/u-move.h: New file.
108337         * modules/unistr/u8-next: New file.
108338         * modules/unistr/u16-next: New file.
108339         * modules/unistr/u32-next: New file.
108340         * lib/unistr/u8-next.c: New file.
108341         * lib/unistr/u16-next.c: New file.
108342         * lib/unistr/u32-next.c: New file.
108344         * modules/unistr/u8-prev: New file.
108345         * modules/unistr/u16-prev: New file.
108346         * modules/unistr/u32-prev: New file.
108347         * lib/unistr/u8-prev.c: New file.
108348         * lib/unistr/u16-prev.c: New file.
108349         * lib/unistr/u32-prev.c: New file.
108351         * modules/unistr/u8-set: New file.
108352         * modules/unistr/u16-set: New file.
108353         * modules/unistr/u32-set: New file.
108354         * lib/unistr/u8-set.c: New file.
108355         * lib/unistr/u16-set.c: New file.
108356         * lib/unistr/u32-set.c: New file.
108357         * lib/unistr/u-set.h: New file.
108359         * modules/unistr/u8-startswith: New file.
108360         * modules/unistr/u16-startswith: New file.
108361         * modules/unistr/u32-startswith: New file.
108362         * lib/unistr/u8-startswith.c: New file.
108363         * lib/unistr/u16-startswith.c: New file.
108364         * lib/unistr/u32-startswith.c: New file.
108365         * lib/unistr/u-startswith.h: New file.
108367         * modules/unistr/u8-stpcpy: New file.
108368         * modules/unistr/u16-stpcpy: New file.
108369         * modules/unistr/u32-stpcpy: New file.
108370         * lib/unistr/u8-stpcpy.c: New file.
108371         * lib/unistr/u16-stpcpy.c: New file.
108372         * lib/unistr/u32-stpcpy.c: New file.
108373         * lib/unistr/u-stpcpy.h: New file.
108375         * modules/unistr/u8-stpncpy: New file.
108376         * modules/unistr/u16-stpncpy: New file.
108377         * modules/unistr/u32-stpncpy: New file.
108378         * lib/unistr/u8-stpncpy.c: New file.
108379         * lib/unistr/u16-stpncpy.c: New file.
108380         * lib/unistr/u32-stpncpy.c: New file.
108381         * lib/unistr/u-stpncpy.h: New file.
108383         * modules/unistr/u8-strcat: New file.
108384         * modules/unistr/u16-strcat: New file.
108385         * modules/unistr/u32-strcat: New file.
108386         * lib/unistr/u8-strcat.c: New file.
108387         * lib/unistr/u16-strcat.c: New file.
108388         * lib/unistr/u32-strcat.c: New file.
108389         * lib/unistr/u-strcat.h: New file.
108391         * modules/unistr/u8-strchr: New file.
108392         * modules/unistr/u16-strchr: New file.
108393         * modules/unistr/u32-strchr: New file.
108394         * lib/unistr/u8-strchr.c: New file.
108395         * lib/unistr/u16-strchr.c: New file.
108396         * lib/unistr/u32-strchr.c: New file.
108398         * modules/unistr/u8-strcmp: New file.
108399         * modules/unistr/u16-strcmp: New file.
108400         * modules/unistr/u32-strcmp: New file.
108401         * lib/unistr/u8-strcmp.c: New file.
108402         * lib/unistr/u16-strcmp.c: New file.
108403         * lib/unistr/u32-strcmp.c: New file.
108405         * modules/unistr/u8-strcpy: New file.
108406         * modules/unistr/u16-strcpy: New file.
108407         * modules/unistr/u32-strcpy: New file.
108408         * lib/unistr/u8-strcpy.c: New file.
108409         * lib/unistr/u16-strcpy.c: New file.
108410         * lib/unistr/u32-strcpy.c: New file.
108411         * lib/unistr/u-strcpy.h: New file.
108413         * modules/unistr/u8-strcspn: New file.
108414         * modules/unistr/u16-strcspn: New file.
108415         * modules/unistr/u32-strcspn: New file.
108416         * lib/unistr/u8-strcspn.c: New file.
108417         * lib/unistr/u16-strcspn.c: New file.
108418         * lib/unistr/u32-strcspn.c: New file.
108419         * lib/unistr/u-strcspn.h: New file.
108421         * modules/unistr/u8-strdup: New file.
108422         * modules/unistr/u16-strdup: New file.
108423         * modules/unistr/u32-strdup: New file.
108424         * lib/unistr/u8-strdup.c: New file.
108425         * lib/unistr/u16-strdup.c: New file.
108426         * lib/unistr/u32-strdup.c: New file.
108427         * lib/unistr/u-strdup.h: New file.
108429         * modules/unistr/u8-strlen: New file.
108430         * modules/unistr/u16-strlen: New file.
108431         * modules/unistr/u32-strlen: New file.
108432         * lib/unistr/u8-strlen.c: New file.
108433         * lib/unistr/u16-strlen.c: New file.
108434         * lib/unistr/u32-strlen.c: New file.
108435         * lib/unistr/u-strlen.h: New file.
108437         * modules/unistr/u8-strmblen: New file.
108438         * modules/unistr/u16-strmblen: New file.
108439         * modules/unistr/u32-strmblen: New file.
108440         * lib/unistr/u8-strmblen.c: New file.
108441         * lib/unistr/u16-strmblen.c: New file.
108442         * lib/unistr/u32-strmblen.c: New file.
108444         * modules/unistr/u8-strmbtouc: New file.
108445         * modules/unistr/u16-strmbtouc: New file.
108446         * modules/unistr/u32-strmbtouc: New file.
108447         * lib/unistr/u8-strmbtouc.c: New file.
108448         * lib/unistr/u16-strmbtouc.c: New file.
108449         * lib/unistr/u32-strmbtouc.c: New file.
108451         * modules/unistr/u8-strncat: New file.
108452         * modules/unistr/u16-strncat: New file.
108453         * modules/unistr/u32-strncat: New file.
108454         * lib/unistr/u8-strncat.c: New file.
108455         * lib/unistr/u16-strncat.c: New file.
108456         * lib/unistr/u32-strncat.c: New file.
108457         * lib/unistr/u-strncat.h: New file.
108459         * modules/unistr/u8-strncmp: New file.
108460         * modules/unistr/u16-strncmp: New file.
108461         * modules/unistr/u32-strncmp: New file.
108462         * lib/unistr/u8-strncmp.c: New file.
108463         * lib/unistr/u16-strncmp.c: New file.
108464         * lib/unistr/u32-strncmp.c: New file.
108466         * modules/unistr/u8-strncpy: New file.
108467         * modules/unistr/u16-strncpy: New file.
108468         * modules/unistr/u32-strncpy: New file.
108469         * lib/unistr/u8-strncpy.c: New file.
108470         * lib/unistr/u16-strncpy.c: New file.
108471         * lib/unistr/u32-strncpy.c: New file.
108472         * lib/unistr/u-strncpy.h: New file.
108474         * modules/unistr/u8-strnlen: New file.
108475         * modules/unistr/u16-strnlen: New file.
108476         * modules/unistr/u32-strnlen: New file.
108477         * lib/unistr/u8-strnlen.c: New file.
108478         * lib/unistr/u16-strnlen.c: New file.
108479         * lib/unistr/u32-strnlen.c: New file.
108480         * lib/unistr/u-strnlen.h: New file.
108482         * modules/unistr/u8-strpbrk: New file.
108483         * modules/unistr/u16-strpbrk: New file.
108484         * modules/unistr/u32-strpbrk: New file.
108485         * lib/unistr/u8-strpbrk.c: New file.
108486         * lib/unistr/u16-strpbrk.c: New file.
108487         * lib/unistr/u32-strpbrk.c: New file.
108488         * lib/unistr/u-strpbrk.h: New file.
108490         * modules/unistr/u8-strrchr: New file.
108491         * modules/unistr/u16-strrchr: New file.
108492         * modules/unistr/u32-strrchr: New file.
108493         * lib/unistr/u8-strrchr.c: New file.
108494         * lib/unistr/u16-strrchr.c: New file.
108495         * lib/unistr/u32-strrchr.c: New file.
108497         * modules/unistr/u8-strspn: New file.
108498         * modules/unistr/u16-strspn: New file.
108499         * modules/unistr/u32-strspn: New file.
108500         * lib/unistr/u8-strspn.c: New file.
108501         * lib/unistr/u16-strspn.c: New file.
108502         * lib/unistr/u32-strspn.c: New file.
108503         * lib/unistr/u-strspn.h: New file.
108505         * modules/unistr/u8-strstr: New file.
108506         * modules/unistr/u16-strstr: New file.
108507         * modules/unistr/u32-strstr: New file.
108508         * lib/unistr/u8-strstr.c: New file.
108509         * lib/unistr/u16-strstr.c: New file.
108510         * lib/unistr/u32-strstr.c: New file.
108511         * lib/unistr/u-strstr.h: New file.
108513         * modules/unistr/u8-strtok: New file.
108514         * modules/unistr/u16-strtok: New file.
108515         * modules/unistr/u32-strtok: New file.
108516         * lib/unistr/u8-strtok.c: New file.
108517         * lib/unistr/u16-strtok.c: New file.
108518         * lib/unistr/u32-strtok.c: New file.
108519         * lib/unistr/u-strtok.h: New file.
108521         * modules/unistr/u8-uctomb: New file.
108522         * modules/unistr/u16-uctomb: New file.
108523         * modules/unistr/u32-uctomb: New file.
108524         * lib/unistr/u8-uctomb.c: New file.
108525         * lib/unistr/u16-uctomb.c: New file.
108526         * lib/unistr/u32-uctomb.c: New file.
108528         * MODULES.html.sh (Unicode string functions): Add the new modules.
108530 2007-01-08  Bruno Haible  <bruno@clisp.org>
108532         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
108533         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
108534         subdirectories.
108536 2007-01-08  Karl Berry  <karl@gnu.org>
108538         * doc/error.texi: mention that main() fns must set program_name
108539         when progname is used.
108541 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
108543         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
108544         WCTYPE_H is empty, for the benefit of builds from non-distclean
108545         directories.  Problem reported by Eric Blake in
108546         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
108548 2007-01-08  Bruno Haible  <bruno@clisp.org>
108550         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
108551         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
108552         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
108553         PROVIDE_CANONICALIZE_FILENAME_MODE.
108554         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
108556 2007-01-08  Bruno Haible  <bruno@clisp.org>
108558         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
108559         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
108560         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
108561         * lib/fts.c: Likewise.
108562         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
108564 2006-12-25  Bruno Haible  <bruno@clisp.org>
108566         * modules/utf8-ucs4-safe: New file.
108567         * lib/utf8-ucs4-safe.h: New file.
108568         * lib/unistr/utf8-ucs4-safe.c: New file.
108570         * modules/utf16-ucs4-safe: New file.
108571         * lib/utf16-ucs4-safe.h: New file.
108572         * lib/unistr/utf16-ucs4-safe.c: New file.
108574         * MODULES.html.sh (Unicode string functions): Add the new modules.
108576 2007-01-08  Bruno Haible  <bruno@clisp.org>
108578         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
108579         (Depends-on): Add unitypes.
108580         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
108581         (u8_mbtouc_aux): Move out to separate file.
108582         (u8_mbtouc): Use ucs4_t, uint8_t types.
108583         * lib/unistr/utf8-ucs4.c: New file.
108585         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
108586         (Depends-on): Add unitypes.
108587         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
108588         (u16_mbtouc_aux): Move out to separate file.
108589         (u16_mbtouc): Use ucs4_t, uint16_t types.
108590         * lib/unistr/utf16-ucs4.c: New file.
108592         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
108593         (Depends-on): Add unitypes.
108594         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
108595         (u8_uctomb_aux): Move out to separate file.
108596         (u8_uctomb): Use ucs4_t, uint8_t types.
108597         * lib/unistr/ucs4-utf8.c: New file.
108599         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
108600         (Depends-on): Add unitypes.
108601         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
108602         (u16_uctomb_aux): Move out to separate file.
108603         (u16_uctomb): Use ucs4_t, uint16_t types.
108604         * lib/unistr/ucs4-utf16.c: New file.
108606 2006-12-25  Bruno Haible  <bruno@clisp.org>
108608         * modules/unitypes: New file.
108609         * lib/unitypes.h: New file.
108610         * MODULES.html.sh (func_all_modules): New section "Unicode string
108611         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
108612         this section. Add unitypes.
108614 2007-01-08  Bruno Haible  <bruno@clisp.org>
108616         Avoid variable names that conflict with those from libtool.
108617         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
108618         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
108619         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
108620         library_names_spec to acl_library_names_spec, hardcode_* to
108621         acl_hardcode_*.
108622         Reported by Ralf Wildenhues.
108624 2007-01-08  Bruno Haible  <bruno@clisp.org>
108626         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
108627         definition.
108628         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
108629         definition.
108630         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
108631         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
108632         definition.
108633         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
108634         definition.
108635         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
108636         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
108637         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
108638         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
108639         definition.
108640         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
108641         definition.
108642         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
108643         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
108644         GC_USE_<algorithm>.
108645         * lib/gc-libgcrypt.c: Likewise.
108646         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
108647         * modules/gc-arctwo (configure.ac): Likewise.
108648         * modules/gc-des (configure.ac): Likewise.
108649         * modules/gc-hmac-md5 (configure.ac): Likewise.
108650         * modules/gc-hmac-sha1 (configure.ac): Likewise.
108651         * modules/gc-md2 (configure.ac): Likewise.
108652         * modules/gc-md4 (configure.ac): Likewise.
108653         * modules/gc-md5 (configure.ac): Likewise.
108654         * modules/gc-random (configure.ac): Likewise.
108655         * modules/gc-rijndael (configure.ac): Likewise.
108656         * modules/gc-sha1 (configure.ac): Likewise.
108658 2007-01-08  Bruno Haible  <bruno@clisp.org>
108660         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
108661         macro definition.
108662         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
108663         definition.
108664         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
108665         definition.
108666         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
108667         * modules/fcntl-safer (configure.ac): Likewise.
108668         * modules/fopen-safer (configure.ac): Likewise.
108669         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
108670         GNULIB_FWRITEERROR macro definition.
108672 2007-01-08  Bruno Haible  <bruno@clisp.org>
108674         * m4/gnulib-common.m4: New file.
108675         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
108676         (func_get_filelist): Add m4/gnulib-common.m4.
108678 2007-01-08  Bruno Haible  <bruno@clisp.org>
108680         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
108681         command.
108683 2007-01-08  Jim Meyering  <jim@meyering.net>
108685         Use a more robust test for a "can't happen" condition.
108686         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
108687         narrowed the st_size value.  Presuming the "can't happen" condition
108688         is true, that narrowing could conceivably convert an invalid st_size
108689         value into a valid one.  Instead, use a change based on Matthew
108690         Woehlke's original patch.
108692         Slight readability improvement: use an assert-like macro
108693         in place of literal "abort ()" uses.
108694         * lib/fts.c (fts_assert): Define.
108695         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
108696         Use this macro instead of a bare 'abort'.
108698 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
108700         Don't worry about using IRIX 5.3's wctype.h broken definitions;
108701         simply work around them.
108702         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
108703         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
108704         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
108705         declaring.
108706         Don't bother to define as macros, since the standard doesn't require it.
108707         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
108708         longer worry about IRIX 5.3.
108709         (HAVE_WCTYPE_CTMP_BUG): Remove.
108711 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
108713         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
108714         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
108715         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
108716         Problems reported by Georg Schwarz for IRIX 5.3.
108718         * gnulib-tool (autoconf_minversion): Take the maximum version number
108719         found, not the minimum.  Problem reported by James Youngman.
108721 2007-01-03  Karl Berry  <karl@gnu.org>
108723         * doc/error.texi: new file, explaining interaction with progname.
108724         * doc/gnulib.texi: include it.  Update copyright.
108726 2007-01-03  Simon Josefsson  <simon@josefsson.org>
108728         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
108729         AC_CANONICAL_HOST, to improve autobuild outputs.
108731 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
108732             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
108734         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
108735         sockets, server sockets, and other file descriptors.  Count errors
108736         to compute the return value.  Reorder the code a bit to be easier
108737         to follow.  Don't set event bits that were not requested (except
108738         POLLERR and POLLHUP).
108740 2007-01-01  Bruno Haible  <bruno@clisp.org>
108742         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
108744 2007-01-03  Jim Meyering  <jim@meyering.net>
108746         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
108748 2007-01-02  Bruno Haible  <bruno@clisp.org>
108750         * modules/settime (Include): Require timespec.h.
108751         * modules/nanosleep (Include): Likewise.
108753 2007-01-01  Bruno Haible  <bruno@clisp.org>
108755         * gnulib-tool (func_emit_copyright_notice): Bump year.
108756         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
108758 2007-01-01  Bruno Haible  <bruno@clisp.org>
108760         Improve support for OpenBSD.
108761         * build-aux/config.rpath (libname_spec): Export.
108762         (library_names_spec): New variable. Export.
108763         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
108764         library_names_spec from the config.rpath output. Locate shared library
108765         through the name pattern in library_names_spec.
108767 2007-01-01  Eric Blake  <ebb9@byu.net>
108769         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
108771 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
108773         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
108774         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
108775         assume the C locale, and avoid an "eval" that could cause trouble.
108776         Problem with SORT reported by Bob Proulx.
108778         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
108779         Define.  Trivial patch from Henning Nielsen Lund, originally
108780         sent to bug-grep@gnu.org today.
108782 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
108784         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
108785         struct stat.  Problem reported by Henning Nielsen Lund.
108786         * lib/acl.c: Include acl.h first, to check interface.  Don't
108787         bother to include sys/types.h and sys/stat.h again.
108789 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
108791         Import the following change from libc; problem reported by
108792         Sven Verdoolaege.
108794         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
108796         [BZ #1373]
108797         * lib/argp.h: Remove __NTH for __argp_usage inline function.
108799 2006-12-28  Jim Meyering  <jim@meyering.net>
108801         * build-aux/announce-gen: Do not assume that the package
108802         builds any of tar.gz, tar.bz2, and .xdelta files.
108803         Suggestion from Simon Josefsson.
108805 2006-12-28  Simon Josefsson  <simon@josefsson.org>
108807         * modules/announce-gen: New file.
108809 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
108811         * lib/mbchar.h: Just include <wctype.h>; the wctype module
108812         handles its gotchas now.
108813         * lib/mbswidth.c: Likewise.
108814         * lib/wcwidth.h: Likewise.
108815         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
108816         and iswcntrl; the wctype module does this stuff now.
108817         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
108818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
108819         * modules/mbchar (Depends-on): Add wctype.
108820         * modules/mbswidth (Depends-on): Likewise.
108821         * modules/wcwidth (Depends-on): Likewise.
108823 2006-12-27  Eric Blake  <ebb9@byu.net>
108825         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
108826         module uses more than what <wctype.h> is required to provide.
108828 2006-12-26  Eric Blake  <ebb9@byu.net>
108830         * gnulib-tool (sed_extract_prog): Avoid space-tab.
108832 2006-12-26  Eric Blake  <ebb9@byu.net>
108834         * modules/absolute-header: New module.
108835         * modules/fcntl (Depends-on): Depend on it.
108836         * modules/inttypes (Depends-on): Likewise.
108837         * modules/stdint (Depends-on): Likewise.
108838         * modules/sys_stat (Depends-on): Likewise.
108839         * modules/wctype (Depends-on): Likewise.
108840         * MODULES.html.sh (Support for building libraries and
108841         executables): Document it.
108843 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
108845         * gnulib-tool (SED): Remove, undoing previous change.
108846         The problem was that it broke coreutils on Solaris, because
108847         "sed --posix" leaked into a makefile.
108848         (sed): New alias, if 'alias' and GNU sed.
108850 2006-12-24  Jim Meyering  <jim@meyering.net>
108852         Work around an fchownat bug in glibc-2.4:
108853         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
108854         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
108855         in spite of the -P option.
108856         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
108857         New macros.
108858         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
108859         * modules/openat (Files): Add lib/fchownat.c.
108860         * lib/openat.c (fchownat): Don't define here.  Move to...
108861         * lib/fchownat.c: ...this new file.
108863 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
108865         Fix bug reported by Bruno Haible in
108866         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
108867         where quotearg.c didn't compile on Mac OS X 10.2 because it
108868         lacks <wchar.h> and wint_t.
108869         * lib/wctype_.h (__wctype_wint_t): New type.
108870         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
108871         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
108872         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
108873         Arg is now of type __wctype_wint_t, not wint_t.
108874         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
108875         substitute HAVE_WINT_T.
108876         * modules/wctype (Files): Add m4/wint_t.m4.
108877         (wctype.h): Substitute HAVE_WINT_T.
108879 2006-12-23  Bruno Haible  <bruno@clisp.org>
108881         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
108883 2006-12-23  Bruno Haible  <bruno@clisp.org>
108885         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
108886         S_ISLNK.
108887         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
108888         mingw.
108890 2006-12-22  Bruno Haible  <bruno@clisp.org>
108892         * lib/copy-file.c: Include acl.h.
108893         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
108894         Close the file descriptors only after being done with copy_acl.
108895         * modules/copy-file (Depends-on): Add acl.
108897 2006-12-22  Bruno Haible  <bruno@clisp.org>
108899         * gnulib-tool (SED): New variable.
108900         Use $SED instead of sed everywhere.
108902 2006-12-22  Bruno Haible  <bruno@clisp.org>
108904         * modules/no-c++: New file.
108905         * m4/no-c++.m4: New file.
108906         * MODULES.html.sh (Support for building libraries and executables):
108907         Add no-c++.
108909 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
108911         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
108912         Include <limits.h>, and use its INT_MAX to rewrite the
108913         j loop so that it does not overflow 'int'.  Problem reported by
108914         Ralf Wildenhues in
108915         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
108916         Play it safe by shifting left by 1 rather than multiplying by 2,
108917         as GCC is less likely to optimize this away when the value
108918         is signed (when it assumes overflow leads to undefined behavior).
108919         Also, don't assume time_t uses two's complement.
108921 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
108923         * MODULES.html.sh: New module wctype.
108924         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
108925         * lib/fnmatch.c: Don't bother to include <wchar.h> before
108926         <wctype.h>, since the new wctype module should fix this.
108927         * lib/quotearg.c: Include <wctype.h> unconditionally, since
108928         the wctype module should arrange for it.
108929         * lib/regex_internal.h: Likewise.
108930         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
108931         since the wctype module should handle this now.
108932         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
108933         * modules/fnmatch (Depends-on): Add wctype.
108934         * modules/quotearg (Depends-on): Likewise.
108935         * modules/regex (Depends-on): Likewise.
108937 2006-12-19  Bruno Haible  <bruno@clisp.org>
108939         * lib/strdup.h [C++]: Wrap definitions in extern "C".
108940         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
108942 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108944         * modules/savewd (Depends-on): Fix dependency on fcntl.
108946 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
108948         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
108949         conforms to C99, rather than relying on the user's environment
108950         setting of STDINT_H.
108952 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
108953         and Eric Blake  <ebb9@byu.net>
108955         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
108956         This is more consistent with the other defines here.
108957         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
108958         Port to z/OS.  Problem reported by Paul Gilmartin.
108959         Change local vars to use gl_ prefix rather than ac_.
108960         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
108961         with other defines.
108962         * modules/double-slash-root: New module.
108963         * modules/dirname (Files): Remove m4/double-slash-root.m4.
108964         (Depends-on): Add double-slash-root.
108965         * MODULES.html.sh (File system functions): Mention new module.
108967 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
108969         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
108970         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
108971         This is for the benefit of gzip, which doesn't do i18n.
108973 2006-12-12  Jim Meyering  <jim@meyering.net>
108975         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
108976         Reported by Andreas Schwab <schwab@suse.de>.
108978 2006-12-12  Bruno Haible  <bruno@clisp.org>
108980         Merge these changes.
108981         2006-09-05  Bruno Haible  <bruno@clisp.org>
108982         * lib/iconvme.c (iconv_string): No need to save and restore errno when
108983         iconv_alloc succeeded.
108984         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
108985         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
108986         test for " && dest " at the end - dest is always != NULL there. Call
108987         iconv with 4xNULL arguments initially, to reset the state. Call iconv
108988         with 2xNULL arguments, also to flush the state storage. Handle the
108989         IRIX iconv behaviour. Realloc the final result, to throw away unused
108990         memory.
108992 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
108994         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
108995         and fchmodat unconditionally, since glibc 2.4 has them.
108996         Problem reported by Arkadiusz Miskiewicz.
108998 2006-12-10  Bruno Haible  <bruno@clisp.org>
109000         * gnulib-tool (func_import): Show the include files only for those
109001         modules that are copied and specified.
109002         Reported by Karl Berry.
109004 2006-12-08  Jim Meyering  <jim@meyering.net>
109006         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
109007         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
109009         * build-aux/announce-gen: Add two new options, both optional:
109010         --bootstrap-tools=TOOL_LIST
109011               a comma-separated list of tools, e.g.,
109012               autoconf,automake,bison,gnulib
109013         --gnulib-snapshot-date=DATE
109014               if gnulib is in the bootstrap tool list,
109015               then report this as the snapshot date.
109016               If not specified, use the current date/time.
109017               If you specify a date here, be sure it's UTC.
109019 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109021         * tests/test-argp-2.sh: Fix test to match actual output.
109022         (func_compare): Fix sed script to be portable.
109024 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
109026         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
109027         workaround for this case.  It is not autoconfigured now; offhand
109028         it's hard to see how to autoconfigure it.
109030 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
109032         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
109033         a directory that is about to be chowned.  Such a directory's
109034         initial file permissions should permit the owner only and this
109035         should not be changed until after the chown, since the group and
109036         other bits would be incorrect if they granted permission before
109037         the chown.
109039         Fix porting problem for iswctype reported by Georg Schwarz in:
109040         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
109041         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
109042         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
109043         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
109044         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
109046 2006-12-03  Jim Meyering  <jim@meyering.net>
109048         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
109049         p->fts_statp may not yet be defined.
109050         (fts_read): Instead, set it in the caller, once p->fts_statp is
109051         sure to be defined, and corresponds to a top-level directory.
109052         This bug made du -x fail.  Here's the coreutils test case:
109053         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
109054         Reported by Mike Frysinger.
109056 2006-12-01  Jim Meyering  <jim@meyering.net>
109058         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
109059         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
109060         Reported by Simon Josefsson.
109062 2006-11-30  Jim Meyering  <jim@meyering.net>
109064         * m4/warning.m4: Use the all-permissive copyright notice
109065         recommended by RMS (rather than LGPL).
109066         * m4/vararrays.m4: Likewise.
109067         * m4/flexmember.m4: Likewise.
109069 2006-11-29  Bruno Haible  <bruno@clisp.org>
109071         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
109072         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
109073         using +=.
109074         Reported by Simon Josefsson <simon@josefsson.org>.
109076 2006-11-28  James Youngman  <jay@gnu.org>
109078         * README: Advise users that they might find the bug-gnulib@gnu.org
109079         and autotools-announce@gnu.org mailing lists useful.
109081 2006-11-28  Bruno Haible  <bruno@clisp.org>
109083         * m4/ptrdiff_max.m4: Remove file.
109085 2006-11-21  Bruno Haible  <bruno@clisp.org>
109087         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
109088         _AC_COMPUTE_INT.
109089         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109090         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
109091         _AC_COMPUTE_INT.
109092         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109093         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
109094         _AC_COMPUTE_INT.
109095         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109097 2006-11-28  Jim Meyering  <jim@meyering.net>
109099         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
109100         warning from "gcc -Wshadow" about shadowing the builtin.
109102 2006-11-27  Bruno Haible  <bruno@clisp.org>
109104         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
109105         _AC_COMPUTE_INT.
109106         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109108 2006-11-27  Bruno Haible  <bruno@clisp.org>
109109             Paul Eggert  <eggert@cs.ucla.edu>
109111         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
109113 2006-11-26  Bruno Haible  <bruno@clisp.org>
109115         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
109116         noinst_LTLIBRARIES.
109118 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
109119             Bruno Haible  <bruno@clisp.org>
109121         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
109122         if compiling with "gcc -ansi".
109124 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
109126         Fix some incompatibilities with gcc -ansi -pedantic.
109127         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
109128         if compiling pedantically with GCC, unless it's C99 or later.
109129         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
109130         it mishandles gcc -ansi -pedantic as well.
109131         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
109132         if gcc -pedantic.
109133         * lib/regexec.c (check_node_accept_bytes): Don't use auto
109134         initializers for struct if -pedantic, unless it's C99 or later.
109136 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
109138         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
109139         Don't close an fd more than once. Identical atimes indicate
109140         success, not failure.
109142 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
109144         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
109146 2006-11-23  Jim Meyering  <jim@meyering.net>
109148         * build-aux/announce-gen: New file.  From coreutils.
109150 2006-11-22  Jim Meyering  <jim@meyering.net>
109152         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
109153         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
109154         (fts_read): Use a temporary to narrow the overused st_size member
109155         before using it in a switch statement.  Reported by Matthew Woehlke.
109157         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
109158         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
109160 2006-11-20  Bruno Haible  <bruno@clisp.org>
109162         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
109163         changequote instead of pairs of brackets.
109164         Reported by Andreas Schwab <schwab@suse.de>.
109166 2006-11-21  Jim Meyering  <jim@meyering.net>
109168         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
109169         so as to remain compatible with older compilers.
109170         Patch from Michael Deutschmann.
109172 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
109174         * MODULES.html.sh (File system functions): Add openat.
109176         * lib/openat.h (rpl_fstatat): New macro, if
109177         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
109178         (fstatat): Define to rpl_fstatat under the same conditions,
109179         unless COMPILING_FSTATAT.
109180         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
109181         seems to have the bug.
109182         * lib/fstatat.c: New file.
109183         * modules/openat (Files): Add it.
109185 2006-11-20  Bruno Haible  <bruno@clisp.org>
109187         * Makefile: New file.
109189 2006-11-20  Jim Meyering  <jim@meyering.net>
109191         The beginnings of syntax-related checks for gnulib.
109192         * lib/Makefile: New file.
109193         * lib/t-idcache: New script.  Ensure that the two halves of
109194         idcache.c stay in sync.
109196         * lib/idcache.c: Adjust comments in user- and group- portions to
109197         be more accurate, and to be consistent with one another.
109199 2006-11-20  Jim Meyering  <jim@meyering.net>
109201         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
109202         continue using the flexible array member (thus, this module performs
109203         half as many malloc calls), with the addition that...
109204         (getgroup, getuser): Consistently record a non-match via an empty
109205         "name" string, and map an empty string match to a NULL return value.
109206         * modules/idcache (Depends-on): Re-add flexmember.
109208         * lib/idcache.c (getuser): Remove all uses of the register keyword.
109209         (getuidbyname, getgroup, getgidbyname): Likewise.
109211         Use cleaner syntax: NULL rather than 0.
109212         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
109214 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
109216         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
109217         It mishandled the case where the group was missing.
109218         Problem reported by Greg Schafer.
109219         * modules/idcache: Likewise.
109221 2006-11-18  Jim Meyering  <jim@meyering.net>
109223         * check-module (%exempt_header): Add exception for some
109224         conditionally-included headers.
109226         * modules/i-ring (Depends-on): Add verify.
109227         (License): Change to LGPL.
109229 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
109231         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
109232         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
109233         and inttostr.h.  Use snprintf rather than uinttostr, so that
109234         LGPLed code doesn't depend on GPLed.
109236 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
109238         * modules/inline (License): Change from GPL to LGPL.
109240 2006-11-17  Jim Meyering  <jim@meyering.net>
109242         * modules/d-type (License): Switch to LGPL.
109244 2006-11-15  Bruno Haible  <bruno@clisp.org>
109246         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
109248 2006-11-15  Eric Blake  <ebb9@byu.net>
109250         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
109251         the module dependency.
109253 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109254             Bruno Haible  <bruno@clisp.org>
109256         * gnulib-tool (func_create_testdir): Add license consistency check.
109258 2006-11-15  Eric Blake  <ebb9@byu.net>
109260         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
109261         random "(cached)" in configure output.
109263 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109265         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
109266         test for conforming inttypes.h is both announced and cached.
109268         * MODULES.html.sh (seen_modules, seen_files): New variables.
109269         (func_module): Rewrite to use a few less gnulib-tool and sed
109270         invocations.  Avoid a couple of quadratic algorithms for ...
109271         (missed_modules, missed_files): ... these, with ...
109272         (func_append, func_tmpdir): ... these new functions, from
109273         gnulib-tool.  Analogously, install traps for cleanup.
109275         * tests/test-gc.c (main): Remove unused variables.
109276         * tests/test-read-file.c: Include stdlib.h, for 'free'.
109278 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
109280         * modules/inttostr (License): Change to LGPL.
109282 2006-11-14  Eric Blake  <ebb9@byu.net>
109284         * modules/tempname (License): Change to LGPL.
109286 2006-11-14  Eric Blake  <ebb9@byu.net>
109288         * doc/functions.texi (Function Portability): *printf functions on
109289         Cygwin now understand all POSIX size specifiers.
109291 2006-11-14  Bruno Haible  <bruno@clisp.org>
109293         * modules/c-ctype (License): Change to LGPL.
109295 2006-11-12  Bruno Haible  <bruno@clisp.org>
109297         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
109298         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
109299         for GNOME libraries, for which the include files are installed in
109300         subdirectories of $prefix/include.
109302 2006-11-12  Bruno Haible  <bruno@clisp.org>
109304         * m4/lib-link.m4: Require at least autoconf-2.54.
109305         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
109306         name to underscores for the --with option.
109308 2006-11-13  Bruno Haible  <bruno@clisp.org>
109310         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
109311         the tests directory.
109312         Reported by Ralf Wildenhues.
109314 2006-11-13  Bruno Haible  <bruno@clisp.org>
109316         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
109317         (func_emit_initmacro_end): Undo the override here.
109318         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
109319         Works around the famous automake error in coreutils.
109321 2006-11-13  Eric Blake  <ebb9@byu.net>
109323         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
109324         element, not its node.
109326 2006-11-12  Bruno Haible  <bruno@clisp.org>
109328         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
109329         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
109331 2006-11-12  Bruno Haible  <bruno@clisp.org>
109333         * gnulib-tool: New option --local-symlink.
109334         (func_usage): Document it.
109335         (lsymbolic): New variable.
109336         (func_import, func_create_testdir): If --symlink was not specified,
109337         test whether --local-symlink was specified and the file comes from
109338         the local_gnulib_dir.
109340 2006-11-12  Bruno Haible  <bruno@clisp.org>
109342         * gnulib-tool (func_ln): New function.
109343         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
109345 2006-11-12  Bruno Haible  <bruno@clisp.org>
109347         Finish support for source files in subdirectories.
109348         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
109349         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
109350         AUTOMAKE_OPTIONS.
109351         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
109353 2006-11-12  Bruno Haible  <bruno@clisp.org>
109355         * gnulib-tool (func_get_automake_snippet): Synthesize also an
109356         EXTRA_lib_SOURCES augmentation.
109357         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
109359 2006-11-12  Jim Meyering  <jim@meyering.net>
109361         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
109362         file descriptors.  This also averts a failure on systems with
109363         native openat support when a traversed directory lacks "x" access.
109364         * lib/fts_.h: Include "i-ring.h"
109365         (struct FTS) [fts_fd_ring]: New member.
109366         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
109367         (FCHDIR): Add parentheses.
109368         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
109369         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
109370         When descending, rather than simply closing the previous
109371         fts_cwd_fd value, push that file descriptor onto the ring.
109372         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
109373         (fts_open): Initialize the new fd_ring member.
109374         (fts_close): Clear the ring.
109375         (fts_safe_changedir): When possible, use our new fd_ring to skip
109376         the diropen and fstat and dev/ino comparison that would normally
109377         accompany a virtual `chdir ("..")'.
109379         * modules/fts (Depends-on): Add i-ring.
109380         * modules/i-ring: New module.
109381         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
109382         * m4/i-ring.m4: New file.
109384 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109386         * gnulib-tool (func_create_testdir): Fix replacement of
109387         `build-aux' in configure.ac.  Run autotools in gltests
109388         subdirectory.
109389         (func_create_testdir, func_create_megatestdir, test): There is
109390         no need for '--force' in most autotool invocations in a new
109391         tree.  Actually fail the whole test if any of the tools, or the
109392         configure or make stages fail.
109394         Sync from Automake.
109395         * build-aux/gnupload: Revert last change.  Add pointer to upload
109396         instructions of the GNU Maintenance Instructions.
109397         Suggestion by Karl Berry.
109399 2006-11-10  Jim Meyering  <jim@meyering.net>
109401         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
109403 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
109405         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
109406         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
109407         (bind_textdomain_codeset) [! ENABLE_NLS]:
109408         Evaluate all the arguments.  That way, callers get compatible behavior
109409         if the arguments have side effects.  Also, it avoids some GCC
109410         diagnostics in some cases; Joel E. Denny reported problems when Bison
109411         was configured with --enable-gcc-warnigs.
109413 2006-11-10  Jim Meyering  <jim@meyering.net>
109415         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
109416         relevant options in CFLAGS (like -O, -fno-inline) are taken into
109417         account.
109419 2006-11-10  Jim Meyering  <jim@meyering.net>
109421         * modules/inline: New file/module.
109422         * modules/xalloc (Files): Remove m4/inline.m4.
109423         (Depends-on): Add inline, instead.
109424         * modules/oset: Likewise.
109425         * modules/list: Likewise.
109427 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
109429         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
109430         Problem reported by Matthew Woehlke.
109432 2006-11-09  Bruno Haible  <bruno@clisp.org>
109434         * lib/tempname.c (gen_tempname): Remove variant that invokes
109435         __gen_tempname.
109436         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
109437         __gen_tempname.
109439 2006-11-08  Bruno Haible  <bruno@clisp.org>
109441         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
109442         to 'yes' instead of 'cross-compiling'.
109444 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
109446         * lib/quotearg.h (quotearg_free): New decl.
109447         * lib/quotearg.c (quotearg_free): New function.
109448         (slot0, nslots, slotvec0, slotvec):
109449         Now file-scope so that quotearg_free can get at them.
109451 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109453         Sync from Automake.
109454         * build-aux/gnupload: Add missing 'gnu' to example URL.
109455         Report by Karl Berry.
109457 2006-11-08  Bruno Haible  <bruno@clisp.org>
109459         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
109460         Suggested by Paul Eggert.
109462 2006-11-08  Jim Meyering  <jim@meyering.net>
109464         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
109465         It's already included if !_LIBC.
109466         (fts_safe_changedir): Add a comment.
109468 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
109470         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
109471         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
109472         Matthew Woehlke.
109474         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
109475         definitions up, to avoid colliding with change below.
109476         (static_inline) [HAVE_INLINE]: New macro.
109477         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
109478         Provide extern decls when !HAVE_INLINE.  Do not define unless
109479         static_inline is defined, either by us or by xmalloc.c.  Use
109480         static_inline rather than static inline.
109481         (XCALLOC): Optimize sizeof(T) = 1 case.
109482         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
109484 2006-11-07  Bruno Haible  <bruno@clisp.org>
109486         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
109487         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
109488         AC_C_INLINE.
109489         * modules/xalloc (Files): Add m4/inline.m4.
109491 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109493         * README: Fix typo.
109494         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
109495         (Miscellanous Notes): ...from this.
109497 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
109499         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
109500         Mention that offsetof should be used instead of sizeof.
109501         From Bruno Haible.
109503 2006-11-07  Bruno Haible  <bruno@clisp.org>
109505         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
109507 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
109509         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
109510         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
109511         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
109512         (gl_tree_add_before, gl_tree_add_after):
109513         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
109514         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
109515         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
109516         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
109517         (gl_linked_add_after, gl_linked_add_at): Likewise.
109518         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
109519         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
109520         (gl_tree_add_before, gl_tree_add_after): Likewise.
109521         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
109522         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
109523         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
109525 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109527         * lib/gl_oset.h: Use C comment style, not C++ comment style.
109529 2006-11-06  Bruno Haible  <bruno@clisp.org>
109531         * m4/inline.m4: New file.
109532         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
109533         * modules/list (Files): Add m4/inline.m4.
109534         * modules/oset (Files): Likewise.
109536 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
109538         * lib/idcache.c: Include <stddef.h>, for offsetof.
109539         (struct userid.name): Change from char * to a flexible array member.
109540         All uses changed.
109541         * modules/idcache (Depends-on): Add flexmember.
109543         * MODULES.html.sh (Core language properties): New module flexmember.
109544         * modules/flexmember, m4/flexmember.m4: New files.
109546         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
109547         inline functions that are identical with the old xnmalloc_inline,
109548         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
109549         that we can avoid some unnecessary integer multiplications and
109550         divisions in the common case where the element size is known at
109551         compile time.
109552         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
109553         needed.
109554         (xnboundedmalloc): Remove.
109555         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
109556         arguments, for consistency with rest of this header.
109557         (xcharalloc): Rewrite using XNMALLOC.
109558         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
109559         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
109560         versions have been moved to lib/xalloc.h and renamed to be the
109561         non-*_inline versions.
109562         (xmalloc, xrealloc): Implement without reference to the xnmalloc
109563         and xnrealloc functions, since those functions are now inline and
109564         now call us.
109565         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
109566         renaming described above.
109567         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
109568         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
109569         captures the dependency in AC_C_INLINE.
109571         New module canonicalize-lgpl, proposed by Charles Wilson in
109572         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
109573         with a few small changes afterwards.
109574         * MODULES.html.sh (File system functions): New module
109575         canonicalize-lgpl.
109576         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
109577         and canonicalize_file_name.
109578         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
109579         * modules/canonicalize-lgpl: New files.
109581 2006-11-05  Bruno Haible  <bruno@clisp.org>
109583         * gnulib-tool (func_import, func_create_testdir): Create directories
109584         also for files in subdirectories of lib/.
109586 2006-11-05  Bruno Haible  <bruno@clisp.org>
109588         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
109589         ANSI C compliant.
109591 2006-11-03  Bruno Haible  <bruno@clisp.org>
109593         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
109594         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
109595         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
109596         (xnboundedmalloc): New inline function.
109597         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
109598         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
109599         xmalloc.
109600         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
109601         xmalloc.
109602         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
109603         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
109604         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
109605         xmalloc.
109606         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
109607         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
109608         xmalloc.
109609         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
109610         gl_tree_add_after): Use XMALLOC instead of xmalloc.
109611         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
109612         xmalloc.
109613         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
109614         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
109615         gl_tree_add_after): Use XMALLOC instead of xmalloc.
109616         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
109617         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
109618         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
109619         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
109621 2006-11-03  Bruno Haible  <bruno@clisp.org>
109623         * lib/c-ctype.h [C++]: Define functions without name mangling.
109624         * lib/fwriteerror.h [C++]: Likewise.
109625         * lib/gcd.h [C++]: Likewise.
109626         * lib/linebreak.h [C++]: Likewise.
109628 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
109630         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
109631         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
109632         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
109633         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
109634         Check for functions and headers just once.
109635         Check for declaration of canonicalize_file_name.
109636         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
109638 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
109640         * gnulib-tool (func_import): Fix typo in actioncmd.
109642 2006-11-02  Bruno Haible  <bruno@clisp.org>
109644         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
109645         newline sequence in the Makefile.am snippet as a space, like "make"
109646         does.
109647         Reported by Roger Persson <perrog@gmail.com>.
109649 2006-11-01  Bruno Haible  <bruno@clisp.org>
109651         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
109652         already declared in <string.h>.
109653         * lib/strcase.h (strncasecmp): Don't declare it if yes.
109655 2006-11-01  Bruno Haible  <bruno@clisp.org>
109657         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
109658         * lib/strcase.h: Include <string.h>.
109659         (strcasecmp): Define to rpl_strcasecmp here.
109661 2006-11-01  Bruno Haible  <bruno@clisp.org>
109663         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
109665 2006-11-01  Eric Blake  <ebb9@byu.net>
109667         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
109669         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
109671 2006-10-29  Bruno Haible  <bruno@clisp.org>
109673         Make it compile in C++ mode.
109674         * lib/full-write.c (full_rw): Add a cast.
109676 2006-11-01  Bruno Haible  <bruno@clisp.org>
109678         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
109679         be POSIX compliant.
109680         Reported by Roger Persson <perrog@gmail.com>.
109682 2006-11-01  Eric Blake  <ebb9@byu.net>
109684         * lib/getopt_.h: Fix comments.
109686 2006-10-31  Eric Blake  <ebb9@byu.net>
109688         * modules/tmpdir (Depends-on): Add sys_stat.
109689         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
109690         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
109691         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
109692         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
109693         tempname.
109695 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
109697         Avoid some C++ diagnostics reported by Bruno Haible.
109698         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
109699         xmalloc.
109700         (quotearg_alloc): Use xcharalloc rather than xmalloc.
109701         (struct slotvec): Move to top level.
109702         (quotearg_n_options): Rewrite to avoid xmalloc.
109703         * lib/xalloc.h (xcharalloc): New function.
109704         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
109705         [defined __cplusplus]: Add function template that provides result
109706         type propagation.  This part of the change is from Bruno Haible.
109708 2006-10-29  Bruno Haible  <bruno@clisp.org>
109710         Make it compile in C++ mode.
109711         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
109712         * lib/strnlen1.c (strnlen1): Cast memchr result.
109713         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
109714         * lib/clean-temp.c (string_equals, string_hash): Add casts.
109715         (create_temp_dir): Rename local variable 'template'.
109716         (compile_csharp_using_sscli): Add cast.
109717         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
109718         * lib/findprog.c (find_in_path): Likewise.
109719         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
109720         * lib/wait-process.c (register_slave_subprocess): Likewise.
109722 2006-10-22  Bruno Haible  <bruno@clisp.org>
109724         * modules/tsearch: New file.
109725         * lib/tsearch.h: New file.
109726         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
109727         * m4/tsearch.m4: New file.
109728         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
109730 2006-10-29  Eric Blake  <ebb9@byu.net>
109732         * lib/arcfour.c: Assume config.h.
109733         * lib/arctwo.c: Likewise.
109734         * lib/base64.c: Likewise.
109735         * lib/check-version.c: Likewise.
109736         * lib/crc.c: Likewise.
109737         * lib/des.c: Likewise.
109738         * lib/gc-gnulib.c: Likewise.
109739         * lib/gc-libgcrypt.c: Likewise.
109740         * lib/gc-pbkdf2-sha1.c: Likewise.
109741         * lib/getaddrinfo.c: Likewise.
109742         * lib/getdelim.c: Likewise.
109743         * lib/getline.c: Likewise.
109744         * lib/hmac-md5.c: Likewise.
109745         * lib/hmac-sha1.c: Likewise.
109746         * lib/iconvme.c: Likewise.
109747         * lib/md2.c: Likewise.
109748         * lib/md4.c: Likewise.
109749         * lib/memxor.c: Likewise.
109750         * lib/read-file.c: Likewise.
109751         * lib/readline.c: Likewise.
109752         * lib/rijndael-alg-fst.c: Likewise.
109753         * lib/rijndael-api-fst.c: Likewise.
109754         * lib/xgetdomainname.c: Likewise.
109756 2006-10-28  Eric Blake  <ebb9@byu.net>
109758         * lib/xstrndup.c: Assume config.h.
109760 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
109762         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
109763         stat-macros.h is now for our own macros, whereas stat_h is for
109764         macros in the <sys/stat.h> name space.
109765         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
109766         (STAT_MACROS_H): Remove.
109767         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
109768         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
109769         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
109770         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
109771         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
109772         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
109773         Move these macros to ...
109774         * lib/stat_.h: here.  Don't include stat-macros.h.
109775         * lib/canonicalize.c: Don't include stat-macros.h.
109776         * lib/chown.c: Likewise.
109777         * lib/euidaccess.c: Likewise.
109778         * lib/file-type.c: Likewise.
109779         * lib/filemode.c: Likewise.
109780         * lib/glob.c: Likewise.
109781         * lib/isapipe.c: Likewise.
109782         * lib/lchown.c: Likewise.
109783         * lib/lstat.c: Likewise.
109784         * lib/mkdir-p.c: Likewise.
109785         * lib/rmdir.c: Likewise.
109786         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
109787         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
109788         unless mkdir isn't declared, to speed up 'configure'.
109789         Always create sys/stat.h, since it's unlikely any real sys/stat.h
109790         would define all the S_* symbols.
109791         * modules/canonicalize (Depends-on):
109792         Depend on sys_stat, not stat-macros.
109793         * modules/chown: Likewise.
109794         * modules/euidaccess: Likewise.
109795         * modules/filemode: Likewise.
109796         * modules/file-type: Likewise.
109797         * modules/glob: Likewise.
109798         * modules/isapipe: Likewise.
109799         * modules/lchown: Likewise.
109800         * modules/lstat: Likewise.
109801         * modules/mkancesdirs: Likewise.
109802         * modules/rmdir: Likewise.
109803         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
109804         * modules/modechange: Likewise.
109805         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
109806         (configure.ac): Remove gl_STAT_MACROS.
109807         * modules/sys_stat (Depends-on): Remove stat-macros.
109809 2006-10-27  Bruno Haible  <bruno@clisp.org>
109811         * m4/signed.m4: Remove file.
109812         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
109813         invocation.
109814         * modules/vasnprintf (Files): Remove m4/signed.m4.
109816 2006-10-27  Bruno Haible  <bruno@clisp.org>
109818         Update to GNU gettext 0.16.
109819         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
109820         m4/inttypes-h.m4, m4/signed.m4.
109821         * m4/gettext.m4: Update to GNU gettext 0.16.
109822         * m4/intl.m4: New file, from GNU gettext.
109823         * m4/intldir.m4: New file, from GNU gettext.
109824         * config/srclist.txt: Update
109826 2006-10-27  Eric Blake  <ebb9@byu.net>
109828         * MODULES.html.sh: Document tempname.
109829         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
109830         dependencies.
109831         (Files): Move lib/tempname.c...
109832         * modules/tempname: ...to this new module.
109833         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
109834         (gl_PREREQ_TEMPNAME): Move...
109835         * m4/tempname.m4: ...to this new file.
109836         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
109837         * modules/sys_stat (Depends-on): Add stat-macros.
109838         * lib/stat_.h (includes): Pick up stat macros.
109839         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
109840         if stat macros are broken.
109841         * lib/tempname.c (includes): No need to include "stat-macros.h".
109842         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
109843         (direxists, __path_search) [!_LIBC]: Don't compile these in
109844         gnulib; the tmpdir module covers that.
109845         * lib/tempname.h: New file.
109847 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
109849         * COPYING: Explain how gnulib-tool converts licence headers.
109850         Almost all wording by Eric Blake.
109852 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
109854         * lib/mbchar.h (is_basic_table): Make read-only.
109855         * lib/mbchar.c (is_basic_table): Likewise.
109856         Reported by John Darrington.
109858 2006-10-25  Bruno Haible  <bruno@clisp.org>
109860         * lib/progname.h (set_program_name): Undefine before defining.
109862 2006-10-25  Bruno Haible  <bruno@clisp.org>
109864         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
109865         false for non-gcc C++ compilers.
109866         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
109868 2006-10-24  Bruno Haible  <bruno@clisp.org>
109870         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
109871         iconv implementations like Irix iconv.
109873 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
109875         * modules/vararrays: New file.
109876         * m4/vararrays.m4: New file, taken from diffutils.
109877         * MODULES.html.sh: New module vararrays.
109879 2006-10-24  Karl Berry  <karl@gnu.org>
109881         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
109882         Don't call GNU Unix.
109884 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109886         * users.txt: Add Libtool.
109888         Sync from Libtool:
109890         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
109892         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
109893         to gnulib's policy of including config.h unconditionally.
109895 2006-10-24  Bruno Haible  <bruno@clisp.org>
109897         * modules/wcwidth (Files): Add m4/wint_t.m4.
109898         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
109899         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
109901 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
109903         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
109904         to pacify GCC with some -W flags enabled.  Problem reported by
109905         Bruno Haible.
109907 2006-10-24  Jim Meyering  <jim@meyering.net>
109909         * MODULES.html.sh: Remove uinttostr.  It's not a module.
109910         Reported by Karl Berry.
109912 2006-10-23  Bruno Haible  <bruno@clisp.org>
109914         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
109916 2006-10-24  Bruno Haible  <bruno@clisp.org>
109918         * lib/gl_list.h: Use C comment style, not C++ comment style.
109920 2006-10-23  Eric Blake  <ebb9@byu.net>
109922         * lib/getaddrinfo.c (includes): Add missing include.
109924 2006-10-23  Bruno Haible  <bruno@clisp.org>
109925             Paul Eggert  <eggert@cs.ucla.edu>
109927         Ability to rename obstack_free.
109928         * lib/obstack.h (__obstack_free): New macro. Declare instead of
109929         obstack_free.
109930         (obstack_free): Invoke the __obstack_free macro.
109931         * lib/obstack.c (obstack_free): Use __obstack_free macro.
109933 2006-10-23  Bruno Haible  <bruno@clisp.org>
109934             Paul Eggert  <eggert@cs.ucla.edu>
109936         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
109937         __argc, __argv from the declaration. (They are defined as macros on
109938         mingw.)
109940 2006-10-22  Bruno Haible  <bruno@clisp.org>
109942         * doc/gnulib-intro.texi: New file.
109943         * doc/gnulib.texi: Include it.
109945 2006-10-21  Bruno Haible  <bruno@clisp.org>
109947         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
109948         "Introduction", "Miscellanous Notes", "Particular Modules".
109950 2006-10-21  Bruno Haible  <bruno@clisp.org>
109952         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
109953         Change mostlyclean-local rule to avoid sh syntax error from bash
109954         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
109956 2006-10-23  Jim Meyering  <jim@meyering.net>
109958         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
109959         in place of snprintf.
109961         * modules/inttostr (Files): Add lib/uinttostr.c.
109962         * lib/uinttostr.c (inttostr): New file/function.
109963         * lib/inttostr.h (uinttostr): Declare.
109964         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
109965         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
109966         Add uinttostr.
109967         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
109969 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
109971         * lib/canonicalize.c (ELOOP): Define if not already defined.
109972         Problem reported by Bruno Haible in
109973         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
109975 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
109977         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
109978         Problem reported by Perry Smith and Ville Laurikari.
109980         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
109981         uses.
109983 2006-10-19  Bruno Haible  <bruno@clisp.org>
109985         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
109986         for mingw.
109988 2006-10-19  Bruno Haible  <bruno@clisp.org>
109990         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
109991         Needed for mingw.
109993 2006-10-19  Bruno Haible  <bruno@clisp.org>
109995         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
109997 2006-10-19  Bruno Haible  <bruno@clisp.org>
109999         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
110000         it.
110002 2006-10-19  Bruno Haible  <bruno@clisp.org>
110004         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
110005         invocation.
110007 2006-10-19  Bruno Haible  <bruno@clisp.org>
110009         * gnulib-tool (func_create_testdir): Don't include ftruncate and
110010         mountlist by default.
110012 2006-10-16  Bruno Haible  <bruno@clisp.org>
110014         * lib/c-strstr.c: Include c-strstr.h.
110016 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
110018         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
110019         in a slash.
110021 2006-10-18  Bruno Haible  <bruno@clisp.org>
110023         * lib/lock.h [C++]: Wrap definitions in extern "C".
110025 2006-10-18  Bruno Haible  <bruno@clisp.org>
110027         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
110028         gl_LIBOBJS list.
110030 2006-10-18  Bruno Haible  <bruno@clisp.org>
110032         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
110034 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
110036         * lib/xstrtol.h: Include gettext.h.
110037         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
110038         Problem reported by Eric Blake.
110039         * modules/xstrtol (Depends-on): Add gettext-h.
110041 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
110043         * lib/strftime.c (advance): New macro.
110044         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
110045         incomplete type, so you can't add 0 to it.  Problem and patch
110046         reported by Eelco Dolstra for dietlibc.
110048 2006-10-18  Jim Meyering  <jim@meyering.net>
110050         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
110051         type for a local, and rename it: s/up/user_proc/.
110053 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
110055         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
110056         READ_UTMP_USER_PROCESS.
110057         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
110059 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
110061         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
110062         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
110064 2006-10-17  Eric Blake  <ebb9@byu.net>
110066         * lib/sigprocmask.c (sigprocmask): Fix typo.
110068         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
110070         * modules/clean-temp (Makefile.am): Don't add to make output...
110071         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
110072         config.h.
110074 2006-10-17  Bruno Haible  <bruno@clisp.org>
110076         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
110077         differently if DEFAULT_TEXT_DOMAIN is set.
110079 2006-10-16  Bruno Haible  <bruno@clisp.org>
110081         * lib/clean-temp.c: Include fwriteerror.h.
110083 2006-10-16  Bruno Haible  <bruno@clisp.org>
110085         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
110087 2006-10-16  Bruno Haible  <bruno@clisp.org>
110089         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
110090         * lib/sigprocmask.h: Include <sys/types.h>.
110091         (sigset_t): Use the system's definition if present.
110093 2006-10-17  Eric Blake  <ebb9@byu.net>
110095         * lib/xvasprintf.c (includes): Assume config.h.
110096         * lib/xasprintf.c (includes): Likewise.
110098 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
110100         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
110101         at least as wide as intmax_t.
110103 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
110105         (Imported from Automake.)
110106         * build-aux/gnupload: Update to version 1.1 of directive file.
110108 2006-10-16  Eric Blake  <ebb9@byu.net>
110110         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
110111         match Automake 1.10a.
110113 2006-10-14  Bruno Haible  <bruno@clisp.org>
110115         * modules/sigprocmask: New file.
110116         * lib/sigprocmask.h: New file.
110117         * lib/sigprocmask.c: New file.
110118         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
110119         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
110120         request sigprocmask.o.
110121         (gl_PREREQ_SIGPROCMASK): New macro.
110122         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
110123         (Depends-on): Add sigprocmask.
110124         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
110125         gt_SIGNALBLOCKING. Test for 'raise' only once.
110126         * lib/fatal-signal.c: Include sigprocmask.h.
110127         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
110128         unblock_fatal_signals): Define always.
110129         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
110130         sigprocmask.
110132 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
110134         Sync from Automake.
110135         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
110136         which incorrectly sets the mode of an existing destination
110137         directory.  In some cases the unpatched install-sh could do the
110138         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
110139         system.  We hope this is rare in practice, but it's clearly worth
110140         fixing.  Problem reported by Alex Unleashed in
110141         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
110142         Also, don't bother to check for -m bugs unless we're using -m;
110143         suggested by Stepan Kasal.
110145 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110147         Sync from Automake.
110148         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
110149         `-c' flag, so they appear at the same position as in %FASTDEP%
110150         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
110151         which ignores unknown options only after the first non-option.
110152         Bug report against M4 by Nelson H. F. Beebe.
110154 2006-10-13  Jim Meyering  <jim@meyering.net>
110156         Fix a bug in yesterday's change.
110157         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
110158         p->fts_statp->st_dev would be used uninitialized.
110159         Ensures that we always call fts_stat on the very first entry.
110160         Miklos Szeredi reported that find -xdev stopped working.
110162 2006-10-12  Bruno Haible  <bruno@clisp.org>
110164         * gnulib-tool (func_get_automake_snippet): Append an automatically
110165         computed EXTRA_DIST augmentation.
110166         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
110167         * modules/alloca-opt (Makefile.am): Likewise.
110168         * modules/allocsa (Makefile.am): Likewise.
110169         * modules/arcfour (Makefile.am): Likewise.
110170         * modules/arctwo (Makefile.am): Likewise.
110171         * modules/argmatch (Makefile.am): Likewise.
110172         * modules/argz (Makefile.am): Likewise.
110173         * modules/atexit (Makefile.am): Likewise.
110174         * modules/backupfile (Makefile.am): Likewise.
110175         * modules/byteswap (Makefile.am): Likewise.
110176         * modules/c-strtod (Makefile.am): Likewise.
110177         * modules/c-strtold (Makefile.am): Likewise.
110178         * modules/calloc (Makefile.am): Likewise.
110179         * modules/canon-host (Makefile.am): Likewise.
110180         * modules/canonicalize (Makefile.am): Likewise.
110181         * modules/chdir-long (Makefile.am): Likewise.
110182         * modules/chdir-safer (Makefile.am): Likewise.
110183         * modules/check-version (Makefile.am): Likewise.
110184         * modules/chown (Makefile.am): Likewise.
110185         * modules/cloexec (Makefile.am): Likewise.
110186         * modules/close-stream (Makefile.am): Likewise.
110187         * modules/closeout (Makefile.am): Likewise.
110188         * modules/crc (Makefile.am): Likewise.
110189         * modules/csharpexec (Makefile.am): Likewise.
110190         * modules/cycle-check (Makefile.am): Likewise.
110191         * modules/des (Makefile.am): Likewise.
110192         * modules/dev-ino (Makefile.am): Likewise.
110193         * modules/dirfd (Makefile.am): Likewise.
110194         * modules/dirname (Makefile.am): Likewise.
110195         * modules/dup2 (Makefile.am): Likewise.
110196         * modules/eealloc (Makefile.am): Likewise.
110197         * modules/error (Makefile.am): Likewise.
110198         * modules/euidaccess (Makefile.am): Likewise.
110199         * modules/exclude (Makefile.am): Likewise.
110200         * modules/exitfail (Makefile.am): Likewise.
110201         * modules/fcntl-safer (Makefile.am): Likewise.
110202         * modules/fcntl (Makefile.am): Likewise.
110203         * modules/file-type (Makefile.am): Likewise.
110204         * modules/fileblocks (Makefile.am): Likewise.
110205         * modules/filemode (Makefile.am): Likewise.
110206         * modules/filenamecat (Makefile.am): Likewise.
110207         * modules/fnmatch (Makefile.am): Likewise.
110208         * modules/fopen-safer (Makefile.am): Likewise.
110209         * modules/fpending (Makefile.am): Likewise.
110210         * modules/fprintftime (Makefile.am): Likewise.
110211         * modules/free (Makefile.am): Likewise.
110212         * modules/fsusage (Makefile.am): Likewise.
110213         * modules/ftruncate (Makefile.am): Likewise.
110214         * modules/fts (Makefile.am): Likewise.
110215         * modules/gc-arcfour (Makefile.am): Likewise.
110216         * modules/gc-des (Makefile.am): Likewise.
110217         * modules/gc-hmac-md5 (Makefile.am): Likewise.
110218         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
110219         * modules/gc-md4 (Makefile.am): Likewise.
110220         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
110221         * modules/gc-sha1 (Makefile.am): Likewise.
110222         * modules/gc (Makefile.am): Likewise.
110223         * modules/getaddrinfo (Makefile.am): Likewise.
110224         * modules/getcwd (Makefile.am): Likewise.
110225         * modules/getdelim (Makefile.am): Likewise.
110226         * modules/getdomainname (Makefile.am): Likewise.
110227         * modules/getgroups (Makefile.am): Likewise.
110228         * modules/gethostname (Makefile.am): Likewise.
110229         * modules/gethrxtime (Makefile.am): Likewise.
110230         * modules/getline (Makefile.am): Likewise.
110231         * modules/getloadavg (Makefile.am): Likewise.
110232         * modules/getlogin_r (Makefile.am): Likewise.
110233         * modules/getndelim2 (Makefile.am): Likewise.
110234         * modules/getopt (Makefile.am): Likewise.
110235         * modules/getpagesize (Makefile.am): Likewise.
110236         * modules/getpass-gnu (Makefile.am): Likewise.
110237         * modules/getpass (Makefile.am): Likewise.
110238         * modules/getsubopt (Makefile.am): Likewise.
110239         * modules/gettime (Makefile.am): Likewise.
110240         * modules/gettimeofday (Makefile.am): Likewise.
110241         * modules/getugroups (Makefile.am): Likewise.
110242         * modules/getusershell (Makefile.am): Likewise.
110243         * modules/glob (Makefile.am): Likewise.
110244         * modules/group-member (Makefile.am): Likewise.
110245         * modules/hard-locale (Makefile.am): Likewise.
110246         * modules/hash (Makefile.am): Likewise.
110247         * modules/hmac-md5 (Makefile.am): Likewise.
110248         * modules/hmac-sha1 (Makefile.am): Likewise.
110249         * modules/human (Makefile.am): Likewise.
110250         * modules/idcache (Makefile.am): Likewise.
110251         * modules/imaxabs (Makefile.am): Likewise.
110252         * modules/imaxdiv (Makefile.am): Likewise.
110253         * modules/inet_ntop (Makefile.am): Likewise.
110254         * modules/inet_pton (Makefile.am): Likewise.
110255         * modules/intprops (Makefile.am): Likewise.
110256         * modules/inttostr (Makefile.am): Likewise.
110257         * modules/inttypes (Makefile.am): Likewise.
110258         * modules/isapipe (Makefile.am): Likewise.
110259         * modules/javaversion (Makefile.am): Likewise.
110260         * modules/lchmod (Makefile.am): Likewise.
110261         * modules/lchown (Makefile.am): Likewise.
110262         * modules/localcharset (Makefile.am): Likewise.
110263         * modules/long-options (Makefile.am): Likewise.
110264         * modules/lstat (Makefile.am): Likewise.
110265         * modules/malloc (Makefile.am): Likewise.
110266         * modules/mathl (Makefile.am): Likewise.
110267         * modules/mbchar (Makefile.am): Likewise.
110268         * modules/md2 (Makefile.am): Likewise.
110269         * modules/md4 (Makefile.am): Likewise.
110270         * modules/md5 (Makefile.am): Likewise.
110271         * modules/memcasecmp (Makefile.am): Likewise.
110272         * modules/memchr (Makefile.am): Likewise.
110273         * modules/memcmp (Makefile.am): Likewise.
110274         * modules/memcoll (Makefile.am): Likewise.
110275         * modules/memcpy (Makefile.am): Likewise.
110276         * modules/memmem (Makefile.am): Likewise.
110277         * modules/memmove (Makefile.am): Likewise.
110278         * modules/mempcpy (Makefile.am): Likewise.
110279         * modules/memrchr (Makefile.am): Likewise.
110280         * modules/memset (Makefile.am): Likewise.
110281         * modules/memxor (Makefile.am): Likewise.
110282         * modules/mkancesdirs (Makefile.am): Likewise.
110283         * modules/mkdir-p (Makefile.am): Likewise.
110284         * modules/mkdir (Makefile.am): Likewise.
110285         * modules/mkdtemp (Makefile.am): Likewise.
110286         * modules/mkstemp (Makefile.am): Likewise.
110287         * modules/mktime (Makefile.am): Likewise.
110288         * modules/modechange (Makefile.am): Likewise.
110289         * modules/mountlist (Makefile.am): Likewise.
110290         * modules/nanosleep (Makefile.am): Likewise.
110291         * modules/obstack (Makefile.am): Likewise.
110292         * modules/openat (Makefile.am): Likewise.
110293         * modules/pagealign_alloc (Makefile.am): Likewise.
110294         * modules/pathmax (Makefile.am): Likewise.
110295         * modules/physmem (Makefile.am): Likewise.
110296         * modules/poll (Makefile.am): Likewise.
110297         * modules/posixtm (Makefile.am): Likewise.
110298         * modules/posixver (Makefile.am): Likewise.
110299         * modules/putenv (Makefile.am): Likewise.
110300         * modules/quote (Makefile.am): Likewise.
110301         * modules/quotearg (Makefile.am): Likewise.
110302         * modules/raise (Makefile.am): Likewise.
110303         * modules/read-file (Makefile.am): Likewise.
110304         * modules/readline (Makefile.am): Likewise.
110305         * modules/readlink (Makefile.am): Likewise.
110306         * modules/readtokens (Makefile.am): Likewise.
110307         * modules/readutmp (Makefile.am): Likewise.
110308         * modules/realloc (Makefile.am): Likewise.
110309         * modules/regex (Makefile.am): Likewise.
110310         * modules/rename-dest-slash (Makefile.am): Likewise.
110311         * modules/rename (Makefile.am): Likewise.
110312         * modules/rijndael (Makefile.am): Likewise.
110313         * modules/rmdir (Makefile.am): Likewise.
110314         * modules/rpmatch (Makefile.am): Likewise.
110315         * modules/safe-read (Makefile.am): Likewise.
110316         * modules/safe-write (Makefile.am): Likewise.
110317         * modules/same-inode (Makefile.am): Likewise.
110318         * modules/same (Makefile.am): Likewise.
110319         * modules/save-cwd (Makefile.am): Likewise.
110320         * modules/savedir (Makefile.am): Likewise.
110321         * modules/setenv (Makefile.am): Likewise.
110322         * modules/settime (Makefile.am): Likewise.
110323         * modules/sha1 (Makefile.am): Likewise.
110324         * modules/sig2str (Makefile.am): Likewise.
110325         * modules/snprintf (Makefile.am): Likewise.
110326         * modules/stat-macros (Makefile.am): Likewise.
110327         * modules/stat-time (Makefile.am): Likewise.
110328         * modules/stdbool (Makefile.am): Likewise.
110329         * modules/stdint (Makefile.am): Likewise.
110330         * modules/stdlib-safer (Makefile.am): Likewise.
110331         * modules/stpcpy (Makefile.am): Likewise.
110332         * modules/stpncpy (Makefile.am): Likewise.
110333         * modules/strcase (Makefile.am): Likewise.
110334         * modules/strcasestr (Makefile.am): Likewise.
110335         * modules/strchrnul (Makefile.am): Likewise.
110336         * modules/strcspn (Makefile.am): Likewise.
110337         * modules/strdup (Makefile.am): Likewise.
110338         * modules/strerror (Makefile.am): Likewise.
110339         * modules/strftime (Makefile.am): Likewise.
110340         * modules/strndup (Makefile.am): Likewise.
110341         * modules/strnlen (Makefile.am): Likewise.
110342         * modules/strpbrk (Makefile.am): Likewise.
110343         * modules/strsep (Makefile.am): Likewise.
110344         * modules/strstr (Makefile.am): Likewise.
110345         * modules/strtod (Makefile.am): Likewise.
110346         * modules/strtoimax (Makefile.am): Likewise.
110347         * modules/strtok_r (Makefile.am): Likewise.
110348         * modules/strtol (Makefile.am): Likewise.
110349         * modules/strtoll (Makefile.am): Likewise.
110350         * modules/strtoul (Makefile.am): Likewise.
110351         * modules/strtoull (Makefile.am): Likewise.
110352         * modules/strtoumax (Makefile.am): Likewise.
110353         * modules/strverscmp (Makefile.am): Likewise.
110354         * modules/sys_socket (Makefile.am): Likewise.
110355         * modules/sys_stat (Makefile.am): Likewise.
110356         * modules/sysexits (Makefile.am): Likewise.
110357         * modules/time_r (Makefile.am): Likewise.
110358         * modules/timegm (Makefile.am): Likewise.
110359         * modules/timespec (Makefile.am): Likewise.
110360         * modules/tmpfile-safer (Makefile.am): Likewise.
110361         * modules/trim (Makefile.am): Likewise.
110362         * modules/unistd-safer (Makefile.am): Likewise.
110363         * modules/unlinkdir (Makefile.am): Likewise.
110364         * modules/unlocked-io (Makefile.am): Likewise.
110365         * modules/userspec (Makefile.am): Likewise.
110366         * modules/utime (Makefile.am): Likewise.
110367         * modules/utimecmp (Makefile.am): Likewise.
110368         * modules/utimens (Makefile.am): Likewise.
110369         * modules/vasnprintf (Makefile.am): Likewise.
110370         * modules/vasprintf (Makefile.am): Likewise.
110371         * modules/vsnprintf (Makefile.am): Likewise.
110372         * modules/xalloc (Makefile.am): Likewise.
110373         * modules/xgetcwd (Makefile.am): Likewise.
110374         * modules/xnanosleep (Makefile.am): Likewise.
110375         * modules/xreadlink (Makefile.am): Likewise.
110376         * modules/xstrtod (Makefile.am): Likewise.
110377         * modules/xstrtol (Makefile.am): Likewise.
110378         * modules/xstrtold (Makefile.am): Likewise.
110379         * modules/yesno (Makefile.am): Likewise.
110380         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
110382 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
110384         * modules/error (Makefile.am): Distribute files through
110385         EXTRA_DIST, not lib_SOURCES.
110387 2006-10-12  Eric Blake  <ebb9@byu.net>
110389         * modules/error (Makefile.am): Distribute files in /lib.
110390         * modules/obstack (Makefile.am): Likewise.
110392 2006-10-12  Bruno Haible  <bruno@clisp.org>
110394         * modules/acl (Makefile.am): Distribute all files in lib/ through
110395         EXTRA_DIST.
110396         * modules/arcfour (Makefile.am): Likewise.
110397         * modules/arctwo (Makefile.am): Likewise.
110398         * modules/argmatch (Makefile.am): Likewise.
110399         * modules/argz (Makefile.am): Likewise.
110400         * modules/atexit (Makefile.am): Likewise.
110401         * modules/backupfile (Makefile.am): Likewise.
110402         * modules/c-strtod (Makefile.am): Likewise.
110403         * modules/c-strtold (Makefile.am): Likewise.
110404         * modules/calloc (Makefile.am): Likewise.
110405         * modules/canon-host (Makefile.am): Likewise.
110406         * modules/canonicalize (Makefile.am): Likewise.
110407         * modules/chdir-long (Makefile.am): Likewise.
110408         * modules/chdir-safer (Makefile.am): Likewise.
110409         * modules/check-version (Makefile.am): Likewise.
110410         * modules/chown (Makefile.am): Likewise.
110411         * modules/cloexec (Makefile.am): Likewise.
110412         * modules/close-stream (Makefile.am): Likewise.
110413         * modules/closeout (Makefile.am): Likewise.
110414         * modules/crc (Makefile.am): Likewise.
110415         * modules/cycle-check (Makefile.am): Likewise.
110416         * modules/des (Makefile.am): Likewise.
110417         * modules/dirfd (Makefile.am): Likewise.
110418         * modules/dirname (Makefile.am): Likewise.
110419         * modules/dup2 (Makefile.am): Likewise.
110420         * modules/euidaccess (Makefile.am): Likewise.
110421         * modules/exclude (Makefile.am): Likewise.
110422         * modules/exitfail (Makefile.am): Likewise.
110423         * modules/fcntl-safer (Makefile.am): Likewise.
110424         * modules/file-type (Makefile.am): Likewise.
110425         * modules/fileblocks (Makefile.am): Likewise.
110426         * modules/filemode (Makefile.am): Likewise.
110427         * modules/filenamecat (Makefile.am): Likewise.
110428         * modules/fnmatch (Makefile.am): Likewise.
110429         * modules/fopen-safer (Makefile.am): Likewise.
110430         * modules/fpending (Makefile.am): Likewise.
110431         * modules/fprintftime (Makefile.am): Likewise.
110432         * modules/free (Makefile.am): Likewise.
110433         * modules/fsusage (Makefile.am): Likewise.
110434         * modules/ftruncate (Makefile.am): Likewise.
110435         * modules/fts (Makefile.am): Likewise.
110436         * modules/gc (Makefile.am): Likewise.
110437         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
110438         * modules/getaddrinfo (Makefile.am): Likewise.
110439         * modules/getcwd (Makefile.am): Likewise.
110440         * modules/getdelim (Makefile.am): Likewise.
110441         * modules/getdomainname (Makefile.am): Likewise.
110442         * modules/getgroups (Makefile.am): Likewise.
110443         * modules/gethostname (Makefile.am): Likewise.
110444         * modules/gethrxtime (Makefile.am): Likewise.
110445         * modules/getline (Makefile.am): Likewise.
110446         * modules/getloadavg (Makefile.am): Likewise.
110447         * modules/getlogin_r (Makefile.am): Likewise.
110448         * modules/getopt (Makefile.am): Likewise.
110449         * modules/getpass (Makefile.am): Likewise.
110450         * modules/getpass-gnu (Makefile.am): Likewise.
110451         * modules/getsubopt (Makefile.am): Likewise.
110452         * modules/gettime (Makefile.am): Likewise.
110453         * modules/gettimeofday (Makefile.am): Likewise.
110454         * modules/getugroups (Makefile.am): Likewise.
110455         * modules/getusershell (Makefile.am): Likewise.
110456         * modules/glob (Makefile.am): Likewise.
110457         * modules/group-member (Makefile.am): Likewise.
110458         * modules/hard-locale (Makefile.am): Likewise.
110459         * modules/hash (Makefile.am): Likewise.
110460         * modules/hmac-md5 (Makefile.am): Likewise.
110461         * modules/hmac-sha1 (Makefile.am): Likewise.
110462         * modules/human (Makefile.am): Likewise.
110463         * modules/idcache (Makefile.am): Likewise.
110464         * modules/imaxabs (Makefile.am): Likewise.
110465         * modules/imaxdiv (Makefile.am): Likewise.
110466         * modules/inet_ntop (Makefile.am): Likewise.
110467         * modules/inet_pton (Makefile.am): Likewise.
110468         * modules/inttostr (Makefile.am): Likewise.
110469         * modules/isapipe (Makefile.am): Likewise.
110470         * modules/lchown (Makefile.am): Likewise.
110471         * modules/long-options (Makefile.am): Likewise.
110472         * modules/lstat (Makefile.am): Likewise.
110473         * modules/malloc (Makefile.am): Likewise.
110474         * modules/mathl (Makefile.am): Likewise.
110475         * modules/mbchar (Makefile.am): Likewise.
110476         * modules/md2 (Makefile.am): Likewise.
110477         * modules/md4 (Makefile.am): Likewise.
110478         * modules/md5 (Makefile.am): Likewise.
110479         * modules/memcasecmp (Makefile.am): Likewise.
110480         * modules/memchr (Makefile.am): Likewise.
110481         * modules/memcmp (Makefile.am): Likewise.
110482         * modules/memcoll (Makefile.am): Likewise.
110483         * modules/memcpy (Makefile.am): Likewise.
110484         * modules/memmem (Makefile.am): Likewise.
110485         * modules/memmove (Makefile.am): Likewise.
110486         * modules/mempcpy (Makefile.am): Likewise.
110487         * modules/memrchr (Makefile.am): Likewise.
110488         * modules/memset (Makefile.am): Likewise.
110489         * modules/memxor (Makefile.am): Likewise.
110490         * modules/mkancesdirs (Makefile.am): Likewise.
110491         * modules/mkdir (Makefile.am): Likewise.
110492         * modules/mkdir-p (Makefile.am): Likewise.
110493         * modules/mkdtemp (Makefile.am): Likewise.
110494         * modules/mkstemp (Makefile.am): Likewise.
110495         * modules/mktime (Makefile.am): Likewise.
110496         * modules/modechange (Makefile.am): Likewise.
110497         * modules/mountlist (Makefile.am): Likewise.
110498         * modules/nanosleep (Makefile.am): Likewise.
110499         * modules/openat (Makefile.am): Likewise.
110500         * modules/pagealign_alloc (Makefile.am): Likewise.
110501         * modules/physmem (Makefile.am): Likewise.
110502         * modules/poll (Makefile.am): Likewise.
110503         * modules/posixtm (Makefile.am): Likewise.
110504         * modules/posixver (Makefile.am): Likewise.
110505         * modules/putenv (Makefile.am): Likewise.
110506         * modules/quote (Makefile.am): Likewise.
110507         * modules/quotearg (Makefile.am): Likewise.
110508         * modules/raise (Makefile.am): Likewise.
110509         * modules/read-file (Makefile.am): Likewise.
110510         * modules/readline (Makefile.am): Likewise.
110511         * modules/readlink (Makefile.am): Likewise.
110512         * modules/readtokens (Makefile.am): Likewise.
110513         * modules/readutmp (Makefile.am): Likewise.
110514         * modules/realloc (Makefile.am): Likewise.
110515         * modules/regex (Makefile.am): Likewise.
110516         * modules/rename (Makefile.am): Likewise.
110517         * modules/rename-dest-slash (Makefile.am): Likewise.
110518         * modules/rijndael (Makefile.am): Likewise.
110519         * modules/rmdir (Makefile.am): Likewise.
110520         * modules/rpmatch (Makefile.am): Likewise.
110521         * modules/safe-read (Makefile.am): Likewise.
110522         * modules/safe-write (Makefile.am): Likewise.
110523         * modules/same (Makefile.am): Likewise.
110524         * modules/save-cwd (Makefile.am): Likewise.
110525         * modules/savedir (Makefile.am): Likewise.
110526         * modules/setenv (Makefile.am): Likewise.
110527         * modules/settime (Makefile.am): Likewise.
110528         * modules/sha1 (Makefile.am): Likewise.
110529         * modules/sig2str (Makefile.am): Likewise.
110530         * modules/snprintf (Makefile.am): Likewise.
110531         * modules/stdlib-safer (Makefile.am): Likewise.
110532         * modules/stpcpy (Makefile.am): Likewise.
110533         * modules/stpncpy (Makefile.am): Likewise.
110534         * modules/strcase (Makefile.am): Likewise.
110535         * modules/strcasestr (Makefile.am): Likewise.
110536         * modules/strchrnul (Makefile.am): Likewise.
110537         * modules/strcspn (Makefile.am): Likewise.
110538         * modules/strdup (Makefile.am): Likewise.
110539         * modules/strerror (Makefile.am): Likewise.
110540         * modules/strftime (Makefile.am): Likewise.
110541         * modules/strndup (Makefile.am): Likewise.
110542         * modules/strnlen (Makefile.am): Likewise.
110543         * modules/strpbrk (Makefile.am): Likewise.
110544         * modules/strsep (Makefile.am): Likewise.
110545         * modules/strstr (Makefile.am): Likewise.
110546         * modules/strtod (Makefile.am): Likewise.
110547         * modules/strtoimax (Makefile.am): Likewise.
110548         * modules/strtok_r (Makefile.am): Likewise.
110549         * modules/strtol (Makefile.am): Likewise.
110550         * modules/strtoll (Makefile.am): Likewise.
110551         * modules/strtoul (Makefile.am): Likewise.
110552         * modules/strtoull (Makefile.am): Likewise.
110553         * modules/strtoumax (Makefile.am): Likewise.
110554         * modules/strverscmp (Makefile.am): Likewise.
110555         * modules/time_r (Makefile.am): Likewise.
110556         * modules/timegm (Makefile.am): Likewise.
110557         * modules/tmpfile-safer (Makefile.am): Likewise.
110558         * modules/unistd-safer (Makefile.am): Likewise.
110559         * modules/unlinkdir (Makefile.am): Likewise.
110560         * modules/userspec (Makefile.am): Likewise.
110561         * modules/utime (Makefile.am): Likewise.
110562         * modules/utimecmp (Makefile.am): Likewise.
110563         * modules/utimens (Makefile.am): Likewise.
110564         * modules/vasnprintf (Makefile.am): Likewise.
110565         * modules/vasprintf (Makefile.am): Likewise.
110566         * modules/vsnprintf (Makefile.am): Likewise.
110567         * modules/xalloc (Makefile.am): Likewise.
110568         * modules/xgetcwd (Makefile.am): Likewise.
110569         * modules/xnanosleep (Makefile.am): Likewise.
110570         * modules/xreadlink (Makefile.am): Likewise.
110571         * modules/xstrtod (Makefile.am): Likewise.
110572         * modules/xstrtol (Makefile.am): Likewise.
110573         * modules/xstrtold (Makefile.am): Likewise.
110574         * modules/yesno (Makefile.am): Likewise.
110576 2006-10-12  Jim Meyering  <jim@meyering.net>
110578         * m4/getloadavg.m4: Revert the change below.
110580         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
110581         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
110582         fail with a symlink, which is what coreutils' ./bootstrap now
110583         creates by default.
110585 2006-10-12  Bruno Haible  <bruno@clisp.org>
110587         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
110588         mingw.
110589         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
110590         MSVC and mingw explicitly.
110592 2006-10-11  Simon Josefsson  <jas@extundo.com>
110593             Bruno Haible  <bruno@clisp.org>
110595         Add support for multiple gnulib-tool invocations in the scope of a
110596         single configure.ac file.
110597         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
110598         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
110599         with the same contents as the _LIBADD variable.
110600         (func_emit_initmacro_start, func_emit_initmacro_end,
110601         func_emit_initmacro_done): New functions.
110602         (func_import, func_create_testdir): Invoke them. Allow the identifiers
110603         gl_LIBOBJS and gl_LTLIBOBJS.
110605 2006-10-11  Bruno Haible  <bruno@clisp.org>
110607         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
110608         (func_create_testdir): Don't create po/Makefile.am, don't invoke
110609         autoreconf. Instead, invoke autopoint explicitly but move back the
110610         *.m4 files from gnulib.
110612 2006-10-11  Bruno Haible  <bruno@clisp.org>
110614         * gnulib-tool (func_usage): Make module names after --create-testdir
110615         optional.
110616         (func_create_testdir): If no module was specified, use nearly all
110617         modules.
110619 2006-10-12  Jim Meyering  <jim@meyering.net>
110621         Big performance improvement for fts-based tools that use FTS_NOSTAT.
110622         Avoid spurious inode-mismatch problems on non-POSIX file systems.
110623         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
110624         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
110625         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
110626         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
110627         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
110628         (fts_set_stat_required): New function.
110629         (fts_open): Defer the calls to fts_stat, if possible or requested.
110630         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
110631         into fts_stat itself.
110632         (fts_read): Perform any required (deferred) fts_stat call.
110633         (fts_build): Likewise, for the directory we're about to open and read.
110634         In the readdir loop, carefully decide whether each entry will require
110635         an eventual call to fts_stat, using dirent.d_type info if available.
110636         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
110637         a command line argument into this function.  Update all callers.
110638         Map a return value of FTS_DOT to FTS_D for a command line argument.
110639         * modules/fts (Depends-on): Add d-type.  Alphabetize.
110640         Thanks to Miklos Szeredi for his tenacity and for the initial
110641         bug report about "find" failing on a FUSE-based file system.
110643         * lib/fts.c (fts_open): Use consistent indentation.
110645 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
110647         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
110648         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
110649         reported by Jim Meyering.  All uses of cache variables renamed
110650         to match Autoconf's.
110651         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
110652         the other one.
110654         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
110655         Fix misspelling in diagnostic.
110657 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
110659         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
110660         defined.  Problem reported by Matthew Woehlke.
110662         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
110663         Add support for Tandem NonStop R series.
110664         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
110665         Use new macro.
110667         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
110668         (has_trailing_slash): Omit size arg; all callers changed.
110669         Omit 'inline', since it doesn't help performance and we'd
110670         need to configure it.
110671         Don't count //, ///, etc. as having a trailing slash.
110672         As a side effect, this removes a C99ism reported by Matthew Woehlke.
110673         (rpl_rename_dest_slash): On failure, use rename's errno rather
110674         than (in some cases) an incorrect or junk errno.
110675         Simplify code by removing need to compute length; this does
110676         cause it to make two passes instead of one over the file name,
110677         but it's worth it.
110679         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
110680         change, since Autoconf's version may no longer be appropriate now
110681         that we are using CVS Autoconf's version.  Add support for Tandem.
110683 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
110684             Bruno Haible  <bruno@clisp.org>
110686         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
110687         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
110688         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
110689         gl_AC_TYPE_LONG_LONG.
110691         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
110692         instead of HAVE_LONG_LONG.
110693         * lib/printf-args.c (printf_fetchargs): Likewise.
110694         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
110695         * lib/vasnprintf.c (VASNPRINTF): Likewise.
110696         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
110697         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
110698         gl_AC_TYPE_LONG_LONG.
110700 2006-10-11  Bruno Haible  <bruno@clisp.org>
110702         * m4/longlong.m4: Add comments.
110703         * m4/ulonglong.m4: Likewise.
110705 2006-10-10  Bruno Haible  <bruno@clisp.org>
110707         Make it possible to #define stpcpy, strdup to aliases.
110708         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
110709         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
110711 2006-10-10  Bruno Haible  <bruno@clisp.org>
110713         Make it possible to #define gcd to an alias.
110714         * lib/gcd.c: Include config.h.
110716 2006-10-10  Bruno Haible  <bruno@clisp.org>
110718         Make it possible to #define c_isascii to an alias.
110719         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
110720         defined. Undefine the macros before defining them, to avoid gcc
110721         warnings.
110722         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
110723         define NO_C_CTYPE_MACROS early.
110725 2006-10-10  Bruno Haible  <bruno@clisp.org>
110727         Make it possible to #define set_program_name to an alias.
110728         * lib/progname.c: Don't undefine set_program_name; instead, undefine
110729         ENABLE_RELOCATABLE early.
110731 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
110733         Port to Tandem NSK OSS, which has 64-bit signed int but at most
110734         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
110735         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
110736         More generally, don't assume that 64-bit signed int is available
110737         if unsigned int is, and vice versa.
110738         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
110739         unsigned symbols, not on their signed counterparts.
110740         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
110741         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
110742         (UINT64_C, UINTMAX_C):
110743         Likewise.
110744         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
110745         unsigned counterparts.
110746         (Have_long_long, Unsigned): New macros.
110747         (Int): Renamed from INT.
110748         (strtoimax): Use the new macros.
110749         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
110750         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
110751         * modules/inttypes (inttypes.h): Substitute
110752         HAVE_UNSIGNED_LONG_LONG_INT.
110753         * modules/stdint (stdint.h): Likewise.
110754         (Files): Add m4/ulonglong.m4.
110756 2006-10-10  Bruno Haible  <bruno@clisp.org>
110758         Fix a gcc -Wshadow warning.
110759         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
110760         to 'bucket'.
110761         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
110762         gl_linked_indexof_from_to): Likewise.
110763         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
110764         Likewise.
110765         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
110766         Likewise.
110767         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
110768         Reported by Eric Blake.
110770 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
110772         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
110773         for NetBSD.  Problem reported by Bruno Haible.
110775 2006-10-09  Jim Meyering  <jim@meyering.net>
110777         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
110778         Patch from Bruno Haible.
110780 2006-10-09  Jim Meyering  <jim@meyering.net>
110782         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
110783         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
110784         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
110786 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
110788         Don't include <config.h> twice; this doesn't work in some cases,
110789         e.g., when config.h has "#define intmax_t long long int" and
110790         we include <config.h>, <inttypes.h>, <config.h> in that order.
110791         Problem reported by Matthew Woehlke in:
110792         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
110793         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
110794         * lib/fts-cycle.c: Don't include config.h.
110795         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
110796         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
110797         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
110798         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
110799         inttypes.h.
110800         * lib/xstrtoumax.c: Likewise.
110801         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
110802         __strtol and the like, so that this module is more like its siblings.
110803         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
110804         Remove; no longer needed now that we assume gnulib inttypes.h.
110806 2006-10-08  Bruno Haible  <bruno@clisp.org>
110808         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
110809         option.
110811 2006-10-07  Jim Meyering  <jim@meyering.net>
110813         * modules/inttypes (inttypes.h): Revert what seems to have been
110814         an inadvertent part of today's change: use "|", not "/" in the
110815         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
110817 2006-10-07  Bruno Haible  <bruno@clisp.org>
110819         * modules/sublist: New file.
110821 2006-10-07  Bruno Haible  <bruno@clisp.org>
110823         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
110824         * modules/argz (argz.h): Likewise.
110825         * modules/arpa_inet (arpa/inet.h): Likewise.
110826         * modules/byteswap (byteswap.h): Likewise.
110827         * modules/configmake (configmake.h): Likewise.
110828         * modules/fcntl (fcntl.h): Likewise.
110829         * modules/fnmatch (fnmatch.h): Likewise.
110830         * modules/getopt (getopt.h): Likewise.
110831         * modules/glob (glob.h): Likewise.
110832         * modules/inttypes (inttypes.h): Likewise.
110833         * modules/netinet_in (netinet/in.h): Likewise.
110834         * modules/poll (poll.h): Likewise.
110835         * modules/stdbool (stdbool.h): Likewise.
110836         * modules/stdint (stdint.h): Likewise.
110837         * modules/sys_select (sys/select.h): Likewise.
110838         * modules/sys_socket (sys/socket.h): Likewise.
110839         * modules/sys_stat (sys/stat.h): Likewise.
110840         * modules/sysexits (sysexits.h): Likewise.
110841         * modules/unistd (unistd.h): Likewise.
110842         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
110843         Add a "DO NOT EDIT" comment to the generated file.
110844         (func_import): Likewise for gnulib-comp.m4.
110846 2006-10-07  Bruno Haible  <bruno@clisp.org>
110848         * lib/gl_sublist.h: New file.
110849         * lib/gl_sublist.c: New file.
110851 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
110853         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
110854         name (relative to the original working directory) and the file
110855         name component (relative to the temporary working directory).  All
110856         callers changed.
110857         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
110858         * lib/mkdir-p.c (make_dir_parents): Likewise.
110859         * lib/mkdir-p.h (make_dir_parents): Likewise.
110861 2006-10-06  Eric Blake  <ebb9@byu.net>
110863         Define several macros for use by the clean-temp module.
110864         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
110865         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
110866         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
110868         * lib/clean-temp.h (close_stream_temp): New declaration.
110869         * lib/clean-temp.c (includes): Pull in headers according to what
110870         other modules are in use.
110871         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
110873 2006-10-06  Bruno Haible  <bruno@clisp.org>
110875         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
110876         instead of fopen, fwriteerror.
110878 2006-10-06  Bruno Haible  <bruno@clisp.org>
110880         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
110881         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
110882         int.
110883         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
110884         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
110885         Return an error indicator.
110886         Suggested by Eric Blake.
110888 2006-10-06  Bruno Haible  <bruno@clisp.org>
110890         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
110891         Reported by Eric Blake.
110893 2006-10-06  Bruno Haible  <bruno@clisp.org>
110895         * modules/closeout (Description): Mention stderr too.
110897 2006-10-06  Bruno Haible  <bruno@clisp.org>
110898         and Paul Eggert  <eggert@cs.ucla.edu>
110900         * lib/closeout.c (close_stdout): Also close stderr.
110901         * lib/closeout.h: Update comment.
110903 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
110905         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
110906         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
110907         * lib/dirchownmod.c: Include lchown.h.
110908         * lib/lchown.c: Don't include files that lchown.h now includes.
110909         Don't declare chown, since lchown.h now does that.
110910         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
110911         (lchown): Define to rpl_chown if lchown is declared but
110912         does not exist.  Declare using a prototype if lchown is not
110913         declared.  Add a copyright notice.
110914         * lib/mkstemp.h: Include <unistd.h>.
110915         * lib/openat.c: Include lchown.h.
110917         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
110918         we now test for that separately.
110919         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
110920         rather than O_NOFOLLOW, when testing whether it's possible to
110921         avoid a race condition reliably.
110922         * lib/savewd.c (savewd_chdir): Likewise.
110924         Remove macros that are no longer needed now that stdint.h is
110925         reliable.
110926         * lib/fsusage.c (UINTMAX_MAX): Remove.
110927         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
110928         * lib/utimecmp.c (SIZE_MAX): Remove.
110930         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
110932         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
110933         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
110934         O_NOATIME works.
110936 2006-10-05  Bruno Haible  <bruno@clisp.org>
110938         * lib/gl_list.h (gl_sortedlist_search_from_to,
110939         gl_sortedlist_indexof_from_to): New declarations.
110940         (gl_list_implementation): New fields sortedlist_search_from_to,
110941         sortedlist_indexof_from_to.
110942         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
110943         inline functions.
110944         * lib/gl_list.c (gl_sortedlist_search_from_to,
110945         gl_sortedlist_indexof_from_to): New functions.
110946         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
110947         function.
110948         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
110949         (gl_array_sortedlist_search_from_to): New function.
110950         (gl_array_list_implementation): Update.
110951         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
110952         function.
110953         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
110954         (gl_carray_sortedlist_search_from_to): New function.
110955         (gl_carray_list_implementation): Update.
110956         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
110957         gl_linked_sortedlist_indexof_from_to): New functions.
110958         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
110959         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
110960         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
110961         gl_tree_sortedlist_indexof_from_to): New functions.
110962         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
110963         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
110964         Update.
110965         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
110966         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
110967         Update.
110969 2006-10-05  Bruno Haible  <bruno@clisp.org>
110971         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
110972         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
110973         (struct gl_list_implementation): Add fields search_from_to,
110974         indexof_from_to. Remove fields search, indexof.
110975         (gl_list_search): Use the search_from_to method.
110976         (gl_list_search_from, gl_list_search_from_to): New functions.
110977         (gl_list_indexof): Use the indexof_from_to method.
110978         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
110979         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
110980         (gl_list_search_from, gl_list_search_from_to): New functions.
110981         (gl_list_indexof): Use the indexof_from_to method.
110982         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
110983         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
110984         gl_array_indexof. Add start_index, end_index arguments.
110985         (gl_array_search_from_to): Renamed from gl_array_search. Add
110986         start_index, end_index arguments.
110987         (gl_array_remove, gl_array_list_implementation): Update.
110988         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
110989         gl_carray_indexof. Add start_index, end_index arguments.
110990         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
110991         start_index, end_index arguments.
110992         (gl_carray_remove, gl_carray_list_implementation): Update.
110993         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
110994         gl_linked_search. Add start_index, end_index arguments.
110995         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
110996         start_index, end_index arguments.
110997         (gl_linked_remove): Update.
110998         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
110999         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
111000         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
111001         field to 'size_t'.
111002         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
111003         gl_tree_search. Add start_index, end_index arguments.
111004         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
111005         start_index, end_index arguments.
111006         (gl_tree_remove): Update.
111007         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
111008         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
111009         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
111010         function.
111011         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
111012         gl_tree_search. Add start_index, end_index arguments.
111013         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
111014         start_index, end_index arguments.
111015         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
111016         Update.
111017         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
111019 2006-10-05  Bruno Haible  <bruno@clisp.org>
111021         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
111023         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
111024         fwriteerror_temp): New declarations.
111025         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
111026         (descriptors): New variable.
111027         (cleanup): First, close the descriptors.
111028         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
111029         fclose_temp, fwriteerror_temp): New functions.
111031 2006-10-04  Jim Meyering  <jim@meyering.net>
111033         * lib/fts.c (fts_open): Tiny comment change.
111035 2006-10-04  Bruno Haible  <bruno@clisp.org>
111037         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
111038         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
111039         gl_LOCK_BODY.
111040         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
111041         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
111042         gl_LOCK_EARLY_BODY.
111043         (gl_LOCK): Require gl_LOCK_BODY.
111045 2006-10-04  Bruno Haible  <bruno@clisp.org>
111047         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
111048         (gl_oset_search_atleast): New declaration.
111049         (struct gl_oset_implementation): Add field 'search_atleast'.
111050         (gl_oset_search_atleast): New inline function.
111051         * lib/gl_oset.c (gl_oset_search_atleast): New function.
111052         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
111053         (gl_array_oset_implementation): Update.
111054         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
111055         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
111056         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
111058 2006-10-04  Bruno Haible  <bruno@clisp.org>
111060         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
111062 2006-10-03  Bruno Haible  <bruno@clisp.org>
111064         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
111065         from gl_avltreehash_list_implementation.
111067 2006-10-03  Bruno Haible  <bruno@clisp.org>
111069         * lib/gl_oset.c (gl_oset_add): Fix return type.
111071 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
111073         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
111075 2006-10-02  Eric Blake  <ebb9@byu.net>
111077         * modules/strnlen (Depends-on): Add extensions.
111079 2006-10-02  Eric Blake  <ebb9@byu.net>
111081         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
111082         definition in 2.60+.
111084 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
111086         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
111087         checks.
111089 2006-10-02  Bruno Haible  <bruno@clisp.org>
111091         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
111092         to the AUTOMAKE_OPTIONS.
111093         Reported by Jim Meyering.
111095 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
111097         Work around bug in Solaris 10 /proc file system:
111098         /proc/self/fd/NNN/.. isn't the parent directory of
111099         the directory whose file descriptor is NNN.  This needs to
111100         be worked around at run time, not compile time, since a
111101         program might be built on Solaris 8, where things work, and
111102         run on Solaris 10.
111103         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
111104         to use the following interface instead:
111105         (OPENAT_BUFFER_SIZE): New macro.
111106         (openat_proc_name): New function.
111107         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
111108         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
111109         Likewise.
111110         * lib/openat-proc.c: New file.
111111         * modules/openat (Files): Add lib/openat-proc.c.
111112         (Depends-on): Add same-inode, stdbool.
111113         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
111115 2006-09-29  Bruno Haible  <bruno@clisp.org>
111117         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
111118         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
111119         argument. Set stdout_closed before testing for ferror, not after.
111120         (fwriteerror, fwriteerror_no_ebadf): New functions.
111122 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111124         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
111126 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
111128         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
111129         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
111131 2006-09-28  Jim Meyering  <jim@meyering.net>
111133         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
111134         Include <unistd.h>.
111136 2006-09-28  Bruno Haible  <bruno@clisp.org>
111138         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
111139         * modules/linkedhash-list (Depends-on): Likewise.
111140         * modules/rbtreehash-list (Depends-on): Likewise.
111142 2006-09-28  Bruno Haible  <bruno@clisp.org>
111144         * lib/strndup.h: Simplify the redefinition of strndup.
111145         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
111146         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
111148 2006-09-28  Bruno Haible  <bruno@clisp.org>
111150         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
111151         * lib/gl_linkedhash_list.c: Likewise.
111152         * lib/gl_rbtreehash_list.c: Likewise.
111154 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
111156         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
111157         getaddrinfo.
111159         * lib/__fpending.h: Don't include <stdio_ext.h> unless
111160         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
111161         it causes <stdio_ext.h> to cause a compile-time error.
111162         Problem reported by Nelson H. F. Beebe.
111163         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
111164         of HAVE_DECL___PENDING.
111166         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
111167         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
111168         declaration.
111170 2006-09-27  Jim Meyering  <jim@meyering.net>
111172         This file could end up with a definition for a function
111173         named __strndup, rather than rpl_strndup on a system with
111174         incomplete weak_alias support.
111175         * lib/strndup.c (strndup): Rename from __strndup.
111176         Remove #defines that used to map __strndup to strndup.
111177         Don't use K&R prototypes.
111178         Remove LIBC-related code, since this file is not sync'd with glibc.
111179         * lib/strndup.h: Revamp, accordingly.
111180         * m4/strndup.m4: Modernize.
111182 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
111184         * modules/savewd (Depends-on): Add 'raise'.
111185         * lib/savewd.c: Include <signal.h>, for 'raise'.
111187 2006-09-26  Jim Meyering  <jim@meyering.net>
111189         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
111190         when we detect Darwin 8.7.0's acl_get_file bug.
111191         Rearrange to perform the new (below) run-test while $LIBS
111192         contains any acl-related library.  Set USE_ACL at the end.
111193         (gl_ACL_GET_FILE): New function.
111195 2006-09-26  Eric Blake  <ebb9@byu.net>
111197         * lib/verror.c: Include <config.h> unconditionally.
111199 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
111201         * modules/clock-time (Maintainer): Add self.
111202         * modules/getlogin_r (Depends-on): Add extensions.
111204 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111206         * modules/clock-time: New module.
111207         * modules/nanosleep (Depends-on): Add clock-time.
111208         * modules/gethrxtime (Depends-on): Likewise.
111209         * modules/gettime (Depends-on): Likewise.
111210         * modules/settime (Depends-on): Likewise.
111212         * modules/fts-lgpl: Depend on openat.
111213         * modules/mkancesdirs: Depend on savewd.
111214         * modules/mkdir-p: Likewise.
111216 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111218         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
111220         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
111221         `gl_have_arbitrary_file_name_length_limit' to
111222         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
111223         actually works between configure runs.
111225 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111226             Bruno Haible  <bruno@clisp.org>
111228         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
111230 2006-09-25  Jim Meyering  <jim@meyering.net>
111232         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
111233         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
111235 2006-09-25  Eric Blake  <ebb9@byu.net>
111237         * gnulib-tool (func_import, func_create_testdir): Fix typos in
111238         exec's in 2006-09-18 patch when shuffling fds.
111240 2006-09-25  Bruno Haible  <bruno@clisp.org>
111242         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
111243         Reported by Jim Meyering.
111245 2006-09-24  Jim Meyering  <jim@meyering.net>
111247         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
111248         compare a pointer against a literal "0".  That caused failures with
111249         at least HP-UX's hpcc.
111251 2006-09-22  Simon Josefsson  <jas@extundo.com>
111253         * modules/gc-sha1:
111254         * modules/gc-md4:
111255         * modules/gc-hmac-sha1:
111256         * modules/gc-hmac-md5:
111257         * modules/gc-des:
111258         * modules/gc-arcfour: Distribute more files.
111260 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111262         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
111263         (gl_linked_iterator_from_to): Initialize struct completely.
111264         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
111265         (gl_tree_iterator_from_to): Likewise
111266         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
111267         * lib/gl_array_list.c [lint] (gl_array_iterator)
111268         (gl_array_iterator_from_to): Likewise.
111269         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
111270         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
111271         (gl_carray_iterator_from_to): Likewise.
111273         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
111274         * lib/md4.c (md4_process_block): Remove unused variable.
111275         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
111276         parentheses for clarity.
111278 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111280         * modules/bison-i18n (Depends-on): Add gettext.
111282 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111284         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
111285         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
111286         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
111287         also add missing comma that caused broken test.
111288         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
111289         stdlib.h, for `abort'.
111290         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
111291         variables.
111292         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
111293         include unistd.h if present, for `rmdir'.
111294         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
111295         variables.
111296         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
111297         in the process include standard headers for prototypes.
111298         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
111299         gets declared on GNU/Linux.
111300         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
111301         unistd.h, for `rmdir'.
111302         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
111304         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
111305         always true.
111306         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
111308         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
111310 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111312         * gnulib-tool (func_version): Create output all at once.  This
111313         may help avoid triggering unnecessary SIGPIPEs, and at any
111314         rate it doesn't hurt.
111316 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111317             Bruno Haible  <bruno@clisp.org>
111319         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
111320         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
111321         * m4/signed.m4 (bh_C_SIGNED): Likewise.
111323         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
111324         (gl_FUNC_VASPRINTF): Invoke it.
111326 2006-09-22  Bruno Haible  <bruno@clisp.org>
111328         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
111329         getloadavg.c as first argument.
111331 2006-09-22  Bruno Haible  <bruno@clisp.org>
111333         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
111334         at the beginning of the gl_INIT macro.
111335         * modules/getloadavg (configure.ac): Pass $gl_source_base to
111336         gl_GETLOADAVG.
111338 2006-09-22  Bruno Haible  <bruno@clisp.org>
111340         * gnulib-tool (func_create_megatestdir): Don't include the config-h
111341         module.
111342         Suggested by Ralf Wildenhues.
111344 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
111346         Import this patch from libc:
111348         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
111350         * lib/regex_internal.c (re_string_reconstruct): Handle
111351         offset < pstr->valid_raw_len && pstr->offsets_needed case.
111352         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
111353         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
111354         re_string_context_at.
111356         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
111357         now requires it.
111358         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
111359         gl_REGEX now does it for us.
111360         (gl_REGEX): Add test taken from
111361         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
111363         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
111364         Check that large offsets work.  Modernize Autoconf usages.
111365         Prefer "yes" to mean a good thing rather than a bad.
111366         Don't put "#define mkstemp" in config.h, as this might interfere
111367         with standard system headers that "#define mkstemp mkstemp64".
111369         * modules/mkstemp (Depends-on): Add extensions, so that
111370         mkstemp is visible on some platforms.
111371         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
111372         (Include): Change to "mkstemp.h" from <stdlib.h>.
111373         (Files): Add mkstemp.h.
111375         * lib/mkstemp.h: New file, since some standard headers
111376         #define mkstemp.
111377         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
111378         Include "mkstemp.h".
111379         Make the _LIBC code resemble glibc original more,
111380         e.g., use K&R style.
111381         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
111382         (mkstemp): Remove, since mkstemp.h does this for us.
111383         * lib/stdlib--.h: Include mkstemp.h.
111385         Import this patch from libc:
111387         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
111389         * lib/tempname.c (__gen_tempname): Change attempts_min
111390         into a macro.  Use preprocessor to decide how to initialize
111391         attempts [Coverity CID 67].
111393 2006-09-20  Bruno Haible  <bruno@clisp.org>
111395         * lib/mkdtemp.c: Import from libc.
111396         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
111397                 * sysdeps/posix/tempname.c (__gen_tempname): Change
111398                 attempts_min into a macro.  Use preprocessor to decide how to
111399                 initialize attempts [Coverity CID 67].
111400         2001-11-27  Paul Eggert  <eggert@twinsun.com>
111401                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
111402                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
111404 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111406         * gnulib-tool (func_exit): New function, to allow to pass the
111407         exit status portably through the trap.  Use everywhere.
111408         (--help, --version): Signal a write error.
111409         (trap): catch SIGPIPE, for write errors.
111410         Exit at the end of the trap, with the correct exit status.
111412 2006-09-19  Karl Berry  <karl@gnu.org>
111414         * doc/gnulib.texi: note about the license texinfo files.
111416 2006-09-19  Eric Blake  <ebb9@byu.net>
111418         * gnulib-tool: Avoid space-tab.
111420 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
111422         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
111423         that prevented coreutils 6.1 from building.  Problem reported
111424         by Petter Reinholdtsen.
111426 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
111428         * gnulib-tool (avoidlist): Fix typo that broke options like
111429         --avoid=lock that are used by coreutils bootstrap.
111431 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
111433         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
111434         more systematically.
111436 2006-09-18  Jim Meyering  <jim@meyering.net>
111438         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
111440 2006-09-18  Bruno Haible  <bruno@clisp.org>
111442         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
111444 2006-09-18  Bruno Haible  <bruno@clisp.org>
111446         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
111447         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
111448         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
111449         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
111450         * m4/gettext.m4: Require autoconf >= 2.52.
111451         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
111452         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
111453         of gl_cv_header_inttypes_h.
111455 2006-09-18  Bruno Haible  <bruno@clisp.org>
111457         * lib/javaversion.c: Include configmake.h.
111459 2006-09-18  Bruno Haible  <bruno@clisp.org>
111461         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
111462         avoid that the while loops be executed in a subshell.
111464 2006-09-18  Bruno Haible  <bruno@clisp.org>
111466         * MODULES.html.sh (func_module): Break long lines.
111467         Suggested by Bruce Korb <bkorb@gnu.org>.
111469 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111471         Speed up by a factor of 1.12.
111472         * gnulib-tool (nl): New variable.
111473         (func_import): Rewrite include directive extraction to only read each
111474         directive once.
111476 2006-09-17  Bruno Haible  <bruno@clisp.org>
111478         * modules/javaversion (Makefile.am): Remove DEFS setting.
111479         (Depends-on): Add configmake, for PKGDATADIR definition.
111481 2006-09-17  Bruno Haible  <bruno@clisp.org>
111483         * gnulib-tool (func_create_testdir): Rewrite all files at once.
111485 2006-09-17  Bruno Haible  <bruno@clisp.org>
111487         * gnulib-tool (func_append): New function, stolen from libtool.m4.
111488         (func_modules_transitive_closure, func_modules_add_dummy,
111489         func_modules_to_filelist, func_import, func_create_testdir,
111490         func_create_megatestdir, ...): Use it wherever possible.
111491         Suggested by Ralf Wildenhues.
111493 2006-09-16  Karl Berry  <karl@gnu.org>
111495         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
111496         to avoid sectioning errors.
111497         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
111498         [ifinfo]: blank line after @center-ed titles.
111499         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
111500         Spell FSF address consistently with others.
111501         (These changes approved by rms.)
111503 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111505         Speed up by a factor of 1.61.
111506         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
111507         already checked module names again.
111509 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111511         Speed up by a factor of 1.13.
111512         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
111513         for new_files, and the input to func_add_or_update.
111515 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111517         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
111518         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
111520 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
111522         * modules/mkancesdirs (Depends-on): Add fcntl.
111523         * modules/savewd: New file.
111524         * MODULES.html.sh (File system functions): Add savewd.
111526         * modules/configmake (Makefile.am): Add support for the
111527         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
111529 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
111531         * m4/savewd.m4: New file.
111533 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
111535         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
111536         (dirchownmod): New arg FD.  All callers changed.
111537         Use FD rather than opening the directory ourself, as opening is
111538         now the caller's responsibility.
111539         * lib/dirchownmod.h: Likewise.
111540         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
111541         hosts that require <sys/types.h> before <sys/stat.h>.  Include
111542         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
111543         (test_dir): Remove.
111544         (mkancesdirs): Return length of prefix of FILE that has already
111545         been made, or -2 if there is a child doing the work.  Redo
111546         algorithm so that it is O(N) rather than O(N**2).  Optimize away
111547         ".", and treat ".." specially since it might stray back into
111548         already-created areas.  Use a subprocess if necessary.  New arg
111549         WD; all users changed.  MAKE_DIR function should now return 1
111550         if it creates a directory that is not readable.  Return -2 if
111551         a child process is spun off.
111552         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
111553         Adjust signature to match code.
111554         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
111555         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
111556         all users changed.
111557         * lib/savewd.c, lib/savewd.h: New files.
111559 2006-09-15  Jim Meyering  <jim@meyering.net>
111561         * modules/rename-dest-slash: New module.
111562         * MODULES.html.sh (posix_compat): Add it here.
111564         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
111566 2006-09-15  Jim Meyering  <jim@meyering.net>
111568         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
111569         file.
111571         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
111573 2006-09-15  Jim Meyering  <jim@meyering.net>
111575         * lib/rename-dest-slash.c (has_trailing_slash): Use
111576         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
111577         (rpl_rename_dest_slash): Perform the cheaper trailing slash
111578         test before testing whether SRC is a directory.
111579         Suggestions from Bruno Haible.
111581         Avoid a warning about an unused variable.
111582         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
111583         into the #ifdef block where it's used.
111585         * lib/rename-dest-slash.c: New file.
111587 2006-09-14  Bruno Haible  <bruno@clisp.org>
111589         * lib/allocsa.c: Include <config.h> unconditionally.
111590         * lib/asnprintf.c: Likewise.
111591         * lib/asprintf.c: Likewise.
111592         * lib/c-strcasecmp.c: Likewise.
111593         * lib/c-strcasestr.c: Likewise.
111594         * lib/c-strncasecmp.c: Likewise.
111595         * lib/c-strstr.c: Likewise.
111596         * lib/classpath.c: Likewise.
111597         * lib/clean-temp.c: Likewise.
111598         * lib/concatpath.c: Likewise.
111599         * lib/copy-file.c: Likewise.
111600         * lib/csharpcomp.c: Likewise.
111601         * lib/csharpexec.c: Likewise.
111602         * lib/execute.c: Likewise.
111603         * lib/fatal-signal.c: Likewise.
111604         * lib/findprog.c: Likewise.
111605         * lib/fwriteerror.c: Likewise.
111606         * lib/gl_array_list.c: Likewise.
111607         * lib/gl_array_oset.c: Likewise.
111608         * lib/gl_avltree_list.c: Likewise.
111609         * lib/gl_avltree_oset.c: Likewise.
111610         * lib/gl_avltreehash_list.c: Likewise.
111611         * lib/gl_carray_list.c: Likewise.
111612         * lib/gl_linked_list.c: Likewise.
111613         * lib/gl_linkedhash_list.c: Likewise.
111614         * lib/gl_list.c: Likewise.
111615         * lib/gl_oset.c: Likewise.
111616         * lib/gl_rbtree_list.c: Likewise.
111617         * lib/gl_rbtree_oset.c: Likewise.
111618         * lib/gl_rbtreehash_list.c: Likewise.
111619         * lib/imaxabs.c: Likewise.
111620         * lib/imaxdiv.c: Likewise.
111621         * lib/javacomp.c: Likewise.
111622         * lib/javaexec.c: Likewise.
111623         * lib/javaversion.c: Likewise.
111624         * lib/linebreak.c: Likewise.
111625         * lib/localcharset.c: Likewise.
111626         * lib/lock.c: Likewise.
111627         * lib/mbchar.c: Likewise.
111628         * lib/mbswidth.c: Likewise.
111629         * lib/mkdtemp.c: Likewise.
111630         * lib/pipe.c: Likewise.
111631         * lib/printf-args.c: Likewise.
111632         * lib/printf-parse.c: Likewise.
111633         * lib/progname.c: Likewise.
111634         * lib/progreloc.c: Likewise.
111635         * lib/readlink.c: Likewise.
111636         * lib/sh-quote.c: Likewise.
111637         * lib/stpcpy.c: Likewise.
111638         * lib/stpncpy.c: Likewise.
111639         * lib/strcasecmp.c: Likewise.
111640         * lib/strcasestr.c: Likewise.
111641         * lib/strcspn.c: Likewise.
111642         * lib/striconv.c: Likewise.
111643         * lib/strncasecmp.c: Likewise.
111644         * lib/strnlen1.c: Likewise.
111645         * lib/strstr.c: Likewise.
111646         * lib/strtok_r.c: Likewise.
111647         * lib/tls.c: Likewise.
111648         * lib/tmpdir.c: Likewise.
111649         * lib/unicodeio.c: Likewise.
111650         * lib/unsetenv.c: Likewise.
111651         * lib/vasnprintf.c: Likewise.
111652         * lib/vasprintf.c: Likewise.
111653         * lib/wait-process.c: Likewise.
111654         * lib/xallocsa.c: Likewise.
111655         * lib/xsetenv.c: Likewise.
111656         * lib/xstriconv.c: Likewise.
111658 2006-09-13  Simon Josefsson  <jas@extundo.com>
111660         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
111661         that internally, suggested by Ralf Wildenhues
111662         <Ralf.Wildenhues@gmx.de>.
111664 2006-09-13  Simon Josefsson  <jas@extundo.com>
111666         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
111667         @LIBOBJS@.
111668         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
111670 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
111672         * lib/_fpending.c: Include <config.h> unconditionally, since we no
111673         longer worry about uses that don't define HAVE_CONFIG_H.
111674         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
111675         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
111676         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
111677         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
111678         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
111679         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
111680         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
111681         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
111682         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
111683         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
111684         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
111685         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
111686         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
111687         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
111688         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
111689         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
111690         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
111691         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
111692         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
111693         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
111694         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
111695         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
111696         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
111697         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
111698         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
111699         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
111700         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
111701         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
111702         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
111703         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
111704         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
111705         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
111706         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
111707         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
111708         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
111709         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
111710         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
111711         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
111712         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
111713         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
111714         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
111715         Likewise.
111717 2006-09-13  Eric Blake  <ebb9@byu.net>
111719         * lib/getopt.c: Fix typo in last commit.
111721 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
111723         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
111724         dgettext.
111726 2006-09-12  Jim Meyering  <jim@meyering.net>
111728         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
111729         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
111730         Reported by Nelson H. F. Beebe.
111732 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
111734         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
111735         program_invocation_name and program_invocation_short_name are
111736         initialized.
111737         * lib/argp-namefrob.h: Move declarations of program_invocation_name
111738         and program_invocation_short_name to argp.h, so they are visible
111739         to user programs.
111740         * lib/argp.h: Likewise
111742 2006-09-10  Bruno Haible  <bruno@clisp.org>
111744         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
111745         m4/inttypes_h.m4, m4/uintmax_t.m4.
111747 2006-09-10  Bruno Haible  <bruno@clisp.org>
111749         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
111750         gl_AC_TYPE_UINTMAX_T.
111752 2006-09-10  Bruno Haible  <bruno@clisp.org>
111754         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
111756 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
111758         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
111759         convention.  Text proposed by Bruno Haible.
111760         (struct argp_option): Document the use of N_() wrappers.
111762         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
111763         '\v', and translate the two parts separately, instead of feeding
111764         the whole string to gettext.  This allows to exclude
111765         '\v' from the strings visible to the translator by writing doc
111766         strings as N_("..") "\v" N_("..").
111768 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
111770         * config/srclist.txt: Undo latest change; the bug was fixed.
111772 2006-09-09  Bruno Haible  <bruno@clisp.org>
111774         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
111775         assignments if building a library without libtool.
111776         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
111777         in func_emit_lib_Makefile_am.
111778         (func_import): When building a static library libfoo.a, arrange to
111779         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
111780         (func_create_testdir): Likewise.
111781         * modules/gc (configure.ac, Makefile.am): If building statically,
111782         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
111783         * modules/iconvme (configure.ac, Makefile.am): Likewise.
111784         * modules/striconv (configure.ac, Makefile.am): Likewise.
111785         Based on a suggestion by Ralf Wildenhues.
111787 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
111789         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
111790         Check for unistd.h too, since Autoconf doesn't assume POSIX.
111791         Also:
111793         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
111794         Add year_2050_test to catch glibc bug 2821
111795         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
111797         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
111798         Prefer #ifdef to #if.
111800         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
111801         Return from 'main' instead of calling 'exit'.
111803 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
111805         * lib/mktime.c (guess_time_tm): Fix bug where mktime
111806         returned the maximum time_t value rather than (time_t) -1.
111807         Problem originally reported by William Bardwell
111808         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
111810         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
111811         Moved to here ...
111812         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
111813         ... from here.
111815 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
111817         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
111818         2821 is fixed.
111820 2006-09-08  Jim Meyering  <jim@meyering.net>
111822         Don't make generated files read-only.  That would bother too many
111823         people.  However, do retain the ability to work when targets are
111824         read-only: remove the destination and temporary files before writing
111825         them (when generated via sed or echo), or by using the -f option for
111826         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
111827         * modules/alloca-opt, modules/argz, modules/arpa_inet:
111828         * modules/byteswap, modules/configmake, modules/fcntl:
111829         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
111830         * modules/localcharset, modules/netinet_in, modules/poll:
111831         * modules/stdbool, modules/stdint, modules/sys_select:
111832         * modules/sys_socket, modules/sys_stat, modules/sysexits:
111834 2006-09-08  Jim Meyering  <jim@meyering.net>
111836         Avoid new build failure on FreeBSD 6.0.
111837         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
111838         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
111839         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
111841 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111843         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
111845 2006-09-07  Jim Meyering  <jim@meyering.net>
111847         Fix global typo in last change: use chmod u-w, not chmod u-x.
111848         Spotted by Paul Eggert and Bruce Korb.
111849         * modules/alloca-opt, modules/argz, modules/arpa_inet:
111850         * modules/byteswap, modules/configmake, modules/fcntl:
111851         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
111852         * modules/localcharset, modules/netinet_in, modules/poll:
111853         * modules/stdbool, modules/stdint, modules/sys_select:
111854         * modules/sys_socket, modules/sys_stat, modules/sysexits:
111856 2006-09-06  Jim Meyering  <jim@meyering.net>
111858         Make generated files be read-only.
111859         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
111860         Ensure that each generated file is now read-only.
111861         * modules/argz: Likewise.
111862         * modules/arpa_inet: Likewise.
111863         * modules/byteswap: Likewise.
111864         * modules/configmake: Likewise.
111865         * modules/fcntl: Likewise.
111866         * modules/fnmatch: Likewise.
111867         * modules/getopt: Likewise.
111868         * modules/glob: Likewise.
111869         * modules/inttypes: Likewise.
111870         * modules/netinet_in: Likewise.
111871         * modules/poll: Likewise.
111872         * modules/stdbool: Likewise.
111873         * modules/stdint: Likewise.
111874         * modules/sys_select: Likewise.
111875         * modules/sys_socket: Likewise.
111876         * modules/sys_stat: Likewise.
111877         * modules/sysexits: Likewise.
111878         * modules/localcharset: Same as above, but continue using temporary
111879         file named "t-$@" (why different?) rather than the "$@-t" used
111880         everywhere else.
111882         * modules/sysexits (Makefile.am): Replace literal occurrences
111883         of "sysexit.h" more readable, and more consistent, "$@".
111885 2006-09-06  Bruno Haible  <bruno@clisp.org>
111887         * modules/striconv: New file.
111888         * modules/xstriconv: New file.
111889         * MODULES.html.sh (Internationalization functions): Add striconv,
111890         xstriconv.
111892 2006-09-06  Bruno Haible  <bruno@clisp.org>
111894         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
111895         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
111896         not using libtool correctly.
111898 2006-09-06  Bruno Haible  <bruno@clisp.org>
111900         * lib/striconv.h: New file.
111901         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
111902         iconvstring.c.
111903         * lib/xstriconv.h: New file.
111904         * lib/xstriconv.c: New file.
111906 2006-09-06  Bruno Haible  <bruno@clisp.org>
111908         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111909         lib_..._LDFLAGS.
111911 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111913         * lib/argz_.h: Sync from Libtool.
111915         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
111916                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
111918         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
111920 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
111922         * modules/trim: New file.
111924 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
111926         * lib/trim.h: New file.
111927         * lib/trim.c: New file.
111929 2006-09-05  Bruno Haible  <bruno@clisp.org>
111931         * MODULES.html.sh (String handling): Add trim.
111933 2006-09-04  Karl Berry  <karl@gnu.org>
111935         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
111936         until next release.
111938 2006-09-03  Bruno Haible  <bruno@clisp.org>
111940         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
111941         correctly.
111943 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
111945         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
111946         not gl_GETLOADAVG.  Omit unneeded semicolons.
111947         Problems reported by Ralf Wildenhues in
111948         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
111949         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
111950         at the end, which is the usual gnulib style.
111952         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
111953         of doing all the work ourselves.
111954         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
111955         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
111957 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
111959         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
111960         Problem reported by Ralf Wildenhues in
111961         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
111963         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
111964         HAVE_STRUCT_STATFS_F_FSTYPENAME.
111966 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
111968         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
111969         yesterday's patch by changing test -n to test -z.
111971 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
111973         * modules/getloadavg (Files): Add m4/getloadavg.m4.
111974         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
111975         the former is now obsolescent.
111977         * modules/chdir-long (Depends-on): Add fcntl.
111979 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
111981         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
111982         obsolescent, and programs should use gnulib instead.
111983         * m4/getloadavg.m4: New file, with contents taken from Autoconf
111984         but with prefixes changed.
111986 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
111988         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
111989         or stdbool.h, because they might not exist while configuring.
111991         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
111992         Don't include unistd.h or limits.h; not needed, since chdir-long.h
111993         does that for us.
111994         (O_DIRECTORY): Remove.
111996 2006-08-31  Eric Blake  <ebb9@byu.net>
111998         * gnulib-tool: Don't let emacs change spaces to TAB.
112000 2006-08-31  Bruno Haible  <bruno@clisp.org>
112002         * gnulib-tool: When calling func_import more than once, do it in a
112003         subshell.
112004         Reported by Eric Blake <ebb9@byu.net>.
112006 2006-08-31  Bruno Haible  <bruno@clisp.org>
112008         * gnulib-tool (nl): Remove variable.
112009         (sed_transform_lib_file): Use more robust test for config-h module.
112010         (func_import): Fix typo in 2006-08-25 patch.
112012 2006-08-31  Bruno Haible  <bruno@clisp.org>
112014         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
112015         specified, augment Makefile.am variables instead of assigning them.
112017 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112019         Work around a bug in both the Linux and SunOS 64-bit kernels:
112020         nanosleep mishandles sleeps for longer than 2**31 seconds.
112021         Problem reported by Frank v Waveren in
112022         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
112023         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
112024         Check for nanosleep bug.
112025         (LIB_NANOSLEEP): Append clock_gettime library if needed.
112027 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112029         Work around a bug in both the Linux and SunOS 64-bit kernels:
112030         nanosleep mishandles sleeps for longer than 2**31 seconds.
112031         Problem reported by Frank v Waveren in
112032         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
112033         * lib/nanosleep.c (BILLION): New constant.
112034         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
112035         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
112036         implementation.
112038 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112040         * modules/nanosleep (Depends-on): Add gettime.
112042 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112043         and Simon Josefsson  <jas@extundo.com>
112044         and Oskar Liljeblad  <oskar@osk.mine.nu>
112046         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
112047         * gnulib-tool (func_import): New license type 'unmodifiable license
112048         text'.
112049         * modules/fdl: Use it.  Longer description.
112050         * module/gpl, module/lgpl: New files.
112052 2006-08-30  Jim Meyering  <jim@meyering.net>
112054         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
112055         shadowing the parameter.
112057 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112059         Sync from Libtool:
112061         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112063         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
112064         sharing with gnulib.  Report by Eric Blake.
112066 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112068         * modules/isapipe: New file.
112069         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
112071 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112073         * modules/configmake (Makefile.am): Add a comment, and omit
112074         the CONFIGMAKE_ prefix from generated macro names.  Suggested
112075         by Bruno Haible.
112077 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112079         * m4/isapipe.m4: New file.
112081 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112083         * lib/isapipe.c, lib/isapipe.h: New files.
112085 2006-08-29  Jim Meyering  <jim@meyering.net>
112087         * modules/configmake (Makefile.am): Make configmake.h depend on
112088         Makefile.  Otherwise, a stale configmake.h could hang around.
112090 2006-08-29  Eric Blake  <ebb9@byu.net>
112092         * lib/error.c (error_at_line, print_errno_message): Match libc, after
112093         resolution of upstream bug 3044.
112095 2006-08-29  Bruno Haible  <bruno@clisp.org>
112097         * modules/localcharset (Depends-on): Add configmake.
112098         (Makefile.am): Remove setting of LIBDIR through DEFS.
112100 2006-08-29  Bruno Haible  <bruno@clisp.org>
112102         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
112103         defined.
112105 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
112107         * modules/fcntl: New file.
112108         * modules/chdir-safer (Depends-on): Add fcntl.
112109         * modules/fts: Likewise.
112110         * modules/mkdir-p: Likewise.
112112         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
112113         This undoes the most recent change, since we're now addressing the
112114         problem in a different way.
112116         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
112117         into output, since the output might be called Makefile.am even
112118         if $makefile_name is something different.
112119         (func_import): Use $makefile_am rather than
112120         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
112121         empty.
112123         * modules/inttypes (Files): Add m4/inttypes-h.m4.
112125 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
112127         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
112128         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
112129         recent change to stdint.m4, since we're now addressing the problem in a
112130         different way.
112132 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
112134         * m4/fcntl_h.m4: New file.
112136 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
112138         * lib/fcntl_.h: New file.
112139         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
112140         the fcntl module.
112141         * lib/dirchownmod.c: Likewise.
112142         * lib/fts.c: Likewise.
112144         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
112145         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
112146         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
112147         just before including <inttypes.h>, to avoid circular inclusion.
112149 2006-08-28  Jim Meyering  <jim@meyering.net>
112151         * doc/visibility.texi: Actually read and correct the grammar of the
112152         sentence affected by yesterday's change.
112154 2006-08-28  Eric Blake  <ebb9@byu.net>
112156         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
112157         needs wrapper.
112159 2006-08-28  Eric Blake  <ebb9@byu.net>
112161         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
112163 2006-08-28  Eric Blake  <ebb9@byu.net>
112165         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
112167 2006-08-28  Bruno Haible  <bruno@clisp.org>
112169         * modules/c-strstr: New file, from GNU gettext.
112170         * MODULES.html.sh (String handling): Add c-strstr.
112172 2006-08-28  Bruno Haible  <bruno@clisp.org>
112174         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
112175         macros.
112176         Reported by Eric Blake.
112178 2006-08-28  Bruno Haible  <bruno@clisp.org>
112180         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
112181         (VASNPRINTF): Return a string of length > INT_MAX without failing.
112182         * lib/vasprintf.c: Include errno.h, limits.h.
112183         (EOVERFLOW): New fallback definition.
112184         (vasprintf): Test here whether the string length is > INT_MAX.
112185         * lib/vsnprintf.c: Include errno.h, limits.h.
112186         (EOVERFLOW): New fallback definition.
112187         (vsnprintf): Fix bug when generated string was too long for the buffer.
112188         Test here whether the string length is > INT_MAX.
112190 2006-08-28  Bruno Haible  <bruno@clisp.org>
112192         * lib/inttypes_.h (SCNX*): Remove definitions.
112193         Reported by Eric Blake.
112195 2006-08-28  Bruno Haible  <bruno@clisp.org>
112197         * lib/c-strstr.h: New file, from GNU gettext.
112198         * lib/c-strstr.c: New file, from GNU gettext.
112200 2006-08-28  Bruno Haible  <bruno@clisp.org>
112202         * gnulib-tool: Reorder some statements.
112204 2006-08-28  Bruno Haible  <bruno@clisp.org>
112206         * gnulib-tool: New option --makefile-name.
112207         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
112208         $makefile_name.
112209         (func_import): Write $makefile_name to the cache file, and read it from
112210         there unless explicitly specified. Use $makefile_name as file name
112211         instead of Makefile.am. Adjust the recommendations accordingly.
112213 2006-08-28  Bruno Haible  <bruno@clisp.org>
112215         * gnulib-tool (func_verify_module): Check against misapplying patch.
112217 2006-08-28  Bruno Haible  <bruno@clisp.org>
112219         * gnulib-tool (func_relativize, func_relconcat): New functions.
112220         Give an error if --local-dir is given with --update.
112221         Remove trailing slashes from $local_gnulib_dir.
112222         (func_import): Store the relativized $local_gnulib_dir in
112223         gnulib-cache.m4, and read it from there if not specified explicitly.
112225 2006-08-28  Bruno Haible  <bruno@clisp.org>
112227         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
112228         is the current directory. Respect also $local_gnulib_dir.
112230 2006-08-28  Bruno Haible  <bruno@clisp.org>
112231             Simon Josefsson  <jas@extundo.com>
112233         BeOS portability.
112234         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
112236 2006-08-27  Jim Meyering  <jim@meyering.net>
112238         * doc/visibility.texi: Remove duplicate word: "pointer".
112240 2006-08-26  Bruno Haible  <bruno@clisp.org>
112242         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
112243         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
112244         (Makefile.am): Create inttypes.h from inttypes_.h.
112245         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
112247         * modules/imaxabs: New file.
112249         * modules/imaxdiv: New file.
112251 2006-08-26  Bruno Haible  <bruno@clisp.org>
112253         * m4/inttypes.m4: New file.
112254         * m4/_inttypes_h.m4: Remove file.
112255         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
112256         PRI_MACROS_BROKEN.
112257         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
112259         * m4/imaxabs.m4: New file.
112261         * m4/imaxdiv.m4: New file.
112263 2006-08-26  Bruno Haible  <bruno@clisp.org>
112265         * lib/inttypes_.h: New file.
112266         * lib/inttypes.h: Remove file.
112267         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
112269         * lib/imaxabs.c: New file.
112271         * lib/imaxdiv.c: New file.
112273 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
112275         New config-h module, so that "make" output needn't be cluttered
112276         by -DHAVE_CONFIG_H.
112277         * MODULES.html.sh (Support for building libraries and executables):
112278         Add config-h.
112279         * modules/config-h: New file.
112280         * gnulib-tool (nl, sed_transform_lib_file): New vars.
112281         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
112282         the config-h module is used.
112284         New configmake module, so that "make" output needn't be cluttered
112285         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
112286         * MODULES.html.sh (Support for building libraries and executables):
112287         Add configmake.
112288         * modules/configmake: New file.
112290 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
112292         * m4/config-h.m4: New file.
112294 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
112296         * config/srclist.txt: Add elisp-comp.
112298 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
112300         * MODULES.html.sh (Support for building libraries and executables):
112301         Add elisp-comp.
112302         * build-aux/elisp-comp: New file.
112303         * modules/elisp-comp: New file.
112305 2006-08-24  Bruno Haible  <bruno@clisp.org>
112307         * gnulib-tool (func_create_testdir): Use non-default values of
112308         sourcebase and m4base.
112310 2006-08-24  Bruno Haible  <bruno@clisp.org>
112312         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
112313         HTML structure.
112315 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
112317         * modules/openat (Depends-on): Add lchown.
112319 2006-08-23  Bruno Haible  <bruno@clisp.org>
112321         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
112322         of gl_LOCK_EARLY instead of gl_LOCK.
112324 2006-08-23  Bruno Haible  <bruno@clisp.org>
112326         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
112327         on OSF/1 to no.
112328         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
112330 2006-08-23  Bruno Haible  <bruno@clisp.org>
112332         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
112333         as unusable.
112335         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
112336         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
112337         (gl_LOCK): New macro.
112339 2006-08-22  Simon Josefsson  <jas@extundo.com>
112341         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
112342         to md5 module.
112344 2006-08-22  Simon Josefsson  <jas@extundo.com>
112346         * MODULES.html.sh: Add "Support for maintaining and release
112347         projects".
112349         * build-aux/gnupload: New file, from coreutils.
112351 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
112353         Avoid the need for AC_LIBSOURCES in m4 macros.
112354         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
112355         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
112356         * modules/check-version (EXTRA_DIST): Add check-version.h.
112357         * modules/crc (EXTRA_DIST): Add crc.h.
112358         * modules/des (EXTRA_DIST): Add des.h.
112359         * modules/gc (EXTRA_DIST): Add gc.h.
112360         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
112361         * modules/getline (EXTRA_DIST): Add getline.h.
112362         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
112363         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
112364         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
112365         * modules/md2 (EXTRA_DIST): Add md2.h.
112366         * modules/md4 (EXTRA_DIST): Add md4.h.
112367         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
112368         * modules/read-file (EXTRA_DIST): Add read-file.h.
112369         * modules/readline (EXTRA_DIST): Add readline.h.
112370         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
112371         rijndael-api-fst.h.
112373 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
112375         * m4/rijndael.m4 (gl_ARCFOUR):
112376         * m4/arctwo.m4 (gl_ARCTWO):
112377         * m4/check-version.m4 (gl_CHECK_VERSION):
112378         * m4/crc.m4 (gl_CRC):
112379         * m4/des.m4 (gl_DES):
112380         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
112381         * m4/gc.m4 (gl_GC):
112382         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
112383         * m4/getline.m4 (gl_FUNC_GETLINE):
112384         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
112385         * m4/hmac-md5.m4 (gl_HMAC_MD5):
112386         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
112387         * m4/md2.m4 (gl_MD2):
112388         * m4/md4.m4 (gl_MD4):
112389         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
112390         * m4/read-file.m4 (gl_FUNC_READ_FILE):
112391         * m4/readline.m4 (gl_FUNC_READLINE):
112392         * m4/rijndael.m4 (gl_RIJNDAEL):
112393         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
112394         to get the necessary .h files and whatnot.
112396 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
112398         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
112399         gnulib rather than the other way around.
112400         * config/srclistvars.sh (COREUTILS): Remove.
112402 2006-08-22  Jim Meyering  <jim@meyering.net>
112404         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
112406         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
112408 2006-08-22  Eric Blake  <ebb9@byu.net>
112410         * modules/regexprops-generic: New file.
112411         * MODULES.html.sh (Support for building documentation): List it.
112413 2006-08-22  Eric Blake  <ebb9@byu.net>
112415         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
112416         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
112417         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
112418         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
112420 2006-08-22  Bruno Haible  <bruno@clisp.org>
112422         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
112423         and lib_LTLIBRARIES like the other lib_* variables.
112425 2006-08-22  Bruno Haible  <bruno@clisp.org>
112427         * build-aux/x-to-1.in: New file, from GNU gettext.
112429 2006-08-22  Bruno Haible  <bruno@clisp.org>
112431         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
112432         <utmpx.h> exists.
112434 2006-08-22  Bruno Haible  <bruno@clisp.org>
112436         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
112437         <utmpx.h> exists.
112439 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
112441         BeOS portability.
112442         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
112443         exist.
112444         Problem reported by Bruno Haible.
112446 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
112448         Avoid the need for AC_LIBSOURCES in m4 macros.
112449         * modules/acl (EXTRA_DIST): Add acl.h.
112450         * modules/argmatch (Files): Add m4/argmatch.m4.
112451         (configure.ac): Add gl_ARGMATCH.
112452         (EXTRA_DIST): Renamed from lib_SOURCES, for
112453         consistency with the other modules.  Remove argmatch.c.
112454         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
112455         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
112456         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
112457         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
112458         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
112459         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
112460         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
112461         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
112462         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
112463         * modules/closeout (EXTRA_DIST): Add closeout.h.
112464         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
112465         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
112466         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
112467         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
112468         dirname.h; remove basename.c and stripslash.c.
112469         * modules/exclude (EXTRA_DIST): Add exclude.h.
112470         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
112471         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
112472         * modules/file-type (EXTRA_DIST): Add file-type.h.
112473         * modules/filemode (EXTRA_DIST): Add filemode.h.
112474         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
112475         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
112476         * modules/fpending (EXTRA_DIST): Add __fpending.h.
112477         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
112478         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
112479         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
112480         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
112481         * modules/getdate (EXTRA_DIST): Add getdate.c.
112482         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
112483         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
112484         * modules/getpass (EXTRA_DIST): Add getpass.h.
112485         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
112486         * modules/group-member (EXTRA_DIST): Add group-member.h.
112487         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
112488         * modules/hash (EXTRA_DIST): Add hash.h.
112489         * modules/human (EXTRA_DIST): Add human.h.
112490         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
112491         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
112492         * modules/lchown (EXTRA_DIST): Add lchown.h.
112493         * modules/long-options (EXTRA_DIST): Add long-options.h.
112494         * modules/lstat (EXTRA_DIST): Add lstat.h.
112495         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
112496         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
112497         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
112498         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
112499         * modules/memxor (EXTRA_DIST): Add memxor.h.
112500         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
112501         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
112502         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
112503         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
112504         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
112505         * modules/physmem (EXTRA_DIST): Add physmem.h.
112506         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
112507         * modules/posixver (EXTRA_DIST): Add posixver.h.
112508         * modules/quote (EXTRA_DIST): Add quote.h.
112509         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
112510         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
112511         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
112512         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
112513         regex_internal.h regexec.c.
112514         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
112515         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
112516         * modules/same (EXTRA_DIST): Add same.h.
112517         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
112518         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
112519         * modules/savedir (EXTRA_DIST): Add savedir.h.
112520         * modules/sha1 (EXTRA_DIST): Add sha1.h.
112521         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
112522         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
112523         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
112524         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
112525         * modules/strdup (EXTRA_DIST): Add strdup.h.
112526         * modules/strftime (EXTRA_DIST): Add strftime.h.
112527         * modules/strndup (EXTRA_DIST): Add strndup.h.
112528         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
112529         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
112530         * modules/time_r (EXTRA_DIST): Add time_r.h.
112531         * modules/timespec (EXTRA_DIST): Add timespec.h.
112532         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
112533         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
112534         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
112535         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
112536         * modules/userspec (EXTRA_DIST): Add userspec.h.
112537         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
112538         * modules/utimens (EXTRA_DIST): Add utimens.h.
112539         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
112540         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
112541         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
112542         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
112543         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
112544         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
112545         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
112546         * modules/yesno (EXTRA_DIST): Add yesno.h.
112548 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
112550         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
112552         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
112553         * m4/dev-ino.m4, same-inode.m4: Remove.
112555         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
112556         * m4/acl.m4 (AC_FUNC_ACL):
112557         * m4/backupfile.m4 (gl_BACKUPFILE):
112558         * m4/c-strtod.m4 (gl_C99_STRTOLD):
112559         * m4/canon-host.m4 (gl_CANON_HOST):
112560         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
112561         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
112562         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
112563         * m4/cloexec.m4 (gl_CLOEXEC):
112564         * m4/close-stream.m4 (gl_CLOSE_STREAM):
112565         * m4/closeout.m4 (gl_CLOSEOUT):
112566         * m4/dirfd.m4 (gl_FUNC_DIRFD):
112567         * m4/dirname.m4 (gl_DIRNAME):
112568         * m4/exclude.m4 (gl_EXCLUDE):
112569         * m4/exitfail.m4 (gl_EXITFAIL):
112570         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
112571         * m4/file-type.m4 (gl_FILE_TYPE):
112572         * m4/filemode.m4 (gl_FILEMODE):
112573         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
112574         * m4/fpending.m4 (gl_FUNC_FPENDING):
112575         * m4/fprintftime.m4 (gl_FPRINTFTIME):
112576         * m4/fts.m4 (gl_FUNC_FTS):
112577         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
112578         * m4/getdate.m4 (gl_GETDATE):
112579         * m4/gethrxtime.m4 (gl_GETHRXTIME):
112580         * m4/getpagesize.m4 (gl_GETPAGESIZE):
112581         * m4/getpass.m4 (gl_FUNC_GETPASS):
112582         * m4/gettime.m4 (gl_GETTIME):
112583         * m4/getugroups.m4 (gl_GETUGROUPS):
112584         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
112585         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
112586         * m4/hard-locale.m4 (gl_HARD_LOCALE):
112587         * m4/hash.m4 (gl_HASH):
112588         * m4/idcache.m4 (gl_IDCACHE):
112589         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
112590         * m4/lchown.m4 (gl_FUNC_LCHOWN):
112591         * m4/long-options.m4 (gl_LONG_OPTIONS):
112592         * m4/lstat.m4 (gl_FUNC_LSTAT):
112593         * m4/md5.m4 (gl_MD5):
112594         * m4/memcasecmp.m4 (gl_MEMCASECMP):
112595         * m4/memcoll.m4 (gl_MEMCOLL):
112596         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
112597         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
112598         * m4/memxor.m4 (gl_MEMXOR):
112599         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
112600         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
112601         * m4/modechange.m4 (gl_MODECHANGE):
112602         * m4/mountlist.m4 (gl_MOUNTLIST):
112603         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
112604         * m4/openat.m4 (gl_FUNC_OPENAT):
112605         * m4/pathmax.m4 (gl_PATHMAX):
112606         * m4/physmem.m4 (gl_PHYSMEM):
112607         * m4/posixtm.m4 (gl_POSIXTM):
112608         * m4/posixver.m4 (gl_POSIXVER):
112609         * m4/quote.m4 (gl_QUOTE):
112610         * m4/quotearg.m4 (gl_QUOTEARG):
112611         * m4/readtokens.m4 (gl_READTOKENS):
112612         * m4/readutmp.m4 (gl_READUTMP):
112613         * m4/regex.m4 (gl_REGEX):
112614         * m4/safe-read.m4 (gl_SAFE_READ):
112615         * m4/safe-write.m4 (gl_SAFE_WRITE):
112616         * m4/same.m4 (gl_SAME):
112617         * m4/save-cwd.m4 (gl_SAVE_CWD):
112618         * m4/savedir.m4 (gl_SAVEDIR):
112619         * m4/settime.m4 (gl_SETTIME):
112620         * m4/sha1.m4 (gl_SHA1):
112621         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
112622         * m4/stat-macros.m4 (gl_STAT_MACROS):
112623         * m4/stat-time.m4 (gl_STAT_TIME):
112624         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
112625         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
112626         * m4/strdup.m4 (gl_FUNC_STRDUP):
112627         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
112628         * m4/strndup.m4 (gl_FUNC_STRNDUP):
112629         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
112630         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
112631         * m4/time_r.m4 (gl_TIME_R):
112632         * m4/timespec.m4 (gl_TIMESPEC):
112633         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
112634         * m4/unlinkdir.m4 (gl_UNLINKDIR):
112635         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
112636         * m4/userspec.m4 (gl_USERSPEC):
112637         * m4/utimecmp.m4 (gl_UTIMECMP):
112638         * m4/utimens.m4 (gl_UTIMENS):
112639         * m4/xalloc.m4 (gl_XALLOC):
112640         * m4/xgetcwd.m4 (gl_XGETCWD):
112641         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
112642         * m4/xreadlink.m4 (gl_XREADLINK):
112643         * m4/xstrtod.m4 (gl_XSTRTOD):
112644         * m4/yesno.m4 (gl_YESNO):
112645         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
112646         to get the necessary .h files and whatnot.
112648 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
112649             Bruno Haible  <bruno@clisp.org>
112651         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
112652         /bin/sh understanding of '!' conditional negation.
112654 2006-08-21  Jim Meyering  <jim@meyering.net>
112656         * modules/openat (Depends-on): Really alphabetize.
112658         * modules/acl (Depends-on): Add error and quote.
112660         * check-module (find_included_lib_files): Add at-func.c to the
112661         ok-to-include-more-than-once white list.
112663         * modules/openat (Depends-on): Add lstat.  Alphabetize.
112665 2006-08-21  Bruno Haible  <bruno@clisp.org>
112667         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112668         Emit a pkgdata_DATA variable only if some snippets add contents to it.
112669         Reported by Martin Lambers <marlam@marlam.de>.
112671 2006-08-21  Bruno Haible  <bruno@clisp.org>
112673         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
112674         specify an installation location, don't emit a noinst_LIBRARIES or
112675         noinst_LTLIBRARIES assignment.
112677 2006-08-21  Bruno Haible  <bruno@clisp.org>
112679         BeOS portability.
112680         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
112681         BeOS has mbrtowc() but no <wctype.h>.
112683 2006-08-21  Bruno Haible  <bruno@clisp.org>
112685         BeOS portability.
112686         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
112687         exist.
112689 2006-08-21  Bruno Haible  <bruno@clisp.org>
112691         BeOS portability.
112692         * lib/mbchar.h: Include <wctype.h> only if it exists.
112694 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
112696         Remove files that are no longer needed by their respective modules.
112697         * m4/obstack.m4: Remove.
112698         * m4/strerror_r.m4: Remove.
112699         * m4/uint32_t.m4: Remove.
112700         * m4/uintptr_t.m4: Remove.
112701         * m4/ullong_max.m4: Remove.
112702         * m4/xstrtoimax.m4: Remove.
112703         * m4/xstrtoumax.m4: Remove.
112705         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
112706         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
112707         dependencies now capture this.
112709         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
112710         Do not use AC_LIBSOURCES, since gnulib modules now do this.
112711         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
112712         * m4/human.m4 (gl_HUMAN): Likewise.
112713         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
112714         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
112716         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
112718         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
112719         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
112720         stdint.
112721         * m4/human.m4 (gl_HUMAN): Likewise.
112722         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
112723         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
112724         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
112725         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
112726         * m4/xstrtol (gl_XSTRTOL): Likewise.
112728         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
112729         AC_TYPE_LONG_LONG_INT.
112730         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
112731         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
112732         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
112733         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
112735         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
112736         on stdbool.
112738         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
112739         (gl_PREREQ_XSTRTOUL): Remove.
112741         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
112743         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
112744         mode.
112746 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
112748         Add and change modules to make it easier for coreutils to use
112749         gnulib-tool.
112750         * modules/backupfile (Files): Remove m4/d-ino.m4.
112751         (Depends-on): Add d-ino.
112752         * modules/cycle-check (Depends-on): Add stdint.
112753         (lib_SOURCES): Add cycle-check.h.
112754         * modules/d-ino: New module.
112755         * modules/d-type: New module.
112756         * modules/error (Files): Remove m4/strerror_r.m4.
112757         * modules/filemode (Files): Add m4/st_dm_mode.m4.
112758         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
112759         m4/inttypes_h.m4, m4/uintmax_t.m4.
112760         (Depends-on): Add stdint.
112761         (lib_SOURCES): Add fsusage.h.
112762         * modules/getcwd (Files): Remove d-ino.m4.
112763         (Depends-on): Add d-ino.
112764         * modules/getndelim2 (Depends-on): Add stdint.
112765         * modules/glob (Files): Remove m4/d-type.m4.
112766         (Depends-on): Add d-type.
112767         * modules/host-os: New module.
112768         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
112769         m4/inttypes_h.m4, m4/uintmax_t.m4.
112770         * Depends-on: Add stdint.
112771         (lib_SOURCES): Add human.h.
112772         * modules/inttostr (Files): Remove m4/intmax_t.m4,
112773         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
112774         m4/uintmax_t.m4, m4/ulonglong.m4.
112775         (Depends-on): Add stdint.
112776         (EXTRA_DIST): Add inttostr.h.
112777         * modules/lchmod: New module.
112778         * modules/link-follow: New module.
112779         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
112780         (Depends-on): Add lchmod.
112781         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
112782         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
112783         (Depends-on): Add stdint.
112784         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
112785         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
112786         (Depends-on): Add stdint.
112787         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
112788         * modules/perl: New module.
112789         * modules/regex (Depends-on): Add stdint.
112790         * modules/rmdir-errno: New module.
112791         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
112792         m4/intmax_t.m4.
112793         (Depends-on): Add stdint.
112794         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
112795         m4/uintmax_t.m4.
112796         (Depends-on): Add stdint.
112797         * modules/unlink-busy: New module.
112798         * modules/utimecmp (Depends-on): Add stdint.
112799         * modules/uptime: New module.
112800         * modules/winsz-ioctl: New module.
112801         * modules/winsz-termios: New module.
112802         * modules/xnanosleep (Depends-on): Add nanosleep.
112803         * modules/ullong_max: Remove.
112804         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
112805         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
112806         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
112807         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
112808         (Depends-on): Add inttypes.
112809         (lib_SOURCES): Add xstrtol.h.
112810         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
112811         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
112812         * MODULES.html.sh: Move 'assert' into the assert section.
112813         Move 'dummy' into the linking section.
112814         Remove ullong_max.
112815         Add section for compatibility checks for POSIX:2001 functions,
112816         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
112817         winsz-ioctl, and winsz-termios into it.
112818         Add lchmod.
112819         Add top-level Misc section and put host-os, perl, and uptime
112820         into it.
112822 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
112824         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
112825         now assume the stdint module.  Do not include inttypes.h.
112826         * lib/fsusage.h: Likewise.
112827         * lib/getndelim2.c: Likewise.
112828         * lib/human.h: Likewise.
112829         * lib/inttostr.h: Likewise.
112830         * lib/obstack.c: Likewise.
112831         * lib/regex_internal.h: Likewise.
112832         * lib/tempname.c: Likewise.
112833         * lib/utimecmp.c: Likewise.
112834         * lib/xstrtol.h: Likewise.
112836         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
112838         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
112839         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
112840         * lib/xtime.h: Likewise.
112842 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
112844         * modules/openat (Files): Add lib/fchmodat.c.
112845         Fixes problem reported by Jay Youngman.
112847 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
112849         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
112850         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
112852 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
112853             Bruno Haible  <bruno@clisp.org>
112855         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
112856         and is a script that invokes bison. Tighten the code. Add comments.
112858 2006-08-18  Jim Meyering  <jim@meyering.net>
112860         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
112861         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
112862         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
112863         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
112865 2006-08-18  Bruno Haible  <bruno@clisp.org>
112867         * modules/bison-i18n: New file.
112868         * MODULES.html.sh (Internationalization functions): Add it.
112870 2006-08-18  Bruno Haible  <bruno@clisp.org>
112872         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
112873         sys/statvfs.h. When getmntinfo was found, check its declaration and
112874         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
112876 2006-08-18  Bruno Haible  <bruno@clisp.org>
112878         * m4/bison-i18n.m4: New file, from bison.
112880 2006-08-18  Bruno Haible  <bruno@clisp.org>
112882         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
112883         (ME_DUMMY): Treat "kernfs" as a dummy.
112884         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
112886 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
112888         Update from coreutils.
112890         2006-08-15  Jim Meyering  <jim@meyering.net>
112892         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
112894         2006-01-17  Jim Meyering  <jim@meyering.net>
112896         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
112898         2006-01-11  Jim Meyering  <jim@meyering.net>
112900         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
112901         Check for the lchmod function.
112903 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
112905         Update from coreutils.
112907         * lib/__fpending.h: Add copyright notice.
112908         * lib/fprintftime.h: Likewise.
112909         * lib/savedir.c: Use (C) in copyright notice.
112910         * lib/savedir.h: Likewise.
112912         2006-08-15  Jim Meyering  <jim@meyering.net>
112914         * lib/at-func.c: New file, with the logic of all emulated at-functions.
112915         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
112916         in support of the EXPECTED_ERRNO macro.
112917         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
112918         definitions.  Instead, define the appropriate symbols and include
112919         "at-func.c".
112920         * lib/mkdirat.c (mkdirat): Likewise.
112921         * lib/fchmodat.c (fchmodat): Likewise.
112922         (ENOSYS): Remove definition.
112923         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
112924         it.  Don't include "unistd--.h" -- it wasn't ever used.
112926         2006-01-17  Jim Meyering  <jim@meyering.net>
112928         Rewrite fts.c not to change the current working directory,
112929         by using openat, fstatat, fdopendir, etc..
112931         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
112932         (HAVE_OPENAT_SUPPORT): Define.
112933         [_LIBC] (fchdir): Don't undef or define; no longer used.
112934         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
112935         Now, this `function' always succeeds, and consumes its file descriptor
112936         parameter -- so callers must not close such FDs.  Update callers.
112937         (diropen_fd, opendirat, cwd_advance_fd): New functions.
112938         (diropen): Add parameter, SP.  Adjust all callers.
112939         Implement using diropen_fd, rather than open.
112940         (fts_open): Initialize new member, fts_cwd_fd.
112941         Remove fts_rft-setting code.
112942         (fts_close): Close fts_cwd_fd, if necessary.
112943         (__opendir2): Define in terms of opendir or opendirat,
112944         depending on whether the FST_NOCHDIR flag is set.
112945         (fts_build): Since fts_safe_changedir consumes its FD, and since
112946         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
112947         and close the dup'd file descriptor upon failure.
112948         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
112949         (fts_safe_changedir): Tweak semantics to reflect that this function
112950         now calls cwd_advance_fd and hence consumes its FD argument.
112951         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
112952         [struct FTS] (fts_rft): Remove now-unused member.
112953         [struct FTS] (fts_cycle.state): Improve comment.
112955         * lib/openat.c (openat_needs_fchdir): New function.
112956         * lib/openat.h (openat_needs_fchdir): Declare it.
112958 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
112960         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
112961         Problem and fix reported by Pádraig Brady in
112962         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
112964 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
112966         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
112968 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
112970         * lib/memcoll.c (memcoll): Optimize for the common case where the
112971         arguments are bytewise equal.
112973 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
112975         * doc/regexprops-generic.texi: Add a copyright notice.
112977 2006-08-15  Bruno Haible  <bruno@clisp.org>
112979         * modules/tmpdir (License): Change to LGPL.
112981 2006-08-15  Bruno Haible  <bruno@clisp.org>
112983         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
112984         module.
112986 2006-08-14  Simon Josefsson  <jas@extundo.com>
112988         * config/srclist.txt: Add gnupload.
112990 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
112992         Change copyright notice from LGPL 2 to GPL 2, since that's the
112993         standard form used in the gnulib repository.
112994         * tests/test-lock.c: Likewise.
112995         * tests/test-stdint.c: Likewise.
112996         * tests/test-tls.c: Likewise.
112998         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
112999         prelude-manager.  User shorter URLs for GNU projects, without '?'.
113000         Add copyright notice.
113002         * check-module: Add copyright notice.  Output a copyright
113003         notice if "--version" is specified.
113004         * modules/COPYING: New file.
113005         * tests/test-getaddrinfo.c: Add copyright notice.
113006         * tests/test-verify.c: Likewise.
113008 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113010         Change copyright notice from LGPL 2 to GPL 2, since that's the
113011         standard form used in the gnulib repository.
113012         * lib/lock.c: LGPL -> GPL.
113013         * lib/lock.h: Likewise.
113014         * lib/strnlen1.c: Likewise.
113015         * lib/strnlen1.h: Likewise.
113016         * lib/tls.c: Likewise.
113017         * lib/tls.h: Likewise.
113018         * lib/tmpdir.c: Likewise.
113020         * lib/TODO: Remove; this belongs only in coreutils.
113022 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113024         Add copyright notices to long-enough files that lack them, since
113025         otherwise the files aren't clearly free.  Use the same notice that
113026         getdate.texi already uses.
113027         * doc/alloca-opt.texi: Add copyright notice.
113028         * doc/alloca.texi: Likewise.
113029         * doc/ctime.texi: Likewise.
113030         * doc/functions.texi: Likewise.
113031         * doc/gcd.texi: Likewise.
113032         * doc/gnulib-tool.texi: Likewise.
113033         * doc/inet_ntoa.texi: Likewise.
113034         * doc/visibility.texi: Likewise.
113036         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
113037         * doc/quote.texi: Add copyright notice.
113039         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
113040         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
113041         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
113042         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
113043         is now obsolete, and give a pointer to the Sun list.
113044         Add copyright notice.
113046 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113048         * config/srclistvars.sh: Add copyright notice.
113050 2006-08-14  Eric Blake  <ebb9@byu.net>
113052         Import the following change from libc:
113054         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
113056         Upstream bug 2997.
113057         * lib/misc/error.c: Add space between program name and message if file
113058         name is missing.
113060 2006-08-12  Karl Berry  <karl@gnu.org>
113062         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
113063         remove, these originate in gnulib now.
113065 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113067         * doc/Makefile (standards.info standards.html standards.dvi):
113068         Also depend on make-stds.texi.
113070 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
113072         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
113073         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
113075         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
113076         in wchar_t.  Problem reported by Eric Blake.
113078         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
113079         LEN is smaller than SIZE.  Suggested by Bruno Haible.
113080         Also, help the compiler to keep LEN in a register.
113082 2006-08-11  Eric Blake  <ebb9@byu.net>
113084         * users.txt: Sort.  Add tar.
113086 2006-08-11  Bruno Haible  <bruno@clisp.org>
113088         * users.txt: New file.
113090 2006-08-11  Bruno Haible  <bruno@clisp.org>
113092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
113093         before <wchar.h>. Needed for OSF/1 and BSD/OS.
113095 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
113097         * modules/snprintf (Depends-on): Remove minmax.
113098         (Maintainer): Add self and Bruno.
113100 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
113102         * lib/.cppi-disable: Add snprintf.h, socket_.h.
113103         * lib/snprintf.c: Include <errno.h> and <limits.h>.
113104         (EOVERFLOW): Define if the system does not.
113105         Do not include "minmax.h"; it wasn't used.
113106         (snprintf): Don't assume size_t promotes to an unsigned type.
113107         Fix bug when generated string was too long for the buffer: the
113108         buffer's contents are supposed to be the initial prefix of the
113109         output.  Don't assume vasnprintf returns EOVERFLOW if the size
113110         exceeds INT_MAX; do the check ourselves.
113112         Import the following changes from libc:
113114         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
113116         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
113117         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
113118         set wc to the byte which couldn't be converted.
113119         (re_string_reconstruct): Don't clear valid_raw_len before calling
113120         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
113121         tip_context using re_string_context_at.
113123         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
113125         * lib/posix/regex.h: g++ still cannot handled [restrict].
113127         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
113129         * lib/posix/regex.h: Remove special handling for VMS.
113131 2006-08-10  Jim Meyering  <jim@meyering.net>
113133         * modules/same-inode: New module.
113134         * modules/dev-ino: New module.
113135         * modules/cycle-check: Depend on these modules, rather than simply
113136         including their .h files.
113137         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
113138         required via m4/cycle-check.m4.
113139         * modules/same: Depend on new same-inode module, rather than
113140         including same-inode.h.
113141         * modules/chdir-safer: New file.
113143         * modules/chown (Depends-on): Add stat-macros.
113145 2006-08-10  Jim Meyering  <jim@meyering.net>
113147         * m4/cycle-check.m4: New file.
113148         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
113149         * m4/dev-ino.m4, m4/same-inode.m4: New files.
113151 2006-08-10  Eric Blake  <ebb9@byu.net>
113153         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
113154         in from original proposal.
113156 2006-08-10  Eric Blake  <ebb9@byu.net>
113157         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
113159         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
113160         namespace.
113162 2006-08-10  Bruno Haible  <bruno@clisp.org>
113164         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
113165         as well.
113167 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
113169         Sync from coreutils.
113171         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
113173         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
113174         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
113176 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
113178         * modules/restrict: Remove; no longer needed now that we assume
113179         Autoconf 2.59 or later.
113180         * MODULES.html.sh: Remove 'restrict'.
113181         * modules/argp (Depends-on): Remove 'restrict'.
113182         * modules/base64 (Depends-on): Likewise.
113183         * modules/gc (Depends-on): Likewise.
113184         * modules/getaddrinfo (Depends-on): Likewise.
113185         * modules/glob (Depends-on): Likewise.
113186         * modules/inet_ntop (Depends-on): Likewise.
113187         * modules/inet_pton (Depends-on): Likewise.
113188         * modules/memxor (Depends-on): Likewise.
113189         * modules/regex (Depends-on): Likewise.
113190         * modules/strtok_r (Depends-on): Likewise.
113191         * modules/time_r (Depends-on): Likewise.
113193 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
113195         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
113196         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
113197         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
113198         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
113199         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
113200         * m4/memxor.m4 (gl_MEMXOR): Likewise.
113201         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
113202         gl_C_RESTRICT replaced by AC_C_RESTRICT.
113204         Merge from coreutils.
113205         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
113206         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
113207         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
113208         * m4/time_r.m4 (gl_TIME_R): Likewise.
113210 2006-08-09  Karl Berry  <karl@gnu.org>
113212         * config/srclist.txt: no more gettext-tools, per Bruno.
113214 2006-08-08  Eric Blake  <ebb9@byu.net>
113216         * modules/verror: New module.
113217         * MODULES.html.sh: Document it.
113219 2006-08-08  Eric Blake  <ebb9@byu.net>
113221         * lib/verror.h, lib/verror.c: New files.
113223 2006-08-08  Eric Blake  <ebb9@byu.net>
113225         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
113226         verror_at_line output complies with GNU Coding Standards even when
113227         file is NULL.
113229 2006-08-07  Bruno Haible  <bruno@clisp.org>
113231         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
113232         versions of AIX.
113233         Reported by Ralf Wildenhues.
113235 2006-08-07  Bruno Haible  <bruno@clisp.org>
113237         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
113238         in an AC_DEFUN. Needed so that the autoconf snippets can use
113239         AC_REQUIRE.
113241 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113243         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113244         Initialize pkgdata_DATA.
113245         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
113246         overriding it.
113248 2006-08-06  Eric Blake  <ebb9@byu.net>
113250         * lib/error.h: Fold in some upstream changes from glibc.
113251         * lib/error.c: Likewise.
113253 2006-08-04  Bruno Haible  <bruno@clisp.org>
113255         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113256         Make the mostlyclean-local rule depend on mostlyclean-generic.
113257         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
113259 2006-07-31  Bruno Haible  <bruno@clisp.org>
113261         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
113262         <stdlib.h>, <string.h>.
113264 2006-07-30  Bruno Haible  <bruno@clisp.org>
113266         * modules/readlink (License): Change to LGPL.
113268 2006-07-30  Bruno Haible  <bruno@clisp.org>
113270         * modules/javaversion (Makefile.am): Distribute javaversion.java and
113271         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
113272         set PKGDATADIR to point to it.
113274 2006-07-30  Bruno Haible  <bruno@clisp.org>
113276         * modules/csharpexec (configure.ac): Comment out macro invocation.
113277         * modules/javaexec (configure.ac): Likewise.
113278         * modules/javacomp-script (configure.ac): Likewise.
113280         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
113282 2006-07-30  Bruno Haible  <bruno@clisp.org>
113284         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
113285         linked-list.
113287 2006-07-30  Bruno Haible  <bruno@clisp.org>
113289         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
113291 2006-07-30  Bruno Haible  <bruno@clisp.org>
113293         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113294         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
113295         get removed.
113297 2006-07-29  Bruno Haible  <bruno@clisp.org>
113299         Make it possible for gnulib-tool to work with locally modified or
113300         augmented gnulib repositories.
113301         * gnulib-tool (func_usage): Document --local-dir option.
113302         (local_gnulib_dir): New variable.
113303         Handle --local-dir option.
113304         (func_lookup_file): New function.
113305         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
113306         (func_get_description, func_get_filelist, func_get_description,
113307         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
113308         func_get_automake_snippet, func_get_include_directive,
113309         func_get_license, func_get_maintainer): Use func_lookup_file.
113310         (func_import, func_create_testdir): Use func_lookup_file.
113312 2006-07-29  Bruno Haible  <bruno@clisp.org>
113314         * modules/setenv (Depends-on): Add unistd.
113316 2006-07-29  Bruno Haible  <bruno@clisp.org>
113318         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
113320 2006-07-29  Bruno Haible  <bruno@clisp.org>
113322         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
113324 2006-07-29  Bruno Haible  <bruno@clisp.org>
113326         * gnulib-tool (import, update): If there is no Makefile.am, look at
113327         aclocal.m4, instead of bailing out.
113329 2006-07-29  Bruno Haible  <bruno@clisp.org>
113331         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
113332         Categorize the options by when they are useful.
113334 2006-07-29  Bruno Haible  <bruno@clisp.org>
113336         * gnulib-tool (func_usage): Document option --no-libtool.
113337         Handle option --no-libtool.
113338         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
113339         for changed semantics of $libtool variable.
113340         (func_import): Likewise. If libtool is not used, show this through
113341         an option --no-libtool.
113342         (func_create_testdir): Update.
113344 2006-07-29  Bruno Haible  <bruno@clisp.org>
113346         * gnulib-tool (func_import): Extend error message about missing
113347         --doc-base.
113349 2006-07-29  Bruno Haible  <bruno@clisp.org>
113351         * gnulib-tool (func_import): Don't create the $docbase directory if
113352         there is no file to store there.
113354 2006-07-29  Bruno Haible  <bruno@clisp.org>
113356         * gnulib-tool (autoconf_minversion): If a --dir option is given and
113357         relevant, look for configure.ac there, not in the current directory.
113358         Also use a simple search for AC_PREREQ, not "autoconf --trace".
113360 2006-07-29  Bruno Haible  <bruno@clisp.org>
113362         * gnulib-tool (SORT): New variable.
113363         (func_usage): Undocument --assume-autoconf option.
113364         Remove --assume-autoconf option handling.
113365         (autoconf_minversion): Determine from the contents of configure.ac.
113366         (func_import): Remove autoconf_minversion handling.
113367         Suggested by Eric Blake.
113369 2006-07-29  Bruno Haible  <bruno@clisp.org>
113371         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
113373 2006-07-29  Bruno Haible  <bruno@clisp.org>
113375         * config/srclist.txt (*setenv.[ch]): Remove rules.
113377 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
113379         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
113381 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
113383         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
113384         arpa/inet.h.
113386 2006-07-28  Simon Josefsson  <jas@extundo.com>
113388         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
113389         * modules/inet_pton (Depends-on): Likewise.
113391 2006-07-28  Simon Josefsson  <jas@extundo.com>
113393         * m4/netinet_in_h.m4: New file.
113395 2006-07-28  Simon Josefsson  <jas@extundo.com>
113397         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
113398         #include's.
113400 2006-07-28  Simon Josefsson  <jas@extundo.com>
113402         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
113403         #include's.
113405 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
113407         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
113408         setgid on directories only if they set these bits.
113409         * lib/modechange.h: Remove obsolete comment about masks.
113411 2006-07-28  Eric Blake  <ebb9@byu.net>
113413         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
113414         macro expansion.
113416 2006-07-28  Bruno Haible  <bruno@clisp.org>
113418         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
113420 2006-07-28  Bruno Haible  <bruno@clisp.org>
113422         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
113424 2006-07-28  Bruno Haible  <bruno@clisp.org>
113426         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
113427         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
113428         Define fallbacks.
113429         Avoids link error on FreeBSD 4.x.
113430         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
113432         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
113433         encoding.
113434         * lib/mbswidth.c (iswcntrl): Likewise.
113436 2006-07-27  Bruno Haible  <bruno@clisp.org>
113438         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
113439         test.
113441 2006-07-27  Bruno Haible  <bruno@clisp.org>
113443         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
113444         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
113445         defined.
113447 2006-07-26  Eric Blake  <ebb9@byu.net>
113449         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
113451 2006-07-26  Eric Blake  <ebb9@byu.net>
113453         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
113454         like mingw that lack mkstemp.
113455         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
113456         avoid compilation warning on mingw.
113458 2006-07-26  Bruno Haible  <bruno@clisp.org>
113460         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
113461         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
113462         INT_FAST*_MIN, INTPTR_MIN.
113464 2006-07-25  Bruno Haible  <bruno@clisp.org>
113466         * modules/version-etc (Depends-on): Add stdarg.
113468 2006-07-25  Bruno Haible  <bruno@clisp.org>
113470         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
113471         complex commands.
113473 2006-07-25  Bruno Haible  <bruno@clisp.org>
113475         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
113476         defined in <stdarg.h> or config.h.
113478 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
113480         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
113481         (gl_STDIO_SAFER): Remove.
113483 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
113485         * MODULES.html.sh (File stream based Input/Output):
113486         Add fopen-safer, tmpfile-safer; remove stdio-safer.
113487         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
113488         * modules/fopen-safer, modules/tmpfile-safer: New files.
113489         * modules/stdio-safer: Remove.
113491 2006-07-24  Bruno Haible  <bruno@clisp.org>
113493         * modules/tmpdir: New file.
113494         * MODULES.html.sh (File system functions): Add it.
113496 2006-07-24  Bruno Haible  <bruno@clisp.org>
113498         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
113499         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
113501 2006-07-24  Bruno Haible  <bruno@clisp.org>
113503         * modules/clean-temp: New file.
113505 2006-07-24  Bruno Haible  <bruno@clisp.org>
113507         * m4/tmpdir.m4: New file, from GNU gettext.
113509 2006-07-24  Bruno Haible  <bruno@clisp.org>
113511         * lib/tmpdir.h: New file, from GNU gettext.
113512         * lib/tmpdir.c: New file, from GNU gettext.
113514 2006-07-24  Bruno Haible  <bruno@clisp.org>
113516         * lib/clean-temp.h: New file, from GNU gettext.
113517         * lib/clean-temp.c: New file, from GNU gettext.
113519 2006-07-23  Eric Blake  <ebb9@byu.net>
113521         * modules/stdio-safer (Files): Add tmpfile-safer.c.
113522         (Depends-on): Add binary-io.
113524 2006-07-23  Eric Blake  <ebb9@byu.net>
113526         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
113528 2006-07-23  Eric Blake  <ebb9@byu.net>
113530         * lib/tmpfile-safer.c: New file.
113531         * lib/stdio-safer.h (fopen_safer): Add prototype.
113532         * lib/stdio--.h (tmpfile): Make safer.
113534 2006-07-23  Bruno Haible  <bruno@clisp.org>
113536         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
113537         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
113538         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
113539         gl_linked_remove_at): Use it.
113541 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
113542         and Simon Josefsson <jas@extundo.com>
113544         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
113546         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
113548 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
113550         * modules/close-stream: New file.
113551         * modules/closeout (Description): Make it clear that it exits
113552         with a diagnostic on error.
113553         (Depends-on): Add close-stream.  Remove fpending, stdbool.
113554         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
113556 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
113558         * m4/close-stream.m4: New file.
113560 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
113562         * lib/close-stream.c, lib/close-stream.h: New files.
113564 2006-07-22  Bruno Haible  <bruno@clisp.org>
113566         Merge from GNU gettext 0.15.
113568         2006-05-01  Bruno Haible  <bruno@clisp.org>
113570                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
113572         2006-07-22  Bruno Haible  <bruno@clisp.org>
113574                 * modules/javaversion: New file.
113575                 * MODULES.html.sh (Java): Add javaversion.
113577         2006-03-12  Bruno Haible  <bruno@clisp.org>
113579                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
113581         2005-12-04  Bruno Haible  <bruno@clisp.org>
113583                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
113584                 (untested).
113586         2006-06-21  Bruno Haible  <bruno@clisp.org>
113588                 Avoid warnings from recent versions of mcs.
113589                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
113590                 -o, -L, -r any more. Use options documented since mcs-1.0
113591                 instead. Similarly for -g.
113593         2005-12-04  Bruno Haible  <bruno@clisp.org>
113595                 * build-aux/csharpcomp.sh.in: Suffix for resources is
113596                 .resources, not .resource.
113598         2005-07-09  Bruno Haible  <bruno@clisp.org>
113600                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
113601                 add a .dll suffix.
113602                 Reported by Mark Junker <mjscod@gmx.de>.
113604         2006-07-22  Bruno Haible  <bruno@clisp.org>
113606                 * modules/gettext: Upgrade to gettext-0.15.
113607                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
113608                 m4/visibility.m4.
113609                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
113611 2006-07-22  Bruno Haible  <bruno@clisp.org>
113613         Merge from GNU gettext 0.15.
113615         2006-03-25  Bruno Haible  <bruno@clisp.org>
113617                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
113619         2006-07-21  Bruno Haible  <bruno@clisp.org>
113621                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
113622                 "1.1".
113624         2006-05-09  Bruno Haible  <bruno@clisp.org>
113626                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
113627                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
113628                 for the conftestver execution.
113630         2006-05-01  Bruno Haible  <bruno@clisp.org>
113632                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
113633                 optional target-version argument. Verify that the compiler
113634                 groks source of the specified source-version, or add -source
113635                 option as necessary. Verify that the compiler produces
113636                 bytecode in the specified target-version, or add -target and
113637                 -source options as necessary. Make the result of the test
113638                 available as variable CONF_JAVAC. Also log error output in
113639                 config.log.
113641         2006-03-11  Bruno Haible  <bruno@clisp.org>
113643                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
113645         2006-05-09  Bruno Haible  <bruno@clisp.org>
113647                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
113648                 CLASSPATH_SEPARATOR to a semicolon.
113650         2006-03-12  Bruno Haible  <bruno@clisp.org>
113652                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
113653                 available as variable CONF_JAVA, for subsequent autoconf
113654                 tests. Also log error output in config.log.
113656         2006-07-19  Bruno Haible  <bruno@clisp.org>
113658                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
113659                 that getline works on glibc2 systems. Needed to avoid trouble
113660                 in relocatable.c.
113661                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
113663         2005-12-04  Bruno Haible  <bruno@clisp.org>
113665                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
113666                 launcher (untested).
113668         2005-12-04  Bruno Haible  <bruno@clisp.org>
113670                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
113672         2006-07-22  Bruno Haible  <bruno@clisp.org>
113674                 * gettext.m4: Update from GNU gettext-0.15.
113675                 * nls.m4: Likewise.
113676                 * po.m4: Likewise.
113677                 * inttypes-pri.m4: Likewise.
113678                 * inttypes-h.m4: Renamed from inttypes.m4.
113679                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
113681 2006-07-22  Bruno Haible  <bruno@clisp.org>
113683         Merge from GNU gettext 0.15.
113685         2005-07-05  Bruno Haible  <bruno@clisp.org>
113687                 * printf-args.c (printf_fetchargs): Work around broken
113688                 definition of wint_t on mingw.
113690         2005-02-12  Bruno Haible  <bruno@clisp.org>
113692                 * xallocsa.h: Add extern "C" for C++.
113694         2006-05-17  Bruno Haible  <bruno@clisp.org>
113696                 Cygwin portability.
113697                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
113699         2006-04-30  Bruno Haible  <bruno@clisp.org>
113701                 * progreloc.c: Include <mach-o/dyld.h> if available.
113702                 (find_executable): Use _NSGetExecutablePath when possible.
113704         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
113706                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
113707                 function.
113709         2005-12-29  Bruno Haible  <bruno@clisp.org>
113711                 * progreloc.c (set_program_name_and_installdir): Fix
113712                 compilation error.
113714         2005-12-04  Bruno Haible  <bruno@clisp.org>
113716                 Cygwin portability.
113717                 * progreloc.c: Include <windows.h> also on Cygwin.
113718                 (find_executable): Add support for Cygwin.
113719                 (set_program_name_and_installdir): Handle also platforms with
113720                 nonempty EXEEXT.
113722         2006-07-11  Bruno Haible  <bruno@clisp.org>
113724                 * javacomp.c: Fix a comment.
113725                 Reported by Jim Meyering.
113727         2006-04-30  Bruno Haible  <bruno@clisp.org>
113729                 * javacomp.h (compile_java_class): Add source_version,
113730                 target_version arguments.
113731                 * javacomp.c: Rewritten to choose only a compiler that
113732                 respects the specified source_version and target_version.
113734         2006-06-27  Bruno Haible  <bruno@clisp.org>
113736                 Assume correct S_ISDIR macro.
113737                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
113739         2006-07-22  Bruno Haible  <bruno@clisp.org>
113741                 * javaversion.h: New file, from GNU gettext.
113742                 * javaversion.c: New file, from GNU gettext.
113743                 * javaversion.java: New file, from GNU gettext.
113744                 * javaversion.class: New file, from GNU gettext.
113746         2006-05-17  Bruno Haible  <bruno@clisp.org>
113748                 Cygwin portability.
113749                 * javaexec.c (execute_java_class): Test for jview program
113750                 also on Cygwin.
113752         2006-04-09  Bruno Haible  <bruno@clisp.org>
113754                 * fatal-signal.c: Don't include string.h.
113755                 (at_fatal_signal): Use a copying loop instead of memcpy.
113757         2005-12-04  Bruno Haible  <bruno@clisp.org>
113759                 * csharpexec.c: Add support for 'clix' launcher (untested).
113760                 (execute_csharp_using_sscli): New function.
113761                 (execute_csharp_program): Call it.
113763         2006-06-21  Bruno Haible  <bruno@clisp.org>
113765                 Avoid warnings from recent versions of mcs.
113766                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
113767                 -o, -L, -r any more. Use options documented since mcs-1.0
113768                 instead. Similarly for -g.
113770         2005-07-09  Bruno Haible  <bruno@clisp.org>
113772                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
113773                 add a .dll suffix.
113774                 Reported by Mark Junker <mjscod@gmx.de>.
113776         2006-06-17  Bruno Haible  <bruno@clisp.org>
113778                 * config.charset: Update for NetBSD 3.0.
113780         2006-05-17  Bruno Haible  <bruno@clisp.org>
113782                 Cygwin portability.
113783                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
113785         2006-05-16  Bruno Haible  <bruno@clisp.org>
113787                 * localcharset.c [CYGWIN]: Include <windows.h>.
113788                 (get_charset_aliases): For Cygwin, return the same CPxxx
113789                 aliases list as under WIN32.
113790                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
113791                 the environment variables. Fall back to GetACP().
113793         2006-04-05  Bruno Haible  <bruno@clisp.org>
113795                 * config.charset: Update Juan Manuel Guerrero's address.
113797         2005-02-12  Bruno Haible  <bruno@clisp.org>
113799                 * allocsa.h: Add extern "C" for C++.
113801         2005-02-10  Bruno Haible  <bruno@clisp.org>
113803                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
113804                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
113806         2006-07-22  Bruno Haible  <bruno@clisp.org>
113808                 * gettext.h: Update to GNU gettext-0.15.
113810 2006-07-22  Bruno Haible  <bruno@clisp.org>
113812         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
113813         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
113814         lib-prefix.m4, longdouble.m4, ssize_t.m4.
113816 2006-07-21  Eric Blake  <ebb9@byu.net>
113818         * modules/stdlib-safer: New file.
113819         * MODULES.html.sh (File stream based Input/Output): Add
113820         stdlib-safer.
113822 2006-07-21  Eric Blake  <ebb9@byu.net>
113824         * lib/stdlib-safer.h: New file from coreutils, required by
113825         stdlib--.h.
113827 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
113829         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
113831 2006-07-20  Bruno Haible  <bruno@clisp.org>
113833         * gnulib-tool: Recognize new option --assume-autoconf.
113834         (autoconf_minversion): New variable.
113835         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
113837 2006-07-20  Bruno Haible  <bruno@clisp.org>
113839         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
113841 2006-07-19  Derek R. Price  <derek@ximbiot.com>
113843         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
113844         Reindent and repaginate.
113846 2006-07-19  Derek Price  <derek@ximbiot.com>
113848         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
113849         Correct grammar.
113851 2006-07-17  Bruno Haible  <bruno@clisp.org>
113853         * modules/list: New file.
113854         * modules/array-list: New file.
113855         * modules/carray-list, modules/carray-list-tests: New files.
113856         * modules/linked-list, modules/linked-list-tests: New files.
113857         * modules/avltree-list, modules/avltree-list-tests: New files.
113858         * modules/rbtree-list, modules/rbtree-list-tests: New files.
113859         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
113860         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
113861         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
113862         * modules/oset: New file.
113863         * modules/array-oset: New file.
113864         * modules/avltree-oset, modules/avltree-oset-tests: New files.
113865         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
113866         * tests/test-carray_list.c: New file.
113867         * tests/test-linked_list.c: New file.
113868         * tests/test-avltree_list.c: New file.
113869         * tests/test-rbtree_list.c: New file.
113870         * tests/test-linkedhash_list.c: New file.
113871         * tests/test-avltreehash_list.c: New file.
113872         * tests/test-rbtreehash_list.c: New file.
113873         * tests/test-avltree_oset.c: New file.
113874         * tests/test-rbtree_oset.c: New file.
113875         * MODULES.html.sh (Container data structures): New section.
113877 2006-07-17  Bruno Haible  <bruno@clisp.org>
113879         * m4/gl_list.m4: New file.
113881 2006-07-17  Bruno Haible  <bruno@clisp.org>
113883         * lib/gl_list.h: New file.
113884         * lib/gl_list.c: New file.
113885         * lib/gl_array_list.h: New file.
113886         * lib/gl_array_list.c: New file.
113887         * lib/gl_carray_list.h: New file.
113888         * lib/gl_carray_list.c: New file.
113889         * lib/gl_linked_list.h: New file.
113890         * lib/gl_linked_list.c: New file.
113891         * lib/gl_anylinked_list1.h: New file.
113892         * lib/gl_anylinked_list2.h: New file.
113893         * lib/gl_avltree_list.h: New file.
113894         * lib/gl_avltree_list.c: New file.
113895         * lib/gl_anyavltree_list1.h: New file.
113896         * lib/gl_anyavltree_list2.h: New file.
113897         * lib/gl_rbtree_list.h: New file.
113898         * lib/gl_rbtree_list.c: New file.
113899         * lib/gl_anyrbtree_list1.h: New file.
113900         * lib/gl_anyrbtree_list2.h: New file.
113901         * lib/gl_anytree_list1.h: New file.
113902         * lib/gl_anytree_list2.h: New file.
113903         * lib/gl_linkedhash_list.h: New file.
113904         * lib/gl_linkedhash_list.c: New file.
113905         * lib/gl_anyhash_list1.h: New file.
113906         * lib/gl_anyhash_list2.h: New file.
113907         * lib/gl_avltreehash_list.h: New file.
113908         * lib/gl_avltreehash_list.c: New file.
113909         * lib/gl_rbtreehash_list.h: New file.
113910         * lib/gl_rbtreehash_list.c: New file.
113911         * lib/gl_anytreehash_list1.h: New file.
113912         * lib/gl_anytreehash_list2.h: New file.
113914         * lib/gl_oset.h: New file.
113915         * lib/gl_oset.c: New file.
113916         * lib/gl_array_oset.h: New file.
113917         * lib/gl_array_oset.c: New file.
113918         * lib/gl_avltree_oset.h: New file.
113919         * lib/gl_avltree_oset.c: New file.
113920         * lib/gl_rbtree_oset.h: New file.
113921         * lib/gl_rbtree_oset.c: New file.
113922         * lib/gl_anytree_oset.h: New file.
113924 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
113926         * m4/mkancesdirs.m4: New file.
113927         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
113928         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
113929         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
113930         it.
113932 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
113934         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
113935         * lib/mkancesdirs.h: New files.
113936         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
113937         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
113938         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
113939         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
113940         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
113941         callers changed.  Revamp internals significantly, by not
113942         attempting to create directories that are temporarily more
113943         permissive than the final results.  Do not attempt to use
113944         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
113945         This removes some race conditions, fixes some bugs, and simplifies
113946         things.  Use new dirchownmod function to do owner and mode changes.
113947         * lib/mkdir-p.h: Likewise.
113948         * lib/modechange.c (octal_to_mode): New function.
113949         (struct mode_change): New member mentioned.
113950         (make_node_op_equals): New arg mentioned.  All callers changed.
113951         (mode_compile): Keep track of which mode bits the user has explicitly
113952         mentioned.
113953         (mode_adjust): New arg DIR, so that we implement the X op correctly.
113954         New arg PMODE_BITS, to keep track of which mode bits the user
113955         mentioned; it treats S_ISUID and S_ISGID speciall.
113956         All callers changed.
113957         * lib/modechange.h: Likewise.
113959 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
113961         * MODULES.html.sh: Add mkancestors.
113962         * modules/mkancesdirs: New module.
113963         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
113964         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
113965         The chdir-safer and afs files are now orphans; I'll remove them
113966         unless someone speaks up.
113967         Add lib/dirchownmod.c, lib/dirchownmod.h.
113968         (Depends-on): Remove alloca, chown, save-cwd, dirname.
113969         Add lchown, mkancesdirs.
113970         (Maintainer): Add self.
113972 2006-07-15  Karl Berry  <karl@gnu.org>
113974         * gnulib-tool: help message wording/arrangement.
113976 2006-07-14  Simon Josefsson  <jas@extundo.com>
113978         * doc/gnulib.texi (Libtool and Windows): New section.
113980 2006-07-12  Simon Josefsson  <jas@extundo.com>
113982         * modules/gendocs (License): Fix license, approved by Karl.
113984 2006-07-12  Eric Blake  <ebb9@byu.net>
113986         * MODULES.html.sh: Add gendocs.
113988 2006-07-11  Eric Blake  <ebb9@byu.net>
113990         * modules/fdl: New module, to install doc/fdl.texi.
113991         * MODULES.html.sh: Add new section for documentation modules.
113992         * gnulib-tool: Avoid space-tab.
113993         (--doc-base): New option, to manage files from doc.
113995 2006-07-11  Eric Blake  <ebb9@byu.net>
113997         * m4/absolute-header.m4: Fix comments to match recent change.
113999 2006-07-11  Eric Blake  <ebb9@byu.net>
114001         * gnulib-tool: List --doc-base before --tests-base.
114003 2006-07-11  Derek R. Price  <derek@ximbiot.com>
114005         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
114007 2006-07-11  Bruno Haible  <bruno@clisp.org>
114009         * README: Mention where to put documentation.
114011 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114013         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
114015 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
114017         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
114018         to stdint.m4.
114020 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
114022         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
114023         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
114024         "no/such/file/stdint.h" when there is no such file, so that
114025         the resulting C code can be parsed by dodgy compilers.
114026         Problems reported by Bob Proulx.
114028 2006-07-10  Derek R. Price  <derek@ximbiot.com>
114030         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
114031         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
114032         macros into the GNU _D_EXACT_NAMLEN.
114033         * lib/savedir.c:  Likewise.
114034         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
114036 2006-07-10  Derek R. Price  <derek@ximbiot.com>
114037         and Paul Eggert  <eggert@cs.ucla.edu>
114039         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
114040         * m4/savedir.m4:
114041         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
114042         macros into the GNU _D_EXACT_NAMLEN.
114044 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
114046         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
114047         around the absolute name, to work around a problem with the HP-UX
114048         11.23 native C compiler, reported by Bob Proulx.
114050 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
114052         * doc/maintain.texi, make-stds.texi: Sync from
114053         <http://savannah.gnu.org/projects/gnustandards>.
114055 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
114057         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
114059 2006-07-09  Jim Meyering  <jim@meyering.net>
114061         * m4/glob.m4: Remove a doubled word in a comment.
114063 2006-07-09  Jim Meyering  <jim@meyering.net>
114065         * lib/argp-pv.c: Remove a doubled word in a comment.
114066         * lib/check-version.c (check_version): Likewise.
114067         * lib/javacomp.c (compile_java_class): Likewise.
114069 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
114071         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
114072         for the benefit of people using Autoconf 2.60.  If you want to
114073         support older Autoconf versions you can copy m4/onceonly_2_57.m4
114074         (or m4/onceonly.m4, if pre-2.57) manually.
114076 2006-07-08  Jim Meyering  <jim@meyering.net>
114078         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
114079         comment.
114080         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
114081         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
114082         comment.
114084 2006-07-08  Jim Meyering  <jim@meyering.net>
114086         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
114088 2006-07-07  Simon Josefsson  <jas@extundo.com>
114090         * tests/test-crc.c: Change expected crc value, the test vector
114091         were probably computed using the old broken crc.c?
114093 2006-07-06  Simon Josefsson  <jas@extundo.com>
114095         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
114096         now the canonical place for the M4 file).
114098         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
114099         from the sys_socket dependency now.
114101         * modules/inet_pton (Files): Ditto.
114103         * modules/inet_ntop (Files): Ditto.
114105 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
114107         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
114108         not gl_PREREQ_GETUSERSHELL.
114110 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114112         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
114113         with only one argument, for Autoconf 2.60.
114114         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
114115         expand to nothing, so add a shell command to avoid syntax error.
114116         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
114118 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114120         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
114122 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
114124         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
114125         no longer needed.  Check for isblank decl.
114126         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
114127         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
114128         of existence.
114130 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
114132         * lib/getloadavg.c: Use __VMS, not VMS.
114133         * lib/getopt.c: Likewise.
114134         * lib/getpagesize.h: Likewise.
114135         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
114136         and probably does not work.
114138 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
114140         * lib/.cppi-disable: Add wcwidth.
114141         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
114142         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
114143         (ISGRAPH): Remove.  All uses changed to isgraph.
114144         (FOLD) [!defined _LIBC]: Remove special case.
114145         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
114146         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
114147         HAVE_ISBLANK.
114148         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
114149         case.
114151 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
114153         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
114154         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
114155         brackets.  Other minor changes to suppress some compiler
114156         warnings.
114158 2006-07-06  Derek R. Price  <derek@ximbiot.com>
114159         and Paul Eggert  <eggert@cs.ucla.edu>
114161         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
114162         of invoking obsolescent AC_HEADER_DIRENT macro.
114163         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
114164         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
114165         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
114166         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
114167         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
114168         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
114169         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
114170         * m4/readdir.m4: Remove; no longer needed.
114172 2006-07-06  Derek R. Price  <derek@ximbiot.com>
114173         and Paul Eggert  <eggert@cs.ucla.edu>
114175         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
114176         Don't worry about this obsolete case any more.
114177         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
114178         directories.
114179         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
114180         worry about this obsolete case any more.
114181         * lib/fts.c: Likewise.
114182         * lib/getcwd.c: Likewise.
114183         * lib/glob.h: Likewise.
114184         * lib/savedir.c: Likewise.
114186 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
114188         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
114189         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
114190         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
114191         needed.
114192         All uses removed.
114193         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
114194         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
114195         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
114196         needed.
114197         * m4/getdate.m4 (gl_GETDATE): Likewise.
114198         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
114199         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
114200         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
114201         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
114202         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
114203         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
114204         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
114205         needed.
114207 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
114209         * lib/memcasecmp.c: Include <limits.h>.
114210         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
114211         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
114212         Don't assume isdigit succeeds only on '0' through '9'.
114214 2006-07-05  Eric Blake  <ebb9@byu.net>
114216         * modules/getaddrinfo (Depends-on): Add snprintf.
114218 2006-07-05  Eric Blake  <ebb9@byu.net>
114220         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
114221         to avoid 'header present but could not be compiled' on cygwin.
114223 2006-07-05  Eric Blake  <ebb9@byu.net>
114225         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
114226         missing from netdb.h.
114227         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
114229 2006-07-05  Derek R. Price  <derek@ximbiot.com>
114231         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
114232         no longer needed.
114233         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
114234         * m4/getdate.m4 (gl_GETDATE): Likewise.
114235         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
114236         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
114237         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
114238         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
114239         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
114241 2006-07-05  Derek R. Price  <derek@ximbiot.com>
114243         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
114244         All uses of is_space replaced by isspace.
114245         * lib/exit.h: Don't talk about STDC_HEADERS.
114246         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
114247         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
114248         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
114249         replaced by isprint etc.
114250         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
114251         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
114252         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
114253         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
114254         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
114255         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
114257 2006-07-05  Bruno Haible  <bruno@clisp.org>
114259         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
114260         the function exists, before testing against AIX.
114261         Reported by Martin Lambers <marlam@marlam.de>.
114263 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
114265         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
114266         From Mark D. Baushke.
114268 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
114270         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
114271         to the absolute name, not just one, to bypass Sun C 5.8's
114272         "warning: #include of /usr/include/... may be non-portable".
114274 2006-07-04  Eric Blake  <ebb9@byu.net>
114276         * modules/dirname-tests: New test module.
114277         * tests/test-dirname.c: New file, replacing dirname.c
114278         TEST_DIRNAME section that was recently deleted.
114280 2006-07-04  Bruno Haible  <bruno@clisp.org>
114282         Assume ANSI C header files and <ctype.h> functions.
114283         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
114284         (mbsnwidth): Use isprint, iscntrl instead.
114286 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
114288         Merge from coreutils.
114289         * MODULES.html.sh: Add xstrtold.
114290         * modules/xstrtold: New file.
114291         * modules/cycle-check (Files): Add lib/same-inode.h.
114292         * modules/dirname (Files): Add m4/double-slash-root.m4.
114293         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
114294         * modules/mkdir-p (Files): Add lib/same-inode.h.
114295         * modules/same (Files): Add lib/same-inode.h.
114297 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
114299         * m4/absolute-header.m4: Renamed from full-header-path.m4.
114300         This is to keep the terminology clean; POSIX talks about
114301         "absolute pathnames", not "full pathnames", but the GNU
114302         Coding Standards say to use "path" for something else;
114303         so use "absolute" to keep both sides happy.
114304         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
114305         Set gl_absolute_header, not gl_full_header_path.
114306         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
114307         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
114308         All uses changed.
114310         Merge from coreutils.
114312         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
114314         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
114315         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
114316         want to require the building of c-strtod.o.
114317         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
114318         needs -lm directly.
114319         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
114321         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
114323         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
114324         --as-needed option if available.  Problem reported by Albert Chin in
114325         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
114326         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
114327         cc merely issues a bunch of annoying warnings for --as-needed
114328         (this problem was reported by Bob Proulx).  Also, try linking with
114329         -lm to detect a bug in binutils 2.16 (this problem was reported
114330         by Ralf Wildenhues).
114332         2006-06-18  Jim Meyering  <jim@meyering.net>
114334         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
114335         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
114336         macro.
114337         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
114338         also check for glibc-2.4's abort-inducing bug.
114340         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
114341         Low-probability clean-up should be to use rmdir to get rid of
114342         the just-created directory, not unlink.
114344         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
114345         configure fail, and request a bug report to inform us about it.
114346         Add a comment that, barring reports to the contrary, in 2007 we'll
114347         assume ftruncate is universally available.
114349         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
114351         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
114353         2006-03-12  Jim Meyering  <jim@meyering.net>
114355         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
114356         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
114357         * m4/same.m4 (gl_SAME): Likewise.
114358         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
114360         2006-03-11  Eric Blake  <ebb9@byu.net>
114362         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
114363         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
114364         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
114365         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
114367 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
114369         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
114370         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
114371         reported by Mark D. Baushke, one in
114372         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
114374         Merge from coreutils.
114376         * lib/.cppi-disable: Add stdint_.h.
114377         * lib/.cvsignore: Add stdint.h.
114379         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
114381         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
114382         both double and long double versions.
114383         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
114384         * lib/xstrtold.c: New file.
114385         * lib/xstrtod.h (xstrtold): New decl.
114387         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
114389         * lib/filemode.c (setst): Remove.
114390         (strmode): Rewrite to avoid setst.  This makes the code shorter,
114391         (arguably) clearer, and the generated code is a bit smaller on my
114392         Debian GNU/Linux stable x86 host.
114394         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
114396         * lib/filemode.c: Include "filemode.h" first, to test the interface.
114397         Assume that filemode.h includes sys/types.h and sys/stat.h.
114398         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
114399         (ftypelet): Reorder to put common cases first, for efficiency.
114400         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
114401         to do 'M'.
114402         (strmode): Renamed from mode_string, and now stores 12 bytes instead
114403         of 10, for compatibility with FreeBSD.  All callers changed.
114404         (filemodestring): Now stores 12 bytes instead of 10, and sets file
114405         types that can't be deduced solely from st_mode.  First arg is now a
114406         const pointer.
114407         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
114408         (strmode): Renamed from mode_string.
114409         (filemodestring): New decl.
114410         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
114411         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
114412         needed.
114413         (S_ISPORT, S_ISWHT): New macros, if not already defined.
114415         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
114417         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
114418         fsusage.h now does that.  Include fsusage.h first, to test interface.
114419         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
114420         at most one method (the old code could have generated decls that
114421         didn't conform to C89, not that this was ever exercised).
114422         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
114424         2006-03-19  Jim Meyering  <jim@meyering.net>
114426         Work even in a chroot where d_ino values for entries in "/"
114427         don't match the stat.st_ino values for the same names.
114428         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
114429         number, iterate through all entries again, using lstat instead.
114430         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
114431         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
114433         * lib/getcwd.c (__getcwd): Clarify a comment.
114434         Use memcpy in place of a call to strcpy.
114436         2006-03-12  Jim Meyering  <jim@meyering.net>
114438         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
114439         matches that of the current directory (which we're about to chdir ".."
114440         out of), then save the dev-ino of the parent, instead.
114442         * lib/same-inode.h (SAME_INODE): New file/macro.
114443         * lib/chdir-safer.c (SAME_INODE): Remove definition.
114444         Include "same-inode.h", instead.
114445         * lib/same.c: Likewise.
114446         * lib/cycle-check.h: Include "same-inode.h".
114447         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
114448         * lib/cycle-check.c (SAME_INODE): Remove definition.
114449         * lib/root-dev-ino.h: Include "same-inode.h".
114451         2006-03-11  Eric Blake  <ebb9@byu.net>
114453         * lib/same.c (same_name): s/base_name/last_component/
114454         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
114455         * lib/filenamecat.c (file_name_concat): Likewise.
114457         2006-03-11  Eric Blake  <ebb9@byu.net>,
114458                     Paul Eggert  <eggert@cs.ucla.edu>
114460         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
114461         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
114462         drive prefix.
114463         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
114464         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
114465         (last_component): New method.
114466         * lib/dirname.c (dir_len): Determine when drive letters need a
114467         subsequent slash.  Preserve // when it is special.
114468         (dir_name): Don't append dot when drive letter is absolute.
114469         [TEST_DIRNAME]: Move into a full-blown gnulib test.
114470         * lib/basename.c (base_name): New semantics - malloc the result.
114471         Preserve // when it is special.  Preserve relative files that look
114472         like drive letters.
114473         (base_len): Preserve // when it is special.
114474         (last_component): New method, similar to old base_name semantics.
114475         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
114476         base_name.  Strip redundant slashes from ///.
114478 2006-07-03  Jim Meyering  <jim@meyering.net>
114480         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
114481         macro is used before the first cycle_check call.
114483 2006-07-03  Eric Blake  <ebb9@byu.net>
114485         * modules/dirname (Depends-on): Add xstrndup.
114487 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
114489         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
114490         test cases, so that config.log is a bit easier to follow.
114492 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
114494         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
114495         both are 64 bits, since this seems to be the tradition, and this
114496         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
114497         we ever run into a host that prefers long long to long in this
114498         case, we'll need another configure-time test.  Problem reported by
114499         Jim Meyering.
114501 2006-07-02  Eric Blake  <ebb9@byu.net>
114503         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
114505 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
114507         * modules/inttypes (Depends-on): No longer depends on stdint.
114508         * modules/stdint (Description): Say more about assumptions.
114509         Say that the fast types might differ.  Say macros are used.
114510         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
114511         (Makefile.am): Revise list of substituted symbols to match
114512         new stdint.m4.
114513         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
114514         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
114515         * tests/test-stdint.c (verify_same_types)
114516         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
114517         the code conforms to C99/C89.
114518         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
114519         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
114521 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
114523         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
114524         but fix a bug, by requiring at least 64 bits.
114525         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
114526         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
114527         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
114528         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
114530         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
114531         changes.  Make 2.59 a prerequisite.  Check and substitute for
114532         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
114533         inttypes.h.  Do not use special include files; just use the
114534         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
114535         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
114536         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
114537         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
114538         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
114539         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
114540         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
114541         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
114542         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
114543         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
114544         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
114545         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
114546         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
114547         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
114548         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
114549         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
114550         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
114551         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
114552         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
114553         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
114554         WINT_MAX.  Check for C99 conformance more strictly, by detecting
114555         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
114556         not check for things that C99 does not require, e.g., int8_t.  If
114557         a test isn't needed unless <stdint.h> isn't working, and is
114558         unlikely to be needed for any other reason, then don't do it
114559         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
114560         size_t, since we assume C89 freestanding at least.  Do not check
114561         for sig_atomic_t, wchar_t, or wint_t, since the code now does
114562         the right thing even if the types are not defined.  Instead use:
114563         (gl_STDINT_TYPE_PROPERTIES): New macro.
114564         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
114565         testing whether <sys/types.h> clashes, as Autoconf does this for
114566         us now.  All uses removed.
114567         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
114568         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
114569         (gl_CHECK_TYPE_SAME):
114570         Remove; no longer needed.
114571         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
114572         exists, since we'll return 0 anyway in that case.
114573         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
114575 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
114577         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
114578         possible collision with system files.
114579         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
114580         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
114581         WCHAR_MIN and WCHAR_MAX in this case.
114582         (<stddef.h>): Do not include; no longer needed.
114583         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
114584         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
114585         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
114586         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
114587         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
114588         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
114589         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
114590         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
114591         !defined(__c99))]: Include in this case too, since it's harmless
114592         now.
114593         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
114594         dangerous to do so.
114595         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
114596         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
114597         (_STDINT_MIN, _STDINT_MAX): New macros.
114598         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
114599         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
114600         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
114601         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
114602         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
114603         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
114604         macros, not typedefs; this simplifies things quite a bit.
114605         Use long int for all types narrower than int64_t.
114606         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
114607         Define in terms of long long int or int64_t or long int,
114608         not int64_t or int32_t.  This saves some compile-time testing.
114609         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
114610         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
114611         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
114612         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
114613         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
114614         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
114615         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
114616         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
114617         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
114618         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
114619         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
114620         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
114621         undef any previous version and define our own version, for
114622         simplicity and consistency with the new macros for types.
114623         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
114624         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
114625         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
114626         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
114627         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
114628         @WINT_T_SUFFIX@ to keep things simple here.
114629         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
114630         Simplify by assuming typical 8/16/32/64 host, since we're
114631         already doing that elsewhere anyway.
114632         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
114633         and assume long long int is 64 bits if available.  This
114634         speeds up 'configure'.
114636 2006-07-01  Eric Blake  <ebb9@byu.net>
114638         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
114639         Reported by Andreas Buening.
114641 2006-07-01  Eric Blake  <ebb9@byu.net>
114643         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
114645 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
114647         * lib/getaddrinfo.c: fixed typo
114649 2006-06-29  Jim Meyering  <jim@meyering.net>
114651         * modules/strftime (Maintainer): Add my name, since with the
114652         FPRINTFTIME changes strftime.c has forked from glibc.
114654 2006-06-29  Eric Blake  <ebb9@byu.net>
114656         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
114658 2006-06-29  Eric Blake  <ebb9@byu.net>
114660         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
114662 2006-06-29  Eric Blake  <ebb9@byu.net>
114664         * lib/stat_.h: New file.
114666 2006-06-29  Eric Blake  <ebb9@byu.net>
114668         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
114669         unused static function.
114671 2006-06-29  Eric Blake  <ebb9@byu.net>
114673         * doc/functions.texi (Function Portability): Document missing lstat
114674         on mingw.
114676 2006-06-29  Eric Blake  <ebb9@byu.net>
114678         * MODULES.html.sh: Add sys_stat.
114679         * modules/sys_stat: New module.
114680         * modules/mkstemp (Depends-on): Add sys_stat.
114682 2006-06-29  Derek R. Price  <derek@ximbiot.com>
114684         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
114686 2006-06-29  Derek R. Price  <derek@ximbiot.com>
114688         * m4/c-bs-a.m4: Removed.
114690 2006-06-29  Derek R. Price  <derek@ximbiot.com>
114692         * lib/strftime.c: Assume strftime() exists.
114694 2006-06-29  Derek Price  <derek@ximbiot.com>
114696         * modules/c-bs-a: Removed - \a is C89.
114697         * MODULES.html.sh: Remove c-bs-a.
114699 2006-06-29  Bruno Haible  <bruno@clisp.org>
114701         * modules/wcwidth (License): Change to LGPL.
114703 2006-06-28  Simon Josefsson  <jas@extundo.com>
114705         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
114706         on _WIN32.
114708         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
114709         getnameinfo.
114711 2006-06-28  Simon Josefsson  <jas@extundo.com>
114713         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
114715 2006-06-28  Simon Josefsson  <jas@extundo.com>
114717         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
114718         functions there.  It will succeed on Windows XP, but on Windows
114719         2000 and (presumably) earlier, it will fail, and use the internal
114720         re-implementation.
114721         (use_win32_p): New function.
114722         (getaddrinfo): Use strtoul on servname, to support numeric ports.
114723         Support AI_NUMERICSERV to disable getservbyname.
114724         (getnameinfo): New function, only supports
114725         NI_NUMERICHOST|NI_NUMERICSERV for now.
114727         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
114728         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
114729         getnameinfo.
114731 2006-06-28  Eric Blake  <ebb9@byu.net>
114733         * modules/wcwidth: New file.
114734         * modules/mbchar (Depends-on): Add wcwidth.
114735         * modules/mbswidth (Depends-on): Add wcwidth.
114736         * MODULES.html.sh: Add wcwidth.
114738 2006-06-28  Eric Blake  <ebb9@byu.net>
114740         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
114741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
114743 2006-06-28  Eric Blake  <ebb9@byu.net>
114745         * lib/xvasprintf.h: Fix comments.
114747 2006-06-28  Eric Blake  <ebb9@byu.net>
114749         * lib/mbchar.h (wcwidth): Include wcwidth.h.
114750         * lib/mbswidth.c (wcwidth): Move from here...
114751         * lib/wcwidth.h: ...to this new file.
114753 2006-06-28  Derek R. Price  <derek@ximbiot.com>
114755         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
114757         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
114758         it's obsolete.
114759         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
114761 2006-06-28  Derek R. Price  <derek@ximbiot.com>
114763         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
114764         Autoconf 2.60 says this stuff was obsolete.
114766 2006-06-28  Bruno Haible  <bruno@clisp.org>
114768         * modules/wcwidth (Files): Add m4/wchar_t.m4.
114770 2006-06-28  Bruno Haible  <bruno@clisp.org>
114772         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
114773         gt_TYPE_WCHAR_T.
114775 2006-06-28  Bruno Haible  <bruno@clisp.org>
114777         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
114778         declaration for wcwidth.
114779         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
114781 2006-06-28  Bruno Haible  <bruno@clisp.org>
114783         * lib/mkdtemp.c [MINGW]: Include <io.h>.
114784         (mkdir): Define using _mkdir.
114786 2006-06-28  Bruno Haible  <bruno@clisp.org>
114788         * lib/getaddrinfo.h: Fix POSIX URL.
114789         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
114790         _WIN32.
114791         (use_win32_p): Make static.
114792         (getaddrinfo): Reject service name if it is empty or does not consist
114793         solely of decimal digits, or if its value is > 65535.
114794         (getnameinfo): Remove useless casts.
114796 2006-06-27  Simon Josefsson  <jas@extundo.com>
114798         * modules/sys_select: New file, suggested by Bruno Haible, Paul
114799         Eggert and Martin Lambers.
114801 2006-06-27  Simon Josefsson  <jas@extundo.com>
114803         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
114804         Eggert and Martin Lambers.
114806 2006-06-27  Bruno Haible  <bruno@clisp.org>
114808         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
114809         result to 0, not to empty.
114810         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
114812 2006-06-27  Bruno Haible  <bruno@clisp.org>
114814         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
114816 2006-06-26  Simon Josefsson  <jas@extundo.com>
114818         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
114819         present.
114821 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
114823         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
114824         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
114825         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
114827 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
114829         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
114831 2006-06-26  Bruno Haible  <bruno@clisp.org>
114833         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
114835 2006-06-26  Bruno Haible  <bruno@clisp.org>
114837         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
114839 2006-06-26  Bruno Haible  <bruno@clisp.org>
114841         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
114842         SGI C compiler in pre-C99 mode.
114843         Suggested by Mark D. Baushke and Larry Jones.
114845 2006-06-26  Bruno Haible  <bruno@clisp.org>
114847         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
114848         WCHAR_MAX.
114849         Reported by Mark D. Baushke and Larry Jones.
114851 2006-06-26  Bruno Haible  <bruno@clisp.org>
114853         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
114854         in pre-C99 mode.
114855         Suggested by Mark D. Baushke and Larry Jones.
114857 2006-06-23  Simon Josefsson  <jas@extundo.com>
114858             Bruno Haible  <bruno@clisp.org>
114860         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
114861         Emit mostlyclean-local rule.
114862         (func_emit_tests_Makefile_am): Likewise.
114863         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
114865 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
114867         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
114869 2006-06-23  Bruno Haible  <bruno@clisp.org>
114871         * tests/test-stdint.c: Update to match ISO C 99 Technical
114872         Corrigendum 1.
114874 2006-06-23  Bruno Haible  <bruno@clisp.org>
114876         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
114878 2006-06-23  Bruno Haible  <bruno@clisp.org>
114880         * lib/stdint_.h: Treat IRIX like OpenBSD.
114882 2006-06-23  Bruno Haible  <bruno@clisp.org>
114884         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
114885         ISO C 99 Technical Corrigendum 1.
114887 2006-06-22  Simon Josefsson  <jas@extundo.com>
114889         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
114890         MinGW.
114892 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
114894         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
114895         needed.  Some compiler complained about some of them.  Problem reported
114896         by Larry Jones in
114897         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
114899 2006-06-21  Simon Josefsson  <jas@extundo.com>
114901         * tests/test-getaddrinfo.c: New file.
114903         * modules/getaddrinfo-tests: New file.
114905         * MODULES.html.sh: Add inet_pton.
114907         * modules/inet_pton: New file.
114909 2006-06-21  Simon Josefsson  <jas@extundo.com>
114911         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
114912         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
114913         of using the (limited) gnulib implementation on Windows XP.
114915         * m4/inet_pton.m4: New file.
114917 2006-06-21  Simon Josefsson  <jas@extundo.com>
114919         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
114920         variable.
114922         * lib/socket_.h: Don't define WINVER.
114924         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
114925         slightly modified to work in gnulib.
114927 2006-06-21  Simon Josefsson  <jas@extundo.com>
114929         * doc/gnulib.texi (Windows sockets): Add.
114931 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
114933         * lib/read-file.c (fread_file): Start with buffer allocation of
114934         0 bytes rather than 1 byte; this simplifies the code.
114935         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
114936         code to free buffer and save/restore errno.
114937         (internal_read_file): Remove unused local.
114939 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
114941         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
114942         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
114943         Problem reported by Denis Excoffier in
114944         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
114946 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114948         * modules/sys_socket, modules/socklen: Include sys/types since
114949         FreeBSD 4.x's sys/socket.h needs it.
114951 2006-06-19  Simon Josefsson  <jas@extundo.com>
114953         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
114955 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
114957         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
114959 2006-06-19  Bruno Haible  <bruno@clisp.org>
114961         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
114962         and FULL_PATH_INTTYPES_H in angle brackets.
114963         Reported by Mark D. Baushke <mdb@gnu.org>.
114965 2006-06-17  Eric Blake  <ebb9@byu.net>
114967         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
114968         errno.
114970 2006-06-17  Bruno Haible  <bruno@clisp.org>
114972         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
114973         <sys/inttypes.h>.
114975 2006-06-17  Bruno Haible  <bruno@clisp.org>
114977         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
114978         whether errno is declared. Assume <errno.h> declares errno.
114980 2006-06-17  Bruno Haible  <bruno@clisp.org>
114982         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
114984 2006-06-17  Bruno Haible  <bruno@clisp.org>
114986         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
114987         problem on Solaris 2.5.1.
114989 2006-06-16  Eric Blake  <ebb9@byu.net>
114991         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
114992         * lib/unicodeio.c [!defined errno]: Likewise.
114993         * lib/strtol.c [!defined errno]: Likewise.
114994         * lib/strtod.c [!defined errno]: Likewise.
114996 2006-06-15  Eric Blake  <ebb9@byu.net>
114998         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
115000 2006-06-15  Eric Blake  <ebb9@byu.net>
115002         * config/srclist.txt (ssize_t.m4): Lose sync.
115004 2006-06-15  Bruno Haible  <bruno@clisp.org>
115006         * modules/stdint (Files): Include m4/full-header-path.m4,
115007         m4/size_max.m4, m4/wchar_t.m4.
115008         (Makefile.am): Many more substitutions.
115009         * modules/stdint-tests: New file.
115010         * tests/test-stdint.c: New file.
115012 2006-06-15  Bruno Haible  <bruno@clisp.org>
115014         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
115015         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
115016         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
115017         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
115018         gl_CHECK_TYPE_SAME): New macros.
115020 2006-06-15  Bruno Haible  <bruno@clisp.org>
115022         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
115024 2006-06-15  Bruno Haible  <bruno@clisp.org>
115026         * lib/stdint_.h: Rewritten to be fully auto-configured.
115027         Fixes bug on HP-UX/IA64.
115029 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
115031         * lib/getdate.y (__attribute__): Don't define if already defined.
115032         Problem reported by Larry Jones.
115033         * lib/utimens.c (__attribute__): Likewise.
115035 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
115037         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
115038         reported by Andreas Schwab.
115040 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115041             Bruno Haible  <bruno@clisp.org>
115043         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
115044         check for the declaration of strnlen and a run test that exposes the
115045         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
115046         rpl_strndup.
115048 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115049             Bruno Haible  <bruno@clisp.org>
115051         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
115053 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115055         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
115056         compile test, for Tru64 4.0D.
115058 2006-05-28  Karl Berry  <karl@gnu.org>
115060         * config/srclist.txt (printf-args.c): lose sync.
115062 2006-05-26  Martin Lambers  <marlam@marlam.de>
115064         * lib/getpass.c: Updates the test for the native W32 API, and adds
115065         missing includes, thus fixing compilation warnings.
115067 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
115069         * lib/exclude.c (exclude_fnmatch): New function.
115070         (excluded_file_name): Call exclude_fnmatch.
115071         * lib/exclude.h (excluded_file_name): New prototype
115073 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
115075         * lib/tempname.c (small_open, large_open): New macros.
115076         (__open, __open64) [!_LIBC]: Remove.
115077         (__gen_tempname): Use small_open and large_open instead of __open
115078         and __open64.  This fixes a portability bug on HP-UX 11.11i
115079         reported by Simon Wing-Tang in
115080         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
115082 2006-05-24  Bruno Haible  <bruno@clisp.org>
115084         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
115085         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
115086         Reported by Thorsten Maerz <torte@netztorte.de> via
115087         Aaron Stone <aaron@serendipity.cx>.
115089 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
115091         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
115092         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
115093         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
115094         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
115095         not really conditional on the cache.
115096         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
115098 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
115100         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
115101         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
115102         (my_usleep): Don't mishandle maximum value.
115104 2006-05-19  Jim Meyering  <jim@meyering.net>
115106         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
115108 2006-05-17  Bruno Haible  <bruno@clisp.org>
115110         Cygwin portability.
115111         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
115113 2006-05-17  Bruno Haible  <bruno@clisp.org>
115115         * lib/stdint_.h: Fix recognition of Cygwin.
115117 2006-05-15  Bruno Haible  <bruno@clisp.org>
115119         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
115120         on libtool patch by Ralf Wildenhues.
115122 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
115124         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
115125         test for C99 conformance; (bool) 0.5 is an integer constant
115126         expression, but (bool) -0.5 is not.  Problem reported by Fedor
115127         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
115129 2006-05-11  Simon Josefsson  <jas@extundo.com>
115131         * m4/xvasprintf.m4: Fix obvious typo.
115133 2006-05-11  Jim Meyering  <jim@meyering.net>
115135         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
115136         James Lemley.
115138 2006-05-10  Simon Josefsson  <jas@extundo.com>
115140         * lib/md4.c: Typo fix, update copyright years.
115141         (K1, K2): Don't use L because it turn computations into 64-bit on
115142         64-bit platforms.
115144 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
115146         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
115147         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
115148         unwanted sign propagation, e.g., on hosts with 64-bit int.
115149         There still are some problems with reeelly weird theoretical hosts
115150         (e.g., 33-bit int) but it's not worth worrying about now.
115151         * lib/sha1.c (rol): Likewise.
115152         (K1, K2, K3, K4): Remove unnecessary L suffix.
115154 2006-05-10  Bruno Haible  <bruno@clisp.org>
115156         * lib/des.c: Cast to avoid warnings.
115158 2006-05-09  Bruno Haible  <bruno@clisp.org>
115160         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
115161         (Depends-on): Depend also on xsize, stdarg.
115162         (configure.ac): Add gl_XVASPRINTF.
115164 2006-05-09  Bruno Haible  <bruno@clisp.org>
115166         * m4/xvasprintf.m4: New file.
115168 2006-05-09  Bruno Haible  <bruno@clisp.org>
115170         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
115171         (EOVERFLOW): Define fallback value.
115172         (xstrcat): New function.
115173         (xvasprintf): Recognize the special case of a string concatenation.
115175 2006-05-08  Eric Blake  <ebb9@byu.net>
115177         * gnulib-tool (func_version): Base copyright year on CVS date.
115178         (func_emit_copyright_notice): New function.
115179         (func_emit_lib_Makefile_am): Use it.
115180         (func_emit_tests_Makefile_am): Likewise.
115181         (func_import): Likewise.
115183 2006-05-08  Bruno Haible  <bruno@clisp.org>
115185         * modules/stdarg: New file.
115186         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
115188 2006-05-08  Bruno Haible  <bruno@clisp.org>
115190         * m4/stdarg.m4: New file, from GNU gettext.
115192 2006-05-08  Bruno Haible  <bruno@clisp.org>
115194         * config/srclist.txt (build-aux/config.rpath): different from latest
115195         release.
115197 2006-05-08  Bruno Haible  <bruno@clisp.org>
115199         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
115201 2006-05-05  Jim Meyering  <jim@meyering.net>
115203         * m4/warning.m4: New file, derived from bison's file by the same name.
115205 2006-05-03  Bruno Haible  <bruno@clisp.org>
115207         * lib/stdint_.h: Shorter URL.
115208         * lib/inttypes.h: Likewise.
115210 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
115212         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
115214 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
115216         * lib/verify.h: Document the internals better.  Most of this change
115217         was written by Bruno Haible.
115219 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
115221         * doc/verify.texi: New file, partly based on a proposal by
115222         Bruno Haible.
115224 2006-05-02  Bruno Haible  <bruno@clisp.org>
115226         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
115227         test from here...
115228         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
115230 2006-04-29  Bruno Haible  <bruno@clisp.org>
115232         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
115233         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
115235 2006-04-29  Bruno Haible  <bruno@clisp.org>
115237         * gnulib-tool: Make --update option actually work.
115239 2006-04-29  Bruno Haible  <bruno@clisp.org>
115241         * doc/gcd.texi: New file.
115242         * doc/gnulib.texi: Include it.
115244 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
115246         * lib/getdate.y (get_date): When adding relative date, start with the
115247         initial time, not with the result of the first mktime call.
115249 2006-04-25  Bruno Haible  <bruno@clisp.org>
115251         * gnulib-tool (func_import): Output the include directives in three
115252         blocks, sorted separately.
115253         Reported by Ben Pfaff <blp@cs.stanford.edu>.
115255 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
115257         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
115258         to define main with arguments, for C++.  Reported by Eric Blake.
115259         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
115260         Prefer 'int main ()' to 'int main (void)', for C++.
115261         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
115262         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
115263         for 'main', for C99 and C++.
115265 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
115267         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
115268         Don't assume that exit status -1 is valid.
115269         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
115270         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
115271         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
115272         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
115273         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
115274         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
115275         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
115276         functions can be used without declaring them, or that you can
115277         exit with status -1.
115278         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
115280 2006-04-24  Karl Berry  <karl@gnu.org>
115282         * config/srclist.txt (longdouble.m4): sync lost.
115284 2006-04-24  Eric Blake  <ebb9@byu.net>
115286         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
115288 2006-04-24  Bruno Haible  <bruno@clisp.org>
115290         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
115291         poll() implementation in AIX.
115292         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
115294 2006-04-24  Bruno Haible  <bruno@clisp.org>
115296         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
115297         assigned exactly once.
115299 2006-04-23  Claudio Fontana  <claudio@gnu.org>
115300             Bruno Haible  <bruno@clisp.org>
115302         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
115303         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
115304         for AM_CPPFLAGS.
115306 2006-04-23  Bruno Haible  <bruno@clisp.org>
115308         * modules/copy-file: Depend on unistd.
115309         * modules/execute: Likewise.
115310         * modules/fatal-signal: Likewise.
115311         * modules/findprog: Likewise.
115312         * modules/mkdtemp : Likewise.
115313         * modules/pipe: Likewise.
115314         * modules/wait-process: Likewise.
115316 2006-04-23  Bruno Haible  <bruno@clisp.org>
115318         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
115319         condition was already detected.
115320         Reported by Ben Pfaff <blp@cs.stanford.edu>.
115322 2006-04-23  Bruno Haible  <bruno@clisp.org>
115324         * lib/copy-file.c: Include <unistd.h> unconditionally.
115325         * lib/execute.c: Likewise.
115326         * lib/fatal-signal.c: Likewise.
115327         * lib/findprog.c: Likewise.
115328         * lib/mkdtemp.c: Likewise.
115329         * lib/pipe.h: Likewise.
115330         * lib/pipe.c: Likewise.
115331         * lib/wait-process.h: Likewise.
115333 2006-04-23  Bruno Haible  <bruno@clisp.org>
115335         * gnulib-tool (func_usage): Fix --import description. Document
115336         --update.
115337         (func_import): Create temporary file in a temporary directory, if
115338         --dry-run is specified. Silence errors from 'grep' when there are no
115339         m4 files in $m4dir.
115340         (func_create_testdir): Silence errors from 'grep' when there are no
115341         m4 files in $m4dir.
115342         Reported by Karl Berry <karl@freefriends.org>.
115344 2006-04-20  Bruno Haible  <bruno@clisp.org>
115346         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
115347         one argument, so that the code will be portable to Autoconf 2.60.
115348         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
115349         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
115350         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
115352 2006-04-19  Derek Price  <derek@ximbiot.com>
115353             Eric Blake  <ebb9@byu.net>
115355         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
115356         rather than "/full/path.h".  Update comment to match.  Shorten &
115357         generalize m4_translit call via AS_TR_CPP.
115359 2006-04-19  Derek Price  <derek@ximbiot.com>
115360             Eric Blake  <ebb9@byu.net>
115362         * lib/inttypes.h: Correct grammar in comment.
115364 2006-04-18  Derek Price  <derek@ximbiot.com>
115365             Paul Eggert  <eggert@cs.ucla.edu>
115367         * modules/inttypes: New file.
115368         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
115370 2006-04-18  Derek Price  <derek@ximbiot.com>
115371             Paul Eggert  <eggert@cs.ucla.edu>
115373         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
115374         New files.
115376 2006-04-18  Derek Price  <derek@ximbiot.com>
115377             Paul Eggert  <eggert@cs.ucla.edu>
115379         * lib/inttypes.h: New file.
115380         * lib/strtoimax.c: Assume <inttypes.h>.
115382 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
115384         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
115385         isn't mounted.  Problem reported by Kir Kolyshkin.
115387 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
115389         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
115390         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
115391         Derek R. Price.
115392         * lib/regex.h (RE_DUP_MAX): Update comment to match current
115393         implementation.
115395 2006-04-12  Eric Blake  <ebb9@byu.net>
115397         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
115398         is now done automatically by the corresponding Autoconf macro.
115400 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
115402         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
115403         time_r.h.
115405 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
115407         Merge regex changes from libc, removing some of our
115408         POSIX-conformance changes that were rejected and redoing them in a
115409         less-intrusive way.
115411         * lib/regcomp.c (re_compile_internal, init_dfa):
115412         Length arg is now size_t, not Idx.  All uses changed.
115413         (peek_token): Forward decl now says internal_function.
115414         (__re_error_msgid, __re_error_msgid_idx):
115415         Now static rather than extern with attribute_hidden.
115416         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
115417         For some reason libc prefers K&R style defns for external functions.
115418         (regerror) [!defined _LIBC]: Likewise.
115419         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
115420         (seek_collating_symbol_entry, lookup_collation_sequence_value):
115421         (build_range_exp, build_collating_symbol):
115422         Use K&R-style defn.
115423         (re_compile_fastmap): Use '\0' to memset, not 0.
115424         (utf8_sb_map): Make the calculations more obvious.
115425         (init_dfa, parse_bracket_exp, build_charclass_op):
115426         Call calloc and cast result, as glibc does.
115427         (init_word_char, fetch_token, peek_token, peek_token_bracket):
115428         (build_range_exp, build_collating_symbol):
115429         Now internal functions.
115431         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
115433         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
115434         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
115435         Don't depend on VMS; depend on __VMS instead, for POSIX
115436         namespace cleanness.
115437         (regoff_t): Define to ssize_t, not long int.
115439         Remove the REG_ macros named below.  Instead, make the old names
115440         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
115441         __USE_GNU_REGEX.
115442         (REG_BACKSLASH_ESCAPE_IN_LISTS):
115443         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
115444         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
115445         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
115446         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
115447         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
115448         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
115449         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
115450         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
115451         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
115452         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
115453         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
115454         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
115455         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
115456         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
115457         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
115458         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
115459         (REG_NREGS):
115460         Remove.  All uses replaced by the old RE_* names.
115461         (RE_BACKSLASH_ESCAPE_IN_LISTS):
115462         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
115463         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
115464         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
115465         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
115466         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
115467         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
115468         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
115469         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
115470         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
115471         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
115472         Don't bother having these macros be independent of each others'
115473         values, since they no longer exist in the POSIX name space.
115475         Rename the following member names back to their old names,
115476         unless !__USE_GNU_REGEX.  All uses changed back.
115477         (buffer): Renamed from re_buffer.
115478         (allocated): Renamed from re_allocated.
115479         (used): Renamed from re_used.
115480         (syntax): Renamed from re_syntax.
115481         (fastmap): Renamed from re_fastmap.
115482         (translate): Renamed from re_translate.
115483         (can_be_null): Renamed from re_can_be_null.
115484         (regs_allocated): Renamed from re_regs_allocated.
115485         (fastmap_accurate): Renamed from re_fastmap_accurate.
115486         (no_sub): Renamed from re_no_sub.
115487         (not_bol): Renamed from re_not_bol.
115488         (not_eol): Renamed from re_not_eol.
115489         (newline_anchor): Renamed from re_newline_anchor.
115490         (num_regs): Renamed from rm_num_regs.
115491         (start): Renamed from rm_start.
115492         (end): Renamed from rm_end.
115494         (free_state): Move up a bit.
115496         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
115497         #define to be empty.
115498         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
115499         when that is what is intended.
115500         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
115501         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
115502         (MAX): New macro.
115503         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
115504         All uses changed back to re_malloc, etc.  It's now the caller's
115505         responsibility to check for overflow; all callers changed.
115506         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
115507         (re_x2nrealloc): Remove.
115508         (free_state): Remove decl.
115510         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
115511         (re_set_registers, re_exec):
115512         Use K&R-style defn.
115514         2006-01-31  Roland McGrath  <roland@redhat.com>
115516         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
115517         Reported by Mike Frysinger <vapier@gentoo.org>.
115519         2006-01-15  Andreas Jaeger  <aj@suse.de>
115521         [BZ #1950]
115522         * lib/regex_internal.c (re_string_reconstruct): Adjust for
115523         build_wcs_upper_buffer change.
115524         (build_wcs_upper_buffer): Change return type.
115526         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
115528         * lib/regex_internal.h: Include <stdint.h> if available.
115530         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
115532         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
115534         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
115536         * lib/regcomp.c: Adjust for changed secondary hash function.
115538         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
115540         * lib/regex.h: Pretty printing.
115541         Clean up namespace a bit.
115543         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
115545         * lib/regexec.c (update_cur_sifted_state, check_arrival,
115546         check_arrival_add_next_nodes): Avoid using uninitialized variable.
115548         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
115549                     Ulrich Drepper  <drepper@redhat.com>
115551         [BZ #1302]
115552         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
115553         changed.
115554         (bitset_word_t): Renamed from bitset_word.  All uses changed.
115556         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
115558         [BZ #281]
115559         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
115560         * lib/regcomp.c: Remove unnecessary uses of
115561         unsigned RE_TRANSLATE_TYPE.
115562         * lib/regex_internal.h: Likewise.
115563         * lib/regex_internal.c: Likewise.
115564         * lib/regexec.c: Likewise.
115565         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
115567         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
115569         * lib/regexec.c (find_recover_state): Remove unnecessary
115570         initialization.
115571         (transit_state_bkref): Make DFA a const pointer.
115572         (get_subexp): Likewise.
115573         (check_arrival): Likewise.
115574         (update_cur_sifted_state): Likewise.
115575         (re_search_internal): Likewise.
115576         (prune_impossible_nodes): Likewise.
115577         (acquire_init_state_context): Likewise.
115578         (proceed_next_node): Likewise.
115579         (set_regs): Likewise.
115580         (free_fail_stack_return): Likewise.
115581         (check_arrival_expand_ecl): Mark DFA parameter as const.
115582         (check_arrival_expand_ecl_sub): Likewise.
115583         (check_subexp_limits): Likewise.
115584         (sub_epsilon_src_nodes):  Likewise.
115585         (add_epsilon_src_nodes):  Likewise.
115586         (merge_state_array): Likewise.
115587         (update_regs): Likewise.
115588         (build_trtable): Likewise.
115589         (sift_states_backward): Mark MCTX parameter as const.
115590         (build_sifted_states): Likewise.
115591         (update_cur_sifted_state): Likewise.
115592         (sift_states_mkref): Likewise.
115593         (check_arrival_expand_ecl): Mark eclosure as const.
115594         (check_dst_limits_calc_pos_1): Likewise.
115595         * lib/regex_internal.h (re_match_context_t): Make dfa a const
115596         pointer.
115598         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
115600         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
115601         (transit_state_sb): Likewise.
115602         (transit_state_mb): Likewise.
115603         (sift_states_iter_mb): Likewise.
115604         (check_arrival_add_next_nodes): Likewise.
115605         (check_node_accept_bytes): Change first parameter to pointer-to-const.
115606         [_LIBC] (re_search_2_stub): Use mempcpy.
115608         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
115609         mbrtowc for very simple UTF-8 case.
115611         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
115612         a pointer-to-const.
115613         (re_acquire_state_context): Likewise.
115614         * lib/regex_internal.h: Adjust prototypes.
115616         * lib/regex.c: Prevent using C++ compilers.
115618         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
115619         (re_acquire_state_context): Likewise.
115621 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
115623         * modules/regex (Depends-on): Add ssize_t.
115625 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
115627         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
115628         translation table.
115630 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
115632         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
115634 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
115635             Bruno Haible  <bruno@clisp.org>
115637         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
115638         <sys/types.h> and <inttypes.h>.
115640 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115642         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
115643         `__error_t_defined', so argp.h will not typedef the former.
115645 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
115647         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
115648         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
115649         glibc names.  Even if glibc is changed to conform to POSIX, the
115650         traditional names will be available anyway, since regex depends on
115651         the extensions module.  Also, fix a longstanding typo in the
115652         implementation of Spencer ERE test #75 from grep 2.3.  Problems
115653         reported by Emanuele Giaquinta.  Also, change sense of cached
115654         variable, so that the message makes sense.
115656 2006-03-24  Simon Josefsson  <jas@extundo.com>
115658         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
115659         including some doc fixes.
115660         (base64_encode_alloc): Fix +1 bug on allocation failures.
115662 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115664         * lib/base64.c (base64_encode): Do not read past end of array with
115665         unsanitized input on systems with CHAR_BIT > 8.
115667 2006-03-24  Eric Blake  <ebb9@byu.net>
115669         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
115671 2006-03-22  Karl Berry  <karl@gnu.org>
115673         * config/srclist.txt (*setenv.[ch]): get from coreutils.
115674         * config/srclistvars.sh (COREUTILS): new var.
115676 2006-03-17  Jim Meyering  <jim@meyering.net>
115678         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
115679         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
115681 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
115683         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
115684         no longer needs it.  Instead, check that regoff_t is as least
115685         as wide as ptrdiff_t.
115687         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
115688         so that our regex.h stays compatible with the installed regex.
115689         This is helpful for installers who configure --without-included-regex.
115690         Problem reported by Emanuele Giaquinta.
115692 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
115694         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
115695         Typedef to long int, not to off_, as POSIX will likely change
115696         in that direction.
115698 2006-03-15  Eric Blake  <ebb9@byu.net>
115700         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
115702 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
115704         * lib/argp-help.c (validate_uparams): Fix typo
115705         * lib/argp-parse.c (argp_default_options): Consistently begin help
115706         messages with a lowercase letter.
115708 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
115710         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
115711         overrun buffers and shouldn't be used (much as gets shouldn't be
115712         used).
115713         * lib/time_r.c (asctime_r, ctime_r): Likewise.
115715 2006-03-08  Simon Josefsson  <jas@extundo.com>
115717         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
115718         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
115720 2006-03-08  Simon Josefsson  <jas@extundo.com>
115722         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
115723         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
115725 2006-03-08  Simon Josefsson  <jas@extundo.com>
115727         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
115728         signal that configure disabled the device.
115730 2006-03-08  Simon Josefsson  <jas@extundo.com>
115732         * build-aux/maint.mk: Fix refresh-po, to handle no translated
115733         languages.
115735 2006-03-07  Simon Josefsson  <jas@extundo.com>
115737         * modules/getopt (Depends-on): Add unistd.
115739         * modules/unistd: New file.
115741 2006-03-07  Simon Josefsson  <jas@extundo.com>
115743         * modules/gc-random: New file.
115745 2006-03-07  Simon Josefsson  <jas@extundo.com>
115747         * m4/unistd_h.m4: New file.
115749 2006-03-07  Simon Josefsson  <jas@extundo.com>
115751         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
115752         test to be side-effect free by storing the result in the cache
115753         variable gl_cv_lib_readline, and moving the assignment of
115754         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
115755         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
115757 2006-03-07  Simon Josefsson  <jas@extundo.com>
115759         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
115760         error on missing devices (the functions will return an error).
115762         * m4/gc.m4: Move random stuff to gc-random.m4
115764 2006-03-07  Simon Josefsson  <jas@extundo.com>
115766         * lib/unistd_.h: New file.
115768 2006-03-07  Simon Josefsson  <jas@extundo.com>
115770         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
115772 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
115774         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
115775         Problem reported by Juan Manuel Guerrero.
115777 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
115779         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
115780         the unistd module.
115781         * lib/getlogin_r.c: Likewise.
115782         * lib/getlogin_r.h: Likewise.
115783         * lib/glob.c: Likewise.
115784         * lib/pagealign_alloc.c: Likewise.
115785         * lib/unistd_.h: Remove; no longer needed.
115787 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
115789         * MODULES.html.sh (Support for systems lacking POSIX:2001):
115790         Add unistd.
115791         * modules/c-stack (Depends-on): Add unistd.
115792         * modules/getlogin_r: Likewise.
115793         * modules/glob: Likewise.
115794         * modules/pagealign_alloc: Likewise.
115795         * modules/unistd (Files): Remove lib/unistd_.h.
115796         (EXTRA_DIST): Remove.
115797         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
115798         need unistd_.h.
115799         (MOSTLYCLEANFILES): Remove unistd.h-t.
115801 2006-03-03  Simon Josefsson  <jas@extundo.com>
115803         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
115805 2006-03-03  Simon Josefsson  <jas@extundo.com>
115807         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
115808         libidn and bison.
115810 2006-03-03  Simon Josefsson  <jas@extundo.com>
115812         * build-aux/maint.mk: Add indent target.
115814 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
115816         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
115817         our replacement poll.h in any case, to avoid a differing
115818         declaration from a system header.  Seen on AIX.
115820 2006-03-01  Simon Josefsson  <jas@extundo.com>
115822         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
115823         <kasal@ucw.cz>.
115825 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
115827         * modules/gettime (Depends-on): Add extensions module.
115828         * modules/nanosleep (Depends-on): Likewise.
115829         * modules/settime (Depends-on): Likewise.
115831 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
115833         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
115834         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
115835         pedantically.
115836         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
115837         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
115839         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
115840         not "==".  Reported by Ralf Wildenhues.
115842 2006-03-01  Karl Berry  <karl@gnu.org>
115844         * doc/Copyright/request-*: new files, synced from gnuorg.
115846 2006-03-01  Karl Berry  <karl@gnu.org>
115848         * config/srclist.txt (Copyright/*): new entries.
115850 2006-02-28  Simon Josefsson  <jas@extundo.com>
115852         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
115854 2006-02-27  Simon Josefsson  <jas@extundo.com>
115856         * lib/base64.h: Indent #define's.  From Jim Meyering
115857         <jim@meyering.net>.
115859 2006-02-27  Jim Meyering  <jim@meyering.net>
115861         Revert the change of 2006-02-24, so these files can continue
115862         to be sync'd from gettext.
115863         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
115864         of `config.h'.
115866 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
115868         * modules/intprops: New file.
115869         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
115870         Add intprops.
115871         * modules/getloadavg (Files): Remove lib/intprops.h.
115872         (Depends-on): Add intprops.
115873         * modules/human: Likewise.
115874         * modules/inttostr: Likewise.
115875         * modules/openat: Likewise.
115876         * modules/sig2str: Likewise.
115877         * modules/userspec: Likewise.
115878         * modules/utimecmp: Likewise.
115879         * modules/xnanosleep: Likewise.
115880         * modules/xstrtol: Likewise.
115882 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
115884         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
115885         * modules/lock-tests (TESTS): Use $(EXEEXT).
115886         * modules/tls-tests: Likewise.
115887         * modules/argp-tests: Likewise.
115888         (check_PROGRAMS): New var, replacing...
115889         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
115891 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115893         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
115894         `config.h'.
115896 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
115898         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
115900 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115902         Sync from coreutils.
115903         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
115904         gl_CHDIR_SAFER.
115906 2006-02-22  Jim Meyering  <jim@meyering.net>
115908         Sync from coreutils.
115909         * m4/chdir-safer.m4: New file.
115911 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
115913         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
115914         AT_FDCWD exceeds INT_MAX.
115915         * lib/openat.h (AT_FDCWD): Likewise.
115917 2006-02-17  Eric Blake  <address@hidden>
115919         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
115921 2006-02-16  Simon Josefsson  <jas@extundo.com>
115923         * modules/getaddrinfo (Depends-on): Add sys_socket.
115925 2006-02-15  Simon Josefsson  <jas@extundo.com>
115927         * build-aux/maint.mk: Add dsyntax-check rule.
115929 2006-02-15  Eric Blake  <ebb9@byu.net>
115931         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
115932         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
115933         'present but cannot compile' warnings on cygwin.
115934         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
115935         use ws2tcpip.h if sys/socket.h works.
115936         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
115937         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
115939 2006-02-14  Simon Josefsson  <jas@extundo.com>
115941         * modules/maintainer-makefile (Files): Rename.
115943         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
115944         and (the local) Makefile.cfg to maint-cfg.mk.
115946         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
115947         to the latter.
115949         * modules/maintainer-makefile: New module.
115951         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
115952         severaly stripped to make it possible to build it up from scratch
115953         with reliable tests.
115955         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
115956         fixes to permit overriding the default actions when configure and
115957         makefile are not available.
115959 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
115961         Sync from coreutils.
115962         * modules/lstat (Depends-on): Don't depend on xalloc.
115963         (License): Change from GPL to LGPL, since this is now simply a
115964         replacement for a libc function.
115966 2006-02-14  Jim Meyering  <jim@meyering.net>
115968         Sync from coreutils.
115970         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
115971         failure on deficient systems, and simplify gnulib lgpl dependencies.
115972         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
115973         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
115975         * lib/xalloc-die.c: Remove unused definition of N_.
115977 2006-02-14  Jim Meyering  <jim@meyering.net>
115979         Sync from coreutils.
115980         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
115981         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
115982         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
115983         double-quote uses of that variable, to accommodate the rare case in
115984         which getmntent is available in none of the libraries checked.  This
115985         happens at least on FreeBSD 5.0.
115987 2006-02-13  Simon Josefsson  <jas@extundo.com>
115989         * gnulib-tool (Usage): Fix --import, from
115990         karl@freefriends.org (Karl Berry).
115992 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
115994         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
115996 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
115998         * lib/argp-namefrob.h: Restore changes accidentally lost during the
115999         "autoupdate" on 2005-12-12.
116001 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
116003         * modules/closeout (Depends-on): Remove atexit.
116005 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
116007         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
116008         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
116010 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
116012         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
116013         __EXTENSIONS__ if this causes compilation to fail.  Problem
116014         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
116015         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
116017 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
116019         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
116020         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
116021         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
116022         All uses changed.
116024 2006-01-26  Simon Josefsson  <jas@extundo.com>
116026         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
116027         prototype is visible on mingw32.
116029         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
116030         for mingw32.
116032         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
116033         mingw32).
116035 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
116037         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
116038         attempt to open for write; this always fails, at least on POSIX
116039         hosts.  This reinstates the 2006-01-09 change, which was
116040         inadvertently removed.
116042 2006-01-26  Bruno Haible  <bruno@clisp.org>
116044         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
116045         Reported by Paul Eggert.
116047 2006-01-26  Bruno Haible  <bruno@clisp.org>
116048             Paul Eggert  <eggert@cs.ucla.edu>
116050         * lib/stdbool_.h (_Bool)
116051         [(! (defined __cplusplus || defined __BEOS__)
116052           && !defined __GNUC__
116053           && !(defined __HP_cc || defined __xlc__
116054                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
116055                || defined __sgi))]:
116056         #define to signed char in these cases too; this simplifies
116057         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
116058         etc., separately) and makes it more conservative.
116060 2006-01-25  Simon Josefsson  <jas@extundo.com>
116062         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
116063         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
116064         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
116066 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
116068         * lib/argp-namefrob.h: Bugfix. Remove stray #
116070 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
116072         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
116073         so that we test the test.
116074         Check for yet another HP-UX cc bug involving *bool |= bool.
116076 2006-01-25  Karl Berry  <karl@gnu.org>
116078         * config/srclist.txt (vasnprintf.c): sync lost.
116080 2006-01-25  Jim Meyering  <jim@meyering.net>
116082         Sync from the stable (b5) branch of coreutils:
116084         * lib/fts.c (fts_children): Don't let close() clobber errno from
116085         failed fchdir().
116087         * lib/fts.c (fts_stat): When following a symlink-to-directory,
116088         don't necessarily interpret stat-fails+lstat-succeeds as indicating
116089         a dangling symlink.  That can also happen at least for ELOOP.
116090         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
116091         FYI, this bug predates the inclusion of fts.c in coreutils.
116093         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
116094         in their own block, so pre-c99 compilers don't object.
116096         Avoid the double-free (first in fts_read, second in fts_close) that
116097         would occur when an `active' directory is made inaccessible (e.g.,
116098         via chmod a-x) during a traversal.
116099         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
116100         before returning.  Reproduce this failure by
116101         mkdir -p a/b; cd a; chmod a-x . b
116102         Reported by Stavros Passas.
116104 2006-01-25  Jim Meyering  <jim@meyering.net>
116106         * lib/fileblocks.c: Remove more useless parentheses.
116107         * lib/readutmp.h: Likewise.
116109 2006-01-25  Bruno Haible  <bruno@clisp.org>
116111         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
116112         warnings.
116113         Reported by Paul Eggert.
116115 2006-01-25  Bruno Haible  <bruno@clisp.org>
116117         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
116118         rid of a trap command. For Solaris sh.
116119         Reported by Mark D. Baushke <mdb@gnu.org>.
116121 2006-01-24  Simon Josefsson  <jas@extundo.com>
116123         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
116124         Bruno.
116126 2006-01-24  Karl Berry  <karl@gnu.org>
116128         * config/srclist.txt (argp-namefrob.h): sync lost.
116130 2006-01-24  Jim Meyering  <jim@meyering.net>
116132         * modules/openat (Files): Add lib/intprops.h.
116133         From Mark D. Baushke.
116135 2006-01-24  Jim Meyering  <jim@meyering.net>
116137         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
116138         Reported by Mark D. Baushke.
116140 2006-01-24  Jim Meyering  <jim@meyering.net>
116142         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
116144 2006-01-24  Bruno Haible  <bruno@clisp.org>
116146         * modules/strnlen (Maintainer): Change from glibc to all.
116148 2006-01-24  Bruno Haible  <bruno@clisp.org>
116150         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
116151         Patch by Paul Eggert.
116153 2006-01-24  Bruno Haible  <bruno@clisp.org>
116155         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
116156         already has it.
116157         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
116158         2005-11-26.
116160         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
116161         'signed char' to avoid problems with the built-in _Bool type.
116162         Reported by Paul Eggert on 2005-11-26.
116164 2006-01-24  Bruno Haible  <bruno@clisp.org>
116166         * gnulib-tool (func_import): Avoid constructing complicated sed
116167         expressions inside backquote.
116168         Report and solution by Mark D. Baushke <mdb@gnu.org>.
116170 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
116172         These changes imported from libc.
116173         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
116174         test and two separate function calls.
116175         * lib/strndup.c (__strndup): Add libc_hidden_def.
116177 2006-01-23  Simon Josefsson  <jas@extundo.com>
116179         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
116180         Remove the test_*_SOURCES variable: automake infers it by default.
116181         * modules/tls-tests: Likewise.
116183 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
116185         Work around porting bugs reported by Dieter in
116186         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
116187         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
116188         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
116189         Include "getopt.h" first, to check interface.
116190         (getenv): Declare only if defined HAVE_DECL_GETENV &&
116191         !HAVE_DECL_GETENV.
116192         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
116193         (__strndup): Revert to K&R-style function dfns, the glibc style.
116194         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
116195         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
116196         Include strnlen.h first, to get prototype properly.
116197         (strnlen): Renamed from __strnlen.
116198         Remove weak alias.
116200 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
116202         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
116204 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
116206         * config/srclist.txt: Adjust to reflect glibc reorganization.
116207         This affects only comments.
116209 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116211          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
116212          Reported by Bruce Korb <bkorb@gnu.org>.
116214 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
116216         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
116217         to pacify gcc -Wswitch-default.
116219 2006-01-22  Bruno Haible  <bruno@clisp.org>
116221         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
116222         temporary buffer for sprintf, take into account the precision also
116223         for 'd', 'i', 'u', 'o', 'x', 'X'.
116225 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
116227         * modules/argp-tests: New module
116228         * tests/test-argp.c: New file
116229         * tests/test-argp-2.sh: New file
116231 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
116233         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
116234         (__argp_base_name): Removed
116235         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
116236         typo.
116237         (__argp_base_name): Provide macro definition or extern declaration
116238         depending on the configuration
116240 2006-01-20  Simon Josefsson  <jas@extundo.com>
116242         * modules/inet_ntop (Depends-on): Depend on sys_socket.
116244 2006-01-20  Simon Josefsson  <jas@extundo.com>
116246         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
116248 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
116250         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
116251         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
116252         Suggested by Bruno Haible.
116254 2006-01-20  Karl Berry  <karl@gnu.org>
116256         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
116257         until changes propagate, I guess.
116259 2006-01-19  Simon Josefsson  <jas@extundo.com>
116261         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
116263 2006-01-19  Simon Josefsson  <jas@extundo.com>
116265         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
116267 2006-01-19  Simon Josefsson  <jas@extundo.com>
116269         * gnulib-tool: Set check_PROGRAMS.
116271         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
116272         modules/des-tests, modules/gc-arcfour-tests,
116273         modules/gc-arctwo-tests, modules/gc-des-tests,
116274         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
116275         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
116276         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
116277         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
116278         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
116279         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
116280         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
116281         test_*_SOURCES.
116283 2006-01-18  Simon Josefsson  <jas@extundo.com>
116285         * modules/socklen (Depends-on): Depend on sys_socket.
116287 2006-01-18  Simon Josefsson  <jas@extundo.com>
116289         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
116290         modules/des-tests, modules/gc-arcfour-tests,
116291         modules/gc-arctwo-tests, modules/gc-des-tests,
116292         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
116293         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
116294         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
116295         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
116296         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
116297         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
116298         $(EXEEXT) to automake TESTS variable, for mingw32.
116300 2006-01-17  Simon Josefsson  <jas@extundo.com>
116302         * modules/socklen (Include): Need sys/socket.h.
116304 2006-01-17  Bruno Haible  <bruno@clisp.org>
116306         * modules/ssize_t (Include): Add <sys/types.h>.
116308 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
116310         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
116311         it's not portable and it doesn't work with cross-compiles.
116312         Problem reported by Bruno Haible.  Fix missing-$ typo in
116313         'test "gl_cv_ignore_unused_libraries" ...' that prevented
116314         -zignore from being used with Sun's C compiler.
116316 2006-01-12  Simon Josefsson  <jas@extundo.com>
116318         * lib/base64.c: Fix warning, reported by Bruno Haible
116319         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
116321 2006-01-12  Bruno Haible  <bruno@clisp.org>
116323         * modules/ldd: New file.
116324         * build-aux/ldd.sh.in: New file.
116325         * MODULES.html.sh (Support for building libraries and executables): Add
116326         ldd.
116328 2006-01-12  Bruno Haible  <bruno@clisp.org>
116330         * m4/ldd.m4: New file.
116332 2006-01-12  Bruno Haible  <bruno@clisp.org>
116334         * gnulib-tool (func_import, func_create_testdir): Don't go into an
116335         endless loop while replacing $auxdir with build-aux.
116337 2006-01-11  Simon Josefsson  <jas@extundo.com>
116339         * lib/stdint_.h (SIZE_MAX): Add missing (.
116341 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
116343         Sync from coreutils.
116344         * lib/md5.c: Fix commentary typos.
116345         (alignof, UNALIGNED_P): No need for a GCC-specific version.
116346         * lib/md5.h (__attribute__): Remove; unused.
116347         * lib/sha1.c: Fix commentary to match md5 better.
116348         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
116349         so that we don't need to worry about alignment.  All uses changed.
116350         This merges the 2005-10-28 md5 change into sha1.
116352 2006-01-11  Jim Meyering  <jim@meyering.net>
116354         Sync from coreutils.
116355         * lib/md5.c (OP): Fix spacing.
116357 2006-01-11  Bruno Haible  <bruno@clisp.org>
116359         Ensure automatic ordering between gl_LOCK and gl_ARGP.
116360         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
116361         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
116363 2006-01-11  Bruno Haible  <bruno@clisp.org>
116365         Ensure automatic ordering between gl_LOCK and gl_ARGP.
116366         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
116367         the "early" section as well.
116369 2006-01-11  Bruno Haible  <bruno@clisp.org>
116371         Avoid "ar: no archive members specified" error on MacOS X.
116372         * gnulib-tool (func_modules_add_dummy): New function.
116373         (func_import, func_create_testdir): Invoke it.
116375 2006-01-11  Bruno Haible  <bruno@clisp.org>
116377         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
116378         with $auxdir in AC_CONFIG_FILES statements.
116380 2006-01-11  Bruno Haible  <bruno@clisp.org>
116382         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
116383         Initialize also noinst_HEADERS to empty.
116385 2006-01-11  Bruno Haible  <bruno@clisp.org>
116387         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
116388         variables.
116389         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
116390         autoreconf.
116392 2006-01-11  Bruno Haible  <bruno@clisp.org>
116394         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
116395         overridable by the user.
116396         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116398 2006-01-10  Simon Josefsson  <jas@extundo.com>
116400         * modules/sys_socket: New file.
116402 2006-01-10  Simon Josefsson  <jas@extundo.com>
116404         * m4/sys_socket_h.m4: New file.
116406 2006-01-10  Simon Josefsson  <jas@extundo.com>
116408         * lib/socket_.h: New file.
116410 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
116412         * modules/readutmp (Maintainer): Add myself.
116414 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
116416         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
116417         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
116418         People who are still concerned with buggy memcmp implementations
116419         can invoke gl_FUNC_MEMCMP themselves.
116421 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
116423         * lib/regex_internal.h (BITSET_WORD_BITS):
116424         Work around a bug in 64-bit PGC (before version 6.1-2), where the
116425         preprocessor mishandles large unsigned values as if they were signed.
116426         Problem reported by Claudio Fontana in
116427         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
116429 2006-01-10  Jim Meyering  <jim@meyering.net>
116431         Avoid the double-free (first in fts_read, second in fts_close) that
116432         would occur when an `active' directory is made inaccessible (e.g.,
116433         via chmod a-x) during a traversal.
116434         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
116435         before returning.  Reproduce this failure by
116436         mkdir -p a/b; cd a; chmod a-x . b
116437         Reported by Stavros Passas.
116439         Sync from coreutils.
116440         * lib/sha1.c: Tweak grammar in a comment.
116442 2006-01-10  Jim Meyering  <jim@meyering.net>
116444         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
116445         Patch by Joerg Sonnenberger.
116447 2006-01-10  Bruno Haible  <bruno@clisp.org>
116449         * modules/readutmp: Depend on module free.
116450         * modules/strtok_r: Depend on module restrict.
116452 2006-01-10  Bruno Haible  <bruno@clisp.org>
116454         * modules/gettext (configure.ac): Add an invocation of
116455         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
116457 2006-01-10  Bruno Haible  <bruno@clisp.org>
116459         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
116460         Reported by Werner Lemberg <wl@gnu.org>.
116462 2006-01-10  Bruno Haible  <bruno@clisp.org>
116464         * lib/localcharset.c: Update from GNU gettext.
116466 2006-01-10  Bruno Haible  <bruno@clisp.org>
116468         * lib/argp.h (__const): Remove macro. Use const instead.
116469         * lib/argp-fmtstream.h (__const): Likewise.
116470         * lib/glob_.h (__const): Remove macro.
116471         * lib/glob-libc.h: Use const instead of __const.
116473 2006-01-10  Bruno Haible  <bruno@clisp.org>
116475         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
116476         variable.
116477         Needed to avoid an automake error regarding the 'gettext' module.
116479 2006-01-09  Simon Josefsson  <jas@extundo.com>
116481         * modules/inet_ntop (Depends-on): Add restrict.
116483 2006-01-09  Simon Josefsson  <jas@extundo.com>
116485         * modules/gc-rijndael-tests (License): Put under LGPL.
116487         * modules/gc-des-tests (License): Likewise.
116489         * modules/gc-arcfour-tests (License): Likewise.
116491         * modules/gc-arctwo-tests (License): Likewise.
116493         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
116495         * modules/gc-hmac-sha1-tests (Files): Likewise.
116497         * modules/gc-hmac-md5-tests (License): Likewise.
116499         * modules/gc-sha1-tests (License): Likewise.
116501         * modules/gc-md5-tests (License): Likewise.
116503         * modules/gc-md4-tests (License): Likewise.
116505         * modules/gc-md2-tests (License): Likewise.
116507         * modules/gc-tests (License): Likewise.
116509         * modules/des-tests (License): Likewise.
116511         * modules/md4-tests (License): Likewise.
116513         * modules/md2-tests (License): Likewise.
116515 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
116517         Sync from coreutils:
116519         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
116520         * modules/lib-ignore: New file.
116521         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
116522         chdir-safer.m4, lchmod.m4.
116523         * modules/openat: Add mkdirat.c, openat-priv.h.
116525 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
116527         Sync from coreutils.
116528         * m4/lib-ignore.m4: New file.
116529         * m4/lchmod.m4: New file.
116531 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
116533         Sync from coreutils.
116534         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
116535         for write access: POSIX says that must fail.
116536         * lib/fts.c (diropen): Likewise.
116537         * lib/save-cwd.c (save_cwd): Likewise.
116538         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
116539         well, for minor improvements on hosts that lack O_DIRECTORY.
116540         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
116541         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
116542         Fall back on chown if open failed with EACCES.
116544         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
116545         Report an error at compile-time if only a 1-second nominal clock
116546         resolution is found.
116548         * lib/lchmod.h: New file.
116549         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
116550         (make_dir_parents): Use lchown rather than chown, and
116551         lchmod rather than chmod.
116553         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
116554         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
116555         "proc" reported by n0dalus.
116557         * lib/mountlist.c: Include <limits.h>.
116558         (dev_from_mount_options)
116559         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
116560         New function.  It no longer assumes "dev=" has the System V meaning
116561         on Linux (since it doesn't).  It also parses "dev=" more carefully.
116562         (read_file_system_list)
116563         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
116564         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
116565         dev= in that case.
116567         * lib/posixtm.h (PDS_PRE_2000): New macro.
116568         * lib/posixtm.c (year): Arg is now syntax_bits rather than
116569         allow_century.  All usages changed.  Reject dates outside the range
116570         1969-1999 if PDS_PRE_2000 is used.
116572 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
116574         Sync from coreutils.
116575         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
116576         (Time of day items): Mention the possibility of leap seconds.
116577         Problem reported by Dr. David Alan Gilbert.
116579 2006-01-09  Jim Meyering  <jim@meyering.net>
116581         Sync from coreutils.
116583         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
116585         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
116587         * lib/modechange.c (mode_compile): Reject an invalid mode string
116588         that starts with an octal digit.  From Andreas Gruenbacher.
116590         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
116591         and dup to open_safer and dup_safer, respectively.
116592         (openat_permissive): Fix typo in comment.
116594         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
116595         "gettext.h"; either no longer needed or are guaranteed by openat.h.
116596         (_): Remove; no longer needed.
116597         (openat): Renamed from rpl_openat; no need for rpl_openat
116598         since openat.h renames openat for us.
116599         Replace most of the body with a call to openat_permissive,
116600         to avoid duplicate code.
116601         Port to (probably hypothetical) environments were mode_t is
116602         wider than int.
116603         (openat_permissive): Require mode arg, so that we can check
116604         types better.  Put it just after flags.  Change cwd failure
116605         indicator from pointer-to-bool to pointer-to-errno-value.
116606         All callers changed.
116607         Invoke openat_save_fail and/or openat_restore_fail if
116608         cwd_errno is null, so that openat can call us.
116609         (openat_permissive, fdopendir, fstatat, unlinkat):
116610         Simplify errno handling to avoid some duplicate code,
116611         as it's OK to set errno on success.
116612         * lib/openat.h: Revamp code so that function macros depend on
116613         __OPENAT_PREFIX only, not also on AT_FDCWD.
116614         (openat_ro): Remove.  Caller changed to use openat_permissive.
116615         (openat_permissive): Now a macro, if not a function.
116616         (openat_restore_fail, openat_save_fail): Now always functions,
116617         since mkdirat needs them even if __OPENAT_PREFIX is defined.
116619         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
116620         and openat.c.
116621         * lib/mkdirat.c: Include openat-priv.h.
116622         Remove definitions of macros defined therein.
116623         * lib/openat.c: Likewise.
116625         * lib/mkdirat.c (mkdirat): New file and function.
116626         * lib/openat.h (mkdirat): Declare.
116628         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
116630         * lib/openat.h (openat_permissive): Declare.
116631         (openat_ro): Define.
116633         * lib/openat.c (EXPECTED_ERRNO): New macro.
116634         (openat_permissive): New function -- used in remove.c rewrite.
116635         (all functions): Set errno just before returning, only if there
116636         was an actual failure.
116637         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
116639         Emulate openat-family functions using Linux's procfs, if possible.
116640         Idea and some code based on Ulrich Drepper's glibc changes.
116642         * lib/openat.c: (BUILD_PROC_NAME): New macro.
116643         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
116644         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
116645         before falling back on save_cwd and restore_cwd.
116646         (fdopendir, fstatat, unlinkat): Likewise.
116648         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
116649         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
116651         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
116652         as second argument to va_arg.  Otherwise, some versions of gcc
116653         warn that `if this code is reached, the program will abort'.
116655 2006-01-09  Jim Meyering  <jim@meyering.net>
116657         Sync from coreutils.
116658         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
116659         Require openat-priv.h.
116661 2006-01-09  Bruno Haible  <bruno@clisp.org>
116663         * modules/strnlen (Include): Use strnlen.h.
116665 2006-01-09  Bruno Haible  <bruno@clisp.org>
116667         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
116669 2006-01-09  Bruno Haible  <bruno@clisp.org>
116671         * lib/sysexit_.h (EX_OK): New macro.
116672         Suggested by Martin Lambers <marlam@marlam.de>.
116674 2006-01-09  Bruno Haible  <bruno@clisp.org>
116676         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
116677         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
116679 2006-01-09  Bruno Haible  <bruno@clisp.org>
116681         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
116682         numbers.
116684 2006-01-09  Bruno Haible  <bruno@clisp.org>
116686         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
116687         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
116688         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
116689         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
116691 2006-01-09  Bruno Haible  <bruno@clisp.org>
116693         * build-aux/javacomp.sh.in: New file, moved from lib/.
116694         * modules/javacomp-script (Files): Update.
116695         (configure.ac): Add AC_CONFIG_FILES invocation.
116696         (EXTRA_DIST): Remove variable.
116698         * build-aux/javaexec.sh.in: New file, moved from lib/.
116699         * modules/javaexec (Files): Update.
116700         (configure.ac): Add AC_CONFIG_FILES invocation.
116701         (EXTRA_DIST): Remove javaexec.sh.in.
116703         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
116704         * modules/csharpcomp-script (Files): Update.
116705         (configure.ac): Add AC_CONFIG_FILES invocation.
116706         (EXTRA_DIST): Remove variable.
116708         * build-aux/csharpexec.sh.in: New file, moved from lib/.
116709         * modules/csharpexec (Files): Update.
116710         (configure.ac): Add AC_CONFIG_FILES invocation.
116711         (EXTRA_DIST): Remove csharpexec.sh.in.
116713 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
116715         Sync from coreutils.
116717         Add POSIX ACL support
116718         * lib/acl.h (copy_acl, set_acl): Add declarations.
116719         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
116720         systems other than Linux.
116721         (chmod_or_fchmod): New function: use fchmod when possible,
116722         and chmod otherwise.
116723         (file_has_acl): Add a POSIX ACL implementation, with a
116724         Linux-specific subcase.
116725         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
116726         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
116727         acls are unsupported.
116728         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
116729         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
116730         are unsupported.
116732 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
116734         Sync from coreutils.
116735         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
116737 2006-01-07  Bruno Haible  <bruno@clisp.org>
116739         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
116740         gl_EARLY.
116742 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
116744         * lib/strftime.c (tzname): Don't declare if it is already #defined.
116745         Problem reported for Mingw by Mark Junker.
116747 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
116749         * README: Gnulib normally doesn't generate a tarball.
116751 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
116753         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
116754         long int, not int, for nanosecond counts, so that people who are
116755         used to POSIX struct timespec won't be surprised.  Reported by Jim
116756         Meyering.
116758 2005-12-28  Bruno Haible  <bruno@clisp.org>
116760         * build-aux/config.rpath: Update from GNU gettext.
116762 2005-12-16  Jim Meyering  <jim@meyering.net>
116764         * modules/fprintftime: New module.
116765         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
116767 2005-12-16  Jim Meyering  <jim@meyering.net>
116769         * m4/fprintftime.m4: New file.
116771 2005-12-16  Jim Meyering  <jim@meyering.net>
116773         * lib/fprintftime.c, lib/fprintftime.h: New files.
116775 2005-12-15  Simon Josefsson  <jas@extundo.com>
116777         * modules/socklen (configure.ac): Fix M4 macro name, to align with
116778         new m4/socklen.m4.
116780 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
116782         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
116783         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
116785 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
116787         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
116788         * lib/argp-help.c (fill_in_uparams): Check if the constructed
116789         struct uparams is valid. Fall back to the default values if it is
116790         not.
116792 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
116794         * modules/argp (Files): Add argp-pin.c
116795         (Depends-on): dirname
116796         (lib_SOURCES): Add argp-pin.c
116798 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
116800         * m4/argp.m4:  Check if program_invocation_name and
116801         program_invocation_short_name are declared and define appropriate
116802         macros if they are not.
116804 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
116806         * lib/argp-help.c (__argp_base_name): New function
116807         (__argp_short_program_name): Rewrite using __argp_base_name
116808         * lib/argp-namefrob.h: Define program_invocation_name and
116809         program_invocation_short_name if requested
116810         (__argp_base_name): Add prototype
116811         * lib/argp-parse.c (argp_def): Use gettext wrappers
116812         (argp_default_parser): Use __argp_base_name
116813         * lib/argp-pin.c: New file. Defines program_invocation_name and
116814         program_invocation_short_name on systems that lack them.
116816 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
116818         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
116819         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
116820         porting problem reported by Georg Schwarz in
116821         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
116823 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
116825         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
116826         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
116827         porting problem reported by Georg Schwarz in
116828         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
116830 2005-12-05  Bruno Haible  <bruno@clisp.org>
116832         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
116833         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
116834         Reported by Mark Junker <mjscod@gmx.de>.
116836 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
116838         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
116839         Use implementation from Albert Chin, with some
116840         comments/corrections by Stepan Kasal and myself.
116842 2005-12-02  Bruno Haible  <bruno@clisp.org>
116844         * gnulib-tool (func_import): Accept GPLed build tool modules when
116845         --lgpl is given.
116846         * modules/csharpcomp-script: New file.
116847         * modules/csharpcomp: Depend on it.
116848         * modules/javacomp-script: New file.
116849         * modules/javacomp: Depend on it.
116850         Suggested by Simon Josefsson.
116852 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
116854         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
116855         statement, to work around an HP-UX 10.20 compiler bug reported by
116856         Peter O'Gorman.
116858 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
116860         * modules/savedir (Depends-on): Add openat.
116862 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
116864         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
116865         (uintmax_t) [defined uintmax_t]: Do not declare.
116866         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
116867         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
116868         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
116869         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
116870         sake of portability to weird hosts that C allows (though we don't
116871         know of any practical examples).
116873         * lib/savedir.h (fdsavedir): New decl.
116874         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
116875         contains most of the former guts of savedir.
116876         (savedir): Use savedirstream.
116877         Include "openat.h".
116879 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
116881         * modules/obstack (Files): Add m4/ulonglong.m4.
116882         Problem reported by Davide Angelocola.
116884 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
116886         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
116887         coreutils no longer futzes with rounding modes.
116889 2005-11-14  Jim Meyering  <jim@meyering.net>
116891         * lib/mkstemp-safer.c: Include <config.h>, required for possible
116892         replacement of mkstemp.
116894 2005-11-10  Simon Josefsson  <jas@extundo.com>
116896         * lib/readline.c: Remove EOL.
116898 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
116900         * modules/gethrxtime (Depends-on): Add gettime.
116902 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
116904         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
116905         or gettimeofday; no longer needed.
116907 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
116909         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
116910         time business.
116911         (gethrxtime) [! (HAVE_NANOUPTIME
116912         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
116913         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
116914         our own approximation.
116916 2005-11-08  Eric Blake  <ebb9@byu.net>
116918         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
116920 2005-11-08  Eric Blake  <ebb9@byu.net>
116922         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
116924 2005-11-04  Bruno Haible  <bruno@clisp.org>
116926         * gnulib-tool: Implement --update mode.
116928 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
116930         Fix porting problem reported by Theodoros V. Kalamatianos.
116931         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
116932         Don't assume that futimes failing means we must fail.
116934 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
116936         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
116937         variables to suggest the intended function of the PATH_MAX check.
116939 2005-10-30  Kean Johnston  <jkj@sco.com>
116941         Trivial changes to support SCO systems.
116942         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
116943         as PATH_MAX.
116944         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
116945         where __ptr is null when no I/O is pending.
116947 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
116949         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
116950         leave errno alone.  Problem reported by Dmitry V. Levin.
116952 2005-10-28  Simon Josefsson  <jas@extundo.com>
116954         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
116955         Test more.
116957         * tests/test-gc-md2.c, tests/test-md2.c: New files.
116959         * modules/md2, modules/md2-tests: New files.
116961 2005-10-28  Simon Josefsson  <jas@extundo.com>
116963         * m4/inet_ntop.m4: More tests.
116965         * m4/gc-md2.m4, md2.m4: New file.
116967 2005-10-28  Simon Josefsson  <jas@extundo.com>
116969         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
116970         "restrict" keywords, as per POSIX.  Protect the function
116971         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
116972         Don't use K&R prototypes.  Check the sprintf return values.
116973         Re-define EAFNOSUPPORT if not present.  Indent.
116975         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
116976         suggested by Bruno Haible <bruno@clisp.org>.
116978         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
116980         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
116982         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
116983         libgcrypt).
116985         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
116987         * lib/md2.h, lib/md2.c: New files.
116989 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
116991         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
116992         errno alone.  Problem reported by Frederic Jolliton.
116994 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
116996         * modules/verify (License): Change from GPL to LGPL.  This is a
116997         tiny module and there are apparently near-equivalents that are
116998         under the BSD license.
117000 2005-10-24  Simon Josefsson  <jas@extundo.com>
117002         * modules/sha1: Relicense to LGPL.
117004 2005-10-24  Simon Josefsson  <jas@extundo.com>
117006         * lib/md4.h: Shrink buffer size, now that we changed the type.
117008 2005-10-23  Simon Josefsson  <jas@extundo.com>
117010         * gnulib-tool (func_import): Fix --tests-base.
117012 2005-10-22  Simon Josefsson  <jas@extundo.com>
117014         * modules/arcfour (Depends-on): Need stdint.
117016 2005-10-22  Simon Josefsson  <jas@extundo.com>
117018         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
117019         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
117021 2005-10-22  Simon Josefsson  <jas@extundo.com>
117023         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
117024         suggested by Bruno Haible <bruno@clisp.org>.
117026 2005-10-22  Simon Josefsson  <jas@extundo.com>
117028         * lib/crc.h: Include stddef.h, for size_t.
117030 2005-10-22  Simon Josefsson  <jas@extundo.com>
117032         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
117033         arcfour_context struct (simplify test vector testing in GNU
117034         Shishi).
117036 2005-10-21  Simon Josefsson  <jas@extundo.com>
117038         * modules/des, modules/des-tests: New files.
117040         * modules/gc-des, modules/gc-des-tests: New files.
117042         * tests/test-des.c, tests/test-gc-des.c: New file.
117044 2005-10-21  Simon Josefsson  <jas@extundo.com>
117046         * modules/arctwo, modules/arctwo-tests: New files.
117048         * tests/test-arctwo.c: New file.
117050         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
117052         * tests/test-gc-arctwo.c: New file.
117054 2005-10-21  Simon Josefsson  <jas@extundo.com>
117056         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
117057         Bruno Haible <bruno@clisp.org>.
117059         * m4/gc-des.m4: New file.
117061 2005-10-21  Simon Josefsson  <jas@extundo.com>
117063         * m4/arctwo.m4: New file.
117065         * m4/gc-arctwo.m4: New file.
117067 2005-10-21  Simon Josefsson  <jas@extundo.com>
117069         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
117070         block.
117072 2005-10-21  Simon Josefsson  <jas@extundo.com>
117074         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
117075         <bruno@clisp.org>.
117077         * lib/hmac-sha1.c (hmac_sha1): Likewise.
117079         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
117080         Bruno Haible <bruno@clisp.org>.
117082         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
117083         <bruno@clisp.org>.
117085 2005-10-21  Simon Josefsson  <jas@extundo.com>
117087         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
117089 2005-10-21  Simon Josefsson  <jas@extundo.com>
117091         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
117093 2005-10-21  Simon Josefsson  <jas@extundo.com>
117095         * lib/des.h, lib/des.c: New files.
117097         * lib/gc-gnulib.c: Support DES.c
117099 2005-10-21  Simon Josefsson  <jas@extundo.com>
117101         * lib/arctwo.h, lib/arctwo.c: New files.
117103         * lib/gc-gnulib.c: Support ARCTWO.
117105 2005-10-21  Simon Josefsson  <jas@extundo.com>
117107         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
117108         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117110 2005-10-21  Simon Josefsson  <jas@extundo.com>
117112         * gnulib-tool (func_import, func_create_testdir): Define automake
117113         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
117114         Makefile.am snippet),
117115         suggested by Bruno Haible <bruno@clisp.org>.
117117         * modules/gc (Makefile.am): Use it.
117119 2005-10-21  Bruno Haible  <bruno@clisp.org>
117121         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
117122         patch.
117124 2005-10-19  Simon Josefsson  <jas@extundo.com>
117126         * tests/test-gc-rijndael.c: New file.
117128         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
117130 2005-10-19  Simon Josefsson  <jas@extundo.com>
117132         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
117133         interface too.
117135 2005-10-19  Simon Josefsson  <jas@extundo.com>
117137         * tests/test-gc-arcfour.c: New file.
117139         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
117141 2005-10-19  Simon Josefsson  <jas@extundo.com>
117143         * modules/gc-md4, modules/gc-md4-tests: New file.
117145         * tests/test-gc-md4.c: New file.
117147 2005-10-19  Simon Josefsson  <jas@extundo.com>
117149         * m4/gc-md4.m4: New file.
117151 2005-10-19  Simon Josefsson  <jas@extundo.com>
117153         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
117154         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
117155         <kasal@ucw.cz>.
117157 2005-10-19  Simon Josefsson  <jas@extundo.com>
117159         * m4/gc-arcfour.m4: New file.
117161         * m4/gc-rijndael.m4: New file.
117163 2005-10-19  Simon Josefsson  <jas@extundo.com>
117165         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
117167 2005-10-19  Simon Josefsson  <jas@extundo.com>
117169         * lib/gc-gnulib.c: Support ARCFOUR.
117171 2005-10-19  Simon Josefsson  <jas@extundo.com>
117173         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
117174         support.
117176         * lib/gc.h: Add ECB enum type.
117178         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
117180 2005-10-18  Simon Josefsson  <jas@extundo.com>
117182         * tests/test-md5.c: New file.
117184         * modules/md5-tests: New file.
117186 2005-10-18  Simon Josefsson  <jas@extundo.com>
117188         * tests/test-md4.c: New file.
117190         * modules/md4, modules/md4-tests: New files.
117192 2005-10-18  Simon Josefsson  <jas@extundo.com>
117194         * m4/md4.m4: New file.
117196 2005-10-18  Simon Josefsson  <jas@extundo.com>
117198         * lib/md4.h, lib/md4.c: New files, based on md5.?.
117200 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
117202         * gnulib-tool (func_create_testdir): Omit the second check whether
117203         BUILT_SOURCES in nonempty.
117205 2005-10-17  Simon Josefsson  <jas@extundo.com>
117207         * tests/test-rijndael.c: New file.
117209 2005-10-17  Simon Josefsson  <jas@extundo.com>
117211         * modules/sha1: Depend on stdint instead of md5.
117213         * modules/md5: Depend on stdint, remove uint32_t.
117215 2005-10-17  Simon Josefsson  <jas@extundo.com>
117217         * modules/gc-sha1-tests: New file.
117219         * tests/test-gc-sha1.c: New file.
117221 2005-10-17  Simon Josefsson  <jas@extundo.com>
117223         * m4/md5.m4: Remove call to uint32_t.m4.
117225 2005-10-17  Simon Josefsson  <jas@extundo.com>
117227         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
117229         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
117230         md5.h.
117232         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
117234         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
117236 2005-10-17  Simon Josefsson  <jas@extundo.com>
117238         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
117240 2005-10-17  Simon Josefsson  <jas@extundo.com>
117242         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
117244 2005-10-17  Simon Josefsson  <jas@extundo.com>
117246         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
117248         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
117250 2005-10-17  Bruno Haible  <bruno@clisp.org>
117252         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
117253         that it can also be used in a test.
117255 2005-10-16  Bruno Haible  <bruno@clisp.org>
117257         * gnulib-tool (func_emit_tests_Makefile_am): Also define
117258         TESTS_ENVIRONMENT, so that individual tests can augment it.
117260         * gnulib-tool (func_create_testdir): Use an intermediate target for
117261         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
117262         macros, like $(ALLOCA_H), which cannot be passed through the command
117263         line.
117265 2005-10-15  Simon Josefsson  <jas@extundo.com>
117267         * modules/rijndael-tests: New file.
117269         * modules/rijndael: New file.
117271 2005-10-15  Simon Josefsson  <jas@extundo.com>
117273         * m4/rijndael.m4: New file.
117275 2005-10-15  Simon Josefsson  <jas@extundo.com>
117277         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
117279         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
117281 2005-10-14  Simon Josefsson  <jas@extundo.com>
117283         * tests/test-arcfour.c: New file.
117285         * modules/arcfour, modules/arcfour-tests: New files.
117287 2005-10-14  Simon Josefsson  <jas@extundo.com>
117289         * m4/arcfour.m4: New file.
117291 2005-10-14  Simon Josefsson  <jas@extundo.com>
117293         * lib/arcfour.h, lib/arcfour.c: New files.
117295 2005-10-14  Roland McGrath  <roland@redhat.com>
117297         Import from libc.  [BZ #1331]
117298         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
117299         macro argument.
117300         Reported by Matej Vela <vela@debian.org>.
117302 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
117304         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
117305         include <wchar.h>; no longer needed.
117307 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
117309         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
117311 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
117312         and  Ulrich Drepper  <drepper@redhat.com>
117314         Import from libc.
117315         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
117316         instead of inline stream orientation test and two separate
117317         function calls.  Pay no attention to USE_IN_LIBIO.
117319 2005-10-13  Simon Josefsson  <jas@extundo.com>
117321         * modules/gc-hmac-md5-tests: New file.
117323         * tests/test-gc-hmac-sha1.c: New file.
117325         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
117327         * modules/gc-hmac-md5-tests: New file.
117329         * tests/test-gc-md5.c: New file.
117331         * modules/gc-md5-tests: New file.
117333 2005-10-13  Simon Josefsson  <jas@extundo.com>
117335         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
117336         Move memory allocation outside of loop.
117338 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
117340         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
117341         intermediate directory is in a read-only file system.  Problem
117342         reported by Eric Blake.
117344 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
117346         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
117348 2005-10-12  Simon Josefsson  <jas@extundo.com>
117350         * tests/test-hmac-sha1.c: New file.
117352         * modules/hmac-sha1-tests: New file.
117354         * modules/hmac-sha1: New file.
117356 2005-10-12  Simon Josefsson  <jas@extundo.com>
117358         * modules/gc-sha1: New file.
117360 2005-10-12  Simon Josefsson  <jas@extundo.com>
117362         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
117364         * tests/test-gc-pbkdf2-sha1.c: New file.
117366 2005-10-12  Simon Josefsson  <jas@extundo.com>
117368         * modules/gc-md5, modules/gc-hmac-md5: New files.
117370         * modules/gc (Files): Remove md5, memxor and hmac files.
117372 2005-10-12  Simon Josefsson  <jas@extundo.com>
117374         * m4/gc-pbkdf2-sha1.m4: New file.
117376         * m4/gc-hmac-sha1.m4: New file.
117378         * m4/gc-sha1: New file.
117380         * m4/hmac-sha1.m4: New file.
117382 2005-10-12  Simon Josefsson  <jas@extundo.com>
117384         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
117386         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
117388 2005-10-12  Simon Josefsson  <jas@extundo.com>
117390         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
117391         suggested by Bruno Haible <bruno@clisp.org>.
117393 2005-10-12  Simon Josefsson  <jas@extundo.com>
117395         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
117397 2005-10-12  Simon Josefsson  <jas@extundo.com>
117399         * lib/gc-pbkdf2-sha1.c: New file.
117401         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
117403 2005-10-12  Simon Josefsson  <jas@extundo.com>
117405         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
117407         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
117409 2005-10-12  Simon Josefsson  <jas@extundo.com>
117411         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
117412         GC_USE_HMAC_MD5, respectively.
117414         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
117415         (gc_md5): Fix typo.
117417         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
117419         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
117421         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
117423 2005-10-12  Bruno Haible  <bruno@clisp.org>
117425         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
117426         Reported by Stepan Kasal <kasal@ucw.cz>.
117428 2005-10-11  Simon Josefsson  <jas@extundo.com>
117430         * tests/test-crc.c: New file.
117432         * modules/crc, modules/crc-tests: New files.
117434 2005-10-11  Simon Josefsson  <jas@extundo.com>
117436         * m4/crc.m4: New file.
117438 2005-10-11  Simon Josefsson  <jas@extundo.com>
117440         * lib/gc.h: Add gc_hash and gc_hash_buffer.
117442         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
117444         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
117446 2005-10-11  Simon Josefsson  <jas@extundo.com>
117448         * lib/crc.h, lib/crc.c: New files.
117450         * lib/gc.h (gc_hash_buffer): Add doc.
117452 2005-10-11  Bruno Haible  <bruno@clisp.org>
117454         * modules/c-strcasestr: New file.
117455         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
117457 2005-10-11  Bruno Haible  <bruno@clisp.org>
117459         * modules/c-strcase: New file.
117460         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
117462 2005-10-11  Bruno Haible  <bruno@clisp.org>
117464         * lib/strcasecmp.c: Include limits.h.
117465         (strcasecmp): Avoid integer overflow on exotic platforms.
117466         * lib/strncasecmp.c: Include limits.h.
117467         (strncasecmp): Avoid integer overflow on exotic platforms.
117468         Reported by Paul Eggert.
117470 2005-10-11  Bruno Haible  <bruno@clisp.org>
117472         * lib/c-strcasestr.h: New file, from GNU gettext.
117473         * lib/c-strcasestr.c: New file, from GNU gettext.
117475 2005-10-11  Bruno Haible  <bruno@clisp.org>
117477         * lib/c-strcase.h: New file, from GNU gettext.
117478         * lib/c-strcasecmp.c: New file, from GNU gettext.
117479         * lib/c-strncasecmp.c: New file, from GNU gettext.
117481 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
117483         * modules/mempcpy (License): GPL -> LGPL.
117484         * modules/strchrnul (License): Likewise.
117485         * modules/sysexits (License): Likewise.
117487 2005-10-08  Simon Josefsson  <jas@extundo.com>
117489         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
117491 2005-10-07  Simon Josefsson  <jas@extundo.com>
117493         * m4/memxor.m4: Remove gl_C_RESTRICT call.
117495 2005-10-06  Simon Josefsson  <jas@extundo.com>
117497         * tests/test-hmac-md5.c: New file.
117499         * modules/hmac-md5-tests: New file.
117501         * modules/hmac-md5: New file.
117503 2005-10-06  Simon Josefsson  <jas@extundo.com>
117505         * m4/hmac-md5.m4: New file.
117507         * m4/memxor.m4: Require gl_C_RESTRICT.
117509 2005-10-06  Simon Josefsson  <jas@extundo.com>
117511         * lib/memxor.c (memxor): Avoid casts and warnings.
117513 2005-10-06  Simon Josefsson  <jas@extundo.com>
117515         * lib/hmac-md5.c: New file.
117517         * lib/hmac.h: New file.
117519 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
117521         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
117522         promotes to int, not unsigned int, to catch the AIX 5.3
117523         compiler bug.
117525 2005-10-05  Simon Josefsson  <jas@extundo.com>
117527         * modules/memxor: New file.
117529         * modules/iconv (Files): Move config.rpath to havelib, it is used
117530         there.
117532         * modules/havelib (Files): Add config.rpath.
117534 2005-10-05  Simon Josefsson  <jas@extundo.com>
117536         * m4/memxor.m4: New file.
117538 2005-10-05  Simon Josefsson  <jas@extundo.com>
117540         * lib/memxor.c (memxor): Fix compiler error.
117542         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
117543         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
117545         * lib/memxor.h, lib/memxor.c: New files.
117547         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
117548         we assume all systems have it, suggested by Jim Meyering
117549         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
117550         any systems lack sys/socket.h; mingw32 is known to lack it, but we
117551         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
117552         same reasons.
117554 2005-10-05  Simon Josefsson  <jas@extundo.com>
117556         * config/srclist.txt: Add glibc bug 1423 for md5.h.
117558 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
117560         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
117561         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
117562         needed, since the source code now assumes these .h files.
117564 2005-10-05  Derek Price  <derek@ximbiot.com>
117566         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
117568 2005-10-05  Bruno Haible  <bruno@clisp.org>
117570         * modules/stdint (License): Change to LGPL.
117572 2005-10-04  Simon Josefsson  <jas@extundo.com>
117574         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
117575         D. Baushke" <mdb@gnu.org>.
117577 2005-10-04  Bruno Haible  <bruno@clisp.org>
117579         * lib/verify.h (verify_true): Provide alternative definition for C++.
117581 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
117583         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
117584         (SSIZE_MAX): New macro, if not already defined.
117585         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
117586         than 2 GiB.
117588 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
117590         Sync from coreutils.
117591         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
117592         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
117593         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
117594         ULLONG_MAX doesn't work with 2.7.2.1.
117596 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
117598         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
117599         From Ben Pfaff.
117601         * modules/exclude (Depends-on): Depend on verify.
117602         * modules/strtoimax (Depends-on): Likewise.
117603         * modules/utimecmp (Depends-on): Likewise.
117605 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
117607         * lib/exclude.c: Include verify.h.
117608         (verify): Remove.  All callers changed to use verify.h's version.
117609         * lib/strtoimax.c: Likewise.
117610         * lib/utimecmp.c: Likewis.e
117612         Sync from coreutils.
117613         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
117614         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
117615         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
117616         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
117617         bother returning ENOSYS if settimeofday or stime fails; just let
117618         them return whatever errno they want to return.
117619         * lib/utimens.c: Include unistd.h, for dup2.
117620         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
117621         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
117623 2005-10-02  Jim Meyering  <jim@meyering.net>
117625         Sync from coreutils.
117626         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
117627         from glibc-2.2.5 that fails for read-only files.
117629 2005-10-02  Jim Meyering  <jim@meyering.net>
117631         Sync from coreutils.
117632         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
117633         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
117634         `#if HAVE_CONFIG_H'.
117635         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
117636         Remove AT_FDCWD test.
117637         Do not consume the fd unless successful.
117638         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
117639         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
117640         block, so that we don't even try to compile it if settimeofday is
117641         available.  This works around a compilation failure on OSF1 V5.1,
117642         due to stime requiring a `long int*' while tv_sec is `int'.
117644 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
117646         Sync from coreutils.
117647         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
117648         against `yes', rather than just testing for nonempty.
117650 2005-10-01  Simon Josefsson  <jas@extundo.com>
117652         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
117653         and Darwin.
117655         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
117656         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
117657         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
117658         freeaddrinfo and gai_strerror are declared by the POSIX headers.
117659         Check if struct addrinfo is declared.
117661 2005-10-01  Simon Josefsson  <jas@extundo.com>
117663         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
117664         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
117665         AI_* and EAI_* definitions.  Protect function declarations.
117667 2005-10-01  Jim Meyering  <jim@meyering.net>
117669         Sync from coreutils.
117671         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
117672         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
117673         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
117674         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
117675         in the inet and nsl libraries.  Required on Solaris 5.7.
117677 2005-10-01  Jim Meyering  <jim@meyering.net>
117679         Sync from coreutils.
117680         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
117681         in the inet and nsl libraries.  Required on Solaris 5.7.
117683 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
117685         * lib/getdelim.c (getdelim): Remove unused variables.
117687 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
117689         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
117690         so that the code works even with ancient cpp.  Portability problem
117691         with GCC 2.7.2.1 reported by Thomas M.Ott.
117693 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
117695         * modules/regex (Depends-on): Add strcase.
117697         * modules/gethostname (Licence): Change from GPL to LGPL, since
117698         gethostname.c is a trivial implementation of a standard library
117699         function.
117700         * modules/poll (License): Change from GPL to LGPL, since it's
117701         derived from LGPL code.
117703 2005-09-27  Jim Meyering  <jim@meyering.net>
117705         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
117706         HAVE_CONFIG_H.
117708         * lib/intprops.h (signed_type_or_expr__): Define.
117709         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
117710         for unsigned types.
117712 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
117714         * lib/verify.h (verify_expr): Remove, replacing with:
117715         (verify_true): New macro that returns true instead of void.
117716         (verify_type__): Remove.
117717         (verify): Use verify_true rather than verify_type__.
117719 2005-09-26  Bruno Haible  <bruno@clisp.org>
117721         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
117722         is necessary.
117723         (lib_SOURCES): Remove mbchar.c.
117724         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
117725         (Files): Add m4/mbrtowc.m4.
117726         * modules/mbiter: Likewise.
117727         * modules/mbuiter: Likewise.
117729 2005-09-26  Bruno Haible  <bruno@clisp.org>
117731         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
117732         compile mbchar.c if they are not both present.
117733         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
117734         * m4/mbiter.m4 (gl_MBITER): Likewise.
117735         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
117736         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
117737         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
117739 2005-09-25  Jim Meyering  <jim@meyering.net>
117741         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
117742         also uses socklen_t.
117744 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
117746         * lib/utimens.c (ENOSYS): Define if not already defined.
117747         (futimens): Support having a null PATH if the file descriptor
117748         is nonnegative.
117750         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
117751         Remove.
117752         (__attribute): Define to empty unless GCC 3.1 or later.
117753         This works around a core dump on OpenBSD 3.4, which has GCC
117754         2.95.3, which dumps core when given __attribute__(()).  It also
117755         simplifies other tests, since we really don't want to bother with
117756         worrying about which ancient version of GCC supported what.
117757         Original problem reported by Yoann Vandoorselaere, with part of
117758         the fix suggested by Derek Price.
117760 2005-09-24  Jim Meyering  <jim@meyering.net>
117762         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
117763         so we can once again use a positive bitfield width of 1 -- now we
117764         don't have to explain why we were using a bitfield width of 2.
117766 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
117768         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
117769         and similarly for the other external symbols.  Problem reported
117770         by James Gallager.
117772         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
117773         bug reported by Jim Meyering.
117775         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
117776         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
117777         not needed, since socklen is a prerequisite module.
117779 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
117781         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
117782         Problem reported by Eric Blake.
117783         (getaddrinfo): Initialize se so that it's not garbage.
117784         Redo internal storage allocation so that it doesn't make unportable
117785         assumptions about alignment.
117786         Fix a memory leak.
117788         * lib/utimens.c (futimens): Use futimesat if available.
117789         Prefer it to futimes since it doesn't have the futimes bug.
117791         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
117792         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
117793         Instead, declare a function that returns a pointer to an array,
117794         and use verify_type__ to declare the size of the array.
117795         Problem and germ of a solution reported by Bruno Haible.
117796         (verify_type__): Use 2, not 1, for bitfield size, to avoid
117797         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
117799 2005-09-23  Jim Meyering  <jim@meyering.net>
117801         Sync from coreutils.
117802         Correct build failure (socklen_t not defined) on at least
117803         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
117804         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
117806 2005-09-23  Jim Meyering  <jim@meyering.net>
117808         * modules/getaddrinfo (Depends-on): Add socklen.
117810 2005-09-23  Bruno Haible  <bruno@clisp.org>
117812         * tests/test-verify.c: New file.
117814 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
117816         Sync from coreutils.
117818         * modules/argmatch (Depends-on): Add verify.
117819         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
117820         unistd-safer.
117821         * modules/save-cwd (Depends-on): Likewise.
117823         * modules/openat (Files): Add lib/openat-die.c.
117824         (Depends-on): Remove error, exitfail.
117825         Add dirname.
117827         * modules/verify: New file.
117828         * MODULES.html.sh (Diagnostics <assert.h>): New section,
117829         with "verify" module.
117831 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
117833         Sync from coreutils.
117835         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
117836         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
117837         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
117838         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
117839         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
117840         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
117841         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
117842         Don't bother checking for string.h, stdlib.h, unistd.h.
117843         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
117844         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
117845         module's job.
117846         * m4/jm-macros.m4 (gl_MACROS): Likewise.
117847         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
117849         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
117850         (gl_GETDATE): Use it.
117852         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
117854 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
117856         Sync from coreutils.
117858         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
117859         stat-time.h.
117860         * lib/argmatch.h: Include verify.h
117861         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
117862         (ARGMATCH_ASSERT): Remove; unused.
117863         * lib/canonicalize.c: Assume STDC_HEADERS.
117864         * lib/exclude.c: Include "strcase.h".
117865         * lib/regex_internal.h [!defined _LIBC]: Likewise.
117866         * lib/getusershell.c: Include stdio--.h rather than stdio.h
117867         and stdio-safer.h.
117868         (getusershell): Call fopen, not fopen_safer.
117869         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
117870         Do not include unistd-safer.h.
117871         (save_cwd): Don't call fd_safer; no longer needed
117872         now that we include fcntl--.h.
117874         * lib/getdate.y (relative_time): New type.
117875         (RELATIVE_TIME_0): New constant.
117876         (parser_control): Use relative_time instead of doing it ourselves.
117877         (%union): Add new relative_time rel member.
117878         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
117879         Now typeless.
117880         (relunit, relunit_snumber): Now of type rel.
117881         (zone, rel, relunit, get_date): Adjust to above changes.
117883         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
117884         Do not include unistd-safer.h.
117885         (getloadavg): Don't call fd_safer; no longer needed
117886         now that we include fcntl--.h.
117888         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
117889         (make_dir_parents): Treat ENOSYS like EEXIST.
117891         Improve quality of diagnostics on restore_cwd failure.
117892         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
117893         (make_dir_parents): Last arg is now int * (for errno), not bool *.
117894         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
117895         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
117896         each time through the loop.  Do not diagnose restore_cwd failure;
117897         that is the caller's job (and perhaps the caller does not care).
117899         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
117900         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
117901         If the file already exists but is not a directory, don't bother
117902         to try to make its parents.
117903         Close potential file descriptor leak if we can't chdir("/") (!).
117904         Don't always return true if chdir($PWD) fails; return true only
117905         if the requested action was done successfully (except for the
117906         chdir($PWD)).
117907         Don't log final directory unless we actually made it.
117908         Refactor to avoid duplicate code to fix up permissions.
117909         Don't attempt to fix up parent permissions if chdir($PWD) fails.
117911         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
117912         to make it a bit faster and (I hope) clearer.
117913         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
117914         Fix bug in formats like %2N.
117916         * lib/verify.h: New file.
117918 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
117920         Sync from coreutils.
117921         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
117923 2005-09-22  Jim Meyering  <jim@meyering.net>
117925         Sync from coreutils.
117927         * m4/lstat.m4 (gl_FUNC_LSTAT):
117928         Use AC_LIBSOURCES to require lstat.c and lstat.h.
117929         Remove obsolete comment.
117930         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
117931         * m4/xstrtod.m4: Likewise.
117933         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
117935 2005-09-22  Jim Meyering  <jim@meyering.net>
117937         Sync from coreutils.
117939         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
117941         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
117942         the .tm_year member, since otherwise gcc-4.0 would now warn about
117943         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
117945         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
117946         order to avoid an unsuppressible warning from gcc on 64-bit systems.
117948         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
117949         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
117950         when run in a time zone for which daylight savings time is in effect
117951         for the starting date.
117953         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
117954         stop us from restricting permissions of just-created absolute-named
117955         directories.
117956         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
117957         to restore initial working directory.
117958         * lib/mkdir-p.c (make_dir_parents): New parameter:
117959         different_working_dir, to tell caller if/when we change the working
117960         directory and are unable to return to the initial one.
117961         * lib/mkdir-p.h (make_dir_parents): Update prototype.
117962         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
117963         `return false'.  This fixes a bug introduced on 2004-07-30.
117965         * lib/openat.c (fdopendir): Be sure to close the supplied
117966         file descriptor before returning.  This makes our replacement
117967         implementation a little closer to Solaris's, where fdopendir
117968         ties the file descriptor to the returned DIR* pointer.
117969         * lib/openat.c (unlinkat): New function.
117970         * lib/openat.h (unlinkat): Add prototype.
117971         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
117972         (openat_restore_fail): Rename from openat_restore_die.
117973         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
117975         Provide an alternative to exiting immediately upon save_cwd or
117976         restore_cwd failure.  Now, an application can arrange e.g.,
117977         to perform a longjump in that case.
117978         * lib/openat.c: Include dirname.h.
117979         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
117980         (rpl_openat, fdopendir, fstatat): Call openat_save_die
117981         and openat_restore_die rather than calling error directly.
117982         Don't include "error.h" or "exitfail.h"; they're no longer needed.
117984         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
117985         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
117986         define.
117988         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
117989         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
117990                             int utc, int nanoseconds);
117991         Background:
117992         date should not have to allocate a megabyte of virtual memory to
117993         handle a format argument like +%1048575T.  When implemented with
117994         strftime, it must allocate such a buffer, use strftime to fill it
117995         in, print it, then free it.
117996         With fprintftime, it simply prints everything and exits.
117997         With no need for memory allocation, that's one fewer way to fail.
117998         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
117999         optional field width, not before, so we accept %9:z, not %:9z.
118000         (my_strftime): Be sure to use L_('x') for literals.
118002         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
118003         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
118004         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
118005         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
118006         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
118007         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
118008         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
118009         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
118010         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
118011         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
118012         * lib/xgethostname.c, lib/xreadlink.c:
118013         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
118015         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
118016         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
118017         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
118018         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
118019         and don't include <sys/file.h>).
118021 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
118023         Sync from coreutils.
118025         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
118026         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
118027         [!LDAV_DONE]: Avoid unused variable warning.
118029 2005-09-21  Bruno Haible  <bruno@clisp.org>
118031         * lib/unicodeio.h (unicode_to_mb): New declaration.
118033 2005-09-20  Derek Price  <derek@ximbiot.com>
118035         * lib/getaddrinfo.c: Don't include <netdb.h> included from
118036         getaddrinfo.h.
118038 2005-09-20  Bruno Haible  <bruno@clisp.org>
118040         * gnulib-tool: Remove trailing slashes from the values specified for
118041         --source-base, --m4-base, --tests-base, --aux-dir.
118042         Suggested by Simon Josefsson <jas@extundo.com>.
118044 2005-09-20  Bruno Haible  <bruno@clisp.org>
118046         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
118047         func_modules_to_filelist, func_import, func_create_testdir): Make all
118048         sorting results locale-independent, so that gnulib-cache.m4 doesn't
118049         change when gnulib-tool is invoked in a different locale.
118051 2005-09-19  Simon Josefsson  <jas@extundo.com>
118053         * m4/socklen.m4: Fix typo.
118055 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118057         Use a consistent style for including <config.h>.
118058         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
118059         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
118060         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
118061         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
118062         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
118063         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
118064         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
118065         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
118066         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
118067         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
118068         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
118069         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
118070         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
118071         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
118072         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
118073         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
118074         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
118075         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
118076         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
118077         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
118078         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
118079         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
118080         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
118081         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
118082         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
118083         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
118084         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
118085         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
118086         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
118087         lib/xstrtoumax.c, lib/yesno.c:
118088         Standardize inclusion of config.h.
118089         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
118090         lib/inttostr.h:  Removed inclusion of config.h from header files.
118091         * lib/inttostr.c:  Adjusted in-tree users.
118092         * lib/timespec.h: Remove superfluous warning to include config.h.
118093         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
118094         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
118095         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
118096         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
118097         config.h with HAVE_CONFIG_H.
118099 2005-09-19  Jim Meyering  <jim@meyering.net>
118101         * modules/pathmax (License): Change to LGPL.
118103 2005-09-19  Derek Price  <derek@ximbiot.com>
118105         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
118107 2005-09-19  Bruno Haible  <bruno@clisp.org>
118109         * gnulib-tool (import): Provide default for --tests-base.
118111 2005-09-19  Bruno Haible  <bruno@clisp.org>
118113         * doc/quote.texi: New file, extracted from gnulib.texi.
118114         * doc/ctime.texi: New file, extracted from gnulib.texi.
118115         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
118116         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
118117         * doc/gnulib.texi: Include them.
118119 2005-09-18  Bruno Haible  <bruno@clisp.org>
118121         Portability fix.
118122         * gnulib-tool (func_readlink): New function.
118123         (func_ln_if_changed): Use it.
118125 2005-09-18  Bruno Haible  <bruno@clisp.org>
118127         * gnulib-tool: Support --with-tests also with --import.
118128         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
118129         (func_import): Use variables $testsbase and $inctests. Emit a
118130         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
118131         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
118132         SUBDIRS += $testsdir.
118133         (func_create_testdir): Update.
118135 2005-09-18  Bruno Haible  <bruno@clisp.org>
118137         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
118138         instead of $dry_run.
118139         (func_cp_if_changed, func_mv_if_changed): Remove functions.
118140         (func_ln_if_changed): Don't handle dry-run here.
118141         (func_import): In dry-run mode, detect more precisely which actions
118142         would be performed, and don't use "...ing" verbs.
118144 2005-09-18  Bruno Haible  <bruno@clisp.org>
118146         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
118147         (func_import): Use join on two temporary files instead of three nested
118148         loops, in order to determine which files are new or old.
118150 2005-09-18  Bruno Haible  <bruno@clisp.org>
118152         * gnulib-tool (func_import): Comment out code that spits out the
118153         new files with --dry-run.
118155 2005-09-18  Bruno Haible  <bruno@clisp.org>
118157         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
118159 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
118161         * lib/stat-time.h: New file.
118162         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
118163         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
118164         in a different way.
118165         (timespec_cmp): New function.
118166         * lib/utimecmp.c: Include stat-time.h.
118167         (SYSCALL_RESOLUTION): Depend on whether various struct stat
118168         members exist, not on the obsolescent ST_MTIM_NSEC.
118169         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
118171 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
118173         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
118175 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
118177         * MODULES.html.sh (File system functions): Add stat-time.
118178         * modules/stat-time: New file.
118179         * modules/timespec (Files): Remove m4/st_mtim.m4; this
118180         is now done in a different way, by the stat-time module.
118181         * modules/utimecmp (Depends-on): Add stat-time.
118183 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
118185         * m4/st_mtim.m4: Remove.  Superseded by...
118186         * m4/stat-time.m4: New file.
118187         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
118188         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
118190 2005-09-15  Derek Price  <derek@ximbiot.com>
118192         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
118194 2005-09-15  Derek Price  <derek@ximbiot.com>
118196         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
118197         * lib/regex_internal.c: Ditto, using this...
118198         (__GNUC_PREREQ): ...new macro.
118199         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
118200         using...
118201         (__GNUC_PREREQ): ...this new macro.
118203         * lib/strstr.h: Include string.h. Define strstr as a macro here.
118205 2005-09-15  Derek Price  <derek@ximbiot.com>
118206             Paul Eggert  <eggert@cs.ucla.edu>
118208         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
118209         changes, consolidating in...
118210         * lib/regex_internal.h: ...this file.
118212 2005-09-13  Jim Meyering  <jim@meyering.net>
118214         * lib/canon-host.c: Filter through gnu indent and reword comments
118215         slightly.
118216         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
118218 2005-09-13  Derek Price  <derek@ximbiot.com>
118220         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
118221         failure.
118222         Reported by Jim Meyering  <jim@meyering.net>.
118224 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118226         * lib/base64.c: Typo.
118227         (base64_encode): Put b64str in initialized data section.
118229 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
118231         Merge glibc and coreutils changes into gnulib, plus a few
118232         extra fixes.
118233         * lib/md5.c: Use #error rather than a string.
118234         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
118235         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
118236         (__attribute__): Define to empty for non recent-GCC.
118237         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
118238         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
118239         Renamed from their non-__ counterparts, with new macros replacing
118240         them if not _LIBC.  Add __THROW attribute.
118241         (rol): Remove.
118242         (struct md5_ctx): Align buffer if using GCC.
118243         * lib/sha1.h (struct sha1_ctx): Likewise.
118244         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
118245         The old name was backwards.
118246         (NOTSWAP): Remove; not used.
118247         (rol): New macro, moved here from md5.h.
118248         (sha1_process_block): Remove a FIXME that doesn't make sense.
118250 2005-09-12  Derek Price  <derek@ximbiot.com>
118252         Return usable errors from canon-host.
118253         * lib/canon-host.h: New file.
118254         * lib/canon-host.c (canon_host): Wrap...
118255         (canon_host_r): ...this new function, which now relies exclusively on
118256         getaddrinfo.
118257         (ch_strerror): New function.
118258         (last_cherror): New global.
118259         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
118260         interface.
118261         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
118262         void *.
118263         (freeaddrinfo): Free ai->ai_canonname when set.
118265 2005-09-12  Derek Price  <derek@ximbiot.com>
118267         Make canon-host require getaddrinfo.
118268         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
118269         AC_LIBSOURCE canon-host.h.  Call...
118270         (gl_PREREQ_CANON_HOST): ...this new function, which requires
118271         gl_GETADDRINFO.
118272         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
118274 2005-09-12  Derek Price  <derek@ximbiot.com>
118276         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
118277         LGPL.
118278         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
118280 2005-09-12  Derek Price  <derek@ximbiot.com>
118282         * lib/gai_strerror.c: Include config.h when available.  Include
118283         getaddrinfo.h before other headers to test interface.
118284         Reported by Larry Jones <lawrence.jones@ugs.com>.
118286 2005-09-12  Derek Price  <derek@ximbiot.com>
118287             Paul Eggert  <eggert@cs.ucla.edu>
118289         * modules/glob (Files): Add glob-libc.h.
118291 2005-09-12  Derek Price  <derek@ximbiot.com>
118292             Paul Eggert  <eggert@cs.ucla.edu>
118294         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
118295         glob_.h, glob-libc.h.
118296         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
118298 2005-09-12  Derek Price  <derek@ximbiot.com>
118299             Paul Eggert  <eggert@cs.ucla.edu>
118301         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
118302         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
118303         protecting things that should be done only in gnulib contexts.
118304         * lib/glob_.h: New file, containing only the glob things needed for
118305         gnulib.
118306         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
118307         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
118308         (glob, globfree, glob_pattern_p): Now defined simply in terms of
118309         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
118310         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
118311         and to respect the namespace rules better.
118313 2005-09-08  Simon Josefsson  <jas@extundo.com>
118315         * modules/socklen: New file.
118317 2005-09-08  Simon Josefsson  <jas@extundo.com>
118319         * m4/socklen.m4: New file.
118321 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
118323         * modules/utimens (Files): Add m4/utimbuf.m4, since
118324         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
118325         Reported by Sergey Poznyakoff.
118327 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
118329         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
118330         definitions, since that's the preferred style in glibc.
118331         Fix a minor spacing issue, and update copyright notice to match
118332         glibc's.
118334 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
118336         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
118338 2005-09-06  Simon Josefsson  <jas@extundo.com>
118340         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
118341         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
118343 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
118345         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
118346         warning.
118348 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
118350         * config/srclist.txt: Add glibc bug 1302.
118352 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
118354         Change bitset word type from unsigned int to unsigned long int,
118355         as this has better performance on typical 64-bit hosts.
118356         Port bitset code to hosts with unusual word sizes.
118357         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
118358         (build_collating_symbol):
118359         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
118360         argument is a bitset.  This is merely a style issue, but it makes
118361         it clearer that an entire array is expected.
118362         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
118363         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
118364         Port to the case where bitset_word is not the same as unsigned int.
118365         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
118366         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
118367         Likewise.
118368         * lib/regexec.c (check_dst_limits_calc_pos_1,
118369         check_subexp_matching_top):
118370         (build_trtable, group_nodes_into_DFAstates):
118371         Likewise.
118372         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
118373         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
118374         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
118375         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
118376         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
118377         * lib/regcomp.c (optimize_subexps, lower_subexp):
118378         Work even if bitset_word has holes in its bitwise representation.
118379         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
118380         * lib/regexec.c (check_dst_limits_calc_pos_1,
118381         check_subexp_matching_top):
118382         Likewise.
118383         * lib/regex_internal.c (re_string_reconstruct):
118384         Don't assume UCHAR_MAX == 255.
118385         * lib/regex_internal.h (bitset_set_all): Likewise.
118386         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
118387         All uses changed.
118388         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
118389         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
118390         All uses changed.
118391         (BITSET_WORD_MAX): New macro.
118392         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
118393         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
118394         (bitset_empty, bitset_copy):
118395         Prefer sizeof (bitset) to multiplying it out ourselves.
118396         (bitset_not_merge): Remove; unused.
118397         (bitset_contain): Return bool, not unsigned int with one bit on.
118398         All callers changed.
118399         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
118400         alignment than re_node_set; do this by defining a new internal
118401         type struct dests_alloc and using it to allocate memory.
118403 2005-09-05  Bruno Haible  <bruno@clisp.org>
118405         * gnulib-tool (func_import): Fix comparison in handling of symbolic
118406         links.
118408 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
118410         * modules/size_max (Makefile.am): Add size_max.h
118412 2005-09-04  Derek Price  <derek@ximbiot.com>
118414         * gnulib-tool (func_import): Fix reversed $symbolic logic.
118416 2005-09-03  Simon Josefsson  <jas@extundo.com>
118418         * gnulib-tool: Fix typo.
118420 2005-09-03  Simon Josefsson  <jas@extundo.com>
118422         * config/srclist.txt: Add glibc bug 1293.
118424 2005-09-03  Derek Price  <derek@ximbiot.com>
118426         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
118427         From Larry Jones <lawrence.jones@ugs.com>.
118429 2005-09-02  Simon Josefsson  <jas@extundo.com>
118431         * modules/socklen: New file.
118433 2005-09-02  Simon Josefsson  <jas@extundo.com>
118435         * modules/havelib: New module.
118437         * modules/gettext, modules/iconv, modules/lock, modules/readline:
118438         Use havelib.
118440 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
118442         Check for arithmetic overflow when calculating sizes, to prevent
118443         some buffer-overflow issues.  These patches are conservative, in the
118444         sense that when I couldn't determine whether an overflow was possible,
118445         I inserted a run-time check.
118446         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
118447         macros.
118448         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
118449         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
118450         (re_xnrealloc, re_x2nrealloc): New inline functions.
118451         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
118452         parse_bracket_exp):
118453         (build_equiv_class, build_charclass): Check for arithmetic overflow
118454         in size expression calculations.
118455         * lib/regex_internal.c (re_string_realloc_buffers):
118456         (build_wcs_upper_buffer, re_node_set_add_intersect):
118457         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
118458         (re_dfa_add_node, register_state): Likewise.
118459         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
118460         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
118461         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
118462         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
118464 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
118466         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
118467         m4/ulonglong.m4.  Problem reported by Martin Lambers.
118469 2005-09-02  Bruno Haible  <bruno@clisp.org>
118471         Support for lib vs. lib64 distinction on biarch platforms.
118472         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
118473         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
118474         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
118476 2005-09-02  Bruno Haible  <bruno@clisp.org>
118478         * gnulib-tool (import): In the other first-use case, provide defaults
118479         as well.
118481 2005-09-02  Bruno Haible  <bruno@clisp.org>
118483         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
118484         patches not yet found in the latest gettext release.
118486 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
118488         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
118489         to avoid a collision with bits/local_lim.h in glibc.
118490         All uses changed.  Problem reported by Dmitry V. Levin in
118491         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
118493         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
118494         bugs in int versus size_t comparisons.
118495         (re_string_context_at): Fix bug where the code assumed that
118496         Idx is signed.
118498         Use bool where appropriate.
118499         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
118500         All callers changed.
118501         (calc_eclosure_iter): Likewise, for ROOT arg.
118502         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
118503         (build_charclass_op): Likewise, for NON_MATCH arg.
118504         * lib/regex_internal.c (re_string_allocate, re_string_construct):
118505         (re_string_construct_common): Likewise, for ICASE arg.
118506         * lib/regexec.c (re_search_2_stub, re_search_stub):
118507         Likewise, for RET_LEN arg.
118508         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
118509         (set_regs): Likewise, for FL_BACKTRACK arg.
118510         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
118511         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
118512         (calc_eclosure_iter, parse_bracket_exp):
118513         Use bool for internal variables that are booleans.
118514         * lib/regexec.c (re_search_internal, check_matching,
118515         proceed_next_node):
118516         (set_regs, build_sifted_states, sift_states_bkref):
118517         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
118518         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
118519         (find_collation_sequence_value):
118520         Likewise.
118521         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
118522         (re_node_set_compare):
118523         Return bool, not int. All callers changed.
118524         * lib/regexec.c (check_halt_node_context, check_dst_limits):
118525         (build_trtable, check_node_accept): Likewise.
118526         * lib/regex_internal.h: Include stdbool.h.
118528         Fix bugs uncovered when converting to bool.
118529         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
118530         failure instead of charging ahead blindly.
118531         * lib/regex_internal.c (register_state): Likewise.
118532         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
118533         for freeing internal storage.
118534         (group_nodes_into_DFA_states): Use unsigned int, not int, for
118535         bitset pieces used as boolean, to avoid undefined behavior
118536         on hosts that do int overflow checking.
118538 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
118540         * config/srclist.txt: Add glibc bugs 1285-1287.
118542 2005-09-01  Jim Meyering  <jim@meyering.net>
118544         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
118545         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
118546         Require gl_STAT_MACROS, too.
118548 2005-09-01  Bruno Haible  <bruno@clisp.org>
118550         * gnulib-tool (import): In the first-use case, provide defaults.
118552 2005-09-01  Bruno Haible  <bruno@clisp.org>
118554         * gnulib-tool (func_import): Remove the .tmp files.
118556 2005-09-01  Bruno Haible  <bruno@clisp.org>
118558         * gnulib-tool (func_import): Fix handling of symbolic links.
118560 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
118562         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
118563         old glibc regex code mishandles strings longer than 2**31 bytes.
118564         This patch fixes this when the regex code is used in gnulib
118565         (i.e., outside glibc).
118567         This patch should not affect the use of the regex code inside
118568         glibc.  No doubt this problem also needs to be handled for glibc
118569         as well, but the result will be an incompatible change to the
118570         glibc ABI, and the old ABI will have to be supported too.  That
118571         can be the subject for another patch.
118573         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
118574         governing whether the rest of this patch is active.  By default,
118575         the macro is disabled and the patch has no effect.
118576         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
118577         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
118578         (struct re_pattern_buffer, re_search, re_search_2, re_match):
118579         (re_match_2, re_set_registers): Use the new types.
118580         * lib/regex_internal.h (Idx, re_hashval_t): New types.
118581         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
118582         New macros.
118583         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
118584         (re_string_context_at, bin_tree_t, re_dfastate_t):
118585         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
118586         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
118587         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
118588         (re_string_char_size_at, re_string_wchar_at):
118589         (re_string_elem_size_at):
118590         Use the new types and macros to port to 64-bit hosts.
118591         Use unsigned types for internal values, so that the code
118592         mostly works even for arrays larger than SSIZE_MAX.
118593         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
118594         (search_duplicated_node, calc_eclosure_iter, fetch_number):
118595         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
118596         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
118597         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
118598         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
118599         (calc_inveclosure, parse_dup_op, build_range_exp):
118600         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
118601         (fetch_number, create_token_tree, mark_opt_subexp):
118602         Likewise.
118603         * lib/regex_internal.c (re_string_construct_common,
118604         create_ci_newstate):
118605         (create_cd_newstate, re_string_allocate, re_string_construct):
118606         (re_string_realloc_buffers, build_wcs_upper_buffer):
118607         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
118608         (re_string_reconstruct, re_string_peek_byte_case):
118609         (re_string_fetch_byte_case, re_string_context_at):
118610         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
118611         (re_node_set_init_copy, re_node_set_add_intersect):
118612         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
118613         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
118614         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
118615         (re_acquire_state, re_acquire_state_context, register_state):
118616         Likewise.
118617         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
118618         search_cur_bkref_entry):
118619         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
118620         (re_search_internal, re_search_2_stub, re_search_stub)
118621         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
118622         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
118623         (update_cur_sifted_state, check_dst_limits):
118624         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
118625         (check_subexp_limits, sift_states_bkref, merge_state_array):
118626         (check_subexp_matching_top, get_subexp, get_subexp_sub):
118627         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
118628         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
118629         (expand_bkref_cache, check_node_accept_bytes):
118630         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
118631         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
118632         (acquire_init_state_context, check_halt_node_context):
118633         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
118634         (sift_states_backward, clean_state_log_if_needed):
118635         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
118636         (find_recover_state, transit_state_sb, transit_state_mb):
118637         (transit_state_bkref, build_trtable, match_ctx_clean):
118638         Likewise.
118639         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
118640         to work around an assumption that REG_MISSING is negative.
118642         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
118643         (seek_collating_symbol_entry) [defined _LIBC]:
118644         (lookup_collation_sequence_value) [defined _LIBC]:
118645         (build_range_exp, build_collating_symbol) [defined _LIBC]:
118646         Use prototypes rather than old-style function definitions.
118647         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
118648         (transit_state_sb) [0]:
118649         (find_collation_sequence_value) [defined _LIBC]: Likewise.
118651         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
118652         rm_eo.
118654         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
118655         (optimize_subexps, lower_subexp):
118656         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
118657         since the signed shift might overflow.  Use 1u<<31 instead.
118658         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
118659         Likewise.
118660         * lib/regexec.c (check_dst_limits_calc_pos_1,
118661         check_subexp_matching_top): Likewise.
118663         * lib/regcomp.c (optimize_subexps, lower_subexp):
118664         Use CHAR_BIT rather than 8, for clarity.
118665         * lib/regexec.c (check_dst_limits_calc_pos_1):
118666         (check_subexp_matching_top): Likewise.
118667         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
118668         have to worry about portability issues when shifting it left.
118669         Remove no-longer-needed test for table_size > 0.
118670         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
118671         in a word, as the resulting behavior is undefined.
118672         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
118673         in one case, a <= should have been an <, and in another case the
118674         whole test was missing.
118675         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
118676         the standard name CHAR_BIT.
118677         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
118678         this is not true on one's complement and signed-magnitude hosts.
118680         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
118681         next_last_offset.
118682         (struct re_dfa_t): Remove unused member states_alloc.
118683         * lib/regcomp.c (init_dfa): Don't initialize unused members.
118685 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
118687         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
118688         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
118689         and large-file glibc and in 32-bit large-file Solaris.
118691 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
118693         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
118694         lengths fit in regoff_t; this isn't true if regoff_t is the same
118695         width as size_t.
118696         * lib/regex.c (re_search_internal): 5th arg is LAST_START
118697         (= START + RANGE) instead of RANGE.  This avoids overflow
118698         problems when regoff_t is the same width as size_t.
118699         All callers changed.
118700         (re_search_2_stub): Check for overflow when adding the
118701         sizes of the two strings.
118702         (re_search_stub): Check for overflow when adding START
118703         to RANGE; if it occurs, substitute the extreme value.
118705 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
118707         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
118709 2005-08-31  Jim Meyering  <jim@meyering.net>
118711         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
118712         a pointer-to-const.
118713         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
118714         (register_state): Likewise.
118715         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
118716         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
118717         (group_nodes_into_DFAstates): Likewise.
118719 2005-08-31  Jim Meyering  <jim@meyering.net>
118721         * check-module: Add a FIXME comment.
118723 2005-08-31  Eric Blake  <ebb9@byu.net>
118725         * modules/unistd-safer (Files): Add unistd--.h.
118726         * modules/stdio-safer (Files): Add stdio--.h.
118728 2005-08-31  Derek Price  <derek@ximbiot.com>
118730         * lib/getdelim.c (getdelim): Return EOF on EOF.
118731         Reported by Larry Jones <lawrence.jones@ugs.com>.
118733 2005-08-31  Bruno Haible  <bruno@clisp.org>
118735         Avoid unnecessary diffs in the generated lib/Makefile.am.
118736         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
118737         the generated files.
118738         (func_import): Don't set cmd.
118740 2005-08-31  Bruno Haible  <bruno@clisp.org>
118742         * lib/strstr.c: Include <stddef.h>, for NULL.
118743         * lib/strcasestr.c: Likewise.
118744         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
118746 2005-08-31  Bruno Haible  <bruno@clisp.org>
118748         * gnulib-tool: New option --macro-prefix.
118749         (func_import): Use macro_prefix.
118750         (import): Handle option --macro-prefix.
118752 2005-08-31  Bruno Haible  <bruno@clisp.org>
118754         * gnulib-tool (import): Rename most ac_* variables to cached_*.
118755         Also use new variables cached_lgpl, cached_libtool.
118757 2005-08-31  Bruno Haible  <bruno@clisp.org>
118759         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
118760         always instantiating them.
118762 2005-08-31  Bruno Haible  <bruno@clisp.org>
118764         * gnulib-tool (func_import): Read the previous cached settings
118765         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
118766         earlier added by gnulib but are now dropped. Warn when a gnulib file
118767         overwrites a non-gnulib file.
118769 2005-08-31  Bruno Haible  <bruno@clisp.org>
118771         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
118772         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
118773         projects that don't keep autogenerated files in CVS. Put into
118774         actioncmd only the specified modules, not the transitive closure.
118776 2005-08-31  Bruno Haible  <bruno@clisp.org>
118778         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
118779         Create directories that shall be filled.
118780         (import): Don't look for gl_* macros in configure.ac. Recurse across
118781         all directories containing a gnulib-cache.m4 files, if meaningful.
118783 2005-08-31  Bruno Haible  <bruno@clisp.org>
118785         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
118786         (import): Set seen_libtool when we see gl_LIBTOOL.
118788 2005-08-31  Bruno Haible  <bruno@clisp.org>
118790         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
118791         declaration macro definitions from generated gnulib.m4.
118793 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
118795         * lib/iconvme.h: Add prototype for iconv_alloc.
118797 2005-08-29  Simon Josefsson  <jas@extundo.com>
118799         * lib/iconvme.c: Fix errno.
118801 2005-08-29  Bruno Haible  <bruno@clisp.org>
118803         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
118804         that it works when the directory contains spaces.
118806 2005-08-29  Bruno Haible  <bruno@clisp.org>
118808         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
118810 2005-08-29  Bruno Haible  <bruno@clisp.org>
118812         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
118813         Emit more advice.
118815 2005-08-29  Bruno Haible  <bruno@clisp.org>
118816         and Stepan Kasal  <kasal@ucw.cz>
118818         * check-module: If more parameters are given, check each of them
118819         separately; add more exceptions, as noted by Jim Meyering.
118820         (check_module): New procedure.
118821         (%exempt_header): Now contains all exceptions.
118823 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
118825         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
118827 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
118829         * lib/iconvme.c: Split iconv_string into iconv_alloc.
118831 2005-08-28  Bruno Haible  <bruno@clisp.org>
118833         * m4/gnulib-tool.m4: New file.
118835 2005-08-27  Jim Meyering  <jim@meyering.net>
118837         * modules/unistd-safer (Files): Add pipe-safer.c.
118838         * modules/fcntl-safer (Files): Add creat-safer.c.
118840 2005-08-27  Jim Meyering  <jim@meyering.net>
118842         * m4/stdlib-safer.m4: New file.  From coreutils.
118843         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
118844         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
118845         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
118846         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
118847         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
118849 2005-08-27  Jim Meyering  <jim@meyering.net>
118851         * lib/fopen-safer.c: Merge minor changes from coreutils.
118852         * lib/dup-safer.c: Likewise.
118853         * lib/fd-safer.c: Likewise.
118855         Merge from coreutils.
118856         * lib/stdio--.h: New file.
118857         * lib/stdlib--.h: New file.
118858         * lib/mkstemp-safer.c: New file.
118860         GNU tar needs these.
118861         * lib/pipe-safer.c: New file.
118862         * lib/creat-safer.c: New file.
118863         * lib/fcntl--.h (creat): Define to creat_safer.
118864         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
118865         * lib/unistd--.h (pipe): Define to pipe_safer.
118866         * lib/unistd-safer.h: Declare pipe_safer.
118868 2005-08-26  Simon Josefsson  <jas@extundo.com>
118870         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
118871         Haible <bruno@clisp.org>.
118873 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
118875         * lib/regex_internal.h: Remove all references to
118876         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
118877         or better.
118878         (bitset_not, bitset_merge, bitset_not_merge):
118879         (bitset_mask, re_string_allocate, re_string_construct):
118880         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
118881         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
118882         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
118883         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
118884         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
118885         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
118886         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
118887         (re_acquire_state_context):
118888         Remove unnecessary forward decls.
118889         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
118890         Put __attribute at function definition,
118891         now that the function decl has been removed.
118892         * lib/regex_internal.c (re_string_peek_byte_case):
118893         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
118894         Likewise.
118896 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
118898         * m4/regex.m4: Add AC_PREREQ(2.50).
118899         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
118901 2005-08-25  Simon Josefsson  <jas@extundo.com>
118903         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
118904         __fsetlocking.
118906 2005-08-25  Simon Josefsson  <jas@extundo.com>
118908         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
118909         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
118910         GLIBC specific code.
118912 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
118914         Make regex safe for g++.  This fixes one real bug (an "err"
118915         that should have been "*err").  g++ problem reported by
118916         Sam Steingold.
118917         * lib/regex_internal.h (re_calloc): New macro, consistent with
118918         re_malloc etc.  All callers of calloc changed to use re_calloc.
118919         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
118920         not int.  All callers changed.
118921         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
118922         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
118923         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
118924         (find_recover_state): Change "err" to "*err"; this fixes what
118925         appears to be a real bug.
118926         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
118927         versus int.
118929 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
118931         * modules/regex (Depends-on): Add malloc, since the code
118932         assumes that !malloc(0) means failure.
118934 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
118936         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
118938         alloca modernization/simplification for regex.
118939         * lib/regex.c: Remove portability cruft for alloca.  This no longer
118940         needs to be at the start of the file, and can be moved into
118941         regex_internal.h and simplified.
118942         * lib/regex_internal.h: Include <alloca.h>.
118943         (__libc_use_alloca) [!defined _LIBC]: New macro.
118944         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
118945         now works outside glibc.
118947 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
118949         * config/srclist.txt: Add glibc bugs 1241, 1245.
118951 2005-08-25  Jim Meyering  <jim@meyering.net>
118953         * lib/open-safer.c: Include <config.h>.
118954         Otherwise, we'd lose LARGEFILE support in any file using
118955         e.g. "fcntl--.h"
118957 2005-08-25  Bruno Haible  <bruno@clisp.org>
118959         * m4/minmax.m4: Require autoconf 2.52.
118960         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
118961         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
118962         alternatives of translit over the alphabet.
118963         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
118965 2005-08-24  Simon Josefsson  <jas@extundo.com>
118967         * tests/test-getpass.c: New file.
118969 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
118971         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
118972         for GNU regex features.
118974 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
118976         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
118977         * lib/regex.h (regerror): Likewise.
118979         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
118980         requires this.  (The code never needed it.)
118982         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
118983         All uses of recently-renamed identifiers changed to use the new,
118984         POSIX-compliant names.  The code will build and run just fine
118985         without these changes, but it's better to eat our own dog food
118986         and use the standard-conforming names.
118988         * lib/regex.h: Fix a multitude of POSIX name space violations.
118989         These changes have an effect only for programs that define
118990         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
118991         do not change anything for programs compiled in the normal way.
118992         Also, there is no effect on the ABI.
118994         (_REGEX_SOURCE): New macro.
118995         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
118996         defined and _GNU_SOURCE is not; this fixes a name space violation.
118998         Rename the following macros to obey POSIX requirements.
118999         The old names are still visible as macros if _REGEX_SOURCE is defined.
119000         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
119001         RE_BACKSLASH_ESCAPE_IN_LISTS.
119002         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
119003         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
119004         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
119005         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
119006         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
119007         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
119008         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
119009         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
119010         (REG_INTERVALS): renamed from RE_INTERVALS.
119011         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
119012         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
119013         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
119014         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
119015         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
119016         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
119017         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
119018         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
119019         RE_UNMATCHED_RIGHT_PAREN_ORD.
119020         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
119021         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
119022         (REG_DEBUG): renamed from RE_DEBUG.
119023         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
119024         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
119025         unusual, since we can't clash with the POSIX REG_ICASE.
119026         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
119027         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
119028         (REG_NO_SUB): renamed from RE_NO_SUB.
119029         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
119030         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
119031         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
119032         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
119033         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
119034         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
119035         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
119036         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
119037         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
119038         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
119039         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
119040         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
119041         RE_SYNTAX_POSIX_MINIMAL_BASIC.
119042         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
119043         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
119044         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
119045         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
119046         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
119047         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
119048         (REG_FIXED): Renamed from REGS_FIXED.
119049         (REG_NREGS): Renamed from RE_NREGS.
119051         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
119052         of other REG_* macros, since POSIX says the user is allowed to
119053         #undef these macros selectively.
119055         (reg_errcode_t): Update comment stating what other tables need
119056         to be consistent.
119058         Rename the following enum values to obey POSIX requirements.
119059         The old names are still visible as macros.
119060         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
119061         is not defined, since GNU is supposed to be a superset of POSIX as
119062         much as possible, and since we want reg_errcode_t to be a signed
119063         type for implementation consistency.
119064         (_REG_NOERROR): Renamed from REG_NOERROR.
119065         (_REG_NOMATCH): Renamed from REG_NOMATCH.
119066         (_REG_BADPAT): Renamed from REG_BADPAT.
119067         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
119068         (_REG_ECTYPE): Renamed from REG_ECTYPE.
119069         (_REG_EESCAPE): Renamed from REG_EESCAPE.
119070         (_REG_ESUBREG): Renamed from REG_ESUBREG.
119071         (_REG_EBRACK): Renamed from REG_EBRACK.
119072         (_REG_EPAREN): Renamed from REG_EPAREN.
119073         (_REG_EBRACE): Renamed from REG_EBRACE.
119074         (_REG_BADBR): Renamed from REG_BADBR.
119075         (_REG_ERANGE): Renamed from REG_ERANGE.
119076         (_REG_ESPACE): Renamed from REG_ESPACE.
119077         (_REG_BADRPT): Renamed from REG_BADRPT.
119078         (_REG_EEND): Renamed from REG_EEND.
119079         (_REG_ESIZE): Renamed from REG_ESIZE.
119080         (_REG_ERPAREN): Renamed from REG_ERPAREN.
119081         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
119082         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
119083         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
119084         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
119086         (_REG_RE_NAME, _REG_RM_NAME): New macros.
119087         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
119088         changed.  But support the old name if the new one is not defined
119089         and if _REGEX_SOURCE.
119091         Change the following member names in struct re_pattern_buffer.
119092         The old names are still supported if !_REGEX_SOURCE.
119093         The new names are always supported, regardless of _REGEX_SOURCE.
119094         (re_buffer): Renamed from buffer.
119095         (re_allocated): Renamed from allocated.
119096         (re_used): Renamed from used.
119097         (re_syntax): Renamed from syntax.
119098         (re_fastmap): Renamed from fastmap.
119099         (re_translate): Renamed from translate.
119100         (re_can_be_null): Renamed from can_be_null.
119101         (re_regs_allocated): Renamed from regs_allocated.
119102         (re_fastmap_accurate): Renamed from fastmap_accurate.
119103         (re_no_sub): Renamed from no_sub.
119104         (re_not_bol): Renamed from not_bol.
119105         (re_not_eol): Renamed from not_eol.
119106         (re_newline_anchor): Renamed from newline_anchor.
119108         Change the following member names in struct re_registers.
119109         The old names are still supported if !_REGEX_SOURCE.
119110         The new names are always supported, regardless of _REGEX_SOURCE.
119111         (rm_num_regs): Renamed from num_regs.
119112         (rm_start): Renamed from start.
119113         (rm_end): Renamed from end.
119115         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
119116         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
119117         Prepend __ to parameter names.
119119         Undo yesterday's changes.
119121 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
119123         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
119124         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
119125         lib/regex.c.
119127 2005-08-24  Jim Meyering  <jim@meyering.net>
119129         Sync from coreutils.
119130         * m4/fcntl-safer.m4: New file.
119132         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
119133         and object files for this module.
119135 2005-08-24  Jim Meyering  <jim@meyering.net>
119137         Sync from coreutils.
119138         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
119140 2005-08-24  Jim Meyering  <jim@meyering.net>
119142         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
119143         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
119145 2005-08-24  Jim Meyering  <jim@meyering.net>
119147         * modules/fcntl-safer: New module.
119148         * modules/fts (Depends-on): Add fcntl-safer.
119149         * MODULES.html.sh (File descriptor based Input/Output):
119150         Add fcntl-safer.
119152 2005-08-24  Bruno Haible  <bruno@clisp.org>
119154         Support for unit test modules.
119155         * modules/README: Mention tests modules.
119156         * modules/TEMPLATE-TESTS: New file.
119157         * gnulib-tool: New options --extract-tests-module, --with-tests and
119158         --tests-base (unused for the moment).
119159         (testsbase, inctests): New variables.
119160         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
119161         (func_verify_module): Exclude TEMPLATE-TESTS.
119162         (func_verify_nontests_module, func_verify_tests_module): New functions.
119163         (func_get_dependencies): Add implicit dependency for tests modules.
119164         (func_get_tests_module): New function.
119165         (func_modules_transitive_closure): When --with-tests was specified,
119166         include the unit tests as well, unless explicitly avoided.
119167         (func_emit_lib_Makefile_am): Ignore the tests modules here.
119168         (func_emit_tests_Makefile_am): New function.
119169         (func_create_testdir): When --with-tests was specified, emit a
119170         tests/ directory.
119171         * MODULES.html.sh (Future developments): Update.
119173 2005-08-24  Bruno Haible  <bruno@clisp.org>
119175         * modules/tls-tests: New file.
119176         * tests/test-tls.c: New file, from GNU gettext.
119178 2005-08-24  Bruno Haible  <bruno@clisp.org>
119180         * modules/lock-tests: New file.
119181         * tests/test-lock.c: New file, from GNU gettext.
119183 2005-08-24  Bruno Haible  <bruno@clisp.org>
119185         * lib/lock.h: Add multiple inclusion guard.
119186         * lib/tls.h: Add multiple inclusion guard.
119188 2005-08-24  Bruno Haible  <bruno@clisp.org>
119190         * gnulib-tool: Add support for the --aux-dir option to
119191         --create-testdir, --create-megatestdir, --test, --megatest.
119192         (func_create_testdir, func_create_megatestdir): Optionally emit a
119193         AC_CONFIG_AUX_DIR directive.
119194         (create-testdir, create-megatestdir, test, megatest): Provide a
119195         default value for $auxdir.
119197 2005-08-24  Bruno Haible  <bruno@clisp.org>
119199         * gnulib-tool (import): Use compound statement instead of subshell
119200         where possible.
119202 2005-08-24  Bruno Haible  <bruno@clisp.org>
119204         * gnulib-tool (import): Change --aux-dir default to "build-aux".
119206 2005-08-24  Bruno Haible  <bruno@clisp.org>
119208         * gnulib-tool (func_version): Update.
119210 2005-08-24  Bruno Haible  <bruno@clisp.org>
119212         * gnulib-tool (func_import, func_create_testdir,
119213         func_create_megatestdir): Quote all autoconf macro arguments.
119215 2005-08-24  Bruno Haible  <bruno@clisp.org>
119217         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
119218         option --force, because --force causes the aclocal.m4 of each
119219         subdirectory to be newer than the corresponding config.h.in.
119221 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
119223         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
119224         All contents moved to gl_REGEX.
119225         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
119226         assume that it does.
119228 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
119230         * lib/regex.h (REG_NOSYS)
119231         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
119232         Define, since POSIX requires it as of 2001.
119233         (_REG_ENOSYS)
119234         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
119235         New private symbol, used to keep the enum signed in all cases.
119236         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
119237         Youngman in
119238         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
119240         * lib/regex_internal.c (re_string_skip_chars, register_state):
119241         (calc_state_hash):
119242         Remove forward decls; no longer needed now that we use prototypes.
119243         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
119244         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
119245         (clean_state_log_if_needed): Likewise.
119247 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
119249         * config/srclist.txt: Add glibc bugs 1231-1233.
119251 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
119253         Fix problems reported by Sam Steingold in
119254         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
119255         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
119256         assumed that reg_errcode_t is a signed type, which is not
119257         necessarily true if _XOPEN_SOURCE is not defined.
119258         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
119259         since some compilers warn about it otherwise.
119261 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
119263         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
119264         (init_word_char, create_initial_state, duplicate_node_closure):
119265         (fetch_token, peek_token_bracket, build_range_exp):
119266         (build_collating_symbol): Remove forward decls; no longer needed
119267         now that we use prototypes.
119269         * lib/regcomp.c:
119270         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
119271         (re_compile_fastmap_iter, regcomp, regerror, regfree):
119272         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
119273         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
119274         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
119275         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
119276         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
119277         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
119278         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
119279         (build_range_exp, build_collating_symbol, parse_bracket_exp):
119280         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
119281         (build_charclass, build_charclass_op, fetch_number, create_tree):
119282         (create_token_tree, mark_opt_subexp, duplicate_tree):
119283         Use prototypes rather than old-style definitions.
119285         * lib/regex_internal.c:
119286         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
119287         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
119288         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
119289         (re_string_reconstruct, re_string_peek_byte_case):
119290         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
119291         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
119292         (re_node_set_init_copy, re_node_set_add_intersect):
119293         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
119294         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
119295         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
119296         (re_acquire_state, re_acquire_state_context, register_state):
119297         (create_ci_newstate, create_cd_newstate, free_state):
119298         Likewise.
119299         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
119300         re_search_2):
119301         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
119302         (re_search_internal, prune_impossible_nodes):
119303         (acquire_init_state_context, check_matching, static):
119304         (check_halt_node_context, check_halt_state_context, proceed_next_node):
119305         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
119306         (update_regs, sift_states_backward, build_sifted_states):
119307         (clean_state_log_if_needed, merge_state_array):
119308         (update_cur_sifted_state, add_epsilon_src_nodes):
119309         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
119310         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
119311         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
119312         (find_recover_state, check_subexp_matching_top, transit_state_mb):
119313         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
119314         (check_arrival, check_arrival_add_next_nodes):
119315         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
119316         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
119317         (check_node_accept_bytes, check_node_accept, extend_buffers):
119318         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
119319         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
119320         (sift_ctx_init):
119321         Likewise.
119323         * lib/regex_internal.h:
119324         (re_string_allocate, re_string_construct, re_string_reconstruct):
119325         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
119326         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
119327         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
119328         (re_string_context_at, re_string_peek_byte_case):
119329         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
119330         is defined, since we now use prototypes always.
119332         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
119333         C89 or better.  All uses removed.
119335 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
119337         * config/srclist.txt: Add glibc bugs 1220-1227.
119339 2005-08-20  Jim Meyering  <jim@meyering.net>
119341         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
119342         of unused local, dfa.
119344 2005-08-20  Bruno Haible  <bruno@clisp.org>
119346         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
119348 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
119350         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
119351         (re_node_set_insert_last, re_dfa_add_node):
119352         Rename local variables to avoid GCC shadowing warnings.
119354 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
119356         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
119357         [defined lint]: Suppress bogus uninitialized-variable warnings.
119359         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
119360         and let the caller return REG_ESPACE if out of space.  This
119361         removes an uninitialied-variable warning with GCC 4.0.1, and also
119362         avoids taking the address of a local variable.  All callers
119363         changed.
119365 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
119367         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
119368         $LIBCSRC/posix/regexec.c.
119369         Add glibc bug 1217 for regcomp.c.
119371 2005-08-19  Jim Meyering  <jim@meyering.net>
119373         * lib/regexec.c (proceed_next_node): Redo local variables to
119374         avoid GCC shadowing warnings.
119376 2005-08-18  Bruno Haible  <bruno@clisp.org>
119378         * lib/strstr.c (strstr): Fix return value in multibyte case.
119379         * lib/strcasestr.c (strcasestr): Likewise.
119381 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
119383         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
119385 2005-08-17  Jim Meyering  <jim@meyering.net>
119387         Make the %s format (seconds since the epoch) work for a negative
119388         number and when used with a zero-padded field width, e.g. %015s.
119390         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
119391         label so that it precedes the code to set `digits'.  Otherwise,
119392         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
119393         print `00-22'.  Now, it prints `-0022', as it should.
119395 2005-08-17  Bruno Haible  <bruno@clisp.org>
119397         * modules/strstr (Files): Add m4/mbrtowc.m4.
119398         (Depends-on): Add mbuiter.
119400 2005-08-17  Bruno Haible  <bruno@clisp.org>
119402         * modules/strcasestr: New file.
119403         * MODULES.html.sh (String handling, based on ANSI C 89): Add
119404         strcasestr.
119406 2005-08-17  Bruno Haible  <bruno@clisp.org>
119408         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
119410 2005-08-17  Bruno Haible  <bruno@clisp.org>
119412         * modules/mbuiter: New file.
119413         * MODULES.html.sh (Extended multibyte and wide character utilities):
119414         Add mbuiter.
119416 2005-08-17  Bruno Haible  <bruno@clisp.org>
119418         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
119419         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
119421 2005-08-17  Bruno Haible  <bruno@clisp.org>
119423         * m4/strcasestr.m4: New file.
119425 2005-08-17  Bruno Haible  <bruno@clisp.org>
119427         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
119428         * lib/strstr.c: Completely rewritten, with multibyte locale support.
119430 2005-08-17  Bruno Haible  <bruno@clisp.org>
119432         * lib/strcasestr.h: New file.
119433         * lib/strcasestr.c: New file.
119435 2005-08-17  Bruno Haible  <bruno@clisp.org>
119437         * lib/strcasecmp.c: Use mbuiter.h.
119439 2005-08-17  Bruno Haible  <bruno@clisp.org>
119441         * lib/mbuiter.h: New file.
119443 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
119445         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
119446         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
119447         and gl_GETOPT are both invoked via different paths (as happens
119448         with GNU tar CVS because it uses both argp and getopt), the former
119449         wins.
119451 2005-08-16  Bruno Haible  <bruno@clisp.org>
119453         * modules/tls: New file.
119454         * MODULES.html.sh (Multithreading): Add tls.
119456 2005-08-16  Bruno Haible  <bruno@clisp.org>
119458         * modules/strnlen1: New file.
119459         * MODULES.html.sh (String handling): Add strnlen1.
119461 2005-08-16  Bruno Haible  <bruno@clisp.org>
119463         * modules/strcase (Files): Add m4/mbrtowc.m4.
119464         (Depends-on): Add strnlen1, mbchar.
119466 2005-08-16  Bruno Haible  <bruno@clisp.org>
119468         * modules/mbiter: New file.
119469         * MODULES.html.sh (Extended multibyte and wide character utilities):
119470         Add mbiter.
119472 2005-08-16  Bruno Haible  <bruno@clisp.org>
119474         * modules/mbfile: New file.
119475         * MODULES.html.sh (Extended multibyte and wide character utilities):
119476         Add mbfile.
119478 2005-08-16  Bruno Haible  <bruno@clisp.org>
119480         * modules/mbchar: New file.
119481         * MODULES.html.sh (Extended multibyte and wide character utilities):
119482         New section.
119484 2005-08-16  Bruno Haible  <bruno@clisp.org>
119486         * m4/tls.m4: New file, from GNU gettext.
119488 2005-08-16  Bruno Haible  <bruno@clisp.org>
119490         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
119491         always.
119492         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
119494 2005-08-16  Bruno Haible  <bruno@clisp.org>
119496         * m4/mbiter.m4: New file.
119498 2005-08-16  Bruno Haible  <bruno@clisp.org>
119500         * m4/mbfile.m4: New file.
119502 2005-08-16  Bruno Haible  <bruno@clisp.org>
119504         * m4/mbchar.m4: New file.
119506 2005-08-16  Bruno Haible  <bruno@clisp.org>
119508         * lib/tls.h: New file, from GNU gettext.
119509         * lib/tls.c: New file, from GNU gettext.
119511 2005-08-16  Bruno Haible  <bruno@clisp.org>
119513         * lib/strnlen1.h: New file.
119514         * lib/strnlen1.c: New file.
119516 2005-08-16  Bruno Haible  <bruno@clisp.org>
119518         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
119519         (mbi_init): Update.
119520         (mbi_avail, mbi_advance): Let the iteration end before the terminating
119521         NUL byte, not after it.
119523 2005-08-16  Bruno Haible  <bruno@clisp.org>
119525         * lib/strcase.h (strcasecmp): Add note in comments.
119526         * lib/strncasecmp.c: Use code from strcasecmp.c.
119527         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
119528         (strcasecmp): Work correctly in multibyte locales.
119530 2005-08-16  Bruno Haible  <bruno@clisp.org>
119532         * lib/mbiter.h: New file.
119534 2005-08-16  Bruno Haible  <bruno@clisp.org>
119536         * lib/mbfile.h: New file.
119538 2005-08-16  Bruno Haible  <bruno@clisp.org>
119540         * lib/mbchar.h: New file.
119541         * lib/mbchar.c: New file.
119543 2005-08-16  Bruno Haible  <bruno@clisp.org>
119545         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
119546         the valid ones. Makes the comparison operations transitive:
119547         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
119548         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
119550 2005-08-15  Simon Josefsson  <jas@extundo.com>
119552         * modules/ssize_t (License): Change to 'unlimited'.
119554         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
119556 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
119558         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
119559         Add comments for each pending glibc patch.
119561 2005-08-15  Bruno Haible  <bruno@clisp.org>
119563         * lib/regex.h (__restrict_arr): Don't define to __restrict if
119564         __cplusplus is defined.
119566 2005-08-14  Jim Meyering  <jim@meyering.net>
119568         Sync from coreutils.
119570         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
119571         Use the hash-table-based cycle-detection code not just when
119572         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
119573         Reported by James Youngman in
119574         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
119575         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
119576         FTS_TIGHT_CYCLE_CHECK.
119577         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
119578         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
119579         once again.
119580         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
119581         * lib/fts.c (fd_safer): Remove decl.
119582         Include fcntl--.h rather than unistd-safer.h
119583         (fts_safe_changedir): Don't call fd_safer; no longer needed
119584         now that we include fcntl--.h.
119586 2005-08-12  Simon Josefsson  <jas@extundo.com>
119588         * modules/getndelim2: Use ssize_t module.
119589         * modules/getnline: Likewise.
119590         * modules/safe-read: Likewise.
119591         * modules/xreadlink: Likewise.
119593         * modules/ssize_t: New file.
119595 2005-08-12  Simon Josefsson  <jas@extundo.com>
119597         * m4/readline.m4: Look for termcap, curses or ncurses if required.
119599 2005-08-12  Simon Josefsson  <jas@extundo.com>
119601         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
119602         ssize_t.
119604 2005-08-12  Simon Josefsson  <jas@extundo.com>
119606         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
119607         readline, getdelim and check_version.
119608         (Support for systems lacking ISO C 99: Sizes of integer types):
119609         Add size_max.
119611 2005-08-12  Bruno Haible  <bruno@clisp.org>
119613         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
119615 2005-08-11  Simon Josefsson  <jas@extundo.com>
119617         * modules/readline: New file.
119619         * modules/strnlen (Files): Add strnlen.h.
119621 2005-08-11  Simon Josefsson  <jas@extundo.com>
119623         * m4/readline.m4: New file.
119625 2005-08-11  Simon Josefsson  <jas@extundo.com>
119627         * lib/readline.h, readline.c: New file.
119629 2005-08-11  Simon Josefsson  <jas@extundo.com>
119631         * doc/gnulib.texi (Initial import, Finishing touches): Mention
119632         gl_AVOID.
119634 2005-08-11  Bruno Haible  <bruno@clisp.org>
119636         * lib/strnlen.h (strnlen): Change parameter name to match comment.
119638 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
119640         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
119642 2005-08-10  Simon Josefsson  <jas@extundo.com>
119644         * tests/test-iconvme.c: New file.
119646 2005-08-10  Simon Josefsson  <jas@extundo.com>
119648         * m4/strnlen.m4: New file.
119650         * m4/strndup.m4: Don't check for strnlen declaration, done in
119651         strnlen.m4.
119653 2005-08-10  Simon Josefsson  <jas@extundo.com>
119655         * lib/strndup.c: Use strnlen.h.
119657         * lib/strnlen.h: New file.
119659 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
119661         * README: Typos.
119663 2005-08-02  Simon Josefsson  <jas@extundo.com>
119665         * modules/readline: New file.
119667 2005-08-02  Simon Josefsson  <jas@extundo.com>
119669         * modules/getdelim: New file.
119671         * modules/getline: Rewrite, don't use getndelim2.
119673 2005-08-02  Simon Josefsson  <jas@extundo.com>
119675         * m4/getline.m4: Separate out getdelim stuff into separate module.
119677         * m4/getdelim.m4: New file.
119679 2005-08-02  Simon Josefsson  <jas@extundo.com>
119681         * lib/getline.h, getline.c: Rewrite.
119683         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
119685 2005-07-31  Bruno Haible  <bruno@clisp.org>
119687         * lib/lock.h (gl_lock_initializer): New macro.
119688         (gl_lock_define_initialized): Use it.
119689         (gl_rwlock_initializer): New macro.
119690         (gl_rwlock_define_initialized): Use it.
119691         (gl_recursive_lock_initializer): New macro.
119692         (gl_recursive_lock_define_initialized): Use it.
119694 2005-07-30  Karl Berry  <karl@gnu.org>
119696         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
119697         Report from Ben Pfaff, regarding getopt.
119699 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
119701         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
119702         normal way.
119703         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
119704         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
119705         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
119706         (gl_GETOPT): Use the new macros.  Most of the implementation
119707         is moved to the new macros.  This is for programs like Emacs
119708         that don't want all the functionality of gl_GETOPT.
119710 2005-07-26  Bruno Haible  <bruno@clisp.org>
119712         * m4/lock.m4: Update from GNU gettext.
119714 2005-07-26  Bruno Haible  <bruno@clisp.org>
119716         * lib/lock.h: Update from GNU gettext.
119717         * lib/lock.c: Update from GNU gettext.
119719 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
119721         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
119722         obsolescent AC_TRY_RUN.  Include the default includes files, for
119723         'exit'.
119725 2005-07-24  Bruno Haible  <bruno@clisp.org>
119727         * modules/visibility: New file.
119728         * MODULES.html.sh (Misc): Add visibility.
119730 2005-07-24  Bruno Haible  <bruno@clisp.org>
119732         * m4/visibility.m4: New file.
119734 2005-07-24  Bruno Haible  <bruno@clisp.org>
119736         * doc/visibility.texi: New file.
119738 2005-07-22  Bruno Haible  <bruno@clisp.org>
119740         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
119741         $(ALLOCA_H), redundant through BUILT_SOURCES.
119742         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
119743         redundant through BUILT_SOURCES.
119744         * modules/byteswap (Makefile.am): Remove explicit dependency on
119745         $(BYTESWAP_H), redundant through BUILT_SOURCES.
119746         * modules/fnmatch (Makefile.am): Remove explicit dependency on
119747         $(FNMATCH_H), redundant through BUILT_SOURCES.
119748         * modules/getopt (Makefile.am): Remove explicit dependency on
119749         $(GETOPT_H), redundant through BUILT_SOURCES.
119750         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
119751         redundant through BUILT_SOURCES.
119752         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
119753         redundant through BUILT_SOURCES.
119754         * modules/stdbool (Makefile.am): Remove explicit dependency on
119755         $(STDBOOL_H), redundant through BUILT_SOURCES.
119756         * modules/stdint (Makefile.am): Remove explicit dependency on
119757         $(STDINT_H), redundant through BUILT_SOURCES.
119758         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
119759         Remove explicit dependency on $(SYSEXITS_H).
119760         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
119762 2005-07-18  Simon Josefsson  <jas@extundo.com>
119764         * lib/check-version.c (check_version): Accept identical versions too.
119766 2005-07-18  Bruno Haible  <bruno@clisp.org>
119768         * modules/lock: New file.
119769         * MODULES.html.sh (Multithreading): New section.
119771 2005-07-18  Bruno Haible  <bruno@clisp.org>
119773         * m4/lock.m4: New file, from GNU gettext.
119775 2005-07-18  Bruno Haible  <bruno@clisp.org>
119777         * lib/lock.h: New file, from GNU gettext.
119778         * lib/lock.c: New file, from GNU gettext.
119780 2005-07-18  Bruno Haible  <bruno@clisp.org>
119782         * lib/lock.h (gl_once_t): New type.
119783         (gl_once_define, gl_once): New macros.
119784         * lib/lock.c (fresh_once): New variable.
119785         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
119786         functions.
119788 2005-07-16  Simon Josefsson  <jas@extundo.com>
119790         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
119791         workaround, suggested by Bruno.
119793 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
119795         * modules/xalloc (Depends-on): Add xalloc-die.
119796         * modules/xvasprintf (Depends-on): Add xalloc-die.
119798 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
119800         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
119801         with a minor change.
119803 2005-07-15  Bruno Haible  <bruno@clisp.org>
119805         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
119806         When using lib/poll.c, define poll as rpl_poll.
119808 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
119810         * modules/argp (Depends-on): Remove unlocked-io.
119812 2005-07-14  Derek Price  <derek@ximbiot.com>
119814         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
119815         for glob symlink bug.
119817 2005-07-14  Bruno Haible  <bruno@clisp.org>
119819         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
119820         Instead, test for *_unlocked function declarations directly.
119822 2005-07-11  Simon Josefsson  <jas@extundo.com>
119824         * modules/size_max: New file.
119826         * modules/xsize: Depend on size_max module for size_max.m4.
119828 2005-07-11  Simon Josefsson  <jas@extundo.com>
119830         * lib/size_max.h: New file.
119832 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
119834         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
119835         copyright symbol and the year.
119836         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
119837         (version_etc_va): Use parameterized copyright notice.
119838         Reword to conform to the current GNU coding standards.
119840 2005-07-11  Karl Berry  <karl@gnu.org>
119842         * doc/gnulib.texi (Quoting): new node.
119843         (Initial import): more info, from Patrice.
119845 2005-07-11  Bruno Haible  <bruno@clisp.org>
119847         * gnulib-tool (func_usage): Document option --avoid.
119848         (Command line options): Handle --avoid.
119849         (func_acceptable): New function.
119850         (func_modules_transitive_closure): Use it.
119852 2005-07-11  Bruno Haible  <bruno@clisp.org>
119854         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
119855         Reported by Jim Meyering.
119857 2005-07-10  Bruno Haible  <bruno@clisp.org>
119859         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
119860         Needed when size_t is smaller than 'unsigned int'.
119861         Reported by Paul Eggert.
119863 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119865         * modules/argp (Depends-on): Add unlocked-io
119867 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119869         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
119870         block of defines.
119872 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
119874         * config/srclist.txt: Comment out regcomp.c, since we have a porting
119875         fix now.
119877 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
119878         and Paul Eggert  <eggert@cs.ucla.edu>
119880         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
119881         in wint_t, not wchar_t.  Remove now-unnecessary cast.
119883 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
119885         * modules/regex (Files): Add lib/regex_internal.c,
119886         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
119887         (Depends-on): Add extensions.
119888         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
119890 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
119892         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
119893         pathconf.
119894         * m4/same.m4 (gl_SAME): Likewise.
119895         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
119897         * m4/regex.m4: Adjust to new libc regex implementation.
119898         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
119899         all the .c and .h parts of (the new) regex.
119900         Quote the m4 stuff better.
119901         Check for RE_ICASE bug of old gnulib.
119902         Check for REG_STARTEND of recent libc.
119903         Rename local variables from jm_* to gl_*.
119904         Quote operand of "test -f".
119905         Say "recent enough" version of libc, not "version 2".
119906         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
119907         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
119908         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
119909         Remove check for btowc, isascii.
119910         Require AM_LANGINFO_CODESET.
119912 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
119914         * lib/regex.c, regex.h: Sync from libc.
119915         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
119916         * lib/regexec.c:
119917         New files, synced from libc, except that regex_internal.h
119918         currently has a small porting fix.
119920 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
119922         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
119923         regex_internal.c, regexec.c.
119924         Add regex_internal.h too, but as a comment, since the libc version
119925         is currently broken in gnulib mode.
119927 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
119929         Support programs like Emacs that use gnulib but not gettext.
119930         * MODULES.html.sh (Internationalization functions): Add gettext-h.
119931         * modules/gettext-h: New file.
119932         * modules/gettext (Files): Remove lib/gettext.h.
119933         (Depends-on): Add gettext-h.
119934         (Makefile.am): Remove lib_SOURCES.
119935         * modules/argmatch, modules/c-stack, modules/closeout:
119936         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
119937         * modules/execute, modules/file-type, modules/getaddrinfo:
119938         * modules/getopt, modules/human, modules/javacomp:
119939         * modules/javaexec, modules/mkdir-p, modules/obstack:
119940         * modules/openat, modules/pagealign_alloc, modules/pipe:
119941         * modules/quotearg, modules/regex, modules/rpmatch:
119942         * modules/unicodeio, modules/userspec, modules/version-etc:
119943         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
119944         * modules/xsetenv:
119945         Depend on gettext-h, not gettext.
119947 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
119949         * gnulib-tool (func_import): Add support for 'public domain' license.
119950         * modules/alloca, modules/atexit, modules/memmove:
119951         Now public domain, not GPL.
119952         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
119953         * modules/realloc, modules/strerror, modules/strtod:
119954         Now LGPL, not GPL.
119956 2005-07-05  Bruno Haible  <bruno@clisp.org>
119958         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
119959         autoconf CVS. Needed for mingw.
119961 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
119963         Remove the dependency of the strftime module on the tzset module.
119964         * modules/strftime (Depends-on): Remove dependency on tzset.
119966 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
119968         Remove the dependency of the strftime module on the tzset module.
119969         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
119970         gl_FUNC_TZSET_CLOBBER.
119972 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
119974         Remove the dependency of the strftime module on the tzset module.
119975         * lib/strftime.c (my_strftime)
119976         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
119977         Copy the input structure, to work around some of the bug with
119978         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
119979         Solaris releases, you should also use the tzset module, but we won't
119980         require it as a dependency any more since we don't want LGPLed code
119981         to depend on GPLed code.
119983 2005-07-02  Jim Meyering  <jim@meyering.net>
119985         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
119986         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
119987         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
119988         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
119990 2005-07-02  Jim Meyering  <jim@meyering.net>
119992         * lib/backupfile.c (backup_args): Change a `0' to NULL.
119994 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
119996         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
119997         declares only 'struct timespec;' (!).
119999 2005-07-01  Jim Meyering  <jim@meyering.net>
120001         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
120002         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
120003         * lib/save-cwd.c, tempname.c:
120004         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120005         and don't include <sys/file.h>).
120007 2005-06-29  Jim Meyering  <jim@meyering.net>
120009         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
120010         type name.  Use the variable name instead.
120011         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
120012         Likewise.
120014 2005-06-28  Simon Josefsson  <jas@extundo.com>
120016         * modules/check-version (Files): Add check-version.m4.
120018 2005-06-28  Simon Josefsson  <jas@extundo.com>
120020         * m4/check-version.m4: New file, suggested by Jim Meyering
120021         <jim@meyering.net>.
120023 2005-06-28  Simon Josefsson  <jas@extundo.com>
120025         * lib/check-version.h, lib/check-version.c: New files.
120027 2005-06-28  Simon Josefsson  <jas@extundo.com>
120029         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
120030         collision with global variable.  Better indentation.  Don't
120031         increment buffer pointer beyond buffer end.  Based on comments
120032         from Paul Eggert <eggert@cs.ucla.edu>.
120034         * lib/base64.h: Indent.
120036 2005-06-28  Simon Josefsson  <jas@extundo.com>
120038         * doc/gnulib.texi (Library version handling): New section.
120040 2005-06-28  Jim Meyering  <jim@meyering.net>
120042         * check-module (find_included_lib_files): Hard-code another
120043         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
120044         but modules/fts-lgpl (correctly) does not list those files.
120046         * modules/canonicalize (Files): Add lib/pathmax.h.
120048 2005-06-25  Simon Josefsson  <jas@extundo.com>
120050         * modules/check-version: New file.
120052 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
120054         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
120055         initializer of struct addrinfo, as an indication that we don't
120056         care how many members the structure has.
120058 2005-06-24  Derek Price  <derek@ximbiot.com>
120059         and Bruno Haible  <bruno@clisp.org>
120061         Remove stat module & update lstat.
120062         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
120063         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
120064         * m4/stat.m4: Remove this file.
120066 2005-06-24  Derek Price  <derek@ximbiot.com>
120067         and Bruno Haible  <bruno@clisp.org>
120069         Remove stat module & update lstat.
120070         * lib/stat.c: Remove this file...
120071         (slash_aware_lstat): ...moving this content and its support...
120072         * lib/lstat.c (rpl_lstat): ...into here.
120073         * lib/lstat.h: New file.
120075 2005-06-24  Derek Price  <derek@ximbiot.com>
120076         and Bruno Haible  <bruno@clisp.org>
120078         Remove stat module & update lstat.
120079         * config/srclist.txt (libc sources): Remove stat.
120081 2005-06-24  Derek Price  <derek@ximbiot.com>
120082         and Bruno Haible  <bruno@clisp.org>
120084         Remove stat module & update lstat.
120085         * MODULES.html.sh (stat): Remove.
120086         * MODULES.html: Regenerated.
120087         * modules/lstat (Description): Correct function name.
120088         (Files): Add "lstat.h".
120089         (Depends-on): Remove stat, add xalloc, stat-macros.
120090         * modules/stat: Remove this file.
120091         (Include): Add "lstat.h", remove <sys/stat.h>.
120093 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
120095         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
120096         (ranged_convert): Don't save conversion in a temporary struct.
120097         This causes a warning with GCC 4.0.0, and anyway in the typical
120098         case it's not worth the extra 100 bytes or so of code.
120099         (ranged_convert, __mktime_internal): When calling a function via a
120100         pointer P, use P () rather than (*P) (), as we now assume C89 or
120101         better.
120103 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
120105         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
120106         "who -r" failed to give output.  Problem reported by Tim Waugh.
120108         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
120109         (xcalloc): Use it to avoid needless tests.
120110         Problem reported by Jim Meyering.
120112 2005-06-20  Derek Price  <derek@ximbiot.com>
120114         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
120115         unnecessary for Autoconfs > 2.59c.
120117 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
120119         * lib/argp.h (__option_is_short): Check upper limit of
120120         __key. Isprint() requires its argument to have the value
120121         of an unsigned char or EOF.
120123 2005-06-16  Jim Meyering  <jim@meyering.net>
120125         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
120126         when either N or S is zero.
120128 2005-06-16  Derek Price  <derek@ximbiot.com>
120130         * m4/bison.m4: Declare YACC & YFLAGS precious.
120132 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
120134         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
120135         multibyte string or pattern, fall back on unibyte matching.
120136         Problem reported by James Youngman.
120138 2005-06-08  Bruno Haible  <bruno@clisp.org>
120140         * modules/csharpcomp: New file.
120141         * MODULES.html.sh (C#): Add csharpcomp.
120143 2005-06-08  Bruno Haible  <bruno@clisp.org>
120145         * m4/csharpcomp.m4: New file, from GNU gettext.
120147 2005-06-08  Bruno Haible  <bruno@clisp.org>
120149         * lib/csharpcomp.h: New file, from GNU gettext.
120150         * lib/csharpcomp.c: New file, from GNU gettext.
120151         * lib/csharpcomp.sh.in: New file, from GNU gettext.
120153 2005-06-08  Bruno Haible  <bruno@clisp.org>
120155         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
120156         warning on mingw.
120158 2005-06-07  Derek Price  <derek@ximbiot.com>
120160         Sync from CVS.
120161         * lib/glob_.h: Indent nested #ifdef.
120163 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
120165         Sync from coreutils.
120166         Use "file name" when talking about file names, instead of "filename"
120167         or "path", as per the GNU coding standards.
120168         * lib/mkdir-p.c: Renamed from makepath.c.
120169         (make_dir_parents): Renamed from make_path.  All callers changed.
120170         * lib/mkdir-p.h: Likewise.  All includers changed.
120171         * lib/filenamecat.c: Renamed from path-concat.c.
120172         (file_name_concat): Renamed from path_concat.  All callers changed.
120173         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
120174         * lib/filenamecat.h: Likewise.  All includers changed.
120175         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
120176         in comments or local variable names.
120177         * lib/basename.c: Likewise.
120178         * lib/canonicalize.c, canonicalize.h: Likewise.
120179         * lib/dirname.c, dirname.h: Likewise.
120180         * lib/euidaccess.c: Likewise.
120181         * lib/exclude.c: Likewise
120182         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
120183         * lib/fsusage.c, fsuage.h: Likewise.
120184         * lib/fts.c, fts_.h: Likewise.
120185         * lib/getcwd.c: Likewise.
120186         * lib/getloadavg.c: Likewise.
120187         * lib/mkstemp.c: Likewise.
120188         * lib/mountlist.c, mountlist.h: Likewise.
120189         * lib/openat.c, openat.h: Likewise.
120190         * lib/readlink-stub.c: Likewise.
120191         * lib/readutmp.c, readutmp.h: Likewise.
120192         * lib/rename.c: Likewise.
120193         * lib/rmdir.c: Likewise.
120194         * lib/same.c: Likewise.
120195         * lib/savedir.c: Likewise.
120196         * lib/stripslash.c: Likewise.
120197         * lib/tempname.c: Likewise.
120198         * lib/xreadlink.c: Likewise.
120199         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
120200         All uses changed.
120201         * lib/exclude.h: Likewise.
120203         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
120204         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
120205         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
120206         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
120207         * lib/pathmax.h: Include <limits.h> unconditionally, since other
120208         files have been getting away with it for years (MORE/BSD 4.3
120209         is extinct now).
120210         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
120211         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
120213         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
120214         Define to 256, not 255, as per modern POSIX.
120216 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
120218         Sync from coreutils.
120219         Use "file name" when talking about file names, instead of "filename"
120220         or "path", as per the GNU coding standards.
120221         * MODULES.html.sh: mkdir-p renamed from makepath.
120222         filenamecat renamed from path-concat.
120223         * modules/filenamecat: Renamed from modules/path-concat.
120224         (Files): filenamecat.h and filenamecat.c renamed from
120225         path-concat.h and path-concat.c.
120226         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
120227         (Include): filenamecat.h, not path-concat.h.
120228         * modules/mkdir-p: Renamed from modules/makepath.
120229         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
120230         makepath.c.
120231         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
120232         (Include): mkdir-p.h, not makepath.h.
120234 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
120236         Sync from coreutils.
120237         * m4/mkdir-p.m4: Renamed from makepath.m4.
120238         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
120239         Rename files from makepath.c to mkdir-p.c, and from
120240         makepath.h to mkdir-p.h.
120241         * m4/filenamecat.m4: Renamed from path-concat.m4.
120242         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
120243         Rename files from path-concat.c to filenamecat.c,
120244         and from path-concat.h to filenamecat.h.
120245         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
120246         "file name" in local variables or comments.
120247         * m4/rename.m4: Likewise.
120249 2005-06-01  Bruno Haible  <bruno@clisp.org>
120251         * modules/csharpexec: New file.
120252         * MODULES.html.sh (C#): New section.
120254 2005-06-01  Bruno Haible  <bruno@clisp.org>
120256         * m4/csharp.m4: New file, from GNU gettext.
120257         * m4/csharpexec.m4: New file, from GNU gettext.
120259 2005-06-01  Bruno Haible  <bruno@clisp.org>
120261         * lib/csharpexec.h: New file, from GNU gettext.
120262         * lib/csharpexec.c: New file, from GNU gettext.
120263         * lib/csharpexec.sh.in: New file, from GNU gettext.
120265 2005-05-31  Derek Price  <derek@ximbiot.com>
120266             Paul Eggert  <eggert@cs.ucla.edu>
120268         Sync from cvs.
120269         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
120271 2005-05-31  Derek Price  <derek@ximbiot.com>
120272             Paul Eggert  <eggert@cs.ucla.edu>
120274         Sync from cvs.
120275         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
120277 2005-05-29  Derek Price  <derek@ximbiot.com>
120279         * config/srclist.txt (glob_.h, glob.c): Add these files.
120281 2005-05-29  Derek Price  <derek@ximbiot.com>
120283         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
120284         * modules/glob: New file.
120285         * modules/getlogin_r: Add link to POSIX spec in description.
120287 2005-05-29  Derek Price  <derek@ximbiot.com>
120288             Paul Eggert  <eggert@cs.ucla.edu>
120290         * m4/glob.m4: New file.
120292 2005-05-29  Derek Price  <derek@ximbiot.com>
120293             Paul Eggert  <eggert@cs.ucla.edu>
120295         * lib/glob_.h, lib/glob.c: New files.
120297 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
120299         * modules/fts (Files): Remove m4/inttypes-pri.m4.
120300         * modules/fts-lgpl (Depends-on): Remove gettext.
120302 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
120304         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
120305         and don't require gt_INTTYPES_PRI.
120307 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
120309         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
120311         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
120312         the configuration hassle isn't worth it.
120313         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
120314         (LONGEST_MODIFIER, PRIuMAX): Remove.
120316 2005-05-27  Bruno Haible  <bruno@clisp.org>
120318         * lib/getlogin_r.h: Remove second include of <stddef.h>.
120320 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
120322         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
120323         _POSIX_PTHREAD_SEMANTICS for Solaris.
120325 2005-05-25  Derek Price  <derek@ximbiot.com>
120327         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
120329 2005-05-25  Derek Price  <derek@ximbiot.com>
120330             Paul Eggert  <eggert@cs.ucla.edu>
120332         * modules/getlogin_r, m4/getlogin_r.m4: New files.
120333         * lib/getlogin_r.c, getlogin_r.h: New files.
120335 2005-05-25  Bruno Haible  <bruno@clisp.org>
120336             Derek Price  <derek@ximbiot.com>
120338         * lib/getlogin_r.h: Simplify API documentation.
120340 2005-05-23  Derek Price  <derek@ximbiot.com>
120342         * modules/minmax (Files): Add m4/minmax.m4.
120343         (configure.ac): Add gl_MINMAX.
120345 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
120347         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
120348         so that unistd-safer.h (GPL'ed code) need not be included.
120350 2005-05-22  Bruno Haible  <bruno@clisp.org>
120352         * m4/minmax.m4: New file.
120353         Based on a patch by Derek Price <derek@ximbiot.com>.
120355 2005-05-22  Bruno Haible  <bruno@clisp.org>
120357         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
120358         (INT64_MIN): Fix definition.
120359         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
120361         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
120362         NEED_SIGNED_INT_TYPES.
120364         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
120365         HAVE_SYSTEM_INTTYPES.
120367 2005-05-22  Bruno Haible  <bruno@clisp.org>
120369         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
120370         Also include <sys/param.h> if it defines MIN, MAX.
120371         Based on a patch by Derek Price <derek@ximbiot.com>.
120373 2005-05-21  Jim Meyering  <jim@meyering.net>
120375         * modules/fts (Files): Add m4/inttypes-pri.m4.
120376         (Depends-on): Add lstat and remove gettext.  Alphabetize.
120378 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
120380         New fts module.
120381         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
120382         (setup_dir, free_dir): New functions.
120383         (enter_dir, leave_dir): Define trivial
120384         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
120385         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
120386         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
120387         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
120388         Move to fts-cycle.c.
120389         (fts_open): Use setup_dir.
120390         (fts_close): Use free_dir.
120391         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
120392         This adds a label and some gotos, but the alternatives were messier.
120393         Check for memory allocation failure when entering a dir.
120394         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
120395         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
120396         (FTS): New member fts_cycle, that is a union that contains the
120397         old active_dir_ht and cycle_state.  All uses changed to mention
120398         fts_cycle.ht and fts_cycle.state.
120399         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
120400         fts.c, with the following changes:
120401         (setup_dir, free_dir): New functions.
120402         (enter_dir): Now returns bool.  Return true if successful, false
120403         if memory exhausted.  All callers changed.
120404         Do not bother partly cleaning up on
120405         memory allocation failure; that is free_dir's job.
120406         However, free ad if hash_insert fails, to avoid memory leak.
120407         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
120408         fts->fts_options to see which union member to use.
120410 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
120412         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
120413         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
120415 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
120417         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
120419 2005-05-20  Jim Meyering  <jim@meyering.net>
120421         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
120422         Now a macro, to pacify GCC.
120424 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
120426         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
120427         of -1.
120429 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
120431         * lib/chown.c (rpl_chown): Return -1 on failure.
120433 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
120435         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
120436         Don't check for stddef.h.
120437         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
120438         don't use its results.
120439         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
120440         since we include them unconditionally.  Don't require
120441         AM_STDBOOL_H, since stdbool is a prerequisite.
120442         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
120443         since we assume C89 or better.
120444         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
120445         as we don't use their results.
120446         Don't check for fchdir, memmove, memset, strrchr, as we use
120447         them unconditionally.
120448         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
120449         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
120451 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
120453         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
120454         Include <stddef.h> unconditionally, since we assume C89 now.
120455         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
120456         * lib/fts.c: Include fts_.h first, to check interface.
120457         Do not include intprops.h; no longer needed.
120458         Include cycle-check.h and hash.h, since fts_.h no longer does.
120459         Remove unnecessary casts of closedir to void.
120460         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
120461         decide whether to decrement nlinks.
120462         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
120463         (FTS): Use struct hash_table * instead of Hash_table, so that
120464         we no longer need to include hash.h here.
120466 2005-05-18  Jim Meyering  <jim@meyering.net>
120468         * modules/dirfd (License): Change to LGPL.  Most of the code
120469         is already in the public domain.
120471 2005-05-18  Jim Meyering  <jim@meyering.net>
120473         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
120474         Reported by Yoann Vandoorselaere.
120476 2005-05-17  Jim Meyering  <jim@meyering.net>
120478         * m4/fts.m4: New file, from coreutils.
120480 2005-05-17  Jim Meyering  <jim@meyering.net>
120482         * lib/fts.c, lib/fts_.h: New files, from coreutils.
120484 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
120486         Sync from coreutils.
120487         * m4/unlinkdir.m4: New file.
120489 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
120491         Sync from coreutils.
120492         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
120493         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
120494         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
120495         White space changes only.
120496         * lib/makepath.c (make_path): Port to hosts where leading "//" is
120497         special.
120498         * lib/yesno.c: Include getline.h, not ctype.h.
120499         (yesno): Don't remove leading white space; POSIX doesn't allow it.
120500         Use getline to remove arbitrary restriction on response length.
120502 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
120504         * config/srclist-update: Spell out "Street" in FSF postal
120505         mail address; this is the style the FSF seems to prefer.
120507         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
120508         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
120509         this updates FSF postal mail address.
120511         Sync from coreutils.
120512         * modules/unlinkdir: New file.
120513         * modules/yesno (Depends-on): Add getline.
120514         * MODULES.html.sh (File system functions): Add unlinkdir.
120516 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
120518         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
120519         lib/strsep.h:
120520         Change the initial comment to refer to GPL, not LGPL.
120521         gnulib-tool will change it to LGPL as needed.
120523         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
120524         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
120525         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
120526         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
120527         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
120528         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
120529         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
120530         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
120531         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
120532         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
120533         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
120534         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
120535         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
120536         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
120537         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
120538         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
120539         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
120540         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
120541         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
120542         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
120543         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
120544         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
120545         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
120546         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
120547         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
120548         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
120549         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
120550         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
120551         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
120552         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
120553         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
120554         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
120555         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
120556         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
120557         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
120558         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
120559         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
120560         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
120561         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
120562         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
120563         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
120564         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
120565         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
120566         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
120567         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
120568         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
120569         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
120570         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
120571         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
120572         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
120573         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
120574         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
120575         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
120576         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
120577         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
120578         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
120579         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
120580         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
120581         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
120582         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
120583         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
120584         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
120585         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
120586         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
120587         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
120588         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
120589         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
120590         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
120591         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
120592         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
120593         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
120594         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
120595         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
120596         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
120597         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
120598         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
120599         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
120600         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
120601         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
120602         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
120603         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
120604         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
120605         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
120606         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
120607         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
120608         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
120609         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
120610         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
120611         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
120612         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
120613         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
120614         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
120615         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
120616         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
120617         lib/yesno.c, lib/yesno.h:
120618         Update FSF postal mail address.
120620 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
120622         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
120623         tests/test-memmem.c, tests/test-stpncpy.c:
120624         Update FSF postal mail address.
120626 2005-05-13  Bruno Haible  <bruno@clisp.org>
120628         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
120629         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
120630         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
120631         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
120632         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
120633         Add support for 64-bit integers in the MSVC compiler.
120635 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
120637         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
120639 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
120641         * gnulib-tool (func_import): Sort and uniquify recommended includes.
120643 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
120645         * doc/getdate.texi (General date syntax): Don't say that date
120646         date --iso-8601=ns generates acceptable dates; it doesn't yet.
120647         Problem reported by Nic Ferrier.
120649 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
120651         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
120652         specified in ai_socktype. Fix invalid ai_protocol
120653         check. ai_protocol is usually set to 0 or depending on
120654         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
120655         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
120656         ai_socktype / ai_protocol in the returned addrinfo structure.
120658 2005-05-10  Simon Josefsson  <jas@extundo.com>
120660         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
120661         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
120663 2005-05-10  Karl Berry  <karl@gnu.org>
120665         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
120666         (from http://www.gnu.org/licenses).
120667         * doc/COPYING.LIB: also rename to COPYING.LESSER.
120668         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
120669         fdl.texi suffices.
120671 2005-05-10  Karl Berry  <karl@gnu.org>
120673         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
120674         (COPYING.DOC): remove.
120676         * config/srclist-update: new FSF address.
120678 2005-05-10  Derek Price  <derek@ximbiot.com>
120680         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
120681         possible.
120683 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
120684             Bruno Haible  <bruno@clisp.org>
120686         * modules/inet_ntop: New file.
120687         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
120688         inet_ntop.
120690 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
120691             Bruno Haible  <bruno@clisp.org>
120693         * m4/inet_ntop.m4: New file.
120695 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
120696             Bruno Haible  <bruno@clisp.org>
120698         * lib/inet_ntop.h: New file.
120699         * lib/inet_ntop.c: New file, from glibc with modifications.
120701 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
120703         * modules/time_r (License): Change to LGPL.
120704         * modules/extensions (License): Change to LGPL.  Actually,
120705         the license is more permissive than that, but currently gnulib-tool
120706         doesn't know how to handle more-permissive licenses.
120708         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
120709         Problem reported by Dave Love.
120711 2005-05-08  Jim Meyering  <jim@meyering.net>
120713         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
120714         blank.
120716 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
120718         * modules/argmatch (Depends-on): Add stdbool.
120719         * modules/backupfile (Depends-on): Likewise.
120720         * modules/chdir-long (Depends-on): Likewise.
120721         * modules/closeout (Depends-on): Likewise.
120722         * modules/cycle-check (Depends-on): Likewise.
120723         * modules/dirname (Depends-on): Likewise.
120724         * modules/fnmatch (Depends-on): Likewise.
120725         * modules/fsusage (Depends-on): Likewise.
120726         * modules/fwriteerror (Depends-on): Likewise.
120727         * modules/getcwd (Depends-on): Likewise.
120728         * modules/getloadavg (Depends-on): Likewise.
120729         * modules/hard-locale (Depends-on): Likewise.
120730         * modules/makepath (Depends-on): Likewise.
120731         * modules/mountlist (Depends-on): Likewise.
120732         * modules/nanosleep (Depends-on): Likewise.
120733         * modules/posixtm (Depends-on): Likewise.
120734         * modules/quotearg (Depends-on): Likewise.
120735         * modules/readtokens (Depends-on): Likewise.
120736         * modules/readtokens0 (Depends-on): Likewise.
120737         * modules/readutmp (Depends-on): Likewise.
120738         * modules/save-cwd (Depends-on): Likewise.
120739         * modules/strftime (Depends-on): Likewise.
120740         * modules/userspec (Depends-on): Likewise.
120741         * modules/utimecmp (Depends-on): Likewise.
120742         * modules/xgetcwd (Depends-on): Likewise.
120743         * modules/xnanosleep (Depends-on): Likewise.
120744         * modules/xstrtod (Depends-on): Likewise.
120745         * modules/yesno (Depends-on): Likewise.
120747 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
120749         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
120750         needless checks.
120752 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
120754         Merge from coreutils.  Among other things,
120755         add bulletproofing for cases where stdin, stdout, or stderr are closed.
120756         * lib/fd-safer.c: New file.
120757         * lib/fcntl-safer.h, open-safer.c: Remove.
120758         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
120759         * lib/dup-safer.c: Include unistd-safer.h first.
120760         Don't include errno.h.
120761         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
120762         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
120763         * lib/file-type.c: Rely on file-type.h change.
120764         * lib/getloadavg.c: Include unistd-safer.h.
120765         (getloadavg): Use safer open.
120766         * lib/getusershell.c: Include "stdio-safer.h".
120767         (getusershell): Use safer fopen.
120768         * lib/long-options.c (long_options): Use NULL rather than 0.
120769         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
120770         'free'.
120771         * lib/modechange.c: Likewise.
120772         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
120773         (MODE_DONE): New constant.
120774         (struct mode_change): Remove 'next' member.
120775         (make_node_op_equals): New function; like the old one of the
120776         same name, except it allocates an array.
120777         (mode_compile, mode_create_from_ref): Use it.
120778         (mode_compile): Allocate result as an array, not a linked list.
120779         Parse octal string ourself, so that we catch mistakes like "+0".
120780         (mode_adjust): Arg is an array, not a linked list.
120781         * lib/modechange.c: Include stat-macros.h, xalloc.h.
120782         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
120783         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
120784         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
120785         Remove.  This is now stat-macros.h's job.
120786         (talloc): Remove.  All callers replaced by xalloc, so that
120787         our invokers don't have to worry about reporting memory failures.
120788         (make_node_op_equals): Remove.
120789         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
120790         New constants.
120791         (struct mode_change): Moved here from modechange.h.
120792         (mode_append_entry): Remove.
120793         (mode_compile): Remove MASKED_OPS arg, since it encouraged
120794         apps to have incorrect behavior.  Use simpler algorithm for head
120795         and tail.  Don't futz with umask; that's now the job of mode_adjust.
120796         Detect more invalid usages rather than having somewhat-random behavior.
120797         Don't insert an "a=" action, as that leads to incorrect behavior.
120798         (mode_compile, mode_create_from_ref): Return NULL on error instead
120799         of an enum, since now there's only one way to have an error.  All
120800         callers changed.
120801         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
120802         at the correct time.  Simplify calculation of "+u" and its ilk.
120803         Don't mishandle "+X".
120804         (mode_free): Remove "register" and localize decls.
120805         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
120806         (struct mode_change): Move to modechange.c; callers don't
120807         need to see this stuff.
120808         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
120809         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
120810         (mode_change, mode_adjust): Reflect the new signatures noted above.
120811         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
120812         that might redefine system include files.
120813         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
120814         (my_usleep): Use NULL rather than (void *) 0.
120815         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
120816         Use siginterrupt to specify that system calls should be interrupted.
120817         (rpl_nanosleep): Move initialization of suspended closer to call of
120818         my_usleep.
120819         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
120820         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
120821         (desirable_utmp_entry): New function.
120822         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
120823         using x2nrealloc, to simplify logic.
120824         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
120825         size calculation.  Do not assume utmp file is a regular file.
120826         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
120827         (READ_UTMP_CHECK_PIDS): New constant.
120828         * lib/save-cwd.c: Include unistd-safer.h.
120829         (save_cwd): Use fd_safer.
120830         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
120831         [!_LIBC] Include "stat-macros.h" instead.
120832         * lib/unistd-safer.h (fd_safer): New decl.
120834 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
120836         * modules/getloadavg (Depends-on): Add unistd-safer.
120837         * modules/getusershell (Depends-on): Add stdio-safer.
120838         * modules/lstat (Depends-on): Remove xalloc.
120839         * modules/mkstemp (Depends-on): Add stat-macros.
120840         * modules/modechange (Depends-on): Remove xstrtol.
120841         Add stat-macros, xalloc.
120842         * modules/save-cwd (Depends-on): Add unistd-safer.
120843         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
120844         * modules/unistd-safer (Files): Add lib/fd-safer.c
120845         (Makefile.am): Remove lib_SOURCES.
120847         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
120848         Remove fcntl-safer; unistd-safer supersedes it.
120850 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
120852         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
120853         AC_HEADER_STAT.
120854         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
120855         (gl_PREREQ_CHOWN): Remove.
120856         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
120857         it.  Don't require AC_HEADER_STAT.
120858         (gl_PREREQ_LSTAT): Remove.
120859         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
120860         Don't require AC_HEADER_STAT.
120861         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
120862         (gl_PREREQ_RMDIR): Remove.
120863         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
120864         mention stat-macros.h or AC_HEADER_STAT, since we'll make
120865         the stat-macros module a prerequisite.
120866         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
120867         * m4/filemode.m4 (gl_FILEMODE): Likewise.
120868         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
120869         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
120870         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
120871         variable names.
120872         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
120873         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
120874         variable prefixes.
120875         * m4/fcntl-safer.m4: Remove.
120876         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
120877         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
120878         Invoke gl_PREREQ_FD_SAFER.
120879         (gl_PREREQ_FD_SAFER): New macro.
120880         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
120881         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
120882         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
120883         Remove duplicate call to AC_LIBOBJ(readutmp).
120884         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
120886         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
120887         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
120889 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
120891         * MODULES.html.sh (Misc): Add byteswap.
120893 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
120895         * modules/getcwd (Depends-on): Add extensions.
120896         * modules/openat (Depends-on): Likewise.
120898 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
120900         * modules/byteswap: New file.
120902 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
120904         * m4/byteswap.m4: New file.
120906 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
120908         * lib/byteswap_.h: New file.
120910 2005-04-25  Karl Berry  <karl@gnu.org>
120912         * m4/gettext.m4: Update from GNU gettext 0.14.4.
120914 2005-04-25  Albert Chin  <china@thewrittenword.com>
120916         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
120917         Toolkit C bug.
120919 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
120921         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
120922         (func_ln_if_changed): Remove forcibly for no error message
120923         in case file does not exist.
120925 2005-04-19  Simon Josefsson  <jas@extundo.com>
120927         * gnulib-tool (Options): Make --symlink mean --symbolic.
120929 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
120931         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
120933 2005-04-16  Simon Josefsson  <jas@extundo.com>
120935         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
120937 2005-04-15  Simon Josefsson  <jas@extundo.com>
120939         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
120941 2005-04-15  Simon Josefsson  <jas@extundo.com>
120943         * gnulib-tool: Rename --symlink to --symbolic.
120945 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
120947         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
120948         symbolic links to files instead of copying/moving.  Add --aux-dir,
120949         specifying directory relative --dir where auxiliary build tools
120950         are placed.
120952 2005-04-14  Bruno Haible  <bruno@clisp.org>
120954         * modules/allocsa (License): Change to LGPL.
120955         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
120957 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
120959         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
120960         that "UTC +1 second" continues to work.  Problem reported
120961         by Dmitry V. Levin.
120962         (relunit_snumber): New rule.
120963         (relunit): Use it.
120965 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
120967         * lib/getdate.y (universal_time_zone_table): New constant.
120968         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
120969         universal_time_zone_table.
120970         (lookup_zone): Prefer universal_time_zone_table to
120971         local_time_zone_table, so that "GMT" time stamps are allowed in
120972         London during the summer.  Problem reported by Ian Abbott.
120974 2005-04-12  Jim Meyering  <jim@meyering.net>
120976         * lib/human.c (humblock): Set *options even when returning due to
120977         xstrtoumax conversion failure.  Thanks to a used-uninitialized
120978         warning from gcc-4.
120980 2005-04-09  Jim Meyering  <jim@meyering.net>
120982         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
120983         -Wuninitialized: initialize tm0.tm_year.
120985 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
120987         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
120988         count, since there's no maximum.  All uses changed.
120989         Add member dsts_seen.
120990         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
120991         not being INT_MAX.
120992         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
120993         Use pc_rels_seen to decide whether a date is absolute.
120995         * lib/getdate.y (number): Don't overwrite year.
120996         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
120997         check.
120999 2005-04-02  Simon Josefsson  <jas@extundo.com>
121001         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
121002         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
121004 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
121006         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
121007         where no absolute path name can be longer than PATH_MAX.
121009 2005-03-27  Jim Meyering  <jim@meyering.net>
121011         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
121013 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
121015         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
121016         "one's complement" -> "ones' complement" in comment, as per Knuth.
121017         "value of type" -> "type or expression" in comment.
121018         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
121020 2005-03-26  Jim Meyering  <jim@meyering.net>
121022         Comment nits.
121023         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
121024         Correct typos: s/or/of/.
121026 2005-03-26  Jim Meyering  <jim@meyering.net>
121028         * modules/check-include-files: Move to ../ and rename to...
121029         * check-module: ...this.
121031 2005-03-25  Jim Meyering  <jim@meyering.net>
121033         * modules/xvasprintf (Files): Add xalloc.h.
121035 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
121037         * modules/gettext (Files): config/config.rpath ->
121038         build-aux/config.rpath
121039         * modules/iconv (Files): Likewise.
121040         Problem reported by Oskar Liljeblad.
121042 2005-03-23  Jim Meyering  <jim@meyering.net>
121044         * modules/check-include-files: New script to check for
121045         missing dependencies, multiple includes, etc.
121047         * modules/c-strtold (Depends-on): Add xalloc.
121048         * modules/c-strtod (Depends-on): Add xalloc.
121049         * modules/hash (Depends-on): Add xalloc.
121050         (Files): Remove lib/xalloc.h.
121052         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
121053         * modules/userspec (Files): Add lib/inttostr.h.
121055 2005-03-23  Jim Meyering  <jim@meyering.net>
121057         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
121059 2005-03-22  Jim Meyering  <jim@meyering.net>
121061         * modules/stat-macros: New module.
121062         * modules/canonicalize, modules/euidaccess, modules/file-type,
121063         * modules/filemode, modules/lchown, modules/makepath,
121064         * modules/rmdir, modules/stat: Depend on new stat-macros module
121065         rather than listing lib/stat-macros.h manually.
121066         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
121068 2005-03-22  Jim Meyering  <jim@meyering.net>
121070         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
121072 2005-03-22  Bruno Haible  <bruno@clisp.org>
121074         * config/srclist.txt: Replace target directory 'config' with
121075         'build-aux'.
121076         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
121077         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
121078         ../build-aux/.
121080 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
121082         * modules/chdir-long (Depends-on): Add mempcpy.
121084         * modules/acl, modules/backupfile, modules/c-strtod,
121085         modules/c-strtold, modules/canon-host, modules/canonicalize,
121086         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
121087         modules/exclude, modules/exitfail, modules/file-type,
121088         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
121089         modules/getdate, modules/getline, modules/getpagesize,
121090         modules/getpass, modules/getugroups, modules/group-member,
121091         modules/hard-locale, modules/hash, modules/human, modules/idcache,
121092         modules/inttostr, modules/long-options, modules/makepath,
121093         modules/md5, modules/memcasecmp, modules/memcoll,
121094         modules/modechange, modules/mountlist, modules/path-concat,
121095         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
121096         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
121097         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
121098         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
121099         modules/strftime, modules/strndup, modules/strverscmp,
121100         modules/timespec, modules/unlocked-io, modules/userspec,
121101         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
121102         modules/yesno:
121103         Remove lib_SOURCES line from Makefile.am section, as this is now
121104         done automatically by the corresponding Autoconf macro.
121106 2005-03-21  Jim Meyering  <jim@meyering.net>
121108         Changes imported from coreutils.
121110         * lib/cycle-check.c: Don't include xalloc.h.
121112         * lib/path-concat.c: Don't include assert.h.
121113         (path_concat): Remove assertion that would have triggered
121114         for ABASE starting with more than one slash.
121115         Reported by Andreas Schwab.
121117         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
121118         properly when ABASE is an absolute file name.
121119         Correct the description of this function.
121120         Include <assert.h>.
121121         Add an assertion and a test driver.
121122         This fixes a bug introduced on 2004-07-02.
121123         Andreas Schwab reported the resulting failure of cp --parents:
121124         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
121126 2005-03-21  Jim Meyering  <jim@meyering.net>
121128         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
121129         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
121131 2005-03-21  Jim Meyering  <jim@meyering.net>
121132         and  Paul Eggert  <eggert@cs.ucla.edu>
121134         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
121135         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
121136         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
121137         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
121138         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
121139         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
121140         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
121141         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
121142         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
121143         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
121144         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
121145         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
121146         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
121147         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
121148         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
121149         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
121150         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
121151         for these modules.
121153 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
121155         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
121156         (which shouldn't happen), generate nothing instead of returning 0
121157         immediately, so that nstrftime (NULL, ...) doesn't return 0.
121159 2005-03-16  Bruno Haible  <bruno@clisp.org>
121161         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
121162         HAVE_LONGLONG_64BIT.
121164 2005-03-16  Bruno Haible  <bruno@clisp.org>
121166         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
121167         HAVE_LONGLONG_64BIT.
121169 2005-03-16  Bruno Haible  <bruno@clisp.org>
121171         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
121172         HAVE_LONGLONG_64BIT.
121174 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
121176         * lib/strftime.c (my_strftime): Prepend space to format so that we can
121177         reliably distinguish strftime failure from empty output on POSIX
121178         hosts.
121180 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
121182         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
121183         (iconv_string): Don't guess a size-zero buffer, as that might cause
121184         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
121185         result would be 'too large', where 'too large' is (heuristically)
121186         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
121187         overflow concerns.  This will prevent some unwanted malloc failures
121188         when the inputs are very large.
121190 2005-03-15  Karl Berry  <karl@gnu.org>
121192         * config/srclist.txt (config.rpath): from gettext.
121193         * config/config.rpath: update.
121195 2005-03-15  Bruno Haible  <bruno@clisp.org>
121197         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
121198         to 'negate'.
121200         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
121201         variable.
121203         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
121204         results.
121206 2005-03-14  Simon Josefsson  <jas@extundo.com>
121208         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
121209         <fx@gnu.org>.
121211 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
121213         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
121214         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
121215         intprops.h.
121216         * lib/strtol.c: Likewise.
121218 2005-03-14  Jim Meyering  <jim@meyering.net>
121220         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
121221         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
121222         to be nonzero so that we (and caller) can detect the difference
121223         between a valid zero-length expansion and an error return, even
121224         when the underlying strftime fails before writing anything into
121225         that location.
121227 2005-03-14  Bruno Haible  <bruno@clisp.org>
121229         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
121230         Update from GNU gettext 0.14.3.
121232 2005-03-10  Jim Meyering  <jim@meyering.net>
121234         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
121236 2005-03-10  Jim Meyering  <jim@meyering.net>
121238         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
121239         so that this module works on systems without fchdir.
121241 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
121243         Factor int-properties macros into a single file, except for
121244         glibc-related files.
121245         * lib/intprops.h: New file.
121246         * lib/getloadavg.c: Include it instead of limits.h.
121247         (INT_STRLEN_BOUND): Remove.
121248         * lib/human.c: Include intprops.h.
121249         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
121250         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
121251         302/1000.
121252         * lib/inttostr.h: Include intprops.h instead of limits.h.
121253         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
121254         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
121255         for consistency with intprops.h.
121256         (time_t_is_integer, twos_complement_arithmetic): Use them.
121257         * lib/sig2str.h: Include <signal.h>, intprops.h.
121258         (INT_STRLEN_BOUND): Remove.
121259         * lib/strftime.c (TYPE_SIGNED): Remove.
121260         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
121261         * lib/strtol.c: Adjust comments to match intprops.h.
121262         * lib/userspec.c: Include intprops.h.
121263         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
121264         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
121265         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
121266         instead of rolling our own expressions.
121267         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
121269         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
121270         instead of int.
121271         (my_strftime): Do not mishandle years close to INT_MAX, by doing
121272         the right thing even if adding 1900 would overflow.  Similarly
121273         for tm_mon + 1 and tm_yday + 1.
121274         Make %Y always equivalent to %C%y, and similarly for %G and %g.
121275         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
121276         (DO_SIGNED_NUMBER): New macro.
121277         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
121279 2005-03-07  Bruno Haible  <bruno@clisp.org>
121281         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
121283 2005-03-07  Bruno Haible  <bruno@clisp.org>
121285         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
121287 2005-03-04  Derek R. Price  <derek@ximbiot.com>
121289         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
121290         (func_import): Only replace files via --import when they have actually
121291         changed.
121293 2005-03-03  Derek R. Price  <derek@ximbiot.com>
121295         * m4/mmap-anon.m4: New file.
121296         * m4/pagealign_alloc.m4: New file.
121298 2005-03-03  Derek R. Price  <derek@ximbiot.com>
121299             Bruno Haible  <bruno@clisp.org>
121301         * modules/pagealign_alloc: New file.
121302         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
121304 2005-03-03  Derek R. Price  <derek@ximbiot.com>
121305             Bruno Haible  <bruno@clisp.org>
121307         * lib/pagealign_alloc.h: New file.
121308         * lib/pagealign_alloc.c: New file.
121310 2005-03-03  Bruno Haible  <bruno@clisp.org>
121312         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
121313         Use an all-permissive copyright notice, recommended by RMS.
121315 2005-03-02  Bruno Haible  <bruno@clisp.org>
121317         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
121318         of AIX, the replacement has to be done only after <string.h> is
121319         included, therefore not in config.h. stpncpy.h does the replacement,
121320         and stpncpy.c uses it.
121322 2005-03-02  Bruno Haible  <bruno@clisp.org>
121324         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
121325         stpncpy.c uses it.
121327 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
121329         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
121330         The workaround isn't strictly needed for POSIX conformance, and
121331         it's too much of a pain to configure and maintain.  We'll ask
121332         people to fix their kernels instead.
121333         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
121334         (NANOSLEEP_BUG_WORKAROUND): Remove.
121335         (xnanosleep): Remove the workaround.
121337 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
121339         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
121340         Reported by Derek Price.
121341         (Include): Add "timespec.h".
121343         * modules/xnanosleep (Depends-on): Remove gethrxtime.
121345 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
121347         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
121348         to detect nanosleep bug.
121350 2005-03-01  Bruno Haible  <bruno@clisp.org>
121352         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
121354 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
121356         * modules/gethrxtime: New file.
121357         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
121358         (Depends-on): Add gethrxtime.
121359         (configure.ac): Add gl_XNANOSLEEP.
121360         (Makefile.am): Remove lib_SOURCES line.
121362 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
121364         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
121365         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
121367 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
121369         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
121370         * lib/timespec.h (gettime): Return void, since it always
121371         succeeds now.  All uses changed.
121372         * lib/gettime.c (gettime): Likewise.
121373         [HAVE_NANOTIME]: Prefer nanotime.
121374         Assume gettimeofday succeeds, as POSIX requires.
121375         Assime time () succeeds, since other code already does.
121376         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
121377         (timespec_subtract): Remove.
121378         (NANOSLEEP_BUG_WORKAROUND): New constant.
121379         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
121380         things considerably.  Use it only on GNU/Linux hosts, since the
121381         workaround shouldn't be needed elsewhere.
121383 2005-02-24  Bruno Haible  <bruno@clisp.org>
121385         * modules/gettext (Files): Add m4/glibc2.m4.
121387 2005-02-24  Bruno Haible  <bruno@clisp.org>
121389         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
121390         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
121391         * m4/progtest.m4:
121392         Update from GNU gettext 0.14.2.
121393         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
121395 2005-02-24  Bruno Haible  <bruno@clisp.org>
121397         * lib/localcharset.c: Update from GNU gettext 0.14.2.
121398         * lib/config.charset: Update from GNU gettext 0.14.2.
121400 2005-02-24  Bruno Haible  <bruno@clisp.org>
121402         * lib/gettext.h: Update from GNU gettext 0.14.2.
121404 2005-02-23  Simon Josefsson  <jas@extundo.com>
121406         * m4/iconvme.m4: New file.
121408 2005-02-23  Jim Meyering  <jim@meyering.net>
121410         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
121411         change.
121412         Thanks to Bruno Haible for catching it.
121414 2005-02-22  Simon Josefsson  <jas@extundo.com>
121416         * modules/iconvme: New file.
121418         * MODULES.html.sh: Add iconvme.
121420 2005-02-22  Simon Josefsson  <jas@extundo.com>
121422         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
121424 2005-02-22  Simon Josefsson  <jas@extundo.com>
121426         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
121428 2005-02-22  Jim Meyering  <jim@meyering.net>
121430         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
121431         s/ifndef/ifdef/.
121433 2005-02-20  Neil Conway  <neilc@samurai.com>
121435         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
121436         returned by OSX/Darwin if the specified buffer is not large
121437         enough for the hostname.
121439 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121441         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
121442         pass it to _help, otherwise the latter coredumps trying to
121443         dereference state.root_argp.
121445 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
121447         * modules/chdir-long (Depends-on): Add memrchr.
121448         * modules/memrchr (Files): Add lib/memrchr.h.
121449         (Include): "memrchr.h".
121451 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
121453         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
121455 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
121457         * lib/memrchr.h: New file.
121458         * lib/chdir-long.c: Include it.
121459         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
121460         Don't bother including stddef.h.
121462 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
121464         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
121465         inclusion.
121466         Include <sys/types.h>, for dev_t.
121467         (ME_DUMMY, ME_REMOTE): Move from here....
121468         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
121469         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
121470         Dmitry V. Levin.
121471         Include mountlist.h first, to test the interface.
121473 2005-01-29  Bruno Haible  <bruno@clisp.org>
121475         * lib/progname.c (program_name): Initialize.
121476         Needed when linking statically on MacOS X.
121478 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
121480         Sync from coreutils.
121481         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
121482         (Depends-on): Add c-strtod.
121483         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
121485 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
121487         Sync from coreutils.
121488         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
121490         Remove files that are specific to coreutils.
121491         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
121493 2005-01-28  Bruno Haible  <bruno@clisp.org>
121495         * modules/javacomp: New file.
121496         * MODULES.html.sh (Java): Add javacomp.
121498 2005-01-28  Bruno Haible  <bruno@clisp.org>
121500         * m4/javacomp.m4: New file, from GNU gettext.
121502 2005-01-28  Bruno Haible  <bruno@clisp.org>
121504         * lib/javacomp.sh.in: New file, from GNU gettext.
121505         * lib/javacomp.h: New file, from GNU gettext.
121506         * lib/javacomp.c: New file, from GNU gettext.
121508 2005-01-26  Simon Josefsson  <jas@extundo.com>
121510         * lib/gai_strerror.c: Use GPL in header.
121512 2005-01-26  Bruno Haible  <bruno@clisp.org>
121514         * modules/javaexec: New file.
121515         * MODULES.html.sh (Java): Add javaexec.
121517 2005-01-26  Bruno Haible  <bruno@clisp.org>
121519         * m4/javaexec.m4: New file, from GNU gettext.
121521 2005-01-26  Bruno Haible  <bruno@clisp.org>
121523         * lib/javaexec.sh.in: New file, from GNU gettext.
121524         * lib/javaexec.h: New file, from GNU gettext.
121525         * lib/javaexec.c: New file, from GNU gettext.
121527 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121529         * modules/lchown (Depends-on): Remove lchown.h
121531 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121533         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
121534         must be defined if the header file was not found, in order
121535         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
121537 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121539         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
121540         initializers for struct pentry_state.
121541         (__argp_error): Check return value of __asprintf
121542         (__argp_failure): Translate error message
121544         * lib/argp-parse.c: Removed braces around the expansion of N_()
121546 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
121548         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
121549         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
121550         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
121551         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
121552         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
121553         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
121554         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
121555         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
121556         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
121557         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
121558         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
121559         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
121560         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
121561         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
121562         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
121563         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
121564         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
121565         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
121566         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
121567         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
121568         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
121569         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
121570         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
121571         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
121572         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
121573         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
121574         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
121575         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
121576         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
121577         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
121578         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
121579         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
121580         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
121581         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
121582         xstrtol.m4, xstrtoumax.m4, yesno.m4:
121583         Use an all-permissive copyright notice, recommended by RMS.
121585 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
121587         * modules/chdir-long (Depends-on): Remove mempcpy.
121589 2005-01-21  Jim Meyering  <jim@meyering.net>
121591         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
121592         same value as for Solaris 9.
121594         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
121595         component length.  This included changing the parameter to be
121596         of type `char *' rather than `char const *'.
121597         * lib/chdir-long.h (chdir_long): Update prototype.
121599         * lib/openat.c (fdopendir, fstatat): New functions.
121600         * lib/openat.h: Include headers required for use of DIR and struct
121601         stat.
121602         [AT_SYMLINK_NOFOLLOW]: Define.
121603         (fdopendir, fstatat): Add prototypes.
121605 2005-01-21  Bruno Haible  <bruno@clisp.org>
121607         * modules/classpath: New file.
121608         * MODULES.html.sh (Java): Add classpath.
121610 2005-01-21  Bruno Haible  <bruno@clisp.org>
121612         * lib/classpath.h: New file, from GNU gettext.
121613         * lib/classpath.c: New file, from GNU gettext.
121615 2005-01-20  Simon Josefsson  <jas@extundo.com>
121617         * modules/version-etc-fsf: New file.
121619 2005-01-20  Simon Josefsson  <jas@extundo.com>
121621         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
121622         * lib/version-etc.c: Remove version_etc_copyright.
121623         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
121624         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
121626 2005-01-20  Simon Josefsson  <jas@extundo.com>
121628         * lib/base64.h (isbase64): Add.
121630         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
121631         using a unsigned prototype, don't inline.
121632         (base64_decode): Use it.
121634 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
121636         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
121637         it.
121639 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
121641         * lib/save-cwd.c (save_cwd): Remove code to support the case
121642         where fchdir is missing or flaky.
121644 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
121646         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
121648 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
121650         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
121651         AC_LIBSOURCES now does this.
121652         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
121653         with new ullong_max module.
121655 2005-01-19  Bruno Haible  <bruno@clisp.org>
121657         * modules/sh-quote: New file.
121658         * MODULES.html.sh (Executing programs): Add sh-quote.
121660 2005-01-19  Bruno Haible  <bruno@clisp.org>
121662         * lib/sh-quote.h: New file, from GNU gettext.
121663         * lib/sh-quote.c: New file, from GNU gettext.
121665 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
121667         Merge from coreutils.
121668         * m4/ullong_max.m4: New file.
121669         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
121670         (gl_MACROS): Assume localeconv exists.
121672 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
121674         Merge changes from coreutils, as described below in several
121675         changelogs dated today.
121677         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
121678         (O_DIRECTORY): Remove; not needed here, since "." must be
121679         a directory.  All uses removed.
121680         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
121681         universal on Suns, and we also need to test for IRIX.
121682         Revamp code to use 'if' rather than '#if'.
121683         Avoid unnecessary comparison of cwd->desc to 0.
121685         * lib/utimens.c (futimens): Robustify the previous patch, by checking
121686         for known valid error numbers rather than observed invalid ones.
121688 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
121690         * modules/ullong_max: New file.
121692         * modules/chdir-long, modules/openat: New files.
121693         * modules/save-cwd (Depends-on): Depend on chdir-long.
121694         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
121696 2005-01-18  Jim Meyering  <jim@meyering.net>
121698         Merge from coreutils.
121699         * m4/chdir-long.m4, m4/openat.m4: New files.
121700         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
121701         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
121702         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
121703         is sane and DOES follow symlinks.  Besides, testing 20 different
121704         systems found no broken chown implementations.
121705         Prompted by a change in rsync's copy of this macro.
121706         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
121708         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
121710         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
121711         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
121712         NULL-means-set-to-current-time semantics.
121713         Remove temporary file immediately, rather than waiting
121714         for configure's at-exit trap code to do it.
121716 2005-01-18  Jim Meyering  <jim@meyering.net>
121718         * lib/version-etc.c (version_etc_copyright): Update copyright date.
121720         * lib/utimens.c (futimens): Account for the fact that futimes
121721         can also fail with errno == ENOSYS or errno == ENOENT.
121722         Patch from Dmitry V. Levin.
121724         Change the name of the robust chdir function from chdir to chdir_long.
121725         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
121726         (restore_cwd): Use chdir_long, not chdir.
121727         * lib/chdir-long.c: Renamed from chdir.c.
121728         * lib/chdir-long.h: Renamed from chdir.h.
121729         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
121730         Hurd.
121732 2005-01-18  Bruno Haible  <bruno@clisp.org>
121734         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
121735         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
121736         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
121737         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
121738         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
121739         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
121740         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
121741         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
121742         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
121743         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
121744         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
121745         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
121746         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
121747         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
121748         Use an all-permissive copyright notice, recommended by RMS.
121750 2005-01-18  Bob Proulx  <bob@proulx.com>
121752         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
121753         simplify offsetof() macro construct to avoid compile failure with
121754         native HP-UX 11.0 ANSI C compiler.
121756 2005-01-17  Bruno Haible  <bruno@clisp.org>
121758         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
121759         redundant because stpncpy.m4 takes care of it.
121761 2005-01-17  Bruno Haible  <bruno@clisp.org>
121763         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
121765 2005-01-17  Bruno Haible  <bruno@clisp.org>
121767         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
121768         used.
121770 2005-01-17  Bruno Haible  <bruno@clisp.org>
121772         * lib/fwriteerror.h (fwriteerror): Change specification to include
121773         fclose.
121774         * lib/fwriteerror.c: Include <stdbool.h>.
121775         (fwriteerror): At the end, close the file stream. Record whether
121776         stdout was already closed.
121778 2005-01-17  Bruno Haible  <bruno@clisp.org>
121780         * lib/execute.c (environ): Declare if needed.
121781         * lib/pipe.c (environ): Likewise.
121782         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
121784 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121786         * modules/argp: Depend on vsnprintf
121788 2005-01-10  Jim Meyering  <jim@meyering.net>
121790         * modules/closeout (Depends-on): Add atexit.
121792 2005-01-06  Bruno Haible  <bruno@clisp.org>
121794         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
121796 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
121798         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
121799         definitions to be after all include files, to avoid collisions.
121800         Problem reported by Bob Proulx.
121802 2005-01-04  Jim Meyering  <jim@meyering.net>
121804         Changes imported from coreutils.
121805         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
121806         as the mkstemp template, use a temporary directory and an
121807         8.3-friendly template to avoid trouble on systems like DJGPP.
121808         Reported by Juan M. Guerrero via Stepan Kasal.
121809         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
121810         close. Remove the temporary directory right away, rather than waiting
121811         for configure's at-exit trap code to do it.
121812         Suggestion from Stepan Kasal.
121814 2005-01-01  Simon Josefsson  <jas@extundo.com>
121816         * gnulib-tool: Print #include directives when --import'ing.
121818 2004-12-28  Simon Josefsson  <jas@extundo.com>
121820         * tests/test-base64.c: Include required header files.  Remove
121821         unused variables.
121823 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
121825         * modules/error (Depends-on): Remove gettext.
121827 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
121829         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
121830         not needed.  This removes a dependency on the gettext module.
121831         [defined _LIBC]: Do not include <libintl.h>; not needed.
121833 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
121835         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
121836         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
121838 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
121840         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
121841         HAVE_DECL_STRTOLD.
121843 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
121845         * modules/getdate (Depends-on): Remove alloca-opt.
121847 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
121849         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
121851 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
121853         * lib/argp-parse.c: Include <stddef.h>.
121854         (alignof, alignto): New macros.
121855         (parser_init): Don't assume that void * is aligned sufficiently
121856         for struct option.
121858         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
121859         need to extend the stack.
121860         (YYINITDEPTH): New macro, so that the initial stack isn't overly
121861         large.
121863 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121865         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
121867 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
121869         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
121870         (2004-10-24) change.  Apparently this was a false alarm.
121872         * modules/getdate: Depend on alloca-opt, not alloca.
121874 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
121876         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
121877         Remove now-obsolete comment about AIX.
121878         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
121879         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
121880         (YYMAXDEPTH): New macro.
121882 2004-12-18  Simon Josefsson  <jas@extundo.com>
121884         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
121886 2004-12-18  Bruno Haible  <bruno@clisp.org>
121888         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
121890 2004-12-18  Bruno Haible  <bruno@clisp.org>
121892         * lib/fatal-signal.c (fatal_signals): Make non-const.
121893         (init_fatal_signals): New function.
121894         (uninstall_handlers, install_handlers): Ignore signals that were set to
121895         SIG_IGN.
121896         (at_fatal_signal): Call init_fatal_signals.
121897         (init_fatal_signal_set): Likewise. Ignore signals that were set to
121898         SIG_IGN.
121899         Reported by Paul Eggert.
121901 2004-12-18  Bruno Haible  <bruno@clisp.org>
121903         * doc/alloca.texi: New file.
121904         * doc/alloca-opt.texi: New file.
121906 2004-12-17  Jim Meyering  <jim@meyering.net>
121908         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
121909         Otherwise, install-sh could exit with improper exit status when
121910         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
121912 2004-12-16  Simon Josefsson  <jas@extundo.com>
121914         * tests/test-base64.c: Add license.
121916 2004-12-15  Stepan Kasal  <address@hidden>
121918         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
121920 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
121922         * modules/getcwd (Files): Add m4/d-ino.m4.
121923         Suggested by Mark D. Baushke.
121925 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
121927         * lib/getdate.y (textint): New member "negative".
121928         (time_zone_hhmm): New function.
121929         Expect 14 shift-reduce conflicts, not 13.
121930         (o_colon_minutes): New rule.
121931         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
121932         (yylex): Set the "negative" member of signed numbers.
121934 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
121936         * doc/getdate.texi (Time of day items, Time zone items):
121937         Describe new formats +00:00, UTC+00:00.
121939 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
121941         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
121942         spurious "-l"s.  Problem reported by Stepan Kasal.
121944 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
121946         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
121947         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
121949 2004-12-04  Simon Josefsson  <jas@extundo.com>
121951         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
121952         Vandoorselaere <yoann@prelude-ids.org>.
121954 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
121956         Changes imported from coreutils.
121957         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
121958         exist.
121959         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
121961 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
121963         Changes imported from coreutils.
121964         * lib/hard-locale.c: Assume <locale.h> exists.
121965         Include "strdup.h".
121966         (GLIBC_VERSION): New macro.
121967         (hard_locale): Assume setlocale exists.
121968         Rewrite to avoid #ifdef.
121969         Use strdup rather than malloc + strcpy.
121970         * lib/human.c: Assume <locale.h> exists.
121971         (human_readable): Assume localeconv exists.
121973 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
121975         * modules/hard-locale (Depends-on): Add strdup.
121977 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
121979         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
121980         convert T2, not T.  (Imported from libc.)
121982 2004-11-30  Simon Josefsson  <jas@extundo.com>
121984         * modules/restrict (License): Change to LGPL.
121986 2004-11-30  Simon Josefsson  <jas@extundo.com>
121988         * m4/restrict.m4: Add copyright and copying conditions.
121990 2004-11-30  Simon Josefsson  <jas@extundo.com>
121992         * m4/base64.m4: New file.
121994 2004-11-30  Simon Josefsson  <jas@extundo.com>
121996         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
121997         base64.
121999         * tests/test-base64.c: New file.
122001         * modules/base64: New file.
122003 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
122005         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
122006         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
122008         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
122010 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
122012         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
122013         (__getcwd.c): Don't restore errno; glibc doesn't.
122014         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
122015         first, falling back to our code only if its results look suspicious.
122016         Ensure that the resulting buffer is only as large as necessary.
122018         * lib/readutmp.c: Include readutmp.h first.
122019         Include <errno.h>, since readutmp.h no longer does that.
122020         * lib/readutmp.h: Don't include <errno.h>,
122021         <sys/param.h>, <time.h>; not needed to establish interface.
122022         (errno): Remove decl.
122023         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
122024         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
122025         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
122027 2004-11-28  Simon Josefsson  <jas@extundo.com>
122029         * lib/base64.h, base64.c: New file.
122031 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
122033         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
122035 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
122037         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
122038         (Depends-on): Remove pathmax, same.  Add mempcpy.
122039         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
122040         (Makefile.am): Append getcwd.h to lib_SOURCES.
122041         (Include): Add getcwd.h.
122042         (Maintainer): Change from Jim Meyering to "all, glibc",
122043         since getdate now uses intended-for-glibc code.
122044         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
122045         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
122047 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
122049         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
122050         HP's ANSI C compiler.
122051         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
122052         Declaring int functions causes warnings on some modern systems and
122053         shouldn't be needed to compile on ancient ones.
122054         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
122055         defined.
122057         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
122058         with the following changes.
122059         (__set_errno): Parenthesize properly.
122060         Include <stdbool.h>.
122061         (MIN, MAX, MATCHING_INO): New macros.
122062         (__getcwd): Define with prototype, not K&R form.
122063         Use heuristics to allocate default buffer on stack if possible.
122064         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
122065         behavior, and to avoid the PATH_MAX limit when computing
122066         ../../../../...
122067         Use MATCHING_INO to compare inode number to file.
122068         Check for arithmetic overflow in size calculations.
122069         Fix bug in reallocation of dot array that caused getcwd to fail
122070         on directories nested deeper than 75.
122071         Be more careful about saving errno on error.
122072         Do not use realloc; use only free+malloc, as this is a bit
122073         more flexible and avoids a needless copy operation.
122074         Do not inspect st_dev and st_ino for symbolic links; POSIX
122075         doesn't specify the latter.
122076         Check for closedir errors.
122077         Avoid needless casts.
122078         Use "#ifdef weak_alias" around weak_alias, to be like other
122079         glibc code.
122080         The following changes to getcwd.c have effect only when used in
122081         gnulib; they have no effect inside glibc proper.
122082         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
122083         as alloca isn't used.
122084         (alloca, __alloca): Likewise.
122085         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
122086         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
122087         unconditionally, as gnulib assumes C89 or better.
122088         Do not include <sys/param.h>.
122089         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
122090         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
122091         better.
122092         (NULL) [!defined NULL]: Remove; we assume C89 or better.
122093         Include <dirent.h> in a way that is compatible with modern Autoconf.
122094         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
122095         New macros, if not already defined.
122096         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
122097         Use "_LIBC", not "defined _LIBC", for consistency.
122098         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
122099         a mempcpy module.
122100         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
122101         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
122102         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
122103         credit only to Jim Meyering and adjust the copyright dates.
122104         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
122105         <stdlib.h>, <unistd.h>, "pathmax.h".
122106         Instead, include "xgetcwd.h" (first) and "getcwd.h".
122107         (INITIAL_BUFFER_SIZE): Remove.
122108         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
122110 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
122112         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
122113         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
122114         Use the _ONCE methods, for efficiency.
122115         Check for fcntl.h.  In test program, include <errno.h>
122116         and <fcntl.h> if available.  Remove old K&R cruft from
122117         test program.  Check for common errors in GNU/Linux,
122118         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
122119         don't do AC_LIBOBJ, as that's getcwd.m4's job.
122120         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
122121         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
122122         name accordingly.
122123         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
122124         accommodate new getcwd.c.
122125         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
122126         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
122127         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
122128         that's all we need now.
122130 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122132         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
122133         argp-parse.c depends on getopt internals, that means we should
122134         always use our getopt, to be on the safe side.
122135         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
122136         order not to spoil the result of an eventual previous invocation
122137         of gl_GETOPT_SUBSTITUTE.
122139 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122141         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
122142         redefinition warnings. To avoid them, include the defines
122143         in `#if !defined __need_getopt ... #endif'. The only place
122144         where __getopt_argv_const is used is in definitions
122145         of getopt_long and getopt_long_only below, which are as well
122146         protected by `#ifndef __need_getopt'.
122147         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
122148         __need_getopt after including <stdio.h> and <unistd.h> These
122149         headers might have defined it.
122151 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
122153         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
122155 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
122157         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
122158         (futimens): New function, which uses futimes if available.
122159         (futimens, utimens): Support timespec==NULL, with same semantics
122160         as utime and utimens.
122161         * lib/utimens.h (futimens): New decl.
122163 2004-11-23  Jim Meyering  <jim@meyering.net>
122165         * lib/getopt_.h: Remove trailing blanks.
122167 2004-11-23  Jim Meyering  <jim@meyering.net>
122169         * lib/__fpending.c: Add comment.
122171 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
122173         * modules/canonicalize (Depends-on): Add xreadlink.
122174         Problem reported by James Youngman.
122176 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
122178         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
122179         New macros.
122180         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
122181         optopt): Use them instead of invoking ## directly; otherwise, the
122182         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
122184 2004-11-19  Bruno Haible  <bruno@clisp.org>
122186         * lib/strtok_r.c: Move comments from here...
122187         * lib/strtok_r.h: ... to here.
122189 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
122191         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
122192         implementations that mishandle size_t overflow.
122194 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
122196         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
122197         might fail.  Problem reported by Yoann Vandoorselaere.
122198         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
122199         implementations that mishandle size_t overflow.
122201 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
122203         * modules/canon-host (Depends-on): Add strdup.
122205 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
122207         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
122209 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
122211         * lib/canon-host.c: Include "strdup.h".
122212         (canon_host): Use getaddrinfo if available, so that IPv6 works.
122213         Use strdup instead of malloc/strcpy to duplicate strings.
122215         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
122216         (human_space_before_unit): New constant.
122217         * lib/human.c (human_readable): Support it.
122219         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
122220         (xgetcwd): Set errno correctly when failing.
122221         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
122222         the failure is actually due to a PATH_MAX problem.
122224         Further getopt changes to make it more likely that glibc will
122225         buy the changes back.
122226         * lib/getopt.c (POSIXLY_CORRECT): New constant.
122227         (getopt): Use it, so to preserve glibc semantic
122228         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
122229         when compiling for libc.
122230         * lib/getopt_.h (__getopt_argv_const): Bring it back.
122231         (getopt_long, getopt_long_only): Use it.
122233         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
122234         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
122235         (getopt): Argv is now char * const *, as per standard.
122236         (_getopt_internal_r, _getopt_internal): Argv is now char **,
122237         not char *__getopt_argv_const *.
122238         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
122239         _getopt_long_only_r): Likewise.
122240         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
122241         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
122242         _getopt_long_r, _getopt_long_only_r): Likewise.
122243         * lib/getopt_.h (__getopt_argv_const): Remove.
122244         (getopt): Argv is now char * const *, as per standard.
122246         * lib/getdate.y (tORDINAL): New token.
122247         (day, relunit): Allow it for relative times.
122248         (relative_time_table): Use tORDINAL for ordinals.
122250 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
122252         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
122253         Document that "second" isn't allowed as an ordinal number.
122255 2004-11-16  Jim Meyering  <jim@meyering.net>
122257         * modules/closeout (Depends-on): Add fpending.
122259 2004-11-15  Jim Meyering  <jim@meyering.net>
122261         * lib/closeout.c: Include "__fpending.h" once again.
122262         Include <stdbool.h>.
122263         (close_stdout): Don't fail just because stdout was closed initially,
122264         since some programs don't write to stdout in the normal course of
122265         operation (other than --version and --help), and we don't want this
122266         function to make e.g. `touch file >&-' fail.
122267         But do fail if it was closed and someone has tried to write to it.
122268         E.g., `printf foo >&-' must fail.
122270 2004-11-13  Jim Meyering  <jim@meyering.net>
122272         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
122274 2004-11-12  Simon Josefsson  <jas@extundo.com>
122276         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
122277         small doc fix is still pending.
122279 2004-11-11  Simon Josefsson  <jas@extundo.com>
122281         * modules/strtok_r: New file.
122283         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122284         strtok_r.
122286 2004-11-11  Simon Josefsson  <jas@extundo.com>
122288         * m4/strtok_r.m4: New file.
122290         * m4/getopt.m4: Replace opterr.
122292 2004-11-11  Simon Josefsson  <jas@extundo.com>
122294         * lib/strtok_r.h, strtok_r.c: New file.
122296 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
122298         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
122299         of replacing opterr, getopt, etc.  This should handle the
122300         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
122302 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
122304         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
122305         we can stop lying to compilers about the constness of argv when we
122306         are compiled outside glibc.
122307         (getopt, getopt_long, getopt_long_only): Use it.
122308         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
122309         _getopt_internal, getopt): Likewise.
122310         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
122311         _getopt_long_only_r): Likewise.
122312         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
122313         _getopt_long_r, _getopt_long_only_r): Likewise.
122315         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
122316         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
122317         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
122318         the other external symbols.
122319         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
122320         declaration, since the above renaming now works around collisions.
122322 2004-11-11  Jim Meyering  <jim@meyering.net>
122324         * lib/linebreak.c: Remove trailing blanks.
122325         * lib/alloca_.h: Likewise.
122326         * lib/acosl.c: Likewise.
122327         * lib/euidaccess.c: Likewise.
122328         * lib/allocsa.h: Likewise.
122330 2004-11-10  Simon Josefsson  <jas@extundo.com>
122332         * m4/getaddrinfo.m4: New file.
122334 2004-11-10  Simon Josefsson  <jas@extundo.com>
122336         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
122338 2004-11-10  Simon Josefsson  <jas@extundo.com>
122340         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122341         getaddrinfo.
122343         * modules/getaddrinfo: New file.
122345 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
122347         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
122349 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
122351         * lib/mktime.c (SHR): New macro, which is a portable
122352         substitute for >> that should work even on Crays.
122353         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
122354         Problem reported by Mark D. Baushke in
122355         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
122356         * lib/getdate.y (SHR): Likewise.
122357         (tm_diff): Use it.
122358         * lib/strftime.c (SHR): Likewise.
122359         (tm_diff): Use it.
122360         * lib/quotearg.c (struct quoting_options): Use unsigned int for
122361         quote_these_too, so that right shifts are well defined.  All uses
122362         changed.
122364 2004-11-10  Jim Meyering  <jim@meyering.net>
122366         Ensure that no close failure goes unreported.
122367         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
122368         return early when it seems there's nothing to flush.
122369         Don't include __fpending.h.
122371 2004-11-10  Jim Meyering  <jim@meyering.net>
122373         * modules/closeout (Depends-on): Remove fpending.
122375 2004-11-10  Jim Meyering  <jim@meyering.net>
122377         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
122379 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
122381         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
122382         gl_FUNC_STRFTIME.
122383         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
122384         and AC_REQUIRE when possible, to avoid duplicate checks.
122385         Check for <wchar.h>.
122387 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
122389         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
122391 2004-11-09  Bruno Haible  <bruno@clisp.org>
122393         * m4/sockpfaf.m4: New file.
122395 2004-11-05  Bruno Haible  <bruno@clisp.org>
122397         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
122398         Reported by Mark D. Baushke <mdb@cvshome.org>.
122400 2004-11-04  Bruno Haible  <bruno@clisp.org>
122402         2004-09-11  Bruno Haible  <bruno@clisp.org>
122403                 * allocsa.valgrind: New file.
122404         2004-02-06  Bruno Haible  <bruno@clisp.org>
122405                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
122406                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
122407                 Reported by Christopher Seip <chris.seip@hp.com>.
122409 2004-11-04  Bruno Haible  <bruno@clisp.org>
122411         * modules/allocsa (Files): Add lib/allocsa.valgrind.
122412         (Makefile.am): Distribute it.
122414 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
122416         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
122417         with errno == ERANGE if the buffer is too small.
122418         Problem reported by Mark D. Baushke.
122420 2004-11-03  Albert Chin  <china@thewrittenword.com>
122421             Paul Eggert  <eggert@cs.ucla.edu>
122423         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
122424         equivalent, substitute $ac_type for equivalent type rather than
122425         blindly using uint32_t *always* which won't work if uint32_t is not
122426         available.  Define _UINT32_T to work around typedef of uint32_t if
122427         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
122428         2.5.1.
122430 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
122432         * m4/jm-macros.m4: Sync from coreutils.
122433         (gl_MACROS): Check for mbrlen, for pathchk.
122434         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
122436 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
122438         * lib/xreadlink.c (MAXSIZE): New macro.
122439         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
122440         size does not exceed MAXSIZE.  Avoid cast.
122441         As suggested by Mark D. Baushke in
122442         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
122443         if readlink fails with buffer size just under MAXSIZE, try again
122444         with MAXSIZE.
122446 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
122448         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
122450 2004-11-02  Derek R. Price  <derek@ximbiot.com>
122451         and  Paul Eggert  <eggert@cs.ucla.edu>
122453         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
122454         (get_date): Overparenthesize to avoid GCC warning.
122456 2004-11-02  Bruno Haible  <bruno@clisp.org>
122458         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
122459         returns void.
122461 2004-11-02  Bruno Haible  <bruno@clisp.org>
122463         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
122464         function returns void.
122466 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
122468         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
122469         fflush_unlocked, flockfile, funlockfile, funlockfile,
122470         fputs_unlocked, putc_unlocked.
122472 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
122474         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
122475         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
122476         already declared.
122478 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
122480         * modules/getdate (Files): Add doc/getdate.texi.
122481         (Depends-on): Add setenv, xalloc.
122483 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
122485         * lib/getdate.y: Add support for TZ="foo" within a date string.
122486         Fix some bugs near time_t boundaries.  Reject dates with
122487         out-of-range components, e.g., "Sept 31".
122488         Include <stdlib.h>, "setenv.h", "xalloc.h".
122489         (ISDIGIT_LOCALE): Remove; unused.
122490         Note that the TZ and time functions used here are not reentrant.
122491         (mktime_ok, get_tz): New functions.
122492         (TZBUFSIZE): New constant.
122493         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
122494         This requires that we sometimes generate our own TZ="XXX..." setting.
122496 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
122498         * doc/getdate.texi: New file, from coreutils with modifications for
122499         the new TZ parsing.
122501 2004-10-27  Derek R. Price  <derek@ximbiot.com>
122503         * lib/mktime.c (not_equal_tm): Remove redundant check.
122505 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
122507         * modules/regex (lib_SOURCES): Add regex.c.
122508         Reported by James Youngman in
122509         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
122511 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
122513         * lib/getdate.y: Use Bison 1.875 features, and some minor
122514         code cleanups.  This change does not affect semantics.
122515         Don't include <stdlib.h>; no longer needed.
122516         Don't include unlocked-io.h; only the "#if TEST" code uses
122517         stdio, and performance isn't crucial there.
122518         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
122519         Bison 1.875 features as described below.
122520         All uses of "PC." replaced by "pc->".
122521         (YYSTYPE): Add a forward declaration.
122522         (yylex, yyerror): Use full prototypes in forward decls.
122523         Use "%pure-parser" rather than obsolescent "%pure_parser".
122524         Use %parse-param and %lex-param instead of obsolescent
122525         YYPARSE_PARAM and YYLEX_PARAM.
122526         (meridian_table, month_and_day_table, time_units_table,
122527         relative_time_table, time_zone_table, military_table,
122528         lookup_zone, lookup_word, get_date):
122529         Use NULL instead of 0 where appropriate.
122530         (to_hour): Avoid abort (), to avoid a dependency on
122531         stdlib.h.
122532         (yyerror, yylex): Now accepts parser_control * arg.
122533         (main) [TEST]: Use '\0' rather than 0 for char.
122535 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
122537         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
122539 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
122541         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
122542         It's now the caller's responsibility to handle the case where
122543         !HAVE_GETPAGESIZE && !defined getpagesize.
122545         * lib/mktime.c (leapyear): Arg is long int, not int.
122547 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
122549         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
122551 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
122553         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
122554         missing.  Problem reported by James Youngman.
122556 2004-10-16  Simon Josefsson  <jas@extundo.com>
122558         * gnulib-tool: Fix comments.  Fix parse problem.
122559         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
122561 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
122563         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
122564         implementation of getopt_long.  Problem reported by Alexander Taler in:
122565         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
122567 2004-10-15  Bruno Haible  <bruno@clisp.org>
122569         * gnulib-tool: Untabify. Initialize supplied_libname.
122570         (func_usage): More homogenous output.
122571         (func_modules_transitive_closure, func_modules_to_filelist,
122572         func_emit_lib_Makefile_am): New functions.
122573         (func_import): New function, extracted from big case statement. Use
122574         func_get_license, func_modules_transitive_closure,
122575         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
122576         opt_lgpl. Don't use test -a, as it's not portable.
122577         (func_create_testdir): Use func_modules_transitive_closure,
122578         func_modules_to_filelist, func_emit_lib_Makefile_am.
122580 2004-10-15  Bruno Haible  <bruno@clisp.org>
122582         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
122584 2004-10-15  Bruno Haible  <bruno@clisp.org>
122586         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
122587         the portions belonging to each module.
122588         Suggested by Derek Robert Price <derek@ximbiot.com>.
122590 2004-10-12  Simon Josefsson  <jas@extundo.com>
122592         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
122593         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
122594         to real functions.
122596 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
122598         * modules/vsnprintf: New file.
122600 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
122602         * m4/vsnprintf.m4: New file.
122604 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
122606         * lib/vsnprintf.h: New file.
122607         * lib/vsnprintf.c: New file.
122609 2004-10-11  Bruno Haible  <bruno@clisp.org>
122611         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
122612         vsnprintf.
122614 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
122616         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
122618 2004-10-07  Bruno Haible  <bruno@clisp.org>
122620         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
122621         fits into the provided buffer.
122623 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
122625         * lib/diacrit.c, diacrit.h: Add GPL notice.
122627         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
122628         notice.
122629         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
122630         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
122631         This avoids a potential constant-folding bug.
122633 2004-10-05  Bruno Haible  <bruno@clisp.org>
122635         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
122636         for the declaration of strsep.
122638 2004-10-05  Bruno Haible  <bruno@clisp.org>
122640         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
122642 2004-10-04  Simon Josefsson  <jas@extundo.com>
122644         * modules/memmem: New file.
122645         * tests/test-memmem.c: New file.
122646         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
122648 2004-10-04  Simon Josefsson  <jas@extundo.com>
122650         * m4/memmem.m4: New file.
122652 2004-10-04  Simon Josefsson  <jas@extundo.com>
122654         * lib/memmem.h: New file.
122655         * lib/memmem.c: New file, taken from glibc.
122657 2004-10-04  Simon Josefsson  <jas@extundo.com>
122659         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
122660         '#ifdef USE_UNLOCKED_IO'.
122662 2004-10-04  Simon Josefsson  <jas@extundo.com>
122664         * config/srclist.txt: Add memmem from glibc.
122666 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
122668         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
122670         * modules/argmatch, modules/argp, modules/closeout, modules/error,
122671         modules/exclude, modules/getdate, modules/getline,
122672         modules/getndelim2, modules/getpass, modules/getpass-gnu,
122673         modules/getusershell, modules/linebuffer, modules/md5,
122674         modules/mountlist, modules/posixtm, modules/readtokens,
122675         modules/readutmp, modules/regex, modules/sha1,
122676         modules/version-etc, modules/yesno:
122677         Remove dependency on unlocked-io.
122679 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
122681         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
122683         * m4/unlocked-io.m4: Add copyright notice.
122684         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
122686 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
122688         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
122689         * lib/xmalloc.c (xmemdup): Likewise.
122690         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
122691         XFREE): Remove these long-obsolescent macros.
122692         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
122693         * lib/xstrdup.c: Remove.
122695         * lib/regex.c (re_comp): Cast gettext return value to char *,
122696         Problem reported by Martin Neitzel via Mark D. Baushke.
122698 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
122700         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
122701         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
122702         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
122703         regex.c, sha1.c, version-etc.c, yesno.c:
122704         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
122705         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
122706         the includer's responsibility.
122708         Sync from coreutils.
122710         * lib/modechange.c (mode_compile): Don't decrement a pointer that
122711         points to the start of a string, as the C Standard says the
122712         resulting behavior is undefined.
122714         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
122715         simple -> simple_backups, numbered_existing ->
122716         numbered_existing_backups, numbered -> numbered_backups
122717         to avoid shadowing problems.  All uses changed.
122718         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
122719         * lib/backupfile.c (check_extension, numbered_backup):
122720         Rename locals to avoid shadowing 'basename'.
122721         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
122722         once.
122724         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
122725         * lib/.cvsignore: Add getopt.h.
122727 2004-10-04  Bruno Haible  <bruno@clisp.org>
122729         * modules/README: New file.
122730         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
122731         not a module.
122733 2004-10-02  Jim Meyering  <jim@meyering.net>
122735         * lib/dirfd.h, getpagesize.h: Add copyright notice.
122737 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
122739         * modules/strsep: New file.
122741 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
122743         * m4/strsep.m4: New file.
122745 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
122747         * lib/strsep.h: New file.
122748         * lib/strsep.c: New file.
122750 2004-10-01  Simon Josefsson  <jas@extundo.com>
122752         * lib/snprintf.c (snprintf): Handle size==0.
122754 2004-10-01  Simon Josefsson  <jas@extundo.com>
122755             Bruno Haible  <bruno@clisp.org>
122757         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
122758         (snprintf): Declare 'args'.
122760 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
122762         * lib/snprintf.c: Remove comments as to why each header is needed.
122764 2004-10-01  Bruno Haible  <bruno@clisp.org>
122766         * MODULES.html.sh: Add strsep.
122768 2004-09-30  Simon Josefsson  <jas@extundo.com>
122770         * modules/snprintf: New file.
122772 2004-09-30  Simon Josefsson  <jas@extundo.com>
122774         * m4/snprintf.m4: New file.
122776 2004-09-30  Simon Josefsson  <jas@extundo.com>
122778         * lib/snprintf.h, lib/snprintf.c: New files.
122780 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122782         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
122783         (hol_entry_help): Never translate an empty string.
122784         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
122785         * lib/argp.h (OPTION_NO_TRANS): New option.
122787 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
122789         * modules/argp (Maintainer): Replace Simon Josefsson
122790         by Sergey Poznyakoff.
122792 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
122794         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
122795         changes merged back into glibc.
122797 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
122799         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
122801 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
122803         * lib/xvasprintf.c: Include xalloc.h.
122804         (xvasprintf): Use xalloc_die, not xmalloc_die.
122806 2004-09-29  Bruno Haible  <bruno@clisp.org>
122808         * modules/alloca-opt: New file, derived from modules/alloca.
122809         * modules/allocsa: Depend on alloca-opt instead of alloca.
122810         * modules/setenv: Likewise.
122811         * modules/vasnprintf: Likewise.
122812         * MODULES.html.sh: Add alloca-opt.
122814 2004-09-28  Simon Josefsson  <jas@extundo.com>
122816         * gnulib-tool: New parameter --lgpl, to asseert that modules are
122817         LGPL, and to replace license template from GPL to LGPL.
122819 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
122821         * modules/dummy: Change license to LGPL.
122823 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
122825         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
122827 2004-09-24  Simon Josefsson  <jas@extundo.com>
122829         * modules/minmax (License): Change from GPL to LGPL.
122831 2004-09-23  Simon Josefsson  <jas@extundo.com>
122833         * gnulib-tool (--import): Typo.
122835 2004-09-23  Simon Josefsson  <jas@extundo.com>
122837         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
122839 2004-09-22  Bruno Haible  <bruno@clisp.org>
122841         * modules/*: Add 'License' field.
122842         * gnulib-tool: Accept --extract-license option.
122843         (func_get_license): New function.
122845 2004-09-21  Bruno Haible  <bruno@clisp.org>
122847         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
122848         Reported by Simon Josefsson.
122850 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
122852         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
122853         gl_AC_TYPE_LONG_LONG.
122855 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
122857         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
122859 2004-09-18  Simon Josefsson  <jas@extundo.com>
122860         and  Paul Eggert  <eggert@cs.ucla.edu>
122862         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
122863         calls with autoreconf.  Define GL_LIB.
122865 2004-09-14  Karl Berry  <karl@gnu.org>
122867         * config/srclist.txt: unsync setenv.c, sigh.
122869 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
122871         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
122872         Problem reported by Bruno Haible in:
122873         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
122875 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
122877         * config/srclist.txt: Comment out argp-pvh.c.
122879 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
122881         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
122882         in case some system header has #define'd it.  Problem reported by
122883         Soeren D. Schulze in
122884         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
122886 2004-09-09  Karl Berry  <karl@gnu.org>
122888         * regex.[ch]: delete from the root.  These were supposed to be
122889                 synced with emacs cvs, but this has not happened for about
122890                 a year, and anyway nothing else uses emacs regex.[ch].
122891                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
122892                 lib/regex[.ch] is untouched.
122894 2004-09-09  Bruno Haible  <bruno@clisp.org>
122896         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
122898 2004-09-09  Bruno Haible  <bruno@clisp.org>
122900         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
122901         modifications.
122902         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
122904 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
122906         * modules/xvasprintf: New file.
122907         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
122909 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
122911         * lib/xvasprintf.h: New file.
122912         * lib/xvasprintf.c: New file.
122913         * lib/xasprintf.c: New file.
122915 2004-09-08  Bruno Haible  <bruno@clisp.org>
122917         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
122919 2004-09-08  Bruno Haible  <bruno@clisp.org>
122921         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
122922         length is > INT_MAX.
122923         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
122924         more.
122926 2004-09-08  Bruno Haible  <bruno@clisp.org>
122928         * lib/stdint_.h: New file, taken from GNU clisp.
122930 2004-09-08  Bruno Haible  <bruno@clisp.org>
122931             Oskar Liljeblad  <oskar@osk.mine.nu>
122933         * modules/stdint: New file.
122934         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
122936 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
122938         Import from coreutils.
122939         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
122940         strings on unbounded length.  alloca's performance benefits aren't
122941         that important here.
122942         (V_STRDUP): Remove.
122943         (parse_with_separator): New function, with most of the internals
122944         of the old parse_user_spec.  Allow user to omit both user and group,
122945         for compatibility with FreeBSD.
122946         Clone only the user name, not the entire spec.
122947         Do not set *uid, *gid unless entirely successful.
122948         Avoid memory leak in some failing cases.
122949         Fix regression for USER.GROUP reported by Dmitry V. Levin in
122950         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
122951         (parse_user_spec): Rewrite to use parse_with_separator.
122953 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
122955         * modules/userspec: Don't depend on alloca.
122957 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
122959         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
122961 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
122963         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
122964         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
122965         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
122967 2004-08-16  Simon Josefsson  <jas@extundo.com>
122969         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
122970         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
122971         Add --dry-run for --import.
122972         Let user provided command line parameters override configure.ac
122973         settings.
122975 2004-08-12  Simon Josefsson  <jas@extundo.com>
122977         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
122978         as discussed with Paul Eggert in threads rooted at
122979         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
122980         and
122981         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
122982         Before, the test was empty, and relied on ELIDE_CODE in source
122983         code.)
122984         (gl_PREREQ_GETOPT): New macro.
122985         (gl_GETOPT): Use them.
122987 2004-08-12  Simon Josefsson  <jas@extundo.com>
122989         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
122990         * lib/getopt_.h: Renamed from getopt.h.
122992 2004-08-12  Simon Josefsson  <jas@extundo.com>
122994         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
122995         Change default library name from libfoo to libgnu.
122996         Now, if you have a configure.ac that says:
122997                 gl_SOURCE_BASE(gl)
122998                 gl_M4_BASE(gl/m4)
122999                 gl_MODULES(error getopt etcetera)
123000                 gl_INIT
123001         you can import all you need by running:
123002                 ../gnulib/gnulib-tool --import
123004         * modules/getopt (Files): Rename getopt.h to getopt_.h.
123005         (Makefile.am): Rewrite, use logic from argz.
123006         (Include): Use <getopt.h> instead of "getopt.h".
123008 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123010         * modules/argp (Files): Add m4/unlocked-io.m4.
123011         (Depends-on): Add extensions.
123013 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123015         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
123016         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
123017         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
123018         Check for program_invocation_name, program_invocation_short_name,
123019         flockfile, funlockfile, features.h, _getopt_long_only_r.
123021 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123023         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
123024         its complicated substitute.
123025         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
123026         and program_invocation_name.
123027         (__argp_basename) [!_LIBC]: Remove; the only use was
123028         replaced by its body.
123029         (__argp_short_program_name): Change condition from
123030         !defined __argp_short_program_name to
123031         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
123032         to match argp-namefrob.h.
123033         (__argp_failure): Don't assume strerror_r returns char *.
123034         * lib/argp-parse.c (N_): Define unconditionally.
123035         (argp_default_options): Fill out initializers with 0 to avoid
123036         gcc warnings.
123038 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123040         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
123041         getopt1.c.
123043 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
123045         Merge from coreutils.
123047         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
123049         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
123050         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
123052 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
123054         Merge from coreutils.
123056         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
123057         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
123058         for Reliant Unix 5.43.
123060         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
123061         (union fooround): Use uintmax_t, not long int.
123062         The rest is a merge from libc:
123063         [defined _LIBC]: Include <shlib-compat.h>.
123064         (_obstack) [defined _LIBC]: Remove after 2.3.4.
123066         * lib/settime.c (settime): Recode to avoid warning with
123067         Sun Forte C 6U2.
123069         * lib/strverscmp.c: Convert to UTF-8.
123071 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
123073         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
123074         m4/uintmax_t.m4.
123076 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
123078         * modules/xalloc-die: New file.
123079         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
123081         * modules/md5 (Files): Add m4/uint32_t.m4.
123082         * modules/sha1: Renamed from modules/sha.
123083         (Files):
123084         Rename lib/sha.h to lib/sha1.h.
123085         Rename lib/sha.c to lib/sha1.c.
123086         Rename m4/sha.m4 to m4/sha1.m4.
123087         (lib_SOURCES): Likewise.
123088         (configure.ac): Rename gl_SHA to gl_SHA1.
123089         (Include): sha.h -> sha1.h.
123091 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
123093         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
123094         * m4/sha1.m4: Renamed from sha.m4.
123095         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
123097 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
123099         * lib/obstack.h (obstack_empty_p):
123100         Don't assume that chunk->contents is suitably aligned.
123101         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
123102         Likewise. Problem reported by Benno in
123103         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
123105         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
123106         readable.  This could be improved further but it'd take some work.
123108 2004-08-08  Simon Josefsson  <jas@extundo.com>
123110         * modules/xgethostname (Depends-on): Remove exit and error (not
123111         used).
123113         * modules/getpass-gnu: Add getpass.h.
123114         (Depends-on): Add stdbool.
123115         * modules/getpass: Add getpass.h.
123117 2004-08-08  Simon Josefsson  <jas@extundo.com>
123119         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
123120         Check getpass declaration.
123122 2004-08-08  Simon Josefsson  <jas@extundo.com>
123124         * lib/xgethostname.c: Don't include error.h (not used).
123126         * lib/getpass.h: Add.
123127         * lib/getpass.c: Include getpass.h first.
123129 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
123131         * lib/xalloc-die.c: New file.
123132         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
123133         All uses removed.
123134         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
123135         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
123136         xalloc-die.c.
123137         (_, N_, xalloc_die): Move to xalloc-die.c.
123138         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
123139         so that we needn't mess with xalloc_msg_memory_exhausted.
123141         * lib/sha1.h: Renamed from sha.h.
123142         (SHA1_H): Renamed from _SHA_H.
123143         (sha1_ctx): Renamed from sha_ctx.
123144         (sha1_init_ctx): Renamed from sha_init_ctx.
123145         (sha1_process_block): Renamed from sha_process_block.
123146         (sha1_process_bytes): Renamed from sha_process_bytes.
123147         (sha1_finish_ctx): Renamed from sha_finish_ctx.
123148         (sha1_read_ctx): Renamed from sha_read_ctx.
123149         (sha1_stream): Renamed from sha_stream.
123150         (sha1_buffer): Renamed from sha_buffer.
123151         * lib/sha1.c: Likewise; renamed from sha.c.
123152         Do not include <sys/types.h>.
123153         Include <stddef.h> rather than <stdlib.h>.
123155 2004-08-08  Bruno Haible  <bruno@clisp.org>
123157         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
123158         FILESYSTEM_PREFIX_LEN.
123159         * lib/progreloc.c: Likewise.
123160         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
123162 2004-08-06  Simon Josefsson  <jas@extundo.com>
123164         * modules/progname (Depends-on): Don't depend on stdbool.
123166 2004-08-06  Simon Josefsson  <jas@extundo.com>
123168         * modules/getsubopt: New file.
123169         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123170         getsubopt.
123172 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
123174         More merge from coreutils.
123176         * m4/utimens.m4, m4/utimecmp.m4: New files.
123177         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
123178         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
123179         prereq.m4, sha.m4: Import changes from coreutils.
123181 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
123183         More merge from coreutils.
123184         * modules/raise, modules/readtokens0, modules/utimens:
123185         * modules/utimecmp, module/xnanosleep: New files.
123186         * modules/strftime: Add lib/strftime.h.
123187         Change include from <time.h> to "strftime.h".
123188         * modules/yesno: Add lib/yesno.h.
123189         * modules/backupfile: Remove lib/addext.c.
123190         * modules/euidaccess: Add stat-macros.h.
123191         * modules/canonicalize, modules/euidaccess,
123192         modules/filemode, modules/lchown, modules/makepath,
123193         modules/rmdir, modules/stat: Likewise.
123195 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
123197         Merge from tar.
123198         * lib/argp-help.c (make_hol, hol_append): Don't assume that
123199         SIZE_MAX is a valid preprocessor constant.
123200         (__argp_basename): Change from "#ifndef _LIBC"
123201         to "#ifndef __argp_short_program_name", so that
123202         we don't compile these functions for tar.
123204         More merges from coreutils.
123205         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
123206         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
123207         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
123208         * lib/addext.c: Remove; no longer needed.
123209         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
123210         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
123211         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
123212         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
123213         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
123214         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
123215         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
123216         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
123217         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
123218         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
123219         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
123220         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
123221         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
123222         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
123223         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
123224         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
123225         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
123226         Import changes from coreutils.
123228 2004-08-05  Simon Josefsson  <jas@extundo.com>
123230         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
123232 2004-08-05  Simon Josefsson  <jas@extundo.com>
123234         * m4/getsubopt.m4: New file.
123236 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
123238         Merge from coreutils.
123240         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
123241         * m4/getcwd-path-max.m4: New files.
123243         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
123244         FILESYSTEM_PREFIX_LEN ->
123245         FILE_SYSTEM_PREFIX_LEN.
123246         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
123247         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
123248         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
123249         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
123251         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
123252         prerequisite modules now handle the DOS stuff.
123253         Don't check for unistd.h.
123255 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
123257         Merge from coreutils.
123259         * lib/.gdb-history: Remove; this doesn't belong here.
123261         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
123262         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
123263         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
123264         * lib/getcwd.c: New files.
123266         * lib/dirname.h: Include <stdbool.h>.
123267         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
123268         for consistency with POSIX terminology.  All uses changed.
123269         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
123270         (strip_trailing_slashes): Use bool for booleans.
123271         * lib/stripslash.c (strip_trailing_slashes): Likewise.
123273         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
123274         sometimes returns a positive errno value even when it succeeds.
123275         (print_errno_message) [!LIBC]: Fall back on strerror if
123276         __strerror_r fails.
123278         * lib/path-concat.c (mempcpy): Don't define if a system header defines
123279         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
123280         (longest_relative_suffix): New function.
123281         (path_concat): Use it.  Assume first argument is not NULL.
123282         Port to DOS.  Omit redundant separators.
123283         Report an error instead of returning NULL.
123284         Use mempcpy instead of memcpy.
123285         (xpath_concat): Remove: not declared or used.
123287         * lib/same.h: Include <stdbool.h>
123288         (same_name): Return bool, not int.
123289         * lib/same.c (same_name): Likewise.
123290         (errno): Don't declare; we assume C89 or better now.
123292         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
123293         if not already defined.
123295         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
123296         * lib/dup-safer.c (errno): Likewise.
123298 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
123300         Merge from coreutils.
123301         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
123302         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
123303         * modules/path-concat: Don't depend on strdup.
123305 2004-08-03  Simon Josefsson  <jas@extundo.com>
123307         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
123308         * lib/progname.h: Don't include stdbool.h.
123310 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
123312         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
123313         * MODULES.html.sh (func_all_modules): Remove fatal.
123315 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
123317         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
123319 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
123321         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
123322         working.
123324 2004-08-02  Simon Josefsson  <jas@extundo.com>
123326         * lib/getsubopt.h: New file, with comments from Bruno Haible.
123327         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
123328         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
123330 2004-08-01  Simon Josefsson  <jas@extundo.com>
123332         * lib/xgetdomainname.c: Include stdlib.h, for free().
123334 2004-07-19  Bruno Haible  <bruno@clisp.org>
123336         * MODULES.html.sh (func_all_modules): Add dummy.
123338 2004-07-16  Simon Josefsson  <jas@extundo.com>
123340         * modules/dummy: New file.
123342 2004-07-16  Simon Josefsson  <jas@extundo.com>
123344         * lib/dummy.c: New file.
123346 2004-07-16  Bruno Haible  <bruno@clisp.org>
123348         * lib/backupfile.h: Add extern "C" for C++.
123349         * lib/closeout.h: Likewise.
123350         * lib/copy-file.h: Likewise.
123351         * lib/findprog.h: Likewise.
123352         * lib/full-write.h: Likewise.
123353         * lib/pathname.h: Likewise.
123354         * lib/progname.h: Likewise.
123355         * lib/stpcpy.h: Likewise.
123356         * lib/stpncpy.h: Likewise.
123357         * lib/strcase.h: Likewise.
123358         * lib/strstr.h: Likewise.
123359         * lib/xalloc.h: Likewise.
123361         * lib/mbswidth.h: Add extern "C" for C++.
123362         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
123364 2004-07-13  Robert Millan  <robertmh@gnu.org>
123366         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
123368 2004-07-09  Simon Josefsson  <jas@extundo.com>
123370         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
123371         failed without this.)
123373 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
123375         * modules/chown (Files): Add lib/fchown-stub.c, since
123376         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
123378 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
123380         * lib/fchown-stub.c: New file.
123382 2004-06-24  Jim Meyering  <jim@meyering.net>
123384         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
123386 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
123388         * modules/argz: Omit "#include".
123390         * MODULES.html.sh (func_all_modules): Add calloc, to match
123391         2004-06-01 addition of calloc module.
123393 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
123395         * m4/argz.m4: New file, which is autoupdated from libtool.
123397 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
123399         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
123400         libtool.
123402 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
123404         * config/srclist-update: Don't insist on "USA." before the
123405         close-comment, as libtool omits the period and puts the */ on a
123406         separate line.
123407         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
123408         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
123410 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
123412         * modules/argz: New file.
123413         * MODULES.html.sh (func_all_modules): Add argz.
123415 2004-06-12  Jim Meyering  <jim@meyering.net>
123416         and  Paul Eggert  <eggert@cs.ucla.edu>
123418         * modules/hash (Files): Add lib/xalloc.h.
123419         * modules/pipe (Depends-on): Add wait-process.
123420         * modules/stat (Depends-on): Add xalloc.
123421         * modules/userspec (Files): Add lib/userspec.h.
123422         * modules/xstrto
123424         Upgrade from gettext-0.13.
123425         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
123426         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
123427         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
123429 2004-06-10  Jim Meyering  <jim@meyering.net>
123431         * lib/calloc.c: New file.
123433 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
123435         * lib/getdate.y (yylex): Allow space between sign and number.
123436         Problem reported by Dan Jacobson.
123438 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
123440         Merge from coreutils CVS.
123442         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
123443         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
123444         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
123445         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
123446         xstrtol.m4: Fix copyright date and/or serial number.
123448         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
123449         See if we need an fchown replacement.
123450         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
123451         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
123452         and use the replacement function if we detect either defect.
123454         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
123455         gl_UTIMECMP.
123457 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
123458         and  Jim Meyering  <jim@meyering.net>
123460         Merge from coreutils CVS.
123462         * lib/stat-macros.h: New file, with contents from file-type.h
123463         and coreutils' system.h.
123464         * lib/file-type.c: Include "stat-macros.h".
123465         * lib/file-type.h (file_type): Move all macro definitions to new file,
123466         stat-macros.h.
123468         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
123469         Wrap old code with this conditional.
123470         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
123471         function that does not dereference symlinks.
123472         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
123474         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
123475         dependency problems.
123476         (xreadlink): Accept new arg SIZE, for efficiency.
123477         All decls and uses changed.
123478         * lib/xreadlink.h: Include <stddef.h>, for size_t.
123480         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
123481         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
123483         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
123484         sysexits.h.
123486 2004-06-01  Jim Meyering  <jim@meyering.net>
123488         * m4/calloc.m4: New file.
123490 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
123492         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
123493         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
123494         Also, fix a typo in a diagnostic.
123496 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
123498         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
123499         or AC_FUNC_REALLOC.
123501 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
123503         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
123504         macros to be defined.
123505         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
123506         the allocator returns NULL because the requested size is zero.
123508 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
123510         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
123511         var.  Add comment explaining why libc still defines it.  This
123512         merges the following patch from glibc:
123513         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
123515 2004-05-20  Andreas Schwab  <schwab@suse.de>
123517         * m4/free.m4: Replace free if it not known to work, not the other
123518         way round.
123520 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
123522         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
123523         present in glibc since revision 1.1 of this file.
123524         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
123525         obstack_alignment_mask, obstack_alloc, obstack_base,
123526         obstack_blank, obstack_blank_fast, obstack_chunk_size,
123527         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
123528         obstack_grow0, obstack_init, obstack_int_grow,
123529         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
123530         obstack_next_free, obstack_object_size, obstack_ptr_grow,
123531         obstack_ptr_grow_fast, obstack_room): Remove declarations of
123532         nonexistent functions.
123534 2004-05-18  Karl Berry  <karl@gnu.org>
123536         * config/srclist.txt: break link for vasnprintf.c.
123538 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
123540         Port obstack to the AS/400, where pointers are 16 bytes wide and
123541         you cannot cast an integer to a valid pointer.  This patch is
123542         currently waiting to be integrated into glibc; see
123543         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
123545         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
123546         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
123547         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
123548         (struct obstack): temp member is now a union of a pointer and
123549         an integer, instead of an integer.  All integer uses changed.
123550         This does not affect the physical layout of struct obstack,
123551         except on hosts (like the AS/400) where the size or alignment of
123552         void * is greater than that of ptrdiff_t.
123553         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
123554         __STDC__)]: Store temporary in pointer member of union, not
123555         integer member.
123556         * lib/obstack.c: Include <stddef.h>, for offsetof.
123557         (struct fooalign): Remove; it doesn't need a name.
123558         (union fooround): Change double to long double, and add void *.
123559         (DEFAULT_ALIGNMENT): Use offsetof to compute.
123560         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
123561         not a macro.  Hence the values are always int; so remove all
123562         casts-to-int in uses.
123564 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
123566         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
123567         we can get this patch merged into glibc.
123569 2004-05-17  Derek R. Price  <derek@ximbiot.com>
123570             Paul Eggert  <eggert@cs.ucla.edu>
123572         * m4/argp: Depend on alloca.
123574 2004-05-17  Derek R. Price  <derek@ximbiot.com>
123575             Paul Eggert  <eggert@cs.ucla.edu>
123577         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
123578         freecoding.
123580 2004-05-17  Bruno Haible  <bruno@clisp.org>
123582         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
123583         precision that consists of a '.' followed by an empty digit string.
123584         Patch by Tor Lillqvist <tml@iki.fi>.
123586 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
123588         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
123589         for backward compatibility with older code.  We need our own
123590         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
123591         it under some other name, and our alloca.h will define it.
123593 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
123594             Derek Price  <derek@ximbiot.com>
123596         * lib/alloca.c: Include <alloca.h>, to get our interface.
123597         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
123598         include <alloca.h> first.  Use C89 prototype for alloca; this
123599         requires including <stddef.h> for size_t.  Use extern "C" if C++.
123600         Use #elif for simplicity, since we can assume C89 now.
123601         Don't try to source the system alloca.h since it will not be found
123602         and to prevent recursively including its replacement.
123603         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
123604         * lib/regex.c: Likewise.
123606 2004-05-16  Derek Price  <derek@ximbiot.com>
123607             Paul Eggert  <eggert@cs.ucla.edu>
123609         getline cleanup.  This changes the getndelim2 API: both order of
123610         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
123611         no delimiter).
123613         * lib/getline.c: Don't include stddef.h or stdio.h, since our
123614         interface does that.
123615         (getline): Always use getdelim, so that we don't have two
123616         copies of this code.
123617         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
123618         if available.
123619         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
123620         (GETNDELIM2_MAXIMUM): New macro.
123621         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
123622         instead of the old practice of delim2==0.  All callers changed.
123623         Return -1 on overflow, instead of returning junk.
123624         Do not set *linesize unless allocation succeeds.
123625         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
123626         that we include sys/types.h.
123627         * lib/getnline.h: Likewise.
123628         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
123629         (getndelim2): Reorder arguments.
123630         * lib/getnline.c (getnline, getndelim):
123631         Don't discard the NMAX argument.
123632         (getnline): Invoke getndelim, to avoid code duplication.
123633         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
123634         of (size_t) -1 by callers of the getnline family.
123636 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123638         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
123639         Check for gettimeofday.
123640         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
123641         Check for settimeofday, stime.
123643 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123645         * lib/nanosleep.c (suspended): Change its type from int to
123646         sig_atomic_t volatile.
123647         (first_call): Make it private to rpl_nanosleep, and have it
123648         be zero initially as that's a bit faster.
123649         (my_usleep): Round up fractional times instead of truncating them,
123650         as this is the usual meaning for 'sleep'.
123652         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
123653         doesn't work.
123654         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
123655         (ENOSYS): Define if not defined.
123656         (settime): Fall back on stime if it exists and settimeofday fails.
123657         But don't bother with fallbacks if a method fails with errno == EPERM.
123659 2004-05-11  Jim Meyering  <jim@meyering.net>
123661         Prior to this change, the save_cwd caller required read access to the
123662         current directory on most systems (ones with the fchdir function).
123664         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
123665         fails, try write-only, and finally, resort to using xgetcwd.
123667 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
123669         * lib/obstack.c, obstack.h: Import changes from libc.
123671 2004-04-28  Bruno Haible  <bruno@clisp.org>
123673         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
123674         also implicitly appends .exe to executables.
123675         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
123676         accepts Windows pathnames.
123677         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
123678         Treat Cygwin like Windows, since it now accepts Windows pathnames.
123679         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
123680         Treat Cygwin like Windows, since it now accepts Windows pathnames.
123681         Reported by Derek Robert Price <derek@ximbiot.com>.
123683 2004-04-21  Karl Berry  <karl@gnu.org>
123685         * config/srclist.txt (localcharset.c): break sync.
123687 2004-04-20  Paul Eggert  <eggert@twinsun.com>
123689         * m4/host-os.m4: Add a copyright notice.
123691 2004-04-20  Jim Meyering  <jim@meyering.net>
123693         Change UTILS_ to gl_ in AC_DEFINE'd names.
123694         Change utils_- and jm_-prefixed variables, too.
123695         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
123696         UTILS_FUNC_MKDIR_TRAILING_SLASH.
123697         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
123699         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
123700         Don't emit trailing blanks.
123701         Also rename jm_-prefixed variables to have gl_ prefix.
123703         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
123704         Also rename jm_-prefixed variables to have gl_ prefix.
123706         * m4/jm-macros.m4: Reflect the renamings.
123707         * m4/prereq.m4: Likewise.
123709 2004-04-20  Jim Meyering  <jim@meyering.net>
123711         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
123712         memory.
123714 2004-04-20  Jim Meyering  <jim@meyering.net>
123715             Bruno Haible  <bruno@clisp.org>
123717         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
123718         memory when realloc fails.
123720 2004-04-19  Jim Meyering  <jim@meyering.net>
123722         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
123723         now that readutmp.c may call `free (0)'.
123725 2004-04-19  Bruno Haible  <bruno@clisp.org>
123727         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
123728         * m4/inttypes_h.m4: Likewise.
123729         * m4/stdint_h.m4: Likewise.
123730         * m4/intmax_t.m4: Likewise.
123731         * m4/uintmax_t.m4: Likewise.
123733 2004-04-18  Jim Meyering  <jim@meyering.net>
123735         * m4/prereq.m4: Don't forbid jm_ prefix.
123737         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
123738         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
123739         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
123740         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
123741         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
123742         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
123743         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
123744         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
123745         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
123746         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
123747         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
123748         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
123749         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
123750         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
123751         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
123752         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
123753         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
123754         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
123755         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
123757 2004-04-18  Jim Meyering  <jim@meyering.net>
123759         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
123760         failure, don't leak memory and do call END_UTMP_ENT.
123762 2004-04-16  Jim Meyering  <jim@meyering.net>
123764         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
123765         coreutils' stat program.
123766         (gl_PREREQ): Don't require jm_PREREQ_STAT.
123768 2004-04-11  Paul Eggert  <eggert@twinsun.com>
123770         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
123771         C89.
123772         (CHAR_BIT): Remove, since we assume C89.
123773         Include <stdint.h> if available, as per current Autoconf CVS advice.
123775 2004-03-31  Jim Meyering  <jim@meyering.net>
123777         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
123778         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
123779         * m4/xalloc.m4: Likewise.
123781 2004-03-30  Paul Eggert  <eggert@twinsun.com>
123783         Merge from coreutils.
123785         * m4/inttostr.m4: New file.
123786         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
123787         Require AM_STDBOOL_H and gl_TIMESPEC instead.
123788         Require gl_CLOCK_TIME.
123789         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
123791 2004-03-30  Paul Eggert  <eggert@twinsun.com>
123793         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
123794         not bool, to be more consistent with Unix conventions.
123795         Suggested by Bruno Haible.
123797         Merge from coreutils.
123799         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
123800         * lib/umaxtostr.c: New files.
123802         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
123803         the usual <time.h> dance.
123804         (get_date): Change signature to support fractional time stamps.
123805         All callers changed.
123806         * lib/getdate.y: Include "getdate.h" first, as we can now
123807         assume C89 and don't need to worry about 'const'.
123808         Similarly, include "unlocked-io.h" near start, not in middle.
123809         Include <limits.h>.
123810         (textint.value): Use long int rather than int.
123811         (textint.digits): Use size_t rather than int.
123812         (BILLION, LOG10_BILLION): New constants.
123813         (parser_control): New member rel_ns.  Members day_ordinal,
123814         time_zone, month, day, hour, minutes, rel_year, rel_month,
123815         rel_day, rel_hour, rel_minutes, rel_seconds
123816         are now long int, not int.  Member seconds is now struct timespec,
123817         not int.  New member timespec_seen.  Members dates_seen, days_seen,
123818         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
123819         not int.
123820         (%union.intval): Now long int, not int.
123821         New member timespec.
123822         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
123823         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
123824         (spec): Now is a timespec or an item list.
123825         (timespec, items): New nonterminals.
123826         (time, rel, relunit, number, get_date):
123827         Add support for fractional seconds.
123828         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
123829         (gmtime, localtime, mktime): Remove decls; not needed with C89.
123830         (to_hour): First arg is now long int, not int.
123831         (to_year): Returns long int, not int.
123832         Don't treat year -70 like 70.
123833         (tm_diff): Returns long int, not int.
123834         (lookup_word): Use bool instead of int when appropriate.
123835         (yylex): Use size_t for count, not int.
123836         Detect overflow when parsing large integer constants.
123837         Add support for fractions.
123838         (get_date): Make pointers 'const' if possible.
123839         Use more-portable code to detect integer overflow.
123840         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
123841         Don't use ctime; it's not reliable if the year has >4 digits.
123843         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
123844         This is for compatibility with BSD.
123846         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
123847         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
123848         From coreutils' system.h.
123850         * lib/userspec.c: Don't include "posixver.h".
123851         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
123852         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
123853         compatible extension.  Simplify code by removing a boolean int
123854         that was always nonzero if a string was nonnull.
123856 2004-03-30  Jim Meyering  <jim@meyering.net>
123858         Merge from coreutils.
123860         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
123861         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
123862         on some systems one must include <grp.h> before it.
123863         Reported by Christian Krackowizer.
123865 2004-03-30  Jim Meyering  <jim@meyering.net>
123867         Merge from coreutils.
123869         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
123871         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
123872         an empty input stream.
123874         * lib/readtokens.c: Include <stdbool.h>.
123875         (readtoken): Use `size_t' rather than int/long.
123876         All callers adjusted.
123877         Use `bool' rather than `int' where appropriate.
123878         Use memset rather than an explicit loop.
123879         Use x2nrealloc rather than xrealloc.
123880         Allow the use of `\0' as a delimiter.
123881         (readtokens): Likewise.
123882         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
123884 2004-03-30  Jim Meyering  <jim@meyering.net>
123886         * m4/realloc.m4: Remove file, since now it does no more than
123887         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
123888         the `configure.ac' section of module/realloc.
123889         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
123891 2004-03-30  Bruno Haible  <bruno@clisp.org>
123893         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
123894         nonnull.
123896 2004-03-29  Paul Eggert  <eggert@twinsun.com>
123898         Merge changes to getloadavg.c from coreutils and Emacs.
123900         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
123901         Define to an expression, not to the empty string.
123902         Include cloexec.h and xalloc.h.
123903         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
123904         Use set_cloexec_flag rather than rolling our own.
123905         * lib/cloexec.c, lib/cloexec.h: New files.
123907 2004-03-29  Paul Eggert  <eggert@twinsun.com>
123909         * m4/cloexec.m4: New file.
123911 2004-03-18  Paul Eggert  <eggert@twinsun.com>
123913         * lib/getopt.h: Sync with libc CVS.
123915 2004-03-18  Paul Eggert  <eggert@twinsun.com>
123916             Bruno Haible  <bruno@clisp.org>
123918         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
123919         mbswidth.
123921 2004-03-18  Paul Eggert  <eggert@twinsun.com>
123922             Bruno Haible  <bruno@clisp.org>
123924         * lib/mbswidth.h: Include <wchar.h> only if
123925         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
123926         <wchar.h>.
123927         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
123929 2004-03-09  Paul Eggert  <eggert@twinsun.com>
123931         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
123932         Sync with libc CVS.
123933         * lib/getopt_int.h: New file, also synced from libc.
123935 2004-03-09  Paul Eggert  <eggert@twinsun.com>
123937         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
123938         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
123939         Bring back getopt.c, getopt.h, getopt1.c.
123941 2004-03-07  Paul Eggert  <eggert@twinsun.com>
123943         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
123944         All uses changed.  Check for sa_sigaction member; this fixes
123945         a bug first reported by Jason Andrade in
123946         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
123948 2004-03-07  Paul Eggert  <eggert@twinsun.com>
123950         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
123951         '#if' expressions.  Unlike the code it replaces, it does not
123952         depend on (defined _SC_PAGESIZE).  However, it does depend on
123953         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
123954         first reported by Jason Andrade in
123955         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
123957 2004-02-25  Simon Josefsson  <jas@extundo.com>
123959         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
123961 2004-02-25  Simon Josefsson  <jas@extundo.com>
123963         * lib/strdup.h: New file.
123964         * lib/strdup.c: Include it.
123965         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
123966         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
123968 2004-02-23  Karl Berry  <karl@gnu.org>
123970         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
123971         (from fencepost.gnu.org:/gd/gnuorg).
123973 2004-02-23  Karl Berry  <karl@gnu.org>
123975         * config/srclistvars.sh (GNUORG) [karl]: redefine.
123976         * config/srclist.txt: add maintain/standards documents.
123978 2004-02-18  Bruno Haible  <bruno@clisp.org>
123980         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
123981         Reported by Derek Robert Price <derek@ximbiot.com>.
123983 2004-02-16  Karl Berry  <karl@gnu.org>
123985         * config/mkinstalldirs, install-sh: update from automake.
123987 2004-02-06  Karl Berry  <karl@gnu.org>
123989         * m4/po.m4: update from gettext 0.14.1.
123991 2004-02-06  Karl Berry  <karl@gnu.org>
123993         * lib/config.charset: update from gettext 0.14.1.
123995 2004-02-05  Paul Eggert  <eggert@twinsun.com>
123997         Add comments and code, prompted by suggestions from Bruno Haible
123998         for sh-quote.
123999         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
124000         describing the enum quoting_style values.
124001         * lib/quotearg.c (quotearg_alloc): New function.
124002         (quotearg_buffer_restyled): Treat lone { and } as special.
124003         Treat = as special.  Work around bug with older shells
124004         that "see" a '\' that is really the 2nd byte of a multibyte char.
124005         Quote empty string with shell_quoting_style.
124007 2004-02-03  Bruno Haible  <bruno@clisp.org>
124009         * m4/pipe.m4: New file, from GNU gettext.
124011 2004-02-03  Bruno Haible  <bruno@clisp.org>
124013         * lib/pipe.h: New file, from GNU gettext.
124014         * lib/pipe.c: New file, from GNU gettext.
124016 2004-01-27  Bruno Haible  <bruno@clisp.org>
124018         * m4/execute.m4: New file, from GNU gettext.
124020 2004-01-27  Bruno Haible  <bruno@clisp.org>
124022         * lib/execute.h: New file, from GNU gettext.
124023         * lib/execute.c: New file, from GNU gettext.
124024         * lib/w32spawn.h: New file, from GNU gettext.
124026 2004-01-24  Paul Eggert  <eggert@twinsun.com>
124028         Merge from diffutils.
124030         * lib/file-type.c (file_type): Add typed memory objects.
124031         * lib/file-type.h (S_TYPEISTMO): New macro.
124033         * lib/c-stack.h (c_stack_action): Remove argv argument.
124034         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
124035         (die): Don't calculate message unless segv_action returns.
124036         (get_stack_location, min_address_from_argv, max_address_from_argv,
124037         volatile stack_base, volatile_stack_size): Remove.
124038         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
124039         that every segmentation violation is a stack overflow.  (Ouch!)
124040         See Debian bug 136249 (still outstanding) for more info about why
124041         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
124043 2004-01-24  Paul Eggert  <eggert@twinsun.com>
124045         Exit-status fix from coreutils.
124047         Use exit_failure consistently in place of EXIT_FAILURE,
124048         so that program exit statuses are consistent on failure.
124050         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
124051         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
124052         * lib/argmatch.h: Comment fix to match the above.
124053         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
124054         Now a macro referring to exit_failure, instead of a separate
124055         variable.  Include "exitfail.h" to get it.
124056         * lib/xstrtol.h: Include "exitfail.h".
124057         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
124059         * lib/long-options.c (parse_long_options): Use prototype
124060         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
124061         for clarity.
124063 2004-01-21  Jim Meyering  <jim@meyering.net>
124065         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
124066         so as not to conflict with a different-sized __mktime_internal
124067         function in GNU libc.
124068         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
124069         Problem building statically-linked `ls' reported by Michael Brunnbauer.
124071 2004-01-20  Karl Berry  <karl@gnu.org>
124073         * config/config.guess: update from config.
124075         * config/srclistvars.sh: GNUWWWLICENSES for karl.
124077 2004-01-20  Bruno Haible  <bruno@clisp.org>
124079         Safer stack allocation.
124080         * lib/setenv.c: Include allocsa.h.
124081         (alloca): Remove fallback definition.
124082         (freea): Remove macro.
124083         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
124084         instead of freea.
124086 2004-01-20  Bruno Haible  <bruno@clisp.org>
124088         * m4/eealloc.m4: New file, from GNU gettext.
124090 2004-01-20  Bruno Haible  <bruno@clisp.org>
124092         * m4/allocsa.m4: New file, from GNU gettext.
124094 2004-01-20  Bruno Haible  <bruno@clisp.org>
124096         * lib/xallocsa.h: New file, from GNU gettext.
124097         * lib/xallocsa.c: New file, from GNU gettext.
124099 2004-01-20  Bruno Haible  <bruno@clisp.org>
124101         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
124103 2004-01-20  Bruno Haible  <bruno@clisp.org>
124105         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
124106         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
124107         specially.
124109 2004-01-20  Bruno Haible  <bruno@clisp.org>
124111         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
124112         patch.
124114 2004-01-20  Bruno Haible  <bruno@clisp.org>
124116         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
124118 2004-01-20  Bruno Haible  <bruno@clisp.org>
124120         * lib/eealloc.h: New file.
124122 2004-01-20  Bruno Haible  <bruno@clisp.org>
124124         * lib/binary-io.h: Avoid warnings on Cygwin.
124126 2004-01-20  Bruno Haible  <bruno@clisp.org>
124128         * lib/allocsa.h: New file, from GNU gettext.
124129         * lib/allocsa.c: New file, from GNU gettext.
124131 2004-01-18  Karl Berry  <karl@gnu.org>
124133         * doc/gpl.texi, doc/lgpl.texi: new files.
124135 2004-01-18  Karl Berry  <karl@gnu.org>
124137         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
124138         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
124140 2004-01-15  Paul Eggert  <eggert@twinsun.com>
124142         Merge from coreutils.
124144         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
124145         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
124146         (gl_DEFAULT_POSIX2_VERSION): Move
124147         the documentation from 'configure' into 'config.hin',
124148         so that 'configure --help' isn't burdened by it and
124149         we don't have to worry about its formatting there.
124150         Reword the documentation so that it's more succinct
124151         and can be run together into a single paragraph.
124152         * m4/same.m4 (gl_SAME): Check for pathconf.
124154 2004-01-15  Paul Eggert  <eggert@twinsun.com>
124156         Merge from coreutils.
124158         * lib/posixver.c: Include posixver.h.
124160         * lib/same.c: Include <stdbool.h>, <limits.h>.
124161         (_POSIX_NAME_MAX): Define if not defined.
124162         (MIN): New macro.
124163         (same_name): If file names are silently truncated, report
124164         that the file names are the same if they are the same after
124165         the silent truncation.
124167         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
124168         conversion function.
124169         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
124170         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
124171         longer needed.
124173 2004-01-15  Jim Meyering  <jim@meyering.net>
124175         Merge from coreutils.
124177         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
124178         if no library is required.
124179         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
124180         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
124181         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
124182         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
124183         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
124184         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
124185         value, $ac_cv_search_crypt, if it's "none required".
124186         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
124187         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
124188         not gl_FUNC_GETLOADAVG.
124189         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
124190         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
124192 2004-01-15  Jim Meyering  <jim@meyering.net>
124194         Merge from coreutils.
124196         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
124197         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
124198         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
124200         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
124201         optional configure-time default.
124203         * lib/version-etc.c (version_etc_copyright): Update copyright date.
124205         * lib/xreadlink.c (xreadlink): Correct outdated comment.
124207 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
124209         Merge from coreutils.
124211         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
124212         value, $ac_cv_search_nanosleep, if it's "none required".
124214 2004-01-14  Paul Eggert  <eggert@twinsun.com>
124216         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
124217         with like-named macro in fnmatch.c.
124218         (EXT): Use an internal constant instead.
124220         Merge fnmatch patches from glibc.
124221         * lib/fnmatch.c (mbsinit): Remove define.
124222         Add libc_hidden_ver (__fnmatch, fnmatch).
124223         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
124224         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
124226 2004-01-14  Karl Berry  <karl@gnu.org>
124228         * config/install-sh: update from automake.
124230 2004-01-13  Karl Berry  <karl@gnu.org>
124232         * config/install-sh: update from automake.
124234 2004-01-09  Karl Berry  <karl@gnu.org>
124236         * config/install-sh: update from automake.
124238 2004-01-05  Karl Berry  <karl@gnu.org>
124240         * config/config.{sub,guess}: update from config.
124242 2003-12-31  Karl Berry  <karl@gnu.org>
124244         * config/depcomp: update from automake.
124246 2003-12-14  Karl Berry  <karl@gnu.org>
124248         * lib/config.charset: update from gettext-runtime.
124250 2003-12-03  Paul Eggert  <eggert@twinsun.com>
124252         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
124253         Bug reported by Alfred M. Szmidt.
124255 2003-12-03  Bruno Haible  <bruno@clisp.org>
124257         * m4/gettext.m4: Upgrade from gettext-0.13.
124258         * m4/po.m4: Upgrade from gettext-0.13.
124259         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
124260         * m4/intmax.m4: New file, from gettext-0.13.
124261         * m4/printf-posix.m4: New file, from gettext-0.13.
124263 2003-11-29  Karl Berry  <karl@gnu.org>
124265         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
124267 2003-11-25  Paul Eggert  <eggert@twinsun.com>
124268             Bruno Haible  <bruno@clisp.org>
124270         * lib/printf-parse.h: Don't include sys/types.h.
124271         (ARG_NONE): New macro.
124272         (char_directive): Change type of *arg_index fields to size_t.
124273         * lib/printf-parse.c: Don't include sys/types.h.
124274         (SSIZE_MAX): Remove macro.
124275         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
124276         Remove unnecessary overflow check.
124277         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
124278         fields.
124280 2003-11-25  Bruno Haible  <bruno@clisp.org>
124282         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
124284 2003-11-25  Bruno Haible  <bruno@clisp.org>
124286         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
124287         gt_TYPE_SSIZE_T.
124289 2003-11-24  Paul Eggert  <eggert@twinsun.com>
124291         * modules/alloca: Remove dependency on xalloc.
124293 2003-11-24  Paul Eggert  <eggert@twinsun.com>
124295         * lib/alloca.c: Remove dependency on xalloc module.
124296         (xalloc_die): Remove.
124297         (memory_full) [!defined emacs]: New macro.
124298         [!defined emacs]: Don't include xalloc.h.
124299         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
124300         address arithmetic overflows.  Change datatypes a bit to avoid
124301         unnecessary casts.
124303 2003-11-22  Jim Meyering  <jim@meyering.net>
124305         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
124306         s/size/size_t/.
124308 2003-11-21  Karl Berry  <karl@gnu.org>
124310         * config/config.{sub,guess}: update from config.
124312 2003-11-18  Karl Berry  <karl@gnu.org>
124314         * config/config.{sub,guess}: update from config.
124316         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
124318 2003-11-17  Paul Eggert  <eggert@twinsun.com>
124320         * README: Mention that S+T cannot overflow if S is the size of
124321         an existing object and T is sufficiently small.
124323 2003-11-17  Jim Meyering  <jim@meyering.net>
124325         On systems without utime and without a utimes function capable of
124326         dealing with a NULL struct utimbuf* argument, this utime replacement
124327         could -- in unusual circumstances -- leak a file descriptor.
124328         * lib/utime.c: Include <unistd.h> and <errno.h>.
124329         (utime_null): Be sure to close `fd' and to preserve errno.
124330         Reported by Geoff Collyer via Arnold Robbins.
124332 2003-11-17  Bruno Haible  <bruno@clisp.org>
124334         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
124335         (Depends-on): Add xsize.
124337 2003-11-17  Bruno Haible  <bruno@clisp.org>
124339         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
124341 2003-11-17  Bruno Haible  <bruno@clisp.org>
124343         * lib/vasnprintf.c (alloca): Remove fallback definition.
124344         (freea): Remove definition.
124345         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
124346         Reported by Paul Eggert.
124348 2003-11-16  Paul Eggert  <eggert@twinsun.com>
124349             Bruno Haible  <bruno@clisp.org>
124351         Protect against address arithmetic overflow.
124352         * lib/printf-args.h: Include stddef.h.
124353         (arguments): Change type of field 'count' to size_t.
124354         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
124355         'unsigned int' where appropriate.
124356         * lib/printf-parse.h: Include sys/types.h.
124357         (char_directive): Change type of *arg_index fields to ssize_t.
124358         (char_directives): Change type of fields 'count', max_*_length to
124359         size_t.
124360         * lib/printf-parse.c: Include sys/types.h and xsize.h.
124361         (SSIZE_MAX): Define fallback value.
124362         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
124363         instead of 'int' where appropriate. Check a_allocated, d_allocated
124364         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
124365         * lib/vasnprintf.c: Include xsize.h.
124366         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
124367         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
124368         overflow. Avoid wraparound when converting a width or precision from
124369         decimal to binary.
124371 2003-11-16  Bruno Haible  <bruno@clisp.org>
124373         Update from GNU gettext.
124374         * lib/printf-parse.c: Generalize to it can be compiled for wide
124375         strings.
124376         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
124377         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
124378         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
124379         SNPRINTF): New macros.
124380         Don't include <alloca.h> if the file is used inside libintl.
124381         (local_wcslen): New function, for Solaris 2.5.1.
124382         (VASNPRINTF): Use it instead of wcslen.
124384 2003-11-16  Bruno Haible  <bruno@clisp.org>
124386         * lib/xsize.h (xmax): New function.
124387         (xsum, xsum3, xsum4): Declare as "pure" functions.
124389 2003-11-12  Paul Eggert  <eggert@twinsun.com>
124391         * modules/xalloc (Files): Undo latest change, since xalloc.h
124392         no longer needs SIZE_MAX or PTRDIFF_MAX.
124394 2003-11-12  Paul Eggert  <eggert@twinsun.com>
124396         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
124397         gl_PTRDIFF_MAX.
124399 2003-11-12  Paul Eggert  <eggert@twinsun.com>
124401         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
124402         "return", to pacify some unknown compiler.  Problem reported
124403         by Joerg Schilling.
124405 2003-11-12  Paul Eggert  <eggert@twinsun.com>
124407         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
124408         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
124409         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
124410         heuristic is just as accurate as far as we know, and it removes a
124411         dependency on size_max.m4 and ptrdiff_max.m4.
124413 2003-11-11  Bruno Haible  <bruno@clisp.org>
124415         * modules/xsize (Files): Add m4/size_max.m4.
124416         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
124418 2003-11-11  Bruno Haible  <bruno@clisp.org>
124420         * m4/size_max.m4: New file.
124421         * m4/ptrdiff_max.m4: New file.
124422         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
124423         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
124424         (gl_XALLOC): Invoke it.
124426 2003-11-11  Bruno Haible  <bruno@clisp.org>
124428         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
124429         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
124430         defined.
124432 2003-11-10  Paul Eggert  <eggert@twinsun.com>
124434         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
124435         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
124436         rejected some allocations of exactly SIZE_MAX - 2 bytes.
124437         From Bruno Haible.
124438         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
124439         not (size_t) -1, since it's defined here.
124441 2003-11-09  Karl Berry  <karl@gnu.org>
124443         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
124445 2003-11-06  Paul Eggert  <eggert@twinsun.com>
124447         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
124448         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
124449         Reject sizes of exactly SIZE_MAX bytes.
124450         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
124451         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
124453 2003-11-05  Bruno Haible  <bruno@clisp.org>
124455         * lib/xsize.h: Include limits.h, to avoid a possible collision with
124456         SIZE_MAX defined in <limits.h> on Solaris.
124458 2003-11-04  Jim Meyering  <jim@meyering.net>
124460         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
124461         variable names, rather than @VAR@.
124462         * modules/poll: Likewise.
124464 2003-11-04  Bruno Haible  <bruno@clisp.org>
124466         * modules/xsize: New file.
124467         * modules/linebreak: Depend on xsize.
124468         * MODULES.html.sh (func_all_modules): Add xsize.
124470 2003-11-04  Bruno Haible  <bruno@clisp.org>
124472         * m4/xsize.m4: New file.
124474 2003-11-04  Bruno Haible  <bruno@clisp.org>
124476         * lib/xsize.h: New file.
124477         * lib/linebreak.c: Include xsize.h.
124478         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
124479         argument for overflow.
124480         Suggested by Paul Eggert.
124482 2003-11-03  Karl Berry  <karl@gnu.org>
124484         * config/config.{guess,sub}: update from config.
124486 2003-11-03  Jim Meyering  <jim@meyering.net>
124488         * modules/userspec (lib_SOURCES): Add userspec.h.
124489         (Include): Add "userspec.h".
124490         Improve description.
124492 2003-11-03  Jim Meyering  <jim@meyering.net>
124494         * lib/userspec.c: Include "userspec.h".
124495         * lib/userspec.h: New file.
124497 2003-11-03  Bruno Haible  <bruno@clisp.org>
124499         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
124501 2003-11-03  Bruno Haible  <bruno@clisp.org>
124503         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
124504         available, to avoid (extremely rare) race condition.
124505         Suggested by Paul Eggert.
124507 2003-11-02  Karl Berry  <karl@gnu.org>
124509         * config/srclist.txt (vasprintf.c): sync broken, sigh.
124511 2003-10-31  Paul Eggert  <eggert@twinsun.com>
124513         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
124514         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
124515         (read_filesystem_list): Set and use me_type_malloced.
124516         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
124517         whatever the type happens to be), for brevity and consistency.
124518         Check for size calculation overflow on Alphas running OSF/1.
124520 2003-10-31  Jim Meyering  <jim@meyering.net>
124522         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
124524         * lib/linebuffer.c: Include <string.h> for declaration of memset.
124526 2003-10-30  Paul Eggert  <eggert@twinsun.com>
124527             Bruno Haible  <bruno@clisp.org>
124529         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
124530         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
124532 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
124534         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
124535         netbsd*-gnu*.  Suggested by Robert Millan.
124537 2003-10-29  Paul Eggert  <eggert@twinsun.com>
124539         * modules/group-member: Depend on stdbool.
124541 2003-10-29  Paul Eggert  <eggert@twinsun.com>
124543         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
124545 2003-10-29  Paul Eggert  <eggert@twinsun.com>
124547         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
124548         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
124549         after the 'gnu' in these cases.  This fixes some bugs in the
124550         previous change, and is based on suggestions by Robert Millan.
124552 2003-10-29  Paul Eggert  <eggert@twinsun.com>
124554         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
124555         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
124556         no longer needed.
124557         * lib/quotearg.c (quotearg_n_options): Use it.
124558         * lib/group-member.c: Include <stdbool.h>.
124559         (free_group_info): Arg is now const *; don't free arg.
124560         (get_group_info): Now returns bool and accepts struct group_info *,
124561         rather than returning a malloc'ed struct group_info *.
124562         All uses changed.  Check for overflow in internal size calculation.
124564         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
124565         rather than xmalloc/xrealloc.
124566         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
124567         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
124568         conformance bug: the old code used a pointer after freeing the
124569         storage that it addressed.
124570         * lib/hash.c (hash_initialize): Simplify the code by using
124571         xalloc_oversized rather than doing it by hand.
124572         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
124573         the buffer preserved.  Use free and xmalloc instead.
124574         * lib/quotearg.c (quotearg_n_options): Likewise.
124575         Use a simpler test for size overflow.  Don't use xalloc_oversized
124576         because unsigned int might be wider than size_t (!); this suggests
124577         that we should switch from unsigned int to size_t for slot numbers.
124579 2003-10-28  Paul Eggert  <eggert@twinsun.com>
124581         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
124582         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
124583         NetBSD kernels.  Requested by Richard Stallman.
124585 2003-10-27  Paul Eggert  <eggert@twinsun.com>
124587         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
124588         to allocate the returned structure.  Do not allocate a subarray,
124589         as x2nrealloc will do that.
124590         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
124591         instead of xnrealloc.
124592         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
124594 2003-10-27  Bruno Haible  <bruno@clisp.org>
124596         * lib/stdbool_.h: Better support for BeOS.
124598 2003-10-26  Paul Eggert  <eggert@twinsun.com>
124600         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
124601         now uses inline.
124603 2003-10-26  Paul Eggert  <eggert@twinsun.com>
124605         * lib/xalloc.h (xalloc_oversized): New static inline function, for
124606         callers that want to do their own size-overflow checking.  Include
124607         <stdbool.h>, since xalloc_oversized returns bool.
124608         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
124609         to use xalloc_oversized.
124611         Add two functions x2realloc, x2nrealloc, for programs that grow
124612         arrays dynamically by doubling their sizes.
124613         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
124614         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
124615         New functions.
124617         Port to C99 semantics for 'inline' of external functions.
124618         Bug reported by Bruno Haible.
124619         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
124620         with the old contents of xnmalloc.
124621         (xnmalloc, xmalloc): Use it.
124622         (xnrealloc_inline): New static inline function,
124623         with the old contents of xnrealloc.
124624         (xnrealloc, xrealloc): Use it.
124626         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
124627         that.
124629 2003-10-26  Karl Berry  <karl@gnu.org>
124631         * config/srclist.txt (COPYING.DOC): no longer available from
124632         /gd/gnuorg; don't know where the ultimate source is.
124634 2003-10-25  Paul Eggert  <eggert@twinsun.com>
124636         Fix several address-calculation bugs in the hash modules,
124637         plus some minor code cleanup.
124639         * lib/hash.h: Include <stdbool.h>, for bool.
124640         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
124641         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
124642         hash_get_n_entries, hash_get_max_bucket_length,
124643         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
124644         hash_rehash): Use size_t rather than unsigned.
124645         * lib/hash.c (struct hash_table, hash_get_n_buckets,
124646         hash_get_n_buckets_used, hash_get_n_entries,
124647         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
124648         hash_get_entries, hash_do_for_each, hash_string, is_prime,
124649         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
124650         Likewise.
124651         (SIZE_MAX): Define if not defined.
124652         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
124653         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
124654         hash_print):
124655         Use const * when possible.
124656         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
124657         (check_tuning): Fix bug: if tuning parameters were very close to
124658         0 or 1, rounding errors could have caused subscript violations.
124659         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
124660         (hash_initialize): Add 'fail:' label
124661         to free table and return NULL, and use it to simplify code.
124662         Use calloc rather than clearing the storage ourself.
124663         (hash_initialize, hash_rehash): Check for arithmetic overflow in
124664         buffer size calculations.
124665         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
124666         Include <stddef.h>, for size_t.
124667         * lib/hash-pjw.c (hash_pjw): Likewise.
124668         Switch to method described by Bruno Haible.
124669         Include <limits.h>, for CHAR_BIT.
124670         (SIZE_BITS): New macro.
124672 2003-10-23  Paul Eggert  <eggert@twinsun.com>
124674         * m4/getline.m4 (AM_FUNC_GETLINE):
124675         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
124676         hosts.  Problem reported by Derek Robert Price in
124677         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
124678         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
124679         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
124681 2003-10-21  Paul Eggert  <eggert@twinsun.com>
124683         * lib/getndelim2.c (getndelim2): When size calculation overflows,
124684         ceiling the allocation at NMAX bytes rather than silently
124685         discarding input bytes before NMAX is reached.  This makes
124686         a difference only if NMAX exceeds SIZE_MAX / 2.
124688         * lib/obstack.c: Merge from glibc.
124689         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
124690         Add libc_hidden_def (_obstack_newchunk).
124691         (_obstack_free) [! defined _LIBC]: Remove.
124692         [defined _LIBC]: Make a strong alias from obstack_free, rather than
124693         a clone of the function body.
124694         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
124695         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
124697         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
124698         glibc.
124699         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
124700         arg to memcpy.
124702         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
124703         (obstack_ptr_grow_fast, obstack_int_grow_fast):
124704         Don't use lvalue casts, as GCC plans to remove support for them
124705         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
124706         was also present in the non-GCC version, indicating that this
124707         code had always been buggy and had never been widely used.
124708         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
124709         Use the fast variant of each macro, rather than copying the
124710         definiens of the fast variant; that way, we'll be more likely to
124711         catch future bugs in the fast variants.
124713 2003-10-20  Bruno Haible  <bruno@clisp.org>
124715         * modules/wait-process: New file.
124716         * MODULES.html.sh (func_all_modules): Add wait-process.
124718 2003-10-20  Bruno Haible  <bruno@clisp.org>
124720         * m4/wait-process.m4: New file.
124722 2003-10-20  Bruno Haible  <bruno@clisp.org>
124724         * lib/wait-process.h: New file, from GNU gettext.
124725         * lib/wait-process.c: New file, from GNU gettext.
124727 2003-10-19  Jim Meyering  <jim@meyering.net>
124729         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
124730         HPUX 10.20.
124732 2003-10-18  Karl Berry  <karl@gnu.org>
124734         * config/config.guess: update from config.
124736 2003-10-16  Paul Eggert  <eggert@twinsun.com>
124738         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
124739         (getgroups): First arg is int, not size_t.
124740         Don't let 'free' mangle errno.
124742 2003-10-16  Paul Eggert  <eggert@twinsun.com>
124744         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
124746 2003-10-16  Karl Berry  <karl@gnu.org>
124748         * config/config.{guess,sub}: update from config.
124750 2003-10-16  Jim Meyering  <jim@meyering.net>
124752         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
124753         memcpy.
124755 2003-10-15  Paul Eggert  <eggert@twinsun.com>
124757         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
124758         (SIZE_MAX): Remove.
124759         (new_exclude, add_exclude_file): Initial size no longer needs to
124760         be a power of 2.
124761         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
124762         our own address arithmetic overflow checking.
124764         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
124765         (fnmatch): Do not alloca more than 2000 wide characters;
124766         instead, use malloc for large buffers.
124767         Check for address arithmetic overflow, and return -1
124768         with errno set to ENOMEM in that case.
124769         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
124770         (NEW_PATTERN): Do not alloca more than 8000 bytes;
124771         instead, return -1.  Check for address arithmetic overflow.
124773 2003-10-14  Paul Eggert  <eggert@twinsun.com>
124775         Handle invalid suffixes and overflow independently, so that
124776         callers can treat them independently as needed.  Fix some bugs in
124777         suffix handling, e.g., "100k@" was not diagnosed as an invalid
124778         suffix for a human-readable blocksize.  The major caller-visible
124779         change is the addition of a new
124780         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
124781         that both overflow and suffix chars were found.
124783         * lib/human.c (humblock): Don't check separately for invalid suffix
124784         char; that is xstrtoumax's job (now that its bug is fixed).
124785         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
124786         INTMAX_MAX]: New macros.
124787         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
124788         TYPE_MAXIMUM): New macros.
124789         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
124790         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
124791         if overflow occurs, as it's what __strtol does and it's more useful
124792         in practice.
124793         (__xstrtol): If __strtol reports some error other than ERANGE,
124794         reflect it to the caller as LONGINT_INVALID.  If it reports
124795         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
124796         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
124797         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
124798         value.
124799         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
124800         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
124801         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
124802         [defined UINTMAX_MAX]: New macros.
124804 2003-10-14  Bruno Haible  <bruno@clisp.org>
124806         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
124808 2003-10-14  Bruno Haible  <bruno@clisp.org>
124810         * m4/sig_atomic_t: New file, from GNU gettext.
124811         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
124813 2003-10-14  Bruno Haible  <bruno@clisp.org>
124815         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
124816         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
124817         Also use volatile where needed.
124819 2003-10-12  Paul Eggert  <eggert@twinsun.com>
124821         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
124822         Change maintainer from Bruno Haible to 'all'.
124824 2003-10-12  Paul Eggert  <eggert@twinsun.com>
124826         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
124828 2003-10-12  Paul Eggert  <eggert@twinsun.com>
124830         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
124831         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
124832         and define in terms of the other primitives.
124833         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
124834         (SIZE_MAX): Define if not already defined.
124835         (array_size_overflow): New function.
124836         (xalloc_die): Abort instead of exiting if 'error' returns.
124837         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
124838         (xmalloc, xrealloc): Use them.
124839         (xcalloc): Check for address arithmetic overflow.
124840         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
124841         a bit faster than strcpy.
124843 2003-10-10  Simon Josefsson  <jas@extundo.com>
124845         * modules/argp (Depends-on): Add restrict and strcase.
124847 2003-10-10  Simon Josefsson  <jas@extundo.com>
124849         * m4/argp.m4: Add AC_C_INLINE.
124851 2003-10-08  Paul Eggert  <eggert@twinsun.com>
124853         Merge getpass from libc, plus a few fixes.
124855         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
124856         Include <stdbool.h>.
124857         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
124858         __fsetlocking to empty.
124859         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
124860         do include <bits/libc-lock.h>.
124861         Do not include <fcntl.h>; not needed.
124862         [_LIBC]: Include <wchar.h>.
124863         (NOTCANCEL_MODE): New macro.
124864         (flockfile, funlockfile) [_LIBC]: New macros.
124865         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
124866         [!_LIBC]: New macros.
124867         (call_fclose): New function.
124868         (getpass): Use it.  Save tty stream separately; this simplifies the
124869         code and makes it more reliable if stdin happens to equal stdout.
124870         Invoke __fsetlocking on tty.
124871         Handle thread cancellation if needed.
124872         Namespace cleanup (use __tcgetattr, __getline).
124873         Use bool for Booleans.
124874         [USE_IN_LIBIO]: Handle wide streams.
124875         [!_LIBC]: Unconditionally do the fseek, since we don't know what
124876         stream might go where.
124878         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
124879         doesn't have to include <stdio.h> before us.
124880         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
124881         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
124882         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
124883         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
124884         if not declared, so that we can use getpass.c code from libc without
124885         rewriting it.
124886         (flockfile, ftrylockfile, funlockfile): New macros.
124888 2003-10-08  Paul Eggert  <eggert@twinsun.com>
124890         * modules/getpass: Depend on stdbool.
124892 2003-10-08  Paul Eggert  <eggert@twinsun.com>
124894         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
124896 2003-10-07  Karl Berry  <karl@gnu.org>
124898         * config/config.{guess,sub}: update from config.
124900 2003-10-06  Jim Meyering  <jim@meyering.net>
124901             Bruno Haible  <bruno@clisp.org>
124903         This lets translators provide better translations for the
124904         "Written by ..." part of --version output.
124905         * lib/version-etc.h: Include stdarg.h.
124906         (version_etc_copyright): Declare as readonly.
124907         (version_etc): Make this function variadic with a NULL-terminated list
124908         of author name strings.
124909         (version_etc_va): New declaration.
124910         * lib/version-etc.c: Include stdarg.h, stdlib.h.
124911         (version_etc_copyright): Declare as readonly.
124912         (version_etc_va): New function. Provide a different translatable string
124913         for each possible number of authors < 10. Abbreviate when there are 10
124914         authors or more.
124915         (version_etc): Make this function variadic. Call version_etc_va.
124916         Suggestion from Gary V. Vaughan.
124918         * lib/long-options.h (parse_long_options): Change prototype: the
124919         authors string is moved to the end and becomes variadic.
124920         * lib/long-options.c: Include stdarg.h.
124921         (parse_long_options): Make this function variadic, too.
124922         Call version_etc_va, not version_etc.
124924 2003-10-06  Bruno Haible  <bruno@clisp.org>
124926         * modules/version-etc-2: Remove file.
124927         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
124929 2003-10-06  Bruno Haible  <bruno@clisp.org>
124931         * modules/fatal-signal: New file.
124932         * MODULES.html.sh (func_all_modules): Add fatal-signal.
124934 2003-10-06  Bruno Haible  <bruno@clisp.org>
124936         * m4/fatal-signal.m4: New file.
124937         * m4/signalblocking.m4: New file, from GNU gettext.
124939 2003-10-06  Bruno Haible  <bruno@clisp.org>
124941         * lib/version-etc-2.h: Remove file.
124942         * lib/version-etc-2.c: Remove file.
124944 2003-10-06  Bruno Haible  <bruno@clisp.org>
124946         * lib/fatal-signal.h: New file, from GNU gettext.
124947         * lib/fatal-signal.c: New file, from GNU gettext.
124949 2003-10-05  Paul Eggert  <eggert@twinsun.com>
124951         * README: Rework advice for preventing empty .o files.
124952         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
124953         not <sys/types.h>.
124955 2003-10-04  Karl Berry  <karl@gnu.org>
124957         * lib/argp*: update from libc.
124959 2003-10-04  Karl Berry  <karl@gnu.org>
124961         * config/config.{guess,sub}: update from config.
124963 2003-10-02  Bruno Haible  <bruno@clisp.org>
124965         * modules/lchown (Include): Add lchown.h.
124966         * modules/time_r (Include): Use "..." syntax.
124967         * modules/xgetdomainname (Include): Add xgetdomainname.h.
124969 2003-10-01  Simon Josefsson  <jas@extundo.com>
124971         * MODULES.html.sh (func_all_modules): Move gethostname from section
124972         'based on' to section 'lacking' POSIX:2001.
124974 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
124976         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
124977         to output mode on the same stream.
124979 2003-09-29  Paul Eggert  <eggert@twinsun.com>
124981         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
124982         Fix arg typo in previous patch.
124984 2003-09-28  Jim Meyering  <jim@meyering.net>
124986         * lib/error.c: Correct cpp indentation.
124988 2003-09-27  Paul Eggert  <eggert@twinsun.com>
124990         * modules/free: New file.
124992 2003-09-27  Paul Eggert  <eggert@twinsun.com>
124994         * m4/free.m4: New file.
124996 2003-09-27  Paul Eggert  <eggert@twinsun.com>
124998         * lib/minmax.h (MIN, MAX)
124999         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
125000         Omit the special code that used __typeof__, since we worry that
125001         it could be more trouble than it's worth.  See:
125002         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
125003         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
125005         * lib/free.c: New file.
125007 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
125009         Trivial fixes to Makefile.am parts of module listings.
125010         * modules/strstr: Append strstr.h to lib_SOURCES.
125011         * modules/strcase: Likewise, for strcase.h.
125013 2003-09-27  Karl Berry  <karl@gnu.org>
125015         * config/mkinstalldirs: update from automake.
125017 2003-09-26  Paul Eggert  <eggert@twinsun.com>
125019         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
125020         (error_tail): Do not loop, reallocating temporary buffer, since
125021         the output cannot contain more wide characters than the input
125022         contains bytes, the size must be big enough already.  This avoids
125023         one potential size overflow calculation.  Check for size overflow
125024         when calculating temporary buffer size.  Free temporary buffer
125025         when done, if it was allocated with malloc; this plugs a memory
125026         leak.  Remove casts from void * to pointers, that are no longer
125027         needed now that we're assuming C89 or better.
125029         Merge error changes from glibc.
125031         * lib/error.c, error.h: Update copyright notice header to match glibc.
125032         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
125033         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
125034         Disable cancellation while printing error.
125035         * lib/error.h: Prepend __ to parameter names.
125037 2003-09-26  Jim Meyering  <jim@meyering.net>
125039         * lib/error.c (error_tail): Move some declarations
125040         into inner scope where the local variables are used.
125042 2003-09-26  Bruno Haible  <bruno@clisp.org>
125044         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
125045         stpncpy().
125046         Don't define stpncpy through config.h; it's now done through stpncpy.h.
125048 2003-09-26  Bruno Haible  <bruno@clisp.org>
125050         * lib/stpncpy.h (gnu_stpncpy): New declaration.
125051         (stpncpy): Define as alias for gnu_stpncpy.
125052         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
125054 2003-09-25  Simon Josefsson  <jas@extundo.com>
125056         * lib/xgetdomainname.h: New file.
125057         * lib/xgetdomainname.c: New file.
125059 2003-09-25  Simon Josefsson  <jas@extundo.com>
125060             Bruno Haible  <bruno@clisp.org>
125062         * modules/getdomainname: New file.
125063         * modules/xgetdomainname: New file.
125064         * MODULES.html.sh (func_all_modules): Add getdomainname,
125065         xgetdomainname.
125067 2003-09-25  Simon Josefsson  <jas@extundo.com>
125068             Bruno Haible  <bruno@clisp.org>
125070         * m4/getdomainname.m4: New file.
125072 2003-09-25  Simon Josefsson  <jas@extundo.com>
125073             Bruno Haible  <bruno@clisp.org>
125075         * lib/getdomainname.h: New file.
125076         * lib/getdomainname.c: New file.
125078 2003-09-25  Karl Berry  <karl@gnu.org>
125080         * lib/argp-fmtstream.c, argp-help.c: update from libc.
125082 2003-09-25  Karl Berry  <karl@gnu.org>
125084         * config/install-sh: update from automake.
125086 2003-09-25  Bruno Haible  <bruno@clisp.org>
125088         * modules/version-etc-2: New file, from modules/version-etc with
125089         modifications.
125090         * MODULES.html.sh (func_all_modules): Add version-etc-2.
125092 2003-09-25  Bruno Haible  <bruno@clisp.org>
125094         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
125095         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
125097 2003-09-24  Simon Josefsson  <jas@extundo.com>
125099         * modules/xgethostname: Add xgethostname.h.
125101 2003-09-24  Paul Eggert  <eggert@twinsun.com>
125103         * lib/linebuffer.c (freebuffer): Don't free the argument, just
125104         the buffer associated with the argument.  Bug reported by
125105         Simon Josefsson.
125107 2003-09-24  Paul Eggert  <eggert@twinsun.com>
125109         * README: Document assumptions that 'int' is at least 32 bits
125110         wide, that integer arithmetic is 2's complement without overflow,
125111         that there are no holes in integer values, that adding sizes of
125112         two nonoverlapping objects can't overflow, and that all-bits-zero
125113         yields scalar zero.  Fix spelling and capitalization typos.
125115 2003-09-19  Karl Berry  <karl@gnu.org>
125117         * lib/argp.h: update from libc.
125119 2003-09-17  Paul Eggert  <eggert@twinsun.com>
125121         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
125122         to avoid spurious warnings like "AC_RUN_IFELSE was called before
125123         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
125125 2003-09-17  Paul Eggert  <eggert@twinsun.com>
125127         * gnulib-tool: Use "test -h", not "test -L", for portability
125128         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
125129         (tags_regexp): Remove, since \| doesn't conform to POSIX.
125130         (sed_extract_prog): Issue s commands one-by-one, rather than
125131         using \| in one s command.
125133 2003-09-16  Paul Eggert  <eggert@twinsun.com>
125135         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
125136         input error, instead of returning NULL the next time we are called
125137         (and therefore losing track of errno).
125139 2003-09-16  Bruno Haible  <bruno@clisp.org>
125141         * gnulib-tool (func_create_testdir): Warn about duplicated
125142         dependencies.
125144 2003-09-15  Paul Eggert  <eggert@twinsun.com>
125146         * modules/argmatch, modules/fatal, modules/obstack,
125147         modules/xalloc, modules/xgethostname: Sort dependencies by
125148         importance, not alphabetically.
125150 2003-09-15  Paul Eggert  <eggert@twinsun.com>
125152         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
125153         fails, so that the caller gets the proper errno.
125155         * lib/readutmp.c (read_utmp): Likewise.
125156         Check for fstat error.  Close stream and free storage
125157         when failing.
125159 2003-09-14  Karl Berry  <karl@gnu.org>
125161         * config/srclist.txt (strdup.c): disable for c89 changes.
125163 2003-09-14  Jim Meyering  <jim@meyering.net>
125165         * lib/getloadavg.c: Correct cpp indentation.
125166         * lib/strdup.c: Likewise.
125167         * lib/vasnprintf.c: Likewise.
125169 2003-09-14  Bruno Haible  <bruno@clisp.org>
125171         * modules/fwriteerror: New file.
125172         * MODULES.html.sh (func_all_modules): Add fwriteerror.
125174 2003-09-14  Bruno Haible  <bruno@clisp.org>
125176         * lib/fwriteerror.h: New file.
125177         * lib/fwriteerror.c: New file.
125179 2003-09-12  Paul Eggert  <eggert@twinsun.com>
125181         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
125182         modules/xgethostname, modules/xalloc: Depend on exit.
125184 2003-09-12  Paul Eggert  <eggert@twinsun.com>
125186         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
125188         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
125189         and AC_MINIX, too, so that their extensions are available.
125191         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
125192         This macro has been superseded by gl_BACKUPFILE.
125194         More patches to assume C89 or better.
125196         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
125198         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
125199         unconditionally.
125200         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
125201         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
125202         Include <string.h>, <stdlib.h> unconditionally.
125203         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
125204         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
125205         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
125206         headers or for string.h.
125207         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
125208         or strtoul.
125210         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
125211         headers.
125212         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
125213         * m4/userspec.m4 (gl_USERSPEC): Likewise.
125214         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
125215         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
125216         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
125217         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
125218         memcpy, memset.
125219         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
125220         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
125221         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
125222         strtol.
125223         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
125224         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
125225         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
125226         strtoul.
125228 2003-09-12  Paul Eggert  <eggert@twinsun.com>
125230         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
125231         * lib/obstack.c [!defined _LIBC]: Likewise.
125232         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
125233         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
125234         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
125236         More changes to assume C89 or better.
125238         * lib/error.c (error_tail): Assume vprintf.
125240         * lib/argmatch.c (getenv): Remove decl.
125241         * lib/progreloc.c (get_full_program_name): Define via prototype.
125242         * lib/setenv.c (clearenv): Likewise.
125243         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
125244         needed.
125245         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
125246         (malloc, memcpy): Remove decls.
125247         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
125248         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
125249         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
125250         (memcpy): Remove macro.
125251         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
125252         (__P): Remove.  All uses removed.
125253         (PTR): Remove.  All uses changed to void *.
125254         (CHAR_BIT, NULL): Remove.
125255         (spaces, zeros, memset_space, memset_zero)
125256         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
125257         Remove.
125258         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
125259         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
125260         Define with prototype.
125261         Remove now-unnecessary prototype decl.
125262         (extra_args_spec): Assume ANSI C.  All uses changed.
125263         (extra_args_spec_iso): Remove.
125264         (my_strftime, emacs_strftimeu): Define via prototype.
125265         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
125266         unconditionally.
125267         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
125268         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
125269         (strtoul, strtol): Remove decls.
125270         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
125271         LONG_MAX): Remove.
125272         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
125273         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
125274         (LOCALE_PARAM_PROTO): New macro.
125275         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
125276         (INTERNAL (strtol), strtol): Define with a prototype.
125277         (PARAMS): Remove.  All uses removed.
125278         * lib/tempname.c: Include <string.h> unconditionally.
125279         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
125280         * lib/xgethostname.c (main): Define with a prototype.
125281         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
125282         Include <stdlib.h> unconditionally.
125283         (calloc, malloc, realloc, free): Remove decls.
125284         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
125285         Include <stdlib.h> unconditionally.  Sort include file names.
125286         (strtod): Remove.
125287         (xstrtod): Define with a prototype.
125288         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
125289         (strtol, strtoul): Remove decls.
125291 2003-09-11  Paul Eggert  <eggert@twinsun.com>
125293         More patches to assume C89 or better.
125294         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
125295         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
125296         string.h, memchr, STDC_HEADERS.
125298 2003-09-11  Paul Eggert  <eggert@twinsun.com>
125300         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
125301         Include <stdlib.h>, <string.h> unconditionally.
125302         Remove now-unnecessary cast to char *.
125303         * lib/strnlen.c: Include <string.h> unconditionally.
125304         * lib/yesno.c (yesno): Define with a prototype.
125306 2003-09-11  Bruno Haible  <bruno@clisp.org>
125308         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
125310 2003-09-10  Jim Meyering  <jim@meyering.net>
125312         * lib/error.c: Correct indentation of cpp directives.
125314 2003-09-10  Bruno Haible  <bruno@clisp.org>
125316         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
125317         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
125318         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
125319         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
125320         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
125321         <stdlib.h> and <string.h> checks.
125322         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
125323         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
125325 2003-09-10  Bruno Haible  <bruno@clisp.org>
125327         * lib/strcspn.c: Include <string.h> unconditionally.
125328         * lib/strpbrk.c: Include <string.h> unconditionally.
125329         * lib/strstr.c: Include <string.h> unconditionally.
125330         * lib/unicodeio.c: Include <string.h> unconditionally.
125331         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
125332         * lib/unsetenv.c: Likewise.
125333         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
125334         * lib/yesno.c: Include <stdlib.h> unconditionally.
125335         (rpmatch): Add prototype.
125337 2003-09-09  Paul Eggert  <eggert@twinsun.com>
125339         More patches to assume C89 or better.
125340         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
125341         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
125342         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
125343         or for string.h.
125344         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
125345         stdlib.h.
125346         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
125347         C headers.
125348         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
125349         string.h.
125350         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
125351         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
125352         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
125353         or for string.h.
125354         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
125355         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
125356         C headers.
125357         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
125358         memcpy.
125359         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
125360         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
125361         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
125362         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
125363         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
125364         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
125365         string.h, free.
125366         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
125367         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
125368         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
125369         C headers, or for string.h.
125370         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
125371         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
125372         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
125373         headers, memory.h, stdlib.h, string.h, strings.h.
125374         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
125375         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
125376         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
125377         strchr.
125378         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
125379         headers, memory.h, string.h.
125380         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
125381         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
125382         free.
125383         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
125384         headers.
125385         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
125386         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
125387         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
125388         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
125389         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
125391 2003-09-09  Paul Eggert  <eggert@twinsun.com>
125393         More K&R removal.
125395         * lib/acosl.c (main): Use a prototype.
125396         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
125397         tanl.c: Likewise.
125399         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
125401         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
125402         (getopt, etopt_long, getopt_long_only, _getopt_internal)
125403         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
125404         with a prototype.
125405         * lib/getopt.c (const): Remove macro.
125406         Include <string.h> unconditionally.
125407         (my_index): Remove; all uses changed to strchr.
125408         (strlen): Remove decl.
125409         (exchange): Remove forward decl; no longer needed.
125410         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
125411         Define with prototype.
125412         * lib/getopt1.c (const): Remove macro.
125413         (getopt_long, getopt_long_only, main): Define with prototype.
125415         * lib/getugroups.c: Include <string.h> unconditionally.
125417         * lib/getusershell.c: Include <stdlib.h> unconditionally.
125418         (getusershell, setusershell, endusershell, readname, main):
125419         Define with prototypes.
125421         * lib/group-member.c: Include group-member.h first.
125422         Include <stdlib.h> unconditionally.
125424         * lib/hard-locale.c: Include hard-locale.h first.
125425         Include <stdlib.h>, <string.h> unconditionally.
125427         * lib/hash.c (free, malloc): Remove decls.
125428         Include <stdlib.h> unconditionally.
125430         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
125431         (getenv): Do not declare.
125433         * lib/idcache.c: Include <string.h> unconditionally.
125435         * lib/long-options.c: Include long-options.h first, to test interface.
125436         Include <stdlib.h> unconditionally.
125438         * lib/makepath.c: Include makepath.h first, to test interface.
125439         Include <stdlib.h> and <string.h> unconditionally.
125441         * lib/linebuffer.c: Include <stdlib.h>.
125442         (free): Remove decl.
125444         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
125445         stddef.h. rpl_malloc returns void *, not char *.
125446         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
125447         prototype.
125449         * lib/md5.h: Include <limits.h> unconditionally.
125450         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
125451         (__P): Remove; all uses removed.
125452         * lib/md5.c: Include "md5.h" first.
125453         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
125454         md5_buffer, md5_process_bytes, md5_process_block):
125455         Define with prototypes.
125456         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
125457         * lib/sha.c: Include "sha.h" first.
125458         Include <stdlib.h>, <string.h> unconditionally.
125460         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
125461         * lib/memcmp.c (__ptr_t): Likewise.
125462         * lib/memrchr.c (__ptr_t): Likewise.
125463         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
125464         Include <string.h> unconditionally.
125465         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
125466         * lib/memchr.c: Include <stdlib.h> unconditionally.
125467         * lib/memchr.c (LONG_MAX): Remove.
125468         * lib/memrchr.c (LONG_MAX): Likewise.
125469         * lib/memchr.c (__memchr): Define via a prototype.
125470         * lib/memrchr.c (__memrchr): Likewise.
125471         * lib/memcmp.c (__P): Remove, and remove all uses.
125472         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
125473         Remove forward decls; no longer needed.
125474         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
125475         Use types required by C89 in prototype.
125477         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
125478         * lib/savedir.c: Likewise.
125479         * lib/mkdir.c (free): Remove decl.
125480         * lib/rmdir.c (rmdir): Define with a prototype.
125481         * lib/savedir.c: Include savedir.h first, to test interface.
125483         * lib/mktime.c (STDC_HEADERS): Remove.
125484         Include <stdlib.h>, <string.h> unconditionally.
125486         * lib/modechange.c: Include <stdlib.h> unconditionally.
125487         (malloc): Remove decl.
125489         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
125490         (free): Remove decl.
125492         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
125493         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
125494         (This type really should be intptr_t, but that's a C99ism.)
125495         (_obstack_memcpy): Remove: all uses changed to memcpy.
125496         Include <string.h> unconditionally.
125497         (struct obstack): Assume __STDC__ for types of members
125498         chunkfun, freefun, extra_arg.
125499         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
125500         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
125501         obstack_begin, obstack_specify_allocation,
125502         obstack_specify_allocation_with_arg, obstack_chunkfun,
125503         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
125504         Remove unprototyped decls and the macros that use them.
125505         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
125506         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
125507         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
125508         (defined __STDC__ && __STDC__)]:
125509         Remove nonprototyped code.
125510         Include <stdlib.h> unconditionally.
125511         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
125512         _obstack_allocated_p, _obstack_free, obstack_free,
125513         _obstack_memory_used, print_and_abort):
125514         Define using prototypes.
125515         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
125516         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
125517         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
125518         obstack_next_free, obstack_object_size, obstack_room) [0]:
125519         Remove unused, unprototyped code.
125521         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
125523         * lib/physmem.c (physmem_total, physmem_available, main): Define
125524         with prototypes.
125526         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
125527         (main): Define with a prototype.
125529         * lib/posixver.c (getenv): Remove decl.
125531         * lib/putenv.c (malloc): Returns void *, not char *.
125532         Include <string.h> unconditionally.
125533         (strchr, memcpy, NULL): Do not define.
125535         * lib/readtokens.c: Include readtokens.h first, to test interface.
125536         Include <stdlib.h>, <string.h> unconditionally.
125537         (init_tokenbuffer): Define with a prototype.
125539         * lib/regex.c (PARAMS): Remove.  All uses removed.
125540         All uses of _RE_ARGS removed, too.
125541         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
125542         unconditionally.
125543         (bzero): Assume memset exists.
125544         (memcmp, memcpy, NULL): Remove.
125545         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
125546         char, or assignments to local vars of type signed char.
125547         (init_syntax_once, PREFIX(extract_number_and_incr),
125548         PREFIX(print_partial_compiled_pattern),
125549         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
125550         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
125551         PREFIX(regex_grow_registers), PREFIX(regex_compile),
125552         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
125553         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
125554         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
125555         wcs_compile_range, byte_compile_range, truncate_wchar,
125556         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
125557         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
125558         count_mbs_length, wcs_re_match_2_internal,
125559         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
125560         PREFIX(alt_match_null_string_p),
125561         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
125562         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
125563         regfree, PREFIX(extract_number)): Define with prototype.  Remove
125564         now-unnecessary declaration, if any.
125565         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
125566         regcomp, regexec):
125567         Remove now-unnecessary casts among pointer types.
125568         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
125570         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
125571         (free): Remove decl.
125573         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
125575         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
125576         (free): Remove decl.
125578         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
125579         * lib/xgetcwd.c: Likewise.
125581         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
125582         (free): Remove decl.
125584         * lib/strchrnul.c (strchrnul): Define with a prototype.
125585         Fix bug: c_in was not converted to char before searching.
125587         The following changes are not K&R related:
125589         * lib/group-member.h: Include <sys/types.h>, so that this file is
125590         self-contained.
125591         * lib/makepath.h: Likewise.
125593         * lib/getusershell.c (readname, default_index, line_size, readname):
125594         Use size_t, not int, for sizes.
125595         (readname): If the size overflows, report an error instead of
125596         looping forever.
125598 2003-09-09  Paul Eggert  <eggert@twinsun.com>
125600         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
125601         libc.
125603 2003-09-09  Paul Eggert  <eggert@twinsun.com>
125605         * README: New section: portability guidelines.
125607 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
125609         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
125610         C89 spec.
125612 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
125614         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
125616 2003-09-08  Paul Eggert  <eggert@twinsun.com>
125618         Assume C89 or better; remove K&R cruft.
125619         A few of these changes were first proposed by Derek Robert Price
125620         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
125622         * lib/addext.c: Include <string.h> unconditionally.
125623         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
125624         Don't declare getenv or malloc.
125626         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
125627         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
125628         (NULL): Remove.
125629         (find_stack_direction, alloca): Use prototypes.
125631         * lib/atexit.c (atexit): Define using a prototype.
125633         * lib/basename.c, dirname.c, stripslash.c:
125634         Include <string.h> unconditionally.
125636         * lib/bcopy.c: Include <stddef.h>.
125637         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
125639         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
125641         * lib/error.h (error, error_at_line, error_print_progname)
125642         [! (defined (__STDC__) && __STDC__)]: Remove decls.
125643         * lib/error.c: Include error.h first, to check interface.
125644         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
125645         (VA_START): Remove; all uses changeed to va_start.
125646         (exit, strerror): Remove decls.
125647         (error_print_progname): Prototype uncondionally.
125648         Don't include <errno.h>; no longer needed.
125649         (private_strerror): Remove.
125650         (error_tail): Always define.
125651         (error, error_at_line): Assume C89 or better; always use prototypes.
125652         * lib/fatal.c: Include "fatal.h" first, to test interface.
125653         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
125654         (VA_START): Remove; all uses changed to va_start.
125655         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
125656         this case.
125657         (exit): Remove decl.
125658         (fatal): Prototype unconditionally.  Assume va_start works.
125659         Abort at end, to pacify gcc.
125661         * lib/euidaccess.c (main): Define with a prototype.
125663         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
125665         * lib/exitfail.c: Include <stdlib.h> unconditionally.
125667         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
125668         prototypes.
125669         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
125670         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
125671         (getenv): Remove decl.
125672         (fnmatch): Define using a prototype.
125673         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
125674         (FCT): Define using a prototype.
125676         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
125678         * lib/gethostname.c: Include <stddef.h>.
125679         (gethostname): Define with prototype.  Length is size_t, not int.
125681 2003-09-08  Paul Eggert  <eggert@twinsun.com>
125683         Assume C89 or better; remove K&R cruft.
125684         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
125685         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
125686         string.h, getenv, malloc.
125687         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
125688         headers.
125689         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
125690         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
125691         do not check for strerror.
125692         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
125693         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
125694         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
125695         do not check for doprnt or vprintf.
125696         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
125697         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
125699 2003-09-08  Paul Eggert  <eggert@twinsun.com>
125701         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
125702         getversion.c should have been removed then, but was accidentally
125703         preserved.
125705         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
125706         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
125708 2003-09-08  Karl Berry  <karl@gnu.org>
125710         * config/config.sub, config.guess, srclistvars.sh: update from savannah
125711                 config, forget about prep.
125713         * config/depcomp, missing: update from automake.
125715 2003-09-07  Paul Eggert  <eggert@twinsun.com>
125717         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
125718         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
125720 2003-09-07  Paul Eggert  <eggert@twinsun.com>
125722         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
125723         copy_tm_result.  Bug reported by Simon Josefsson in
125724         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
125726 2003-09-06  Paul Eggert  <eggert@twinsun.com>
125728         * m4/time_r.m4: New file.
125729         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
125730         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
125731         is. Check for timegm declaration.
125732         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
125733         Do not check for gmtime_r.
125734         Replace mktime if __mktime_internal does not exist and if mktime
125735         hasn't been replaced already.
125737 2003-09-06  Paul Eggert  <eggert@twinsun.com>
125739         * lib/time_r.c, lib/time_r.h: New files.
125741         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
125742         __localtime_r.
125743         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
125744         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
125746         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
125747         __gmtime_r.
125748         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
125749         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
125750         Include <time_r.h>.
125752         * lib/timegm.c: Switch to glibc implementation, with the following
125753         changes:
125754         [defined HAVE_CONFIG_H]: Include <config.h>.
125755         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
125756         (__mktime_internal) [!defined _LIBC]: New decl.
125757         (__gmtime_r) [!defined _LIBC]: New macro and function.
125758         (timegm): Use a prototype, since gnulib assumes C89.
125759         Do not bother declaring tmp to be const, as it's not really usefu.
125760         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
125761         (timegm): Declare only if HAVE_DECL_TIMEGM.
125763 2003-09-06  Paul Eggert  <eggert@twinsun.com>
125765         * MODULES.html.sh (func_all_modules): Add time_r.
125766         * modules/time_r: New file.
125767         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
125768         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
125770 2003-09-03  Paul Eggert  <eggert@twinsun.com>
125772         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
125773         Bug reported by Lute Kamstra in
125774         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
125776         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
125777         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
125778         course with correspondingly smaller numbers for tomorrow and
125779         yesterday.  From Tadayoshi Funaba.  Originally installed into
125780         sh-utils on 1999-08-07, but the patch got lost (I guess during the
125781         coreutils merge?).
125783 2003-08-31  Simon Josefsson  <jas@extundo.com>
125785         * modules/timegm: New file.
125786         * MODULES.html.sh (func_all_modules): Add timegm.
125788 2003-08-31  Simon Josefsson  <jas@extundo.com>
125790         * m4/timegm.m4: New file.
125792 2003-08-31  Simon Josefsson  <jas@extundo.com>
125794         * lib/timegm.h: New file.
125795         * lib/timegm.c: New file.  Based on
125796         wget-1.8.2/src/http.c:mktime_from_utc.
125798 2003-08-31  Karl Berry  <karl@gnu.org>
125800         * lib/argp.h: update from libc.
125802 2003-08-28  Bruno Haible  <bruno@clisp.org>
125804         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
125805         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
125806         followed by '#define fnmatch fnmatch_posix' gives an error.
125808 2003-08-28  Bruno Haible  <bruno@clisp.org>
125810         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
125811         warning on QNX, which defines O_BINARY to 000000.
125813 2003-08-27  Jim Meyering  <jim@meyering.net>
125815         * m4/mkstemp.m4: Require that the system mkstemp be able to create
125816         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
125817         would fail after 32.  Reported by Danny Levinson.  Details here:
125818         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
125820 2003-08-24  Bruno Haible  <bruno@clisp.org>
125822         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
125823         MSVC7 <stdio.h> is included later.
125825 2003-08-22  Simon Josefsson  <jas@extundo.com>
125827         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
125829 2003-08-20  Karl Berry  <karl@gnu.org>
125831         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
125833 2003-08-20  Bruno Haible  <bruno@clisp.org>
125835         * modules/progname: New file.
125836         * MODULES.html.sh (func_all_modules): Add progname.
125838 2003-08-20  Bruno Haible  <bruno@clisp.org>
125840         * lib/progname.h: New file, from GNU gettext.
125841         * lib/progname.c: New file, from GNU gettext.
125842         * lib/progreloc.c: New file, from GNU gettext.
125844 2003-08-19  Jim Meyering  <jim@meyering.net>
125846         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
125847         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
125849 2003-08-19  Bruno Haible  <bruno@clisp.org>
125851         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
125852         more.
125854 2003-08-19  Bruno Haible  <bruno@clisp.org>
125856         * lib/xstrdup.c: Assume <string.h> exists.
125858 2003-08-18  Paul Eggert  <eggert@twinsun.com>
125860         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
125861         in makefile rules.
125863 2003-08-18  Jim Meyering  <jim@meyering.net>
125865         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
125866         * m4/lib-ld.m4: Likewise.
125868 2003-08-18  Jim Meyering  <jim@meyering.net>
125870         * lib/setenv.h: Indent nested cpp directive.
125871         * lib/vasnprintf.c: Remove trailing blanks.
125873 2003-08-17  Simon Josefsson  <jas@extundo.com>
125875         * modules/xstrndup: New file.
125876         * MODULES.html.sh (func_all_modules): Add xstrndup.
125878 2003-08-17  Simon Josefsson  <jas@extundo.com>
125880         * modules/argp: Fix autoconf macro name. Add more dependencies.
125882 2003-08-17  Simon Josefsson  <jas@extundo.com>
125884         * m4/xstrndup.m4: New file.
125886 2003-08-17  Simon Josefsson  <jas@extundo.com>
125888         * m4/argp.m4: New file.
125890 2003-08-17  Simon Josefsson  <jas@extundo.com>
125891             Bruno Haible  <bruno@clisp.org>
125893         * lib/xstrndup.h: New file.
125894         * lib/xstrndup.c: New file.
125896 2003-08-17  Bruno Haible  <bruno@clisp.org>
125898         * modules/strndup (Files, Include): Add lib/strndup.h.
125900 2003-08-17  Bruno Haible  <bruno@clisp.org>
125902         * modules/euidaccess (Files): Add lib/euidaccess.h.
125904 2003-08-17  Bruno Haible  <bruno@clisp.org>
125906         * lib/strndup.h: New file.
125908 2003-08-17  Bruno Haible  <bruno@clisp.org>
125910         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
125911         like AC_GNU_SOURCE.
125912         * modules/extensions (configure.ac): Comment out the invocation of
125913         gl_USE_SYSTEM_EXTENSIONS.
125915 2003-08-16  Paul Eggert  <eggert@twinsun.com>
125917         Merges from coreutils, etc.
125918         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
125919         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
125920         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
125921         fixing a typo.
125922         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
125923         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
125925 2003-08-16  Paul Eggert  <eggert@twinsun.com>
125927         Document merge from coreutils.
125928         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
125929         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
125930         * modules/utime: Add m4/utimes-null.m4.
125932 2003-08-16  Paul Eggert  <eggert@twinsun.com>
125934         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
125935         space, undoing this 2003-08-12 change:
125936         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
125938 2003-08-16  Paul Eggert  <eggert@twinsun.com>
125940         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
125941         strtoul.c from libc, undoing this 2003-08-12 change:
125942         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
125944 2003-08-16  Jim Meyering  <jim@meyering.net>
125946         Merges from coreutils.
125947         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
125948         prefix.  Adjust cache variables similarly.  Create 500 rather than
125949         just 300 files, to exercise bug on Darwin6.5, too.
125950         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
125951         $missing_dir.
125952         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
125953         AM_SYS_POSIX_TERMIOS.
125954         Reported by mkc@mathdogs.com.
125955         Also change use of $am_cv_sys_posix_termios
125956         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
125957         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
125958         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
125959         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
125960         in /proc/mounts until it finds one with matching device number.  This
125961         is unnecessary when the FILE argument *is* a mount point.  No stat call
125962         is necessary in that case.  So, disable the statvfs-testing code on
125963         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
125964         as RedHat bug# 84846.
125965         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
125966         to 1MB, so as not to render systems with no stack size limit (e.g.,
125967         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
125968         Include <unistd.h>.  On some systems,
125969         it is required for the definition of _SC_PAGESIZE.
125971 2003-08-16  Jim Meyering  <jim@meyering.net>
125973         Merge from coreutils.
125974         * lib/xstrtoimax.c: #else #if -> #elif.
125975         * lib/xstrtoumax.c: Likewise.
125977 2003-08-16  Jim Meyering  <jim@meyering.net>
125979         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
125980         * m4/utimes.m4: Removed.
125981         * m4/utimes-null.m4: Renamed from utimes.m4.
125983         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
125984         to 1MB, so as not to render systems with no stack size limit (e.g.,
125985         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
125986         Include <unistd.h>.  On some systems,
125987         it is required for the definition of _SC_PAGESIZE.
125989 2003-08-16  Jim Meyering  <jim@meyering.net>
125990         and Paul Eggert  <eggert@cs.ucla.edu>
125992         Merges from coreutils, etc.
125994         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
125995         using the latest version from cvs.  This avoids problems with #line
125996         directives using a vendor (Sun) compiler.
125997         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
125998         Don't set GETGROUPS_LIB here; now it's
125999         done via getgroups.m4's wrapper function.
126000         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
126001         rather than just in sh-util/configure.in, so that the
126002         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
126003         same.
126004         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
126005         AC_FUNC_GETLOADAVG where to find getloadavg.c.
126006         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
126007         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
126008         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
126009         Remove code that is now done by the newly-required macros.
126010         Append $(EXEEXT) to DF_PROG.
126011         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
126012         Do not invoke or require the following here,
126013         since prereq.m4 or some gnulib .m4 now does this for us:
126014         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
126015         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
126016         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
126017         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
126018         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
126019         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
126020         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
126021         AC_FUNC_OBSTACK.
126022         Do not replace the following functions, as this is now the job
126023         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
126024         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
126025         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
126026         atexit getpass, strdup, getpagesize.
126027         Replace 'raise'.
126028         Do not check for the following functions, as this is now the job
126029         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
126030         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
126031         setregid.
126032         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
126033         Check for sys/sysctl.h.
126034         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
126035         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
126036         of checking for ssize_t ourselves.
126038         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
126039         Require every macro that gnulib/modules/* suggests for us.
126040         (jm_PREREQ_ADDEXT): New macro.
126041         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
126042         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
126044         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
126045         (gl_PHYSMEM): Use it.
126046         Also check for `table' function.
126047         Check for new headers and functions.
126048         Add check for sys/sysmp.h.
126049         With suggestions from Kaveh Ghazi.
126050         Ignore headers that are present but cannot be compiled.  This
126051         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
126052         C 5.4.
126054 2003-08-15  Paul Eggert  <eggert@twinsun.com>
126056         Document merge from coreutils.
126057         * modules/userspec: Depend on posixver.
126058         * modules/strftime: Depend on tzset.
126060 2003-08-15  Paul Eggert  <eggert@twinsun.com>
126062         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
126063         rather than tab, after '#' in shell-script copyright notices.
126064         Suggested by Bruno Haible.
126066 2003-08-15  Paul Eggert  <eggert@twinsun.com>
126068         * config/srclist-update: Use three spaces, rather than tab, after '#'
126069         in shell-script copyright notices.  Suggested by Bruno Haible.
126070         Remove unnecessary parenthesization in regular expression.
126072 2003-08-15  Jim Meyering  <jim@meyering.net>
126074         Merge from coreutils.
126075         * lib/xgethostname.c: Include <stdlib.h>.
126076         (xghostname): Don't exit for anything other than memory-related
126077         failure; just return NULL.
126078         * lib/userspec.c: Include "posixver.h".
126079         (parse_user_spec): Accept `.' as a separator only
126080         in pre-POSIX-200112 mode.
126081         * lib/strtoimax.c: Use #elif rather than #else #if.
126082         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
126083         Remove function, now that we can rely on a working tzset function.
126084         [!_LIBC]: Ensure that the required autoconf test has been run.
126085         [!defined _NL_CURRENT && HAVE_STRFTIME]:
126086         Use underlying_strftime for %r.
126087         * lib/sha.c: Merge in some clean-up and optimization changes from
126088         glibc.
126089         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
126090         Ensure that it is a multiple of 64.
126091         Rearrange loop exit tests so as to avoid performing an
126092         additional fread after encountering an error or EOF.
126093         * lib/realloc.c: Update copyright date.
126095 2003-08-15  Jim Meyering  <jim@meyering.net>
126096         and Paul Eggert  <eggert@twinsun.com>
126098         Merge from coreutils.
126099         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
126100         member but strut utmpx does not.  Needed for AIX 4.3.3.
126101         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
126103 2003-08-15  Jim Meyering  <jim@meyering.net>
126104         and Paul Eggert  <eggert@cs.ucla.edu>
126106         Merges from coreutils, etc.
126107         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
126108         Require gl_FUNC_TZSET_CLOBBER.
126109         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
126110         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
126111         members.
126113 2003-08-14  Paul Eggert  <eggert@twinsun.com>
126115         Help the merge from coreutils.
126116         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
126117         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
126118         * m4/tzset.m4: Use it too.
126120 2003-08-14  Paul Eggert  <eggert@twinsun.com>
126122         * modules/tzset: New file.
126124 2003-08-14  Jim Meyering  <jim@meyering.net>
126126         Merges from coreutils.
126127         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
126128         variable names, rather than @FNMATCH_H@.
126129         * modules/alloca: Likewise for $(ALLOCA_H).
126131         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
126132         the three copies of the literal target, `fnmatch.h'.
126133         * modules/alloca (alloca.h): Likewise.
126135 2003-08-14  Jim Meyering  <jim@meyering.net>
126137         Merge from coreutils.
126138         * m4/tzset.m4: New file.
126139         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
126140         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
126141         otherwise, AIX 5.1 systems would end up using the latter.
126142         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
126143         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
126144         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
126145         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
126147 2003-08-14  Jim Meyering  <jim@meyering.net>
126149         Merge from coreutils.
126150         * lib/obstack.h: Whitespace changes.
126151         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
126152         and xcalloc return values.
126153         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
126154         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
126155         hang on OSF/1 5.1 for DIR on both local and remote file systems.
126156         Reported by (and fix confirmed by) Nelson H. F. Beebe.
126157         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
126158         error from mntctl.
126159         Use mntctl's return value to drive the entry-processing loop, since
126160         we can't rely on the value of the vmt_length member in the last
126161         entry.  On some systems doing so could result in exhausting
126162         virtual memory.  Based in part on a patch from Mike Jetzer.
126164 2003-08-14  Jim Meyering  <jim@meyering.net>
126165         and Paul Eggert  <eggert@twinsun.com>
126167         Merges from coreutils, plus other fixes.
126168         * lib/physmem.c: Merge in portability changes from gcc/libiberty
126169         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
126170         for credits and details.  Thanks to Kaveh Ghazi for helping
126171         to keep these files in sync.
126172         (ARRAY_SIZE): Define it.
126173         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
126174         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
126175         (memcasecmp): Don't assume size_t fits in unsigned int.
126176         Remove casts and duplicate code.
126177         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
126178         (memcpy): Remove definition.
126179         Merge in some clean-up and optimization changes from glibc.
126180         [BLOCKSIZE]: Move definition to top of file.
126181         Ensure that it is a multiple of 64.
126182         Rearrange loop exit tests so as to avoid performing an
126183         additional fread after encountering an error or EOF.
126184         * lib/md5.h (md5_uintptr): Define.
126185         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
126186         return to the initial working directory.  Preserve errno
126187         for caller.
126188         * lib/idcache.c: Include "xalloc.h".
126189         (xmalloc, xrealloc): Remove decls.
126190         (getuser): Remove casts no longer required in C89.
126191         * lib/human.c: Include stdio.h, for sprintf.
126192         * lib/group-member.c: Include "xalloc.h".
126193         (xmalloc, xrealloc): Remove decls.
126194         (get_group_info): Remove casts no longer required in C89.
126195         * lib/getusershell.c (readname): Remove casts no longer required in
126196         C89.
126197         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
126198         * lib/getline.c: Whitespace fix, from coreutils.
126200 2003-08-13  Paul Eggert  <eggert@twinsun.com>
126202         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
126203         Check for isascii.
126205         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
126206         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
126207         Undo previous (whitespace-only) change.
126209 2003-08-13  Paul Eggert  <eggert@twinsun.com>
126211         * lib/exclude.c: Include <ctype.h>
126212         (IN_CTYPE_DOMAIN): New macro.
126213         (is_space): New fn.
126214         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
126215         and empty lines.
126217         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
126218         Undo previous (whitespace-only) change.
126220 2003-08-13  Paul Eggert  <eggert@twinsun.com>
126222         * config/srclist-update: Change update back to the old behavior,
126223         leaving whitespace alone.  Use one 'sed' command rather than a
126224         pipeline.
126225         (fixlicense): Now a variable, not a function.
126226         (remove_trailing_blanks): Remove.
126227         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
126228         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
126229         Undo previous (whitespace-only) change.
126231 2003-08-12  Paul Eggert  <eggert@twinsun.com>
126233         Merge from coreutils.
126234         * modules/euidaccess: Add lib_SOURCES, include for new
126235         file euidaccess.h
126237 2003-08-12  Paul Eggert  <eggert@twinsun.com>
126239         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
126240         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
126241         Normalize leading white space and remove trailing white space.
126243         Merge from coreutils
126244         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
126246         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
126247         0.12.1.  These files are now being upgraded automatically by
126248         ../config/srclist-update.
126250 2003-08-12  Paul Eggert  <eggert@twinsun.com>
126252         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
126253         Normalize leading white space and remove trailing white space.
126254         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
126255         notice, as per ../config/srclist-update.
126257         Merge from coreutils.
126258         * lib/euidaccess.h: New file.
126259         * lib/euidaccess.c: Include it.
126260         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
126261         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
126262         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
126264 2003-08-12  Paul Eggert  <eggert@twinsun.com>
126266         * config/srclist-update: Add copyright notice.
126267         (remove_id_lines, remove_trailing_blanks): New constants.
126268         (fixfile): Use them to normalize spacing a bit in copied files.
126269         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
126270         Normalize leading white space and remove trailing white space.
126272         * config/texinfo.tex: Sync with texinfo.
126274         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
126275         strtoul.c from libc, to merge coreutils whitespace changes.
126277         * config/srclist.txt: Get the following m4 files from gettext:
126278         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
126279         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
126280         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
126281         wint_t.m4.
126283 2003-08-12  Karl Berry  <karl@gnu.org>
126285         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
126286         been made.
126288 2003-08-11  Paul Eggert  <eggert@twinsun.com>
126290         * modules/gnu-source, m4/gnu-source.m4:
126291         Remove; we're assuming Autoconf 2.54 or later now.
126292         Suggested by Bruno Haible.
126293         * MODULES.html.sh (func_all_modules): Remove gnu-source.
126295 2003-08-11  Bruno Haible  <bruno@clisp.org>
126297         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
126299 2003-08-11  Bruno Haible  <bruno@clisp.org>
126301         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
126302         (vasnprintf): Use it instead of wcslen.
126304 2003-08-11  Bruno Haible  <bruno@clisp.org>
126306         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
126307         value to ensure that _Bool promotes to int. Use #define for _Bool when
126308         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
126310 2003-08-10  Karl Berry  <karl@gnu.org>
126312         * lib/regex.h: update from libc (whitespace fix).
126314 2003-08-09  Paul Eggert  <eggert@twinsun.com>
126316         Merge some files from coreutils.  These changes were
126317         originally made by Jim Meyering.
126318         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
126319         many older Unixes require this.
126320         * lib/alloca.c (alloca): Remove cast to argument of free;
126321         no longer needed in C89.
126322         * lib/alloca_.h, regex.h: Fix white space to match
126323         what GNU indent does.
126325 2003-08-09  Paul Eggert  <eggert@twinsun.com>
126327         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
126328         apparently Emacs's Unicode mode got confused before my 2003-08-05
126329         checkin.
126331 2003-08-08  Paul Eggert  <eggert@twinsun.com>
126333         * m4/extensions.m4: New file.
126334         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
126335         Require gl_USE_SYSTEM_EXTENSIONS.
126336         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
126337         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
126339 2003-08-08  Paul Eggert  <eggert@twinsun.com>
126341         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
126342         * modules/extensions, modules/gnu-source: New files.
126343         * modules/timespec, modules/unlocked-io: Depend on extensions.
126345 2003-08-07  Paul Eggert  <eggert@twinsun.com>
126347         * modules/restrict: New file.
126348         * MODULES.html.sh (func_all_modules): Add restrict.
126349         * modules/regex: Depend on restrict.
126351 2003-08-07  Paul Eggert  <eggert@twinsun.com>
126353         * m4/restrict.m4: New file.
126354         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
126356 2003-08-07  Bruno Haible  <bruno@clisp.org>
126358         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
126359         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
126361 2003-08-07  Bruno Haible  <bruno@clisp.org>
126363         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
126364         makes the module 'getndelim2' compatible with the module 'getline'.
126366 2003-08-05  Paul Eggert  <eggert@twinsun.com>
126368         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
126369         byte with "\201" to avoid glitches when editing that source file
126370         with multi-gnome-terminal.
126372 2003-08-05  Paul Eggert  <eggert@twinsun.com>
126374         * lib/bumpalloc.h: Remove.
126376 2003-08-05  Paul Eggert  <eggert@twinsun.com>
126378         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
126379         * modules/bumpalloc: Remove.
126381 2003-08-04  Paul Eggert  <eggert@twinsun.com>
126383         * lib/getloadavg.c: Change copyright notice and spacing to conform to
126384         GNU coding style.
126386         Merge from coreutils.
126387         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
126388         1. From glibc.
126389         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
126390         from Karl Berry, implemented by Jim Meyering.
126391         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
126392         from Dmitry V. Levin.
126393         Remove anachronistic cast of xrealloc.
126394         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
126395         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
126396         type. Otherwise, it wouldn't compile with at least /bin/cc on
126397         ymp-cray-unicos9.0.2.X.
126398         Combine two mostly-identical uses of alloca into one.
126399         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
126401 2003-08-04  Dave Love  <d.love@dl.ac.uk>
126403         [From Emacs.]
126405         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
126406         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
126407         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
126408         obsolete NLIST_NAME_UNION.
126409         [__GNU__]: Undef BSD and FSCALE.
126410         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
126412 2003-08-03  Paul Eggert  <eggert@twinsun.com>
126414         * lib/stdbool_.h (_Bool): Make it signed char, instead of
126415         an enum type, so that it's guaranteed to promote to int.  See:
126416         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
126418 2003-08-03  Karl Berry  <karl@gnu.org>
126420         * config/depcomp: update from automake.
126422 2003-07-31  Paul Eggert  <eggert@twinsun.com>
126424         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
126425         (strerror): Don't assume that a printable int fits in 14 bytes.
126427 2003-07-31  Bruno Haible  <bruno@clisp.org>
126429         * modules/getpass-gnu: New file.
126430         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
126432 2003-07-31  Bruno Haible  <bruno@clisp.org>
126434         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
126436 2003-07-24  Karl Berry  <karl@gnu.org>
126438         * config/missing: update from automake.
126440 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
126441             Bruno Haible  <bruno@clisp.org>
126443         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
126444         * lib/getline.c (getline, getdelim): Likewise.
126445         Remove _GNU_SOURCE define; now it's defined in config.h through
126446         m4/getline.m4.
126448 2003-07-23  Karl Berry  <karl@gnu.org>
126450         * config/config.sub: update from prep.
126452 2003-07-22  Paul Eggert  <eggert@twinsun.com>
126454         * modules/xalloc (Depends-on): Add exitfail.
126455         * modules/xmemcoll: Likewise.
126457 2003-07-22  Paul Eggert  <eggert@twinsun.com>
126459         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
126460         over-parenthesization in macros.
126462         Sync with coreutils.
126464         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
126465         required by C99.
126467         Use `exit_failure' for xalloc and xmemcoll instead of their own
126468         private exit-failure variables.
126469         * lib/xalloc.h (xalloc_exit_failure): Remove.
126470         * lib/xmalloc.c: Likewise.  Include exitfail.h.
126471         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
126472         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
126473         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
126474         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
126476 2003-07-20  Jim Meyering  <jim@meyering.net>
126478         * modules/closeout (Depends-on): Add exitfail.
126479         Suggestion from Bruno Haible.
126481 2003-07-19  Karl Berry  <karl@gnu.org>
126483         * config/config.sub: update from prep.
126485 2003-07-18  Paul Eggert  <eggert@twinsun.com>
126487         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
126488         Remove.
126489         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
126490         to test that it can stand by itself.  Include "exitfail.h".
126491         Clients should set exit_failure instead.
126492         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
126494 2003-07-18  Bruno Haible  <bruno@clisp.org>
126496         * modules/getndelim2: New file.
126497         * modules/getline: Share files with module getndelim2.
126498         * modules/getnline: Depend on getndelim2 instead of sharing files with
126499         it. Add getnline.c to lib_SOURCES.
126500         * MODULES.html.sh (func_all_modules): Add getndelim2.
126502 2003-07-18  Bruno Haible  <bruno@clisp.org>
126504         * m4/getndelim2.m4: New file.
126505         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
126506         invoke gl_PREREQ_GETNDELIM2.
126507         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
126508         gl_PREREQ_GETNDELIM2.
126509         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
126510         gl_GETNDELIM2.
126512 2003-07-18  Bruno Haible  <bruno@clisp.org>
126514         * lib/getndelim2.h: New file.
126515         * lib/getndelim2.c: Make into a module of its own. Include config.h,
126516         getndelim2.h.
126517         (getndelim2): Make non-static. Change return type to ssize_t.
126518         * lib/getline.h: Change argument names.
126519         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
126520         * lib/getnline.c: Include getndelim2.h.
126522 2003-07-18  Andreas Schwab  <schwab@suse.de>
126524         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
126526 2003-07-17  Karl Berry  <karl@gnu.org>
126528         * config/config.sub: update from prep.
126530 2003-07-17  Bruno Haible  <bruno@clisp.org>
126532         * modules/getnline: New file.
126533         * modules/getline: Add lib/getndelim2.c to source file list.
126534         * MODULES.html.sh (func_all_modules): Add getnline.
126536 2003-07-17  Bruno Haible  <bruno@clisp.org>
126538         * m4/getnline.m4: New file.
126540 2003-07-17  Bruno Haible  <bruno@clisp.org>
126542         * m4/Makefile.am.in: Remove file.
126543         * m4/Makefile.am: Remove file.
126544         * m4/Makefile.in: Remove file.
126546 2003-07-17  Bruno Haible  <bruno@clisp.org>
126548         * lib/getnline.h: New file.
126549         * lib/getnline.c: New file.
126550         * lib/getndelim2.c: New file, extracted from getline.c.
126551         (getndelim2): Renamed from getdelim2, with added nmax argument.
126552         * lib/getline.c: Include getndelim2.c.
126553         (getdelim2): Moved out to getndelim2.c.
126554         (getline, getdelim): Update.
126556 2003-07-17  Bruno Haible  <bruno@clisp.org>
126558         * lib/Makefile.am: Remove file.
126559         * lib/Makefile.in: Remove file.
126561 2003-07-17  Bruno Haible  <bruno@clisp.org>
126563         * configure.in: Remove file.
126564         * Makefile.in: Remove file.
126566 2003-07-17  Bruno Haible  <bruno@clisp.org>
126568         * MODULES.html.sh: Put the </BODY> right before </HTML>.
126570 2003-07-16  Karl Berry  <karl@gnu.org>
126572         * config/srclist-update: was running fixlicense twice, which caused
126573                 texinfo.tex to be nullified for some reason.  Simplify,
126574                 $gplsrc is no longer needed as far as I can see?
126576 2003-07-16  Jim Meyering  <jim@meyering.net>
126578         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
126580 2003-07-15  Paul Eggert  <eggert@twinsun.com>
126582         * config/srclist.txt: Get the following files from gettext-runtime/intl
126583         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
126584         ref-del.sin.  From Bruno Haible.
126585         * config/srclist-update (fixfile): Change grep pattern again, since the
126586         previous fix didn't work (there was another trailing $).  Use
126587         '[$]' to escape the $s.
126589 2003-07-15  Karl Berry  <karl@gnu.org>
126591         * lib/vasnprintf.c: update from gettext.
126593 2003-07-15  Karl Berry  <karl@gnu.org>
126595         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
126596         gets expanded when surrounded by '$'.
126598 2003-07-15  Jim Meyering  <jim@meyering.net>
126600         * modules/save-cwd: Don't depend on error.  From Derek Price.
126602 2003-07-15  Jim Meyering  <jim@meyering.net>
126604         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
126606 2003-07-14  Simon Josefsson  <jas@extundo.com>
126608         * modules/mempcpy: New file.
126609         * MODULES.html.sh (func_all_modules): Add mempcpy.
126611 2003-07-14  Simon Josefsson  <jas@extundo.com>
126613         * m4/mempcpy.m4: New file.
126615 2003-07-14  Simon Josefsson  <jas@extundo.com>
126617         * lib/mempcpy.h: New file.
126618         * lib/mempcpy.c: New file.
126620 2003-07-14  Paul Eggert  <eggert@twinsun.com>
126622         * modules/getdate, modules/posixtm: Depend on mktime.
126624 2003-07-14  Paul Eggert  <eggert@twinsun.com>
126626         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
126627         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
126628         unicodeio.c, unicodeio.h, unlocked-io.h:
126629         Switch from LGPL to GPL.
126631 2003-07-14  Paul Eggert  <eggert@twinsun.com>
126633         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
126634         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
126635         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
126636         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
126637         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
126638         updated automatically by ../config/srclist-update.  This changes
126639         their license from LPGL to GPL.
126641 2003-07-14  Paul Eggert  <eggert@twinsun.com>
126643         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
126644         assumed to refer to the root of the most recent stable gettext version.
126645         * config/srclistvars.sh: Add defaults for eggert.
126646         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
126647         Match "This program" as well as "The program".  This is needed
126648         for gettext.
126650 2003-07-14  Jim Meyering  <jim@meyering.net>
126652         Don't emit diagnostics.  Let callers do that.
126653         * lib/save-cwd.c: Don't include "error.h".
126654         (save_cwd): Don't call error.  Ensure that errno is valid
126655         when returning nonzero.
126657         * lib/save-cwd.h (restore_cwd): Update prototype.
126658         * lib/save-cwd.c (restore_cwd): Remove two parameters.
126659         Simplify.  Don't call error upon failure.  Let callers do that.
126660         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
126661         when auditing is enabled.  But don't bother updating the #if.
126663 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
126665         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
126666         it breaks C++ compilation.
126667         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
126669 2003-07-10  Simon Josefsson  <jas@extundo.com>
126671         * modules/strchrnul (Makefile.am): Add strchrnul.h.
126673 2003-07-10  Jim Meyering  <jim@meyering.net>
126675         * m4/clock_time.m4: Remove trailing blank.
126676         * m4/intmax_t.m4: Likewise.
126678 2003-07-10  Jim Meyering  <jim@meyering.net>
126680         * lib/vasnprintf.c: Remove trailing blanks.
126681         Make cpp indentation consistent.
126683 2003-07-09  Paul Eggert  <eggert@twinsun.com>
126685         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
126686         posixver.c, strftime.c, strnlen.c, strverscmp.c:
126687         Switch from LGPL to GPL.
126689 2003-07-09  Paul Eggert  <eggert@twinsun.com>
126691         * config/srclist.txt: Sort sublists.  Add
126692         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
126693         that differ from gnulib for one reason or another; we'd like this list
126694         to be smaller but for now let's document what we have.
126696 2003-07-08  Paul Eggert  <eggert@twinsun.com>
126698         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
126699         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
126700         and sweeter "eval x=$x".
126701         * config/srclist.txt: Get lib/argp* from glibc.
126703 2003-07-07  Paul Eggert  <eggert@twinsun.com>
126705         * lib/mktime.c: Fix some boundary cases and remove need for floating
126706         point.
126708         Issue a compile-time diagnostic if time_t is floating point, or if
126709         two's complement arithmetic is not in effect, or if arithmetic
126710         right shift does not propagate the sign.  These assumptions were
126711         all in the original code but they weren't checked.
126713         (TIME_T_MIDPOINT, verify): New macros.
126714         (__isleap): Remove; it has integer overflow problems.
126715         (leapyear): New function, without those problems.
126716         (ydhms_tm_diff): Remove; splitting into two parts.
126717         (ydhms_diff): New function, containing the arithmetic part of
126718         the old ydhms_tm_diff function.  Issue a compile-time
126719         diagnostic if we are not using C99 integer division.
126720         Avoid casts when possible.
126721         (guess_time_tm): New function, containing the checking part of
126722         the old ydhms_tm_diff function.  Return the new value, rather than
126723         the difference between it and the old.  Accept a new argument T
126724         so that *T specifies the old value.  Check for overflow in the result.
126726         (__mktime_internal): Use a time_t offset, not a long int offset.
126727         This undoes the 2003-06-04 change, which is no longer needed now
126728         that we have better overflow checking.
126729         (localtime_offset): Likewise.
126731         (__mktime_internal): Avoid harmful overflow on hosts where time_t
126732         and long are 64-bit but int is only 32-bit.
126733         (ydhms_diff): Use long int to store year1 and yday1.
126734         Issue a compile-time diagnostic if long int is not wide enough.
126736         (__mktime_internal): Use long int to store adjusted year and yday.
126737         Use plain C rather than preprocessor commands, if that doesn't
126738         affect efficiency.
126739         Check for overflow (and try to repair) after each probe
126740         rather than checking only at the very end.  This avoids some bugs
126741         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
126742         does not equal GMT offset at maximum time).
126743         Use integer to check for overflow rather than floating point; this
126744         is more portable to non-IEEE hosts, and is a tad faster.
126745         When we detect that we are oscillating between two values,
126746         don't check whether tm_isdst has the requested value, since
126747         we already know the answer.  When tm_isdst has the wrong value,
126748         use a different heuristic to find the right one, based on the
126749         extreme values actually observed in practice in tz2003a,
126750         rather than the (overly optimistic) "previous 3 calendar quarters".
126752         (not_equal_tm, print_tm, check_result): Use "const T" rather than
126753         "T const" to accommodate glibc style.
126754         (check_result): Use less-confusing report format.  "long" -> "long int.
126755         (main): Likewise.
126756         Don't loop if the iteration overflows time_t.
126757         Allow a negative step in the iteration.
126759 2003-07-06  Karl Berry  <karl@gnu.org>
126761         * config/depcomp: update from automake.
126762         * config/config.sub: update from prep.
126764 2003-07-03  Karl Berry  <karl@gnu.org>
126766         * config/config.guess: update from prep.
126768 2003-07-01  Paul Eggert  <eggert@twinsun.com>
126770         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
126771         xreadlink.c now includes it unconditionally.
126773 2003-07-01  Paul Eggert  <eggert@twinsun.com>
126775         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
126776         having it depend on HAVE_SYS_TYPES_H.
126778 2003-07-01  Bruno Haible  <bruno@clisp.org>
126780         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
126781         <sys/types.h> should be sufficient.
126782         Reported by Paul Eggert.
126784 2003-06-26  Karl Berry  <karl@gnu.org>
126786         * config/depcomp: update from automake.
126788 2003-06-26  Bruno Haible  <bruno@clisp.org>
126790         * modules/human: Depend on module stdbool.
126792 2003-06-25  Bruno Haible  <bruno@clisp.org>
126794         * modules/readlink: New file.
126795         * modules/xreadlink: Depend on it.
126796         * MODULES.html.sh (func_all_modules): Add readlink.
126798 2003-06-25  Bruno Haible  <bruno@clisp.org>
126800         * m4/readlink.m4: New file.
126802 2003-06-25  Bruno Haible  <bruno@clisp.org>
126804         * lib/readlink.c: New file.
126806 2003-06-22  Karl Berry  <karl@gnu.org>
126808         * config/srclist.txt: update mkinstalldirs from automake.
126809         * config/mkinstalldirs: update.
126811 2003-06-22  Bruno Haible  <bruno@clisp.org>
126813         Portability to mingw32.
126814         * m4/ssize_t.m4: New file, from GNU gettext.
126815         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
126816         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
126818 2003-06-22  Bruno Haible  <bruno@clisp.org>
126820         * modules/safe-read: Add m4/ssize_t.m4.
126821         * modules/xreadlink: Add m4/ssize_t.m4.
126823 2003-06-20  Bruno Haible  <bruno@clisp.org>
126825         Assume C89, so PARAMS isn't needed.
126826         * lib/unicodeio.h (PARAMS): Remove.
126827         * lib/unicodeio.c: Don't use PARAMS.
126829 2003-06-18  Karl Berry  <karl@gnu.org>
126831         * config/config.{guess,sub}: update from prep.
126833 2003-06-18  Jim Meyering  <jim@meyering.net>
126835         Merge changes from coreutils.
126836         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
126837         Remove explicit declarations of xmalloc and realloc.
126838         Include xalloc.h.
126839         (read_utmp): Remove anachronistic cast of xmalloc.
126841 2003-06-17  Paul Eggert  <eggert@twinsun.com>
126843         Assume C89, so PARAMS isn't needed.
126844         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
126845         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
126846         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
126847         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
126848         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
126849         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
126850         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
126851         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
126852         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
126853         lib/xstrtod.h, lib/xstrtol.h: Likewise.
126854         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
126855         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
126856         no longer needed. Anyway, config.h should always be included before any
126857         other file.
126859 2003-06-11  Simon Josefsson  <jas@extundo.com>
126861         * modules/sysexits: New file.
126862         * MODULES.html.sh (func_all_modules): Add sysexits.
126864 2003-06-11  Simon Josefsson  <jas@extundo.com>
126866         * lib/sysexit_.h: New file.
126868 2003-06-11  Derek Price  <derek@ximbiot.com>
126870         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
126871         necessary.
126873 2003-06-11  Bruno Haible  <bruno@clisp.org>
126875         * m4/sysexits.m4: New file.
126877 2003-06-10  Simon Josefsson  <jas@extundo.com>
126879         * lib/argp.h: New file, from glibc.
126880         * lib/argp-ba.c: New file, from glibc.
126881         * lib/argp-eexst.c: New file, from glibc.
126882         * lib/argp-fmtstream.c: New file, from glibc.
126883         * lib/argp-fmtstream.h: New file, from glibc.
126884         * lib/argp-fs-xinl.c: New file, from glibc.
126885         * lib/argp-help.c: New file, from glibc.
126886         * lib/argp-namefrob.h: New file, from glibc.
126887         * lib/argp-parse.c: New file, from glibc.
126888         * lib/argp-pv.c: New file, from glibc.
126889         * lib/argp-pvh.c: New file, from glibc.
126890         * lib/argp-xinl.c: New file, from glibc.
126892 2003-06-10  Simon Josefsson  <jas@extundo.com>
126894         * modules/strchrnul: New file.
126896 2003-06-10  Simon Josefsson  <jas@extundo.com>
126898         * modules/argp: New file.
126900 2003-06-10  Simon Josefsson  <jas@extundo.com>
126902         * m4/strchrnul.m4: New file.
126904 2003-06-10  Simon Josefsson  <jas@extundo.com>
126906         * lib/strchrnul.h: New file.
126907         * lib/strchrnul.c: New file.
126909 2003-06-10  Bruno Haible  <bruno@clisp.org>
126911         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
126913 2003-06-07  Karl Berry  <karl@gnu.org>
126915         * config/config.{guess,sub}: update from prep.
126917 2003-06-07  Jim Meyering  <jim@meyering.net>
126919         * modules/strtod: Use $(...) notation, not @...@ for
126920         AC_REPLACE'd variables.
126921         * modules/localcharset: Likewise.
126923 2003-06-07  Jim Meyering  <jim@meyering.net>
126925         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
126926         in place of my name in the copyright comment.
126927         Remove definition and uses of __P.
126929         From coreutils.
126930         * lib/stat.c: Don't declare xmalloc explicitly.
126931         Instead, include "xalloc.h".
126932         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
126933         xrealloc, and xcalloc return values.
126934         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
126935         Improve comment.
126936         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
126938 2003-06-07  Bruno Haible  <bruno@clisp.org>
126940         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
126941         avoid AC_CONFIG_LINKS.
126942         * modules/fnmatch (Makefile.am): Use explicit creation rule for
126943         fnmatch.h, to avoid AC_CONFIG_LINKS.
126944         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
126946 2003-06-07  Bruno Haible  <bruno@clisp.org>
126948         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
126949         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
126950         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
126951         directory.
126952         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
126953         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
126954         directory.
126956 2003-06-06  Jim Meyering  <jim@meyering.net>
126958         Merge from coreutils.
126959         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
126960         Consolidate declarations and initializations of *_base* locals.
126962         Merge from coreutils.
126963         This avoids a core dump on systems without GNU putenv,
126964         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
126965         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
126966         (unsetenv): New static function, from GNU libc.
126967         (rpl_putenv): Use it.
126969         * lib/modechange.c: Remove trailing blanks.
126971         Merge from coreutils.
126972         * lib/fsusage.c: Remove declaration of statfs.
126973         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
126975         * lib/posixtm.c: Include <stdbool.h> unconditionally.
126977 2003-06-06  Jim Meyering  <jim@meyering.net>
126979         * lib/stdbool_.h: Renamed from stdbool.h.in.
126981 2003-06-06  Jim Meyering  <jim@meyering.net>
126982             Bruno Haible  <bruno@clisp.org>
126984         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
126985         Adjust Makefile.am snippet not to redirect directly to target.
126986         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
126988 2003-06-05  Paul Eggert  <eggert@twinsun.com>
126990         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
126991         mismatch, look in future quarters as well as past.  This fixes a
126992         bug when processing fall-backwards gaps immediately after a long
126993         period of daylight-saving time.
126995         * lib/mktime.c: Assume freestanding C89 or better.
126996         (HAVE_LIMITS_H): Remove.  Assume it's 1.
126997         (__P): Remove; not used.
126998         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
126999         (mktime, not_equal_tm, print_tm, check_result,
127000         main): Use prototypes.  Use const * where appropriate.
127001         (main): Fix typo in testing code that uncovered by above changes.
127002         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
127004 2003-06-04  Paul Eggert  <eggert@twinsun.com>
127006         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
127007         locale.h, localeconv.  This merges changes from coreutils.
127009         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
127010         It can be removed after the next Autoconf is released.
127011         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
127012         needed.
127014 2003-06-04  Paul Eggert  <eggert@twinsun.com>
127016         * lib/mktime.c: Fix Debian bug 177940
127017         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
127018         (localtime_offset): Now long int, not time_t, because we want it
127019         to be guaranteed to be signed.  All uses changed.
127020         (__mktime_internal): If overflow would occur when adding offset,
127021         don't add it.
127023         Merge 'human' changes from coreutils.  Rewrite to support
127024         locale-specific notations like thousands separators.
127025         * lib/human.c: Simplify authorship notice.
127026         Include human.h immediately after config.h.
127027         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
127028         <limits.h>: Do not include, since human.h does.
127029         (SIZE_MAX, UINTMAX_MAX): New macros.
127030         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
127031         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
127032         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
127033         (power_letter): Renamed from suffixes.
127034         (generate_suffix_backwards): Remove.
127035         (adjust_value): Now takes int style (because of human.h changes)
127036         and long double value (for greater precision on some platforms).
127037         (group_number): New function.
127038         (human_readable): Use it.  Use integer options, not enum.
127039         Put the options before the sizes in the arg list.
127040         Support all the new options.
127041         The old human_readable function has been removed;
127042         use inttostr.h instead.
127043         (human_readable, default_block_size, humblock):
127044         Use uintmax_t, not int, for block sizes.
127045         (human_readable_inexact, block_size_types): Remove.
127046         (block_size_opts): New constant.
127047         (human_options): Renamed from human_block_size, with new signature
127048         that allows block sizes up to UINTMAX_MAX.  All callers changed.
127049         * lib/human.h: Add copyright and authorship notice.
127050         Include <limits.h> and <stdbool.h> unconditionally.
127051         (PARAMS): Remove.  All uses removed.
127052         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
127053         (enum human_inexact_style): Remove tag; now a nameless enum.
127054         (human_floor, human_ceiling, human_round_to_even): Now have
127055         values 2, 0, 1 rather than -1, 1, 0.
127056         (human_group_digits, human_suppress_point_zero, human_autoscale,
127057         human_base_1024, human_SI, human_B): New constants.
127058         (human_readable_inexact, human_block_size): Remove.
127059         (human_readable): Size args are now uintmax_t, not int.
127060         (human_options): New decl.
127062         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
127063         unnecessary now that we assume C89 or better.  This change
127064         imported from coreutils.
127066         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
127067         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
127068         in the 2003-05-30 sync from glibc.
127070         .h files should stand alone, but we shouldn't include <sys/types.h>
127071         if we can get away with just <stddef.h>.
127073         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
127074         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
127075         rather than <sys/types.h>, as we merely need size_t.
127076         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
127077         to get size_t.
127078         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
127079         Include <stdio.h>, to get FILE.
127080         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
127081         memcasecmp.h has included <stddef.h> and all we need is size_t.
127082         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
127083         our interface, instead of including <sys/types.h>
127085 2003-06-04  Paul Eggert  <eggert@twinsun.com>
127087         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
127088         now, as glibc mktime is buggy on non-glibc systems.
127090 2003-06-03  Karl Berry  <karl@gnu.org>
127092         * config/config.sub: update from prep.
127094 2003-06-02  Paul Eggert  <eggert@twinsun.com>
127096         [from coreutils]
127097         Fix some minor time-related bugs with POSIX time arguments.
127098         Some valid time stamps were being rejected (notably -1, and
127099         time stamps before 1900 on 64-bit hosts).  And some invalid
127100         time stamps were being accepted, e.g. September 31.
127102         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
127103         that we can return (time_t) -1 successfully.
127104         * lib/posixtm.c: Likewise.
127105         [HAVE_STDBOOL_H]: Include <stdbool.h>.
127106         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
127107         (t): Remove static var.
127108         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
127109         of static var.  All uses changed.
127110         (year): Do not reject years before 1900; they can occur with
127111         64-bit time_t.
127112         (posix_time_parse): Do not check for out-of-range components;
127113         that is now the caller's responsibility, since our checks were
127114         only approximations.
127115         (posixtime): Use mktime to check for out-of-range components,
127116         since it knows them exactly.
127117         If mktime returns (time_t) -1, check whether an error actually occurred
127118         by invoking localtime on -1.
127119         (main) [TEST_POSIXTIME]: Check for input data errors, and report
127120         posixtime failures better.
127121         Improve the test data (in comments only).
127123 2003-06-02  Karl Berry  <karl@gnu.org>
127125         * config/mkinstalldirs (version): new variable.
127126         (--version): new option.
127127         (usage): improve message.
127129 2003-05-30  Karl Berry  <karl@gnu.org>
127131         * lib/mktime.c: update from libc.
127133 2003-05-30  Bruno Haible  <bruno@clisp.org>
127135         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
127136         * config/config.rpath: Upgrade to gettext-0.12.1.
127138 2003-05-30  Bruno Haible  <bruno@clisp.org>
127140         * m4/gettext.m4: Upgrade to gettext-0.12.1.
127141         * m4/nls.m4: New file, from gettext-0.12.1.
127142         * m4/po.m4: New file, from gettext-0.12.1.
127143         * m4/progtest.m4: Upgrade to gettext-0.12.1.
127145 2003-05-30  Bruno Haible  <bruno@clisp.org>
127147         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
127148         * lib/localcharset.h: Likewise.
127149         * lib/localcharset.c: Likewise.
127151 2003-05-29  Karl Berry  <karl@gnu.org>
127153         * config/config.rpath: update from gettext.
127155 2003-05-28  Paul Eggert  <eggert@twinsun.com>
127157         Assume the headers required for C89 freestanding compilers.
127158         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
127159         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
127160         * m4/human.m4 (gl_HUMAN): Likewise.
127161         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
127162         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
127163         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127164         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
127165         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127166         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
127168 2003-05-28  Paul Eggert  <eggert@twinsun.com>
127170         Assume the headers required for C89 freestanding compilers.
127171         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
127172         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
127173         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
127174         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
127175         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
127176         define, since <limits.h> is guaranteed to do that.
127177         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
127178         * lib/exclude.c: Include <stdbool.h> unconditionally.
127179         * lib/tempname.c: Include <stddef.h> unconditionally.
127180         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
127181         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
127182         <stddef.h> does that.
127183         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
127184         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
127185         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
127186         needed.
127187         * lib/xstrtol.c: Likewise.
127188         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
127189         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
127191         * lib/addext.c (addext): Use assignment rather than cast, to avoid
127192         warnings on some platforms.
127194         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
127195         arbitrarily.
127197 2003-05-26  Jim Meyering  <jim@meyering.net>
127199         Merge in a change from coreutils:
127200         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
127201         that is guaranteed to be `no'.  Use `no_such_member' to indicate
127202         that condition, rather than `-1' which is slightly misleading.
127203         Change the name of the cache variable to have the gl_ prefix.
127204         Prompted by a patch from Richard Dawe for DJGPP.
127206 2003-05-24  Karl Berry  <karl@gnu.org>
127208         * config/config.guess: update from prep.
127210 2003-05-22  Karl Berry  <karl@gnu.org>
127212         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
127214 2003-05-20  Karl Berry  <karl@gnu.org>
127216         * config/config.guess: update from prep.
127218 2003-05-18  Karl Berry  <karl@gnu.org>
127220         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
127221         might actually be set by the user.
127223         * config/depcomp, install-sh, mdate-sh: update from automake.
127225 2003-05-17  Bruno Haible  <bruno@clisp.org>
127227         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
127228         invalid expansion for AC_EGREP_CPP.
127229         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
127230         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
127231         Suggested by Akim Demaille <akim@epita.fr> in
127232         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
127234 2003-05-12  Jim Meyering  <jim@meyering.net>
127236         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
127237         the space-padded-by-default conversion specifiers, %e, %k, %l.
127239 2003-05-12  Bruno Haible  <bruno@clisp.org>
127241         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
127242         the string is longer than 4 KB.
127244 2003-05-11  Karl Berry  <karl@gnu.org>
127246         * config/config.{guess,sub}: update from prep.
127248 2003-05-09  Bruno Haible  <bruno@clisp.org>
127250         * modules/error: Add m4/strerror_r.m4 to file list.
127252 2003-05-03  Bruno Haible  <bruno@clisp.org>
127254         Upgrade to Unicode-4.0.
127255         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
127256         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
127257         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
127258         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
127259         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
127260         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
127261         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
127262         Change width of U+E0100..U+E01EF from 1 to 0.
127264 2003-04-25  Jim Meyering  <jim@meyering.net>
127266         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
127267         of type size_t, not int.
127269 2003-04-25  Bruno Haible  <bruno@clisp.org>
127271         * lib/copy-file.c: Include <stddef.h>, for size_t.
127273 2003-04-21  Paul Eggert  <eggert@twinsun.com>
127275         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
127276         code which expansion is under static control.  Patch imported from
127277         Akim Demaille's patch to Bison; see
127278         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
127280 2003-04-14  Bruno Haible  <bruno@clisp.org>
127282         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
127284 2003-04-11  Jim Meyering  <jim@meyering.net>
127286         Merge changes from Coreutils.
127288         2003-03-22  Jim Meyering  <jim@meyering.net>
127290         * lib/strftime.c (widen): Cast alloca return value to proper type.
127292         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
127294         From GNU libc.
127295         * lib/strftime.c (my_strftime): Handle very large width
127296         specifications for numeric values correctly.  Improve checks for
127297         overflow.
127299         2003-01-19  Jim Meyering  <jim@meyering.net>
127301         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
127302         definitions.
127303         (nl_get_alt_digit) [! defined my_strftime]: Define.
127304         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
127305         _nl_get_alt_digit and _nl_get_walt_digit.
127307         * lib/strftime.c (my_strftime): Merge in locale-related changes from
127308         libc. These changes have no effect outside of _LIBC.
127310 2003-04-10  Bruno Haible  <bruno@clisp.org>
127312         * modules/findprog: New file.
127313         * MODULES.html.sh (func_all_modules): Add it.
127315 2003-04-10  Bruno Haible  <bruno@clisp.org>
127317         * m4/findprog.m4: New file.
127318         * m4/eaccess.m4: New file.
127320 2003-04-10  Bruno Haible  <bruno@clisp.org>
127322         * lib/findprog.h: New file, from GNU gettext.
127323         * lib/findprog.c: New file, from GNU gettext.
127325 2003-04-05  Jim Meyering  <jim@meyering.net>
127327         Merge changes from Coreutils.
127329         * lib/exclude.h (PARAMS): Remove definition and uses.
127330         * lib/exclude.c: Remove uses of `PARAMS'.
127332         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
127333         Add test-cases for DOS filenames. Declare program_name.
127334         (main): Set up program_name.  Patch by Rich Dawe.
127336         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
127337         error from mntctl.
127338         Use mntctl's return value to drive the entry-processing loop, since
127339         we can't rely on the value of the vmt_length member in the last
127340         entry.  On some systems doing so could result in exhausting
127341         virtual memory.  Based in part on a patch from Mike Jetzer.
127343 2003-04-04  Bruno Haible  <bruno@clisp.org>
127345         * modules/linebreak: New file.
127346         * MODULES.html.sh (func_all_modules): Add it.
127348 2003-04-04  Bruno Haible  <bruno@clisp.org>
127350         * m4/linebreak.m4: New file.
127352 2003-04-04  Bruno Haible  <bruno@clisp.org>
127354         * lib/linebreak.h: New file, from GNU gettext.
127355         * lib/linebreak.c: New file, from GNU gettext with slight
127356         modifications.
127357         * lib/lbrkprop.h: New file, from GNU gettext.
127359 2003-04-03  Bruno Haible  <bruno@clisp.org>
127361         * modules/utf8-ucs4: New file.
127362         * modules/utf16-ucs4: New file.
127363         * modules/ucs4-utf8: New file.
127364         * modules/ucs4-utf16: New file.
127365         * MODULES.html.sh (func_all_modules): Add them.
127367 2003-04-03  Bruno Haible  <bruno@clisp.org>
127369         * m4/utf-ucs4.m4: New file.
127370         * m4/ucs4-utf.m4: New file.
127372 2003-04-03  Bruno Haible  <bruno@clisp.org>
127374         * lib/utf8-ucs4.h: New file, from GNU gettext.
127375         * lib/utf16-ucs4.h: New file, from GNU gettext.
127376         * lib/ucs4-utf8.h: New file, from GNU gettext.
127377         * lib/ucs4-utf16.h: New file, from GNU gettext.
127379 2003-04-02  Bruno Haible  <bruno@clisp.org>
127381         * modules/binary-io: New file.
127382         * MODULES.html.sh (func_all_modules): Add it.
127384 2003-04-02  Bruno Haible  <bruno@clisp.org>
127386         * lib/binary-io.h: New file, from GNU gettext.
127388 2003-04-01  Bruno Haible  <bruno@clisp.org>
127390         * modules/pathname: New file.
127391         * MODULES.html.sh (func_all_modules): Add it.
127393 2003-04-01  Bruno Haible  <bruno@clisp.org>
127395         * lib/pathname.h: New file, from GNU gettext.
127396         * lib/concatpath.c: New file, from GNU gettext.
127398 2003-03-30  Bruno Haible  <bruno@clisp.org>
127400         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
127402 2003-03-30  Bruno Haible  <bruno@clisp.org>
127404         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
127405         function chown() doesn't exist.
127407 2003-03-28  Bruno Haible  <bruno@clisp.org>
127409         * modules/copy-file: New file.
127410         * MODULES.html.sh (func_all_modules): Add it.
127412 2003-03-28  Bruno Haible  <bruno@clisp.org>
127414         * m4/copy-file.m4: New file.
127416 2003-03-28  Bruno Haible  <bruno@clisp.org>
127418         * lib/copy-file.h: New file, from GNU gettext.
127419         * lib/copy-file.c: New file, from GNU gettext.
127421 2003-03-18  Jim Meyering  <jim@meyering.net>
127423         * lib/quote.c (quote_n): Fix typo in comment.
127425 2003-03-18  Bruno Haible  <bruno@clisp.org>
127427         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
127428         checking.
127429         * m4/onceonly_2_57.m4: Likewise.
127431 2003-03-17  Bruno Haible  <bruno@clisp.org>
127433         * m4/onceonly.m4: Require autoconf 2.54 or newer.
127434         (m4_quote): Remove macro.
127435         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
127437 2003-03-14  Jim Meyering  <jim@meyering.net>
127439         Merge changes from Coreutils.
127440         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
127441         to be const, in order to avoid warnings.
127442         (obstack_room): Likewise.
127443         (obstack_empty_p): Likewise.
127445 2003-03-14  Bruno Haible  <bruno@clisp.org>
127447         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
127448         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
127450 2003-03-13  Paul Eggert  <eggert@twinsun.com>
127452         Merge changes from Bison.
127453         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
127454         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
127455         when compiling Bison 1.875's `bitset bset = obstack_alloc
127456         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
127457         * lib/hash.c: Include <stdbool.h> unconditionally.
127459 2003-03-13  Paul Eggert  <eggert@twinsun.com>
127461         * m4/onceonly.m4 (m4_quote): New macro.
127462         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
127463         Quote AC_FOREACH variable-expansions properly.
127465 2003-03-13  Paul Eggert  <eggert@twinsun.com>
127467         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
127469 2003-03-09  Paul Eggert  <eggert@twinsun.com>
127471         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
127472         Reported by Bruce Becker; see:
127473         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
127475 2003-03-03  Paul Eggert  <eggert@twinsun.com>
127476             Bruno Haible  <bruno@clisp.org>
127478         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
127479         Reported by John Hughes, see
127480         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
127482 2003-02-20  Bruno Haible  <bruno@clisp.org>
127484         * MODULES.html.sh (func_all_modules): Add poll.
127486 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
127488         * modules/poll: New file.
127490 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
127492         * lib/poll_.h: New file.
127493         * lib/poll.c: New file.
127495 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
127497         * m4/poll.m4: New file.
127499 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
127501         * modules/mathl: New file.
127503 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
127505         * lib/mathl.h: New file.
127506         * lib/acosl.c: New file.
127507         * lib/asinl.c: New file.
127508         * lib/atanl.c: New file.
127509         * lib/ceill.c: New file.
127510         * lib/cosl.c: New file.
127511         * lib/expl.c: New file.
127512         * lib/floorl.c: New file.
127513         * lib/frexpl.c: New file.
127514         * lib/ldexpl.c: New file.
127515         * lib/logl.c: New file.
127516         * lib/sincosl.c: New file.
127517         * lib/sinl.c: New file.
127518         * lib/sqrtl.c: New file.
127519         * lib/tanl.c: New file.
127520         * lib/trigl.c: New file.
127521         * lib/trigl.h: New file.
127523 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
127525         * m4/mathl.m4: New file.
127527 2003-02-18  Bruno Haible  <bruno@clisp.org>
127529         * MODULES.html.sh (func_all_modules): Add mathl.
127531 2003-02-17  Bruno Haible  <bruno@clisp.org>
127533         * modules/mkdtemp: New module.
127534         * MODULES.html.sh (func_all_modules): Add it.
127536 2003-02-17  Bruno Haible  <bruno@clisp.org>
127538         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
127540 2003-02-17  Bruno Haible  <bruno@clisp.org>
127542         * lib/mkdtemp.h: New file, from GNU gettext.
127543         * lib/mkdtemp.c: New file, from GNU gettext.
127545 2003-02-02  Jim Meyering  <jim@meyering.net>
127547         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
127548         e.g. glibc-2.2.93.
127550 2003-01-31  Bruno Haible  <bruno@clisp.org>
127552         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
127553         'rpl_rename'.
127554         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
127555         'rpl_strnlen'.
127556         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
127557         'rpl_strtod'.
127558         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
127559         'rpl_utime'.
127561 2003-01-31  Bruno Haible  <bruno@clisp.org>
127563         * lib/rename.c: #undef rename before defining rpl_rename.
127564         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
127566 2003-01-30  Bruno Haible  <bruno@clisp.org>
127568         * modules/vasnprintf, modules/vasprintf: New modules.
127569         * MODULES.html.sh (func_all_modules): Add them.
127571 2003-01-30  Bruno Haible  <bruno@clisp.org>
127573         * m4/signed.m4: New file, from GNU gettext.
127574         * m4/longdouble.m4: New file, from GNU gettext.
127575         * m4/wchar_t.m4: New file, from GNU gettext.
127576         * m4/wint_t.m4: New file, from GNU gettext.
127577         * m4/vasnprintf.m4: New file.
127578         * m4/vasprintf.m4: New file.
127580 2003-01-30  Bruno Haible  <bruno@clisp.org>
127582         * lib/printf-args.h: New file, from GNU gettext.
127583         * lib/printf-args.c: New file, from GNU gettext.
127584         * lib/printf-parse.h: New file, from GNU gettext.
127585         * lib/printf-parse.c: New file, from GNU gettext.
127586         * lib/vasnprintf.h: New file, from GNU gettext.
127587         * lib/vasnprintf.c: New file, from GNU gettext.
127588         * lib/asnprintf.c: New file, from GNU gettext.
127589         * lib/vasprintf.h: New file, from GNU gettext with modifications.
127590         * lib/vasprintf.c: New file, from GNU gettext.
127591         * lib/asprintf.c: New file, from GNU gettext.
127593 2003-01-29  Bruno Haible  <bruno@clisp.org>
127595         * modules/stpncpy: New module.
127596         * MODULES.html.sh (func_all_modules): Add it.
127598 2003-01-29  Bruno Haible  <bruno@clisp.org>
127600         * m4/stpncpy.m4: New file.
127602 2003-01-29  Bruno Haible  <bruno@clisp.org>
127604         * lib/stpncpy.h: New file, from GNU gettext with modifications.
127605         * lib/stpncpy.c: New file, from GNU gettext with modifications.
127607 2003-01-28  Bruno Haible  <bruno@clisp.org>
127609         * modules/c-ctype: New module.
127610         * MODULES.html.sh (func_all_modules): Add it.
127612 2003-01-28  Bruno Haible  <bruno@clisp.org>
127614         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
127615         Paul Eggert.
127616         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
127617         Paul Eggert.
127619 2003-01-27  Bruno Haible  <bruno@clisp.org>
127621         * modules/xsetenv: New module.
127622         * MODULES.html.sh (func_all_modules): Add it.
127624 2003-01-27  Bruno Haible  <bruno@clisp.org>
127626         * lib/xsetenv.h: New file, from GNU gettext.
127627         * lib/xsetenv.c: New file, from GNU gettext.
127629 2003-01-23  Jim Meyering  <jim@meyering.net>
127631         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
127632         from working on systems without dirfd (at least Irix and OSF1/Tru64).
127634 2003-01-23  Bruno Haible  <bruno@clisp.org>
127636         * modules/minmax: New module.
127637         * MODULES.html.sh (func_all_modules): Add it.
127639 2003-01-23  Bruno Haible  <bruno@clisp.org>
127641         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
127642         Eggert.
127644 2003-01-22  Bruno Haible  <bruno@clisp.org>
127646         * modules/exit: New module.
127647         * MODULES.html.sh (func_all_modules): Add it.
127649 2003-01-22  Bruno Haible  <bruno@clisp.org>
127651         * lib/exit.h: New file, from GNU gettext.
127653 2003-01-19  Bruno Haible  <bruno@clisp.org>
127655         * gnulib-tool: Recognize option --extract-maintainer.
127656         (func_get_maintainer): New function.
127657         * modules/*: Add Maintainer entry.
127659 2003-01-16  Jim Meyering  <jim@meyering.net>
127661         * m4/regex.m4: The `regex' struct is both input and output.
127662         Initialize it before each use.  Patch by Tim Waugh.
127664 2003-01-16  Bruno Haible  <bruno@clisp.org>
127666         * MODULES.html.sh: Add a table of contents. Add the module name as
127667         leftmost column. Add hyperlinks.
127669 2003-01-15  Bruno Haible  <bruno@clisp.org>
127671         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
127673 2003-01-15  Bruno Haible  <bruno@clisp.org>
127675         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
127676         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
127677         suffix.
127679 2003-01-15  Bruno Haible  <bruno@clisp.org>
127681         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
127683 2003-01-15  Bruno Haible  <bruno@clisp.org>
127685         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
127686         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
127688 2003-01-14  Jim Meyering  <jim@meyering.net>
127690         * lib/same.c (same_name): Tweak a comment.
127692 2003-01-14  Bruno Haible  <bruno@clisp.org>
127694         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
127695         when a string comparison is sufficient.
127697 2003-01-14  Bruno Haible  <bruno@clisp.org>
127699         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
127700         'unsigned int'.
127702 2003-01-14  Bruno Haible  <bruno@clisp.org>
127704         * lib/hash-pjw.c: Add comment about low quality of this function.
127706 2003-01-13  Bruno Haible  <bruno@clisp.org>
127708         * modules/stpcpy: Distribute lib/stpcpy.h.
127709         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
127711 2003-01-13  Bruno Haible  <bruno@clisp.org>
127713         * modules/*: Add a description.
127714         * modules/strpbrk: Fix Makefile.am snippet.
127715         * modules/strtoimax: Fix dependencies.
127716         * modules/strtoumax: Likewise.
127718 2003-01-13  Bruno Haible  <bruno@clisp.org>
127720         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
127721         * modules/alloca (Makefile.am): All object files depend on alloca.h.
127722         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
127724 2003-01-13  Bruno Haible  <bruno@clisp.org>
127726         * gnulib-tool (func_create_testdir): Store config/* files in the main
127727         directory.
127728         * config.rpath: Move to ...
127729         * config/config.rpath: ... here.
127730         * modules/gettext: Contains config/config.rpath, not config.rpath.
127731         * modules/iconv: Likewise.
127733 2003-01-12  Paul Eggert  <eggert@twinsun.com>
127735         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
127736         to avoid collisions with libcurses and libreadline.
127738         * m4/getstr.m4: Remove.
127739         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
127741 2003-01-12  Paul Eggert  <eggert@twinsun.com>
127743         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
127744         to avoid collisions with libcurses and libreadline.
127746         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
127747         * lib/getstr.h, getstr.c: Remove.
127748         * lib/getline.c: Include "getline.h", to check interface.
127749         Move body of old getstr.c here: this defines MIN_CHUNK and
127750         declares getdelim2, which is renamed from getstr.
127751         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
127753         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
127754         All uses changed.
127755         * lib/linebuffer.h: Likewise.
127756         (readline): Remove backward-compatibility macro.
127758 2003-01-12  Paul Eggert  <eggert@twinsun.com>
127760         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
127761         to avoid collisions with libcurses and libreadline.
127762         * getstr: Remove.
127763         * MODULES.html.sh: Remove getstr.
127764         * modules/getline: Depend on unlocked-io, not getstr.
127766 2003-01-12  Jim Meyering  <jim@meyering.net>
127768         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
127770 2003-01-10  Bruno Haible  <bruno@clisp.org>
127772         * modules/alloca: Change Makefile.am requirements. Simplify Include
127773         requirements. Add lib/alloca_.h to file list.
127775 2003-01-10  Bruno Haible  <bruno@clisp.org>
127777         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
127779 2003-01-10  Bruno Haible  <bruno@clisp.org>
127781         * lib/alloca_.h: New file.
127782         * lib/getdate.y: Unconditionally include alloca.h.
127783         * lib/makepath.c: Likewise.
127784         * lib/setenv.c: Likewise.
127785         * lib/userspec.c: Likewise.
127787 2003-01-09  Karl Berry  <karl@gnu.org>
127789         * MODULES.html.sh: include `dirname $0` in PATH, to find
127790         gnulib-tool.
127792 2003-01-09  Bruno Haible  <bruno@clisp.org>
127794         * modules/stdbool: Change configure.ac, Makefile.am requirements.
127795         Simplify Include requirements. Add lib/stdbool.h.in to file list.
127797 2003-01-09  Bruno Haible  <bruno@clisp.org>
127799         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
127801 2003-01-09  Bruno Haible  <bruno@clisp.org>
127803         * lib/stdbool.h.in: New file.
127805 2003-01-09  Bruno Haible  <bruno@clisp.org>
127807         * gnulib-tool (func_all_modules): Ignore files ending in ~.
127808         * MODULES.html.sh: Likewise.
127810 2003-01-08  Jim Meyering  <jim@meyering.net>
127812         * lib/full-write.c: Undefine and define-away `const' after inclusion
127813         of errno.h, not before.  Suggestion from Bruno Haible.
127815 2003-01-08  Bruno Haible  <bruno@clisp.org>
127817         * modules/full-read: Depend on full-write.
127819 2003-01-08  Bruno Haible  <bruno@clisp.org>
127821         * lib/safe-read.c: Include specification header first, to ensure its
127822         selfcontainedness.
127823         * lib/full-write.c: Likewise.
127825 2003-01-07  Jim Meyering  <jim@meyering.net>
127827         * lib/full-write.c: Rework so that it may serve to define full_read,
127828         too.
127829         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
127831 2003-01-07  Bruno Haible  <bruno@clisp.org>
127833         * lib/strtoimax.c: Include <stdint.h> as an alternative to
127834         <inttypes.h>.
127835         * lib/xstrtol.h: Likewise.
127836         * lib/xstrtoimax.c: Likewise.
127837         * lib/xstrtoumax.c: Likewise.
127838         * lib/human.h: Likewise.
127840         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
127841         on systems that have <inttypes.h> but not <stdint.h>.
127843 2003-01-07  Bruno Haible  <bruno@clisp.org>
127845         * MODULES.html.sh: Add copyright notice.
127846         (missed_files): Omit CVS directory entries.
127847         (func_module): Make it work with sed-3.02.
127848         * MODULES.txt: Remove file.
127850 2003-01-06  Jim Meyering  <jim@meyering.net>
127852         * lib/version-etc.c: Update year in translatable copyright string.
127854 2003-01-03  Karl Berry  <karl@gnu.org>
127856         * config/config.{guess,sub}: update from prep.
127858 2003-01-02  Karl Berry  <karl@gnu.org>
127860         * doc/COPYING.DOC: belatedly updated to 1.2.
127862 2003-01-01  Karl Berry  <karl@gnu.org>
127864         * gnulib-tool (func_verify_module): report module name $module in
127865         error message, not $1.
127866         * gnulib-tool (create-testdir): don't complain if destdir couldn't
127867         be created, only if it doesn't exist.
127868         * gnulib-tool (last_checkin_date): don't expand the $Date here.
127870 2002-12-31  Paul Eggert  <eggert@twinsun.com>
127872         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
127874 2002-12-31  Paul Eggert  <eggert@twinsun.com>
127876         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
127877         memcmp if strcoll doesn't work.
127879 2002-12-31  Bruno Haible  <bruno@clisp.org>
127881         * lib/utime.c (utime_null): No need to call ftruncate if the file was
127882         nonempty.
127884 2002-12-31  Bruno Haible  <bruno@clisp.org>
127886         * lib/memcoll.c (STRCOLL): New macro.
127887         (memcoll): Use it.
127889 2002-12-31  Bruno Haible  <bruno@clisp.org>
127891         * lib/localcharset.h: New file.
127892         * lib/localcharset.c: Include it.
127893         * lib/unicodeio.c: Likewise.
127895 2002-12-31  Bruno Haible  <bruno@clisp.org>
127897         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
127898         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
127900 2002-12-31  Bruno Haible  <bruno@clisp.org>
127902         * lib/getline.h: Include <stddef.h>, for size_t.
127904         * lib/unicodeio.h: Include <stddef.h>, for size_t.
127905         * lib/unicodeio.c: Don't include <stddef.h>.
127907 2002-12-31  Bruno Haible  <bruno@clisp.org>
127909         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
127910         HAVE_TM_ZONE.
127912 2002-12-24  Karl Berry  <karl@gnu.org>
127914         * config/config.guess: update from prep.
127916 2002-12-24  Bruno Haible  <bruno@clisp.org>
127918         General infrasructure.
127919         * m4/README: Rewritten.
127920         * m4/onceonly.m4: New file.
127921         * m4/onceonly_2_57.m4: New file.
127923         Module atexit.
127924         * m4/atexit.m4: New file.
127926         Module strtod.
127927         * m4/strtod.m4: New file.
127929         Module strtol.
127930         * m4/strtol.m4: New file.
127932         Module strtoul.
127933         * m4/strtoul.m4: New file.
127935         Module memchr.
127936         * m4/memchr.m4: New file.
127938         Module memcmp.
127939         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
127940         (jm_FUNC_MEMCMP): Invoke it.
127942         Module memcpy.
127943         * m4/memcpy.m4: New file.
127945         Module memmove.
127946         * m4/memmove.m4: New file.
127948         Module memset.
127949         * m4/memset.m4: New file.
127951         Module strcspn.
127952         * m4/strcspn.m4: New file.
127954         Module strpbrk.
127955         * m4/strpbrk.m4: New file.
127957         Module strstr.
127958         * m4/strstr.m4: New file.
127960         Module strerror.
127961         * m4/strerror.m4: New file.
127963         Module mktime.
127964         * m4/mktime.m4: Renamed from jm-mktime.m4.
127965         (gl_PREREQ_MKTIME): New macro.
127966         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
127968         Module malloc.
127969         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
127970         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
127971         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
127973         Module realloc.
127974         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
127975         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
127976         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
127978         Module strftime.
127979         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
127980         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
127981         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
127982         gl_TM_GMTOFF.
127983         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
127985         Module xalloc.
127986         * m4/xalloc.m4: New file.
127988         Module alloca.
127989         * m4/alloca.m4: New file.
127991         Module putenv.
127992         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
127993         (jm_FUNC_PUTENV): Invoke it.
127995         Module setenv.
127996         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
127997         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
127998         when invoked twice.
127999         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
128000         gt_FUNC_SETENV.
128002         Module memrchr.
128003         * m4/memrchr.m4: New file.
128005         Module stpcpy.
128006         * m4/stpcpy.m4: New file.
128008         Module strcase.
128009         * m4/strcase.m4: New file.
128011         Module strdup.
128012         * m4/strdup.m4: New file.
128014         Module strnlen.
128015         * m4/strnlen.m4: New file.
128017         Module strndup.
128018         * m4/strndup.m4: New file.
128020         Module xstrtod.
128021         * m4/xstrtod.m4: New file.
128023         Module xstrtol.
128024         * m4/xstrtol.m4: New file.
128026         Module getdate.
128027         * m4/getdate.m4: New file.
128029         Module unlocked-io.
128030         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
128031         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
128032         * m4/jm-glibc-io.m4n: Remove file.
128034         Module long-options.
128035         * m4/long-options.m4: New file.
128037         Module md5.
128038         * m4/md5.m4: New file.
128040         Module sha.
128041         * m4/sha.m4: New file.
128043         Module getstr.
128044         * m4/getstr.m4: New file.
128046         Module getline.
128047         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
128048         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
128049         <sys/types.h>, for size_t. Use the function name gnu_getline, not
128050         simply getline. Infoke gl_PREREQ_GETLINE.
128052         Module obstack.
128053         * m4/obstack.m4: New file.
128055         Module hash.
128056         * m4/hash.m4: New file.
128058         Module readtokens.
128059         * m4/readtokens.m4: New file.
128061         Module strverscmp.
128062         * m4/strverscmp.m4: New file.
128064         Module stdbool.
128065         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
128066         OSF/1.
128068         Module strtoll.
128069         * m4/strtoll.m4: New file.
128071         Module strtoull.
128072         * m4/strtoull.m4: New file.
128074         Module strtoimax.
128075         * m4/strtoimax.m4: New file.
128077         Module strtoumax.
128078         * m4/strtoumax.m4: New file.
128080         Module xstrtoimax.
128081         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
128082         jm_AC_PREREQ_XSTRTOIMAX.
128083         Moved the strtol prerequisites to strtol.m4.
128084         Moved the strtoll prerequisites to strtoll.m4.
128085         Moved the strtoimax prerequisites to strtoimax.m4.
128087         Module xstrtoumax.
128088         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
128089         jm_AC_PREREQ_XSTRTOUMAX.
128090         Moved the strtoul prerequisites to strtoul.m4.
128091         Moved the strtoull prerequisites to strtoull.m4.
128092         Moved the strtoumax prerequisites to strtoumax.m4.
128094         Module chown.
128095         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
128096         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
128098         Module dup2.
128099         * m4/dup2.m4: New file.
128101         Module ftruncate.
128102         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
128103         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
128105         Module getgroups.
128106         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
128107         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
128109         Module gettimeofday.
128110         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
128111         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
128112         gl_PREREQ_GETTIMEOFDAY.
128114         Module mkdir.
128115         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
128116         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
128118         Module mkstemp.
128119         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
128120         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
128121         jm_AC_TYPE_UINTMAX_T.
128122         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
128124         Module stat.
128125         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
128126         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
128128         Module lstat.
128129         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
128130         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
128132         Module timespec.
128133         * m4/timespec.m4 (gl_TIMESPEC): New macro.
128134         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
128135         * m4/st_mtim.m4: Indentation.
128137         Module nanosleep.
128138         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
128139         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
128140         gl_PREREQ_NANOSLEEP.
128142         Module regex.
128143         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
128144         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
128145         (gl_REGEX): New macro.
128147         Module rename.
128148         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
128149         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
128151         Module rmdir.
128152         * m4/rmdir.m4: New file.
128154         Module utime.
128155         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
128156         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
128157         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
128159         Module dirname.
128160         * m4/dirname.m4: New file.
128162         Module getopt.
128163         * m4/getopt.m4: New file.
128165         Module unistd-safer.
128166         * m4/unistd-safer.m4: New file.
128168         Module fnmatch.
128169         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
128170         declaration.
128171         (gl_PREREQ_FNMATCH_EXTRA): New macro.
128172         (gl_FUNC_FNMATCH_POSIX): New macro.
128173         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
128174         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
128175         simply fnmatch.
128177         Module exclude.
128178         * m4/exclude.m4: New file.
128180         Module human.
128181         * m4/human.m4: New file.
128183         Module acl.
128184         * m4/acl.m4: Nop.
128186         Module backupfile.
128187         * m4/backupfile.m4: New file.
128188         * m4/d-ino.m4: Indentation.
128190         Module fsusage.
128191         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
128192         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
128193         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
128195         Module dirfd.
128196         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
128197         requirements.
128199         Module euidaccess.
128200         * m4/euidaccess.m4: New file.
128202         Module file-type.
128203         * m4/file-type.m4: New file.
128205         Module fileblocks.
128206         * m4/fileblocks.m4: New file.
128208         Module filemode.
128209         * m4/filemode.m4: New file.
128211         Module isdir.
128212         * m4/isdir.m4: New file.
128214         Module lchown.
128215         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
128216         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
128218         Module makepath.
128219         * m4/makepath.m4: New file.
128221         Module modechange.
128222         * m4/modechange.m4: New file.
128224         Module mountlist.
128225         * m4/mountlist.m4: New file.
128226         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
128227         Indentation.
128229         Module path-concat.
128230         * m4/path-concat.m4: New file.
128232         Module pathmax.
128233         * m4/pathmax.m4: New file.
128235         Module same.
128236         * m4/same.m4: New file.
128238         Module save-cwd.
128239         * m4/save-cwd.m4: New file.
128241         Module savedir.
128242         * m4/savedir.m4: New file.
128244         Module xgetcwd.
128245         * m4/xgetcwd.m4: New file.
128246         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
128248         Module xreadlink.
128249         * m4/xreadlink.m4: New file.
128251         Module safe-read.
128252         * m4/safe-read.m4: New file.
128254         Module safe-write.
128255         * m4/safe-write.m4: New file.
128257         Module closeout.
128258         * m4/closeout.m4: New file.
128260         Module stdio-safer.
128261         * m4/stdio-safer.m4: New file.
128263         Module getpass.
128264         * m4/getpass.m4: New file.
128266         Module getugroups.
128267         * m4/getugroups.m4: New file.
128269         Module group-member.
128270         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
128271         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
128273         Module idcache.
128274         * m4/idcache.m4: New file.
128276         Module userspec.
128277         * m4/userspec.m4: New file.
128279         Module gettime.
128280         * m4/clock_time.m4: New file.
128281         * m4/gettime.m4: New file.
128283         Module settime.
128284         * m4/settime.m4: New file.
128286         Module posixtm.
128287         * m4/posixtm.m4: New file.
128289         Module gethostname.
128290         * m4/gethostname.m4: New file.
128292         Module canon-host.
128293         * m4/canon-host.m4: New file.
128295         Module gettext.
128296         * m4/codeset.m4: New file, from gettext-0.11.5.
128297         * m4/gettext.m4: New file, from gettext-0.11.5.
128298         * m4/glibc21.m4: New file, from gettext-0.11.5.
128299         * m4/iconv.m4: New file, from gettext-0.11.5.
128300         * m4/intdiv0.m4: New file, from gettext-0.11.5.
128301         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
128302         * m4/inttypes.m4: New file, from gettext-0.11.5.
128303         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
128304         * m4/isc-posix.m4: New file, from gettext-0.11.5.
128305         * m4/lcmessage.m4: New file, from gettext-0.11.5.
128306         * m4/lib-ld.m4: New file, from gettext-0.11.5.
128307         * m4/lib-link.m4: New file, from gettext-0.11.5.
128308         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
128309         * m4/progtest.m4: New file, from gettext-0.11.5.
128310         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
128311         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
128312         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
128314         Module localcharset.
128315         * m4/localcharset.m4: New file.
128317         Module hard-locale.
128318         * m4/hard-locale.m4: New file.
128320         Module mbswidth.
128321         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
128322         onceonly macros.
128323         * m4/mbrtowc.m4: Add comment.
128325         Module memcasecmp.
128326         * m4/memcasecmp.m4: New file.
128328         Module memcoll.
128329         * m4/memcoll.m4: New file.
128331         Module unicodeio.
128332         * m4/unicodeio.m4: New file.
128334         Module rpmatch.
128335         * m4/rpmatch.m4: New file.
128337         Module yesno.
128338         * m4/yesno.m4: New file.
128340         Module exitfail.
128341         * m4/exitfail.m4: New file.
128343         Module c-stack.
128344         * m4/c-stack.m4 (gl_C_STACK): New macro.
128345         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
128347         Module error.
128348         * m4/error.m4 (gl_ERROR): New macro.
128349         (jm_PREREQ_ERROR): Use onceonly macros.
128351         Module fatal.
128352         * m4/fatal.m4: New file.
128354         Module getloadavg.
128355         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
128356         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
128358         Module getpagesize.
128359         * m4/getpagesize.m4: New file.
128361         Module getusershell.
128362         * m4/getusershell.m4: New file.
128364         Module physmem.
128365         * m4/physmem.m4: New file.
128367         Module posixver.
128368         * m4/posixver.m4: New file.
128370         Module quotearg.
128371         * m4/quotearg.m4: New file.
128373         Module quote.
128374         * m4/quote.m4: New file.
128376         Module readutmp.
128377         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
128379         Module sig2str.
128380         * m4/sig2str.m4: New file.
128382         Other.
128383         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
128384         ulonglong.m4.
128385         * m4/intmax_t.m4: New file.
128386         * m4/d-type.m4: Indentation.
128387         * m4/jm-macros.m4: Update.
128388         * m4/prereq.m4 (jm_PREREQ): Update.
128389         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
128390         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
128391         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
128392         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
128393         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
128394         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
128395         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
128396         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
128397         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
128398         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
128399         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
128400         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
128401         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
128402         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
128403         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
128404         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
128405         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
128406         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
128407         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
128409 2002-12-24  Bruno Haible  <bruno@clisp.org>
128411         * MODULES.txt: Update according to m4/ changes.
128413         Module gettext.
128414         * config.rpath: New file, from gettext-0.11.5.
128416         * modules/*: New module descriptions.
128417         * gnulib-tool: New file.
128418         * MODULES.html.sh: New file.
128420 2002-12-21  Karl Berry  <karl@gnu.org>
128422         * doc/fdl.texi: update to version 1.2.
128424 2002-12-19  Karl Berry  <karl@gnu.org>
128426         * config/config.guess: update from prep.
128428 2002-12-18  Bruno Haible  <bruno@clisp.org>
128430         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
128431         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
128433 2002-12-17  Bruno Haible  <bruno@clisp.org>
128435         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
128436         stdlib.h, string.h.
128438 2002-12-17  Bruno Haible  <bruno@clisp.org>
128440         * lib/canon-host.c (strdup): Remove unused declaration.
128442         * lib/fsusage.c: Include full_read.h.
128443         (get_fs_usage): Use full_read instead of safe_read.
128445         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
128447 2002-12-12  Karl Berry  <karl@gnu.org>
128449         * config/config.guess: update from prep.
128451 2002-12-11  Bruno Haible  <bruno@clisp.org>
128453         * m4/setenv.m4: New file, from gettext-0.11.5.
128455 2002-12-11  Bruno Haible  <bruno@clisp.org>
128457         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
128458         not unsetenv().
128459         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
128460         modifications:
128462         2002-12-11  Bruno Haible  <bruno@clisp.org>
128464                 * setenv.c (alloca): Fall back to malloc.
128465                 (freea): New macro.
128466                 (setenv): Use freea() to free memory allocated with alloca().
128468         2002-11-13  Bruno Haible  <bruno@clisp.org>
128470                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
128471                 function declarations.
128472                 * unsetenv.c (unsetenv): Likewise.
128474         2002-03-04  Bruno Haible  <bruno@clisp.org>
128476                 Portability to AIX 4.3.3.
128477                 * unsetenv.c: New file, extracted from setenv.c.
128478                 * setenv.c: Move the unsetenv() function to unsetenv.c.
128480         2001-12-20  Bruno Haible  <bruno@clisp.org>
128482                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
128483                 use malloc instead. For SunOS 4.
128485         2001-12-11  Bruno Haible  <bruno@clisp.org>
128487                 * setenv.c: Declare alloca.
128488                 (compar_fn_t): New typedef.
128489                 (KNOWN_VALUE, STORE_VALUE): Use it.
128491         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
128492         setenv.h.
128494 2002-12-10  Paul Eggert  <eggert@twinsun.com>
128496         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
128497         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
128498         Choose values that are less likely to collide with system fnmatch
128499         options.
128500         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
128501         defined (e.g., a pure POSIX system).
128502         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
128503         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
128505 2002-12-06  Paul Eggert  <eggert@twinsun.com>
128507         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
128508         a pain in practice to deal with generated m4 files.  This change
128509         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
128511         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
128512         and jm-glibc-io.m4, as they are no longer a special case.
128513         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
128514         kludge and the auto-generation stuff.  Check only whether the
128515         functions are declared, not whether they exist, since older hosts
128516         that don't declare the functions can't use the optimization anyway.
128518 2002-12-06  Jim Meyering  <jim@meyering.net>
128520         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
128522         Merge in changes from libc's misc/error.c, in preparation
128523         for the merge of gnulib's changes back into libc.
128525         * lib/error.c (_): Define only if not already defined.
128526         Move definition to follow all #include directives.
128527         Include unlocked-io.h only if !_LIBC.
128528         [_LIBC]: Include <libio/libioP.h>.
128529         [USE_IN_LIBIO]: Include <libio/iolibio.h>
128530         (fflush): Tweak definition to use INTUSE.
128531         (putc): Define.
128533 2002-12-05  Paul Eggert  <eggert@twinsun.com>
128535         * lib/alloca.c [defined emacs]: Include "lisp.h".
128536         (xalloc_die) [defined emacs]: New macro.
128537         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
128538         [! defined emacs]: Include <xalloc.h>.
128539         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
128540         (pointer): Typedef to POINTER_TYPE *.
128541         (malloc): Remove decl; we now always use xmalloc.
128542         (alloca): Use old-style definition, since Emacs needs this.
128543         Check for arithmetic overflow when computing combined size.
128545 2002-12-04  Paul Eggert  <eggert@twinsun.com>
128547         Do not generate unlocked-io.h automatically, since it's easier to
128548         maintain it by hand.
128550         * lib/unlocked-io.h: New file, from GNU diffutils,
128551         but with proper copyright notice and attribution.
128552         * lib/gen-uio: Remove.
128553         * lib/Makefile.am: Add copyright notice.
128554         (libfetish_a_SOURCES): Add unlocked-io.h.
128555         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
128556         (DISTCLEANFILES, io_functions): Remove macros.
128557         (EXTRA_DIST): Remove gen_uio.
128558         (unlocked-io.h): Remove rule.
128560 2002-12-04  Jim Meyering  <jim@meyering.net>
128562         Reflect the fact that stat.c and lstat.c are no longer generated.
128563         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
128564         (DISTCLEANFILES): Likewise.
128565         (EXTRA_DIST): Likewise.
128566         (all_local): Don't depend on stat.c or lstat.c.
128567         (stat.c, lstat.c): Remove rules.
128568         (EXTRA_DIST): Remove xstat.in.
128570         * lib/xstat.in: Remove file.  Contents moved into stat.c.
128571         * lib/stat.c: New file.  Contents mostly from xstat.in.
128572         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
128573         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
128575         * lib/safe-read.c: Rework so that it may serve to define safe_write,
128576         too.
128577         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
128579 2002-12-03  Jim Meyering  <jim@meyering.net>
128581         * lib/safe-read.c, safe-write.c: Change variable names and comments,
128582         but not semantics, to minimize the differences between these two files.
128583         (safe_read): Change comment to mention SAFE_READ_ERROR.
128585         * lib/safe-read.c (IS_EINTR): Define.
128586         (safe_read): Use IS_EINTR in place of in-function cpp directives.
128588 2002-12-02  Jim Meyering  <jim@meyering.net>
128590         * lib/safe-read.c (EINTR): Define.
128591         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
128592         (INT_MAX): Provide fallback.
128593         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
128595         * lib/safe-read.h (SAFE_READ_ERROR): Define.
128597 2002-12-02  Bruno Haible  <bruno@clisp.org>
128599         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
128600         Define, taken from safe-read.c.
128601         (INT_MAX): Provide fallback.
128602         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
128603         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
128605         * lib/safe-read.c (EINTR): Remove definition.
128606         (safe_read): Don't use EINTR if it is absent.
128608 2002-12-01  Jim Meyering  <jim@meyering.net>
128610         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
128611         zero.
128612         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
128614 2002-11-27  Paul Eggert  <eggert@twinsun.com>
128616         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
128617         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
128618         with `if (! (value < limit)) abort ();', for readability.
128620 2002-11-26  Karl Berry  <karl@gnu.org>
128622         * lib/strdup.c: copy from libc again, with jim's ok.
128623         * lib/.cppi-disable: re-add strdup.c
128625 2002-11-25  Karl Berry  <karl@gnu.org>
128627         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
128628         instead of "strtol.c".
128630 2002-11-25  Karl Berry  <karl@gnu.org>
128632         * config/install-sh: update from automake for variable quoting, $0 in
128633         error msgs, etc.
128635         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
128636         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
128637         entry.
128639 2002-11-25  Jim Meyering  <jim@meyering.net>
128641         * lib/mktime.c: Sync from libc, now that it has the latest fix.
128643 2002-11-24  Karl Berry  <karl@gnu.org>
128645         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
128646         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
128648 2002-11-24  Jim Meyering  <jim@meyering.net>
128650         Update from coreutils:
128652         * lib/mktime.c: Merge in changes from libc.
128654         Avoid a link-time failure on some Linux systems.
128655         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
128656         (otherwise).
128657         (__mon_yday): Declare with the STATIC attribute.
128658         (__mktime_internal): Likewise.
128659         Based on a report from Greg Schafer.
128661 2002-11-23  Jim Meyering  <jim@meyering.net>
128663         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
128664         Use `unsigned', not `int', as type of index.
128666         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
128668         * lib/fsusage.c: Remove unneeded parentheses around operands of
128669         `defined'.
128671 2002-11-22  Paul Eggert  <eggert@twinsun.com>
128673         * lib/quotearg.h: Allow multiple inclusion by surrounding with
128674         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
128675         so that we can be included first.
128676         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
128677         * lib/quotearg.c: Include quotearg.h immediately after config.h.
128678         No need to include stddef.h or sys/types.h any more.
128679         Surround local include files with "", not "<>".
128680         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
128681         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
128682         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
128683         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
128684         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
128685         (ISPRINT): Remove; no longer needed now that we assume C89.
128687         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
128688         Preserve errno.
128690         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
128691         quotearg_char): Use SIZE_MAX rather than
128692         (size_t) -1 when we are talking about "infinity".
128694         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
128696 2002-11-22  Paul Eggert  <eggert@twinsun.com>
128698         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
128699         hint that one should use `if (! x) abort ();' rather than `assert
128700         (x);', and anyway it's one less thing to worry about configuring.
128701         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
128702         hash_rehash, hash_insert): Use abort rather than assert.
128704 2002-11-22  Bruno Haible  <bruno@clisp.org>
128706         * lib/safe-read.h: Assume C89. Add comments.
128707         (safe_read): Change return type to size_t.
128708         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
128709         byte counts > SSIZE_MAX correctly.
128710         * lib/safe-write.h: New file.
128711         * lib/safe-write.c: New file.
128712         * lib/full-read.h: New file.
128713         * lib/full-read.c: New file.
128714         * lib/full-write.h: Assume C89. Add comments.
128715         * lib/full-write.c: Include safe-write.h.
128716         (full_write): Rewritten to use safe_write.
128717         Suggested by Jim Meyering and Paul Eggert.
128719 2002-11-21  Jim Meyering  <jim@meyering.net>
128721         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
128723         Merge in changes from the coreutils.
128725         2002-09-25  Paul Eggert  <eggert@twinsun.com>
128726         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
128727         <stdint.h>.
128728         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
128729         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
128730         int.  Work more efficiently if X is the same width as uintmax_t.
128731         Do not compare X to -1, to avoid bogus compiler warning.
128732         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
128733         Don't assume that f_frsize and f_bsize are the same type.
128735         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
128736         warning on FreeBSD.
128738         * lib/makepath.c (make_path): Restore umask *before* creating the final
128739         component.
128740         (make_path): Minor reformatting.
128742         * lib/xmalloc.c: Adjust to work with new autoconf macros,
128743         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
128744         HAVE_MALLOC/HAVE_REALLOC.
128746         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
128747         dummy ones.  At least on GNU/Linux systems, `auto' means something
128748         else.
128749         From Michael Stone.
128751 2002-11-21  Bruno Haible  <bruno@clisp.org>
128753         Remove case insensitive option matching.
128754         * lib/argmatch.h (argcasematch): Remove declaration.
128755         (ARGCASEMATCH): Remove macro.
128756         (__xargmatch_internal): Remove case_sensitive argument.
128757         (XARGMATCH): Update.
128758         (XARGCASEMATCH): Remove macro.
128759         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
128760         case_sensitive argument.
128761         (argcasematch): Remove function.
128762         (__xargmatch_internal): Remove case_sensitive argument.
128763         (main): Use XARGMATCH instead of XARGCASEMATCH.
128765         * lib/xmalloc.c: Change compile-time error message. Add comment about
128766         required autoconf version.
128768 2002-11-20  Paul Eggert  <eggert@twinsun.com>
128770         Merge argmatch cleanups from Bison.  Assume C89.
128772         * lib/argmatch.c: Include config.h here, not in argmatch.h.
128773         Include stdlib.h, for EXIT_FAILURE.
128774         Always include <string.h>, since we assume C89.
128775         (EXIT_FAILURE): Remove pre-C89 bug workaround.
128776         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
128777         Include <stddef.h> instead, since it's all we need for size_t.
128778         (PARAMS): Remove.  All uses removed.
128779         (ARRAY_CARDINALITY): Do not bother to #undef.
128780         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
128781         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
128782         Remove unnecessary parentheses.
128783         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
128784         Insert necessary parentheses.
128785         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
128786         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
128788 2002-11-19  Bruno Haible  <bruno@clisp.org>
128790         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
128791         * lib/mbswidth.h: Include <stddef.h>, for size_t.
128793         * lib/mbswidth.h (PARAMS): Remove macro.
128794         (mbswidth, mbsnwidth): Use ANSI C function declarations.
128795         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
128797         * lib/gcd.h (PARAMS): Remove macro.
128798         (gcd): Use ANSI C function declarations.
128799         * lib/gcd.c (gcd): Likewise.
128801 2002-11-15  Bruno Haible  <bruno@clisp.org>
128803         * lib/strcspn.c: Include <stddef.h>.
128804         (strcspn): Use ANSI C function declaration. Change return type to
128805         size_t. Use NULL.
128806         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
128807         (strpbrk): Use NULL.
128808         * lib/strpbrk.h (PARAMS): Remove macro.
128809         (strpbrk): Use ANSI C function declaration.
128810         * lib/strstr.c: Don't include <sys/types.h>.
128811         * lib/strstr.h (PARAMS): Remove macro.
128812         (strstr): Use ANSI C function declarations.
128814 2002-11-14  Karl Berry  <karl@gnu.org>
128816         * config/mkinstalldirs: `do' on separate line, instead of
128817         `for var; do'.
128819 2002-11-06  Bruno Haible  <bruno@clisp.org>
128821         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
128822         * lib/gcd.c (gcd): Likewise.
128824 2002-11-05  Bruno Haible  <bruno@clisp.org>
128826         * lib/gcd.h: New file, from gettext-0.11.5.
128827         * lib/gcd.c: New file, from gettext-0.11.5.
128829 2002-11-05  Bruno Haible  <bruno@clisp.org>
128831         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
128832         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
128833         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
128834         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
128836         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
128837         <libintl.h>.
128838         * lib/makepath.c: Include gettext.h instead of <locale.h> and
128839         <libintl.h>.
128841         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
128842         * lib/human.c: Include gettext.h instead of <libintl.h>.
128843         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
128844         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
128845         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
128846         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
128847         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
128848         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
128849         (textdomain): Remove definition.
128850         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
128852         * lib/long-options.c: Remove include of <libintl.h> and definition of
128853         _.
128854         * lib/same.c: Remove include of <libintl.h> and definition of _.
128856 2002-11-04  Owen Taylor  <otaylor@redhat.com>
128858         * lib/config.charset: A few additions for Solaris.
128860 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
128862         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
128863         * lib/localcharset.c (locale_charset): Declare as extern "C".
128865 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
128867         * lib/config.charset: msdos in uk_UA uses CP1125.
128869 2002-11-04  Bruno Haible  <bruno@clisp.org>
128871         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
128872         * lib/strcase.h: New file, from GNU gettext-0.11.5.
128873         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
128874         * lib/strstr.h: New file, from GNU gettext-0.11.5.
128875         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
128877 2002-11-04  Bruno Haible  <bruno@clisp.org>
128879         * lib/localcharset.c (locale_charset): Don't return an empty string.
128881 2002-11-04  Bruno Haible  <bruno@clisp.org>
128883         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
128884         aliases.
128886 2002-11-04  Bruno Haible  <bruno@clisp.org>
128888         * lib/config.charset: Update for newest glibc. Add canonical names
128889         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
128891 2002-11-04  Bruno Haible  <bruno@clisp.org>
128893         * lib/config.charset: Add support for NetBSD.
128895 2002-11-04  Bruno Haible  <bruno@clisp.org>
128897         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
128899 2002-11-01  Bruno Haible  <bruno@clisp.org>
128901         * configure.in: Add AC_CONFIG_AUX_DIR call.
128902         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
128903         test/Makefile.
128904         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
128906 2002-09-28  Karl Berry  <karl@gnu.org>
128908         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
128909         installed automake until the next release, since changes have been
128910         made.
128912 2002-09-25  Karl Berry  <karl@gnu.org>
128914         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
128915         * lib/getopt*: copy from libc/posix.
128916         * lib/gettext.h: copy from gettext.
128917         * lib/.cppi-disable: add strdup.c, gettext.h.
128919 2002-09-25  Karl Berry  <karl@gnu.org>
128921         * config/srclist.txt: enable gettext.h check.
128922         * config/config.{guess,sub}: update from prep.
128923         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
128924                 from automake 1.6.3.
128925         See srclist*.
128927 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
128929         * regex.c (PATFETCH): Remove the translating fetch.
128930         (PATFETCH_RAW): Rename to PATFETCH.
128931         (set_image_of_range): New fun.
128932         (SET_RANGE_TABLE_WORK_AREA): Use it.
128933         (regex_compile): Don't translate the pattern chars so eagerly.
128934         Only do it when inserting an `exactn' bytecode or when handling
128935         a char-range.
128936         (mutually_exclusive_p): Avoid empty statement.
128938 2002-07-06  Jim Meyering  <meyering@lucent.com>
128940         * m4/README: Don't mention Makefile.am.in.
128941         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
128943 2002-07-01  Jim Meyering  <meyering@lucent.com>
128945         * lib/c-stack.c: Include sys/time.h.
128946         From Volker Borchert.
128948 2002-06-26  Paul Eggert  <eggert@twinsun.com>
128950         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
128952 2002-06-26  Paul Eggert  <eggert@twinsun.com>
128954         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
128955         New macro.  Use it uniformly instead of
128956         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
128957         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
128958         reported by Vin Shelton.
128960 2002-06-22  Paul Eggert  <eggert@twinsun.com>
128962         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
128963         Do not assume SA_SIGINFO behavior.
128964         Bug reported by Jim Meyering on NetBSD 1.5.2.
128966 2002-06-22  Jim Meyering  <meyering@lucent.com>
128968         * m4/c-stack.m4: New file, from diffutils-2.8.2.
128969         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
128971         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
128972         now that configure.ac uses AC_GNU_SOURCE.
128973         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
128974         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
128976         Update to latest tools.  Suggestions from Paul Eggert.
128977         * m4/stdbool.m4: New file, from diffutils-2.8.2.
128978         * m4/gnu-source.m4: Update from diffutils-2.8.2.
128979         * m4/fnmatch.m4: Likewise.
128980         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
128981         to AC_HEADER_STDBOOL
128983 2002-06-22  Jim Meyering  <meyering@lucent.com>
128985         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
128986         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
128988 2002-06-22  Jim Meyering  <meyering@lucent.com>
128990         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
128992         * lib/exitfail.c, exitfail.h: Likewise.
128993         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
128995         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
128996         of fnmatch.h.
128997         (EXTRA_DIST): Add fnmatch_loop.c.
128998         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
129000         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
129001         * lib/fnmatch.c: Update from diffutils-2.8.2.
129002         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
129003         * lib/fnmatch.h: Remove file.
129005 2002-06-21  Jim Meyering  <meyering@lucent.com>
129007         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
129008         * m4/mbrtowc.m4: Likewise.
129010         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
129011         * m4/mbswidth.m4: Reflect name change:
129012         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
129013         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
129015         * m4/lib-link.m4: Update from gettext-0.11.2.
129016         * m4/gettext.m4: Likewise.
129018         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
129019         From Alfred M. Szmidt.
129021 2002-06-18  Paul Eggert  <eggert@twinsun.com>
129023         * lib/file-type.h: Report an error if neither S_ISREG nor
129024         S_IFREG is defined, instead of using a test specific to glibc
129025         2.2.  This should be safe, since POSIX requires S_ISREG and
129026         Unix Version 7 had S_IFREG.  We don't need to check for
129027         <sys/types.h> since we don't use any symbols that it defines.
129029 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
129031         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
129032         $@-t, so that each temporary file name is unique and valid in the first
129033         8 characters, for operation under DOS.
129035 2002-06-15  Paul Eggert  <eggert@twinsun.com>
129037         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
129039 2002-06-15  Jim Meyering  <meyering@lucent.com>
129041         Work even with DJGPP 2.03, which lacks support for symlinks.
129042         From Richard Dawe.
129043         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
129044         is defined.
129045         * lib/lchown.c (S_ISLNK): Likewise.
129047 2002-06-15  Jim Meyering  <meyering@lucent.com>
129049         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
129050         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
129051         have been included before this file.
129053 2002-06-14  Jim Meyering  <meyering@lucent.com>
129055         * lib/file-type.h: Use the version from diffutils-2.8.2.
129056         * lib/file-type.c: Likewise.
129058 2002-06-07  Jim Meyering  <meyering@lucent.com>
129060         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
129061         They're needed at least for NetBSD 1.5.2.
129062         ($statxfs_includes): Include those same headers.
129063         ($statxfs_includes): Include sys/vfs.h if available.
129064         ($statxfs_includes): Likewise for sys/statvfs.h.
129065         Check for the following members in both structs statfs and statvfs:
129066         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
129068 2002-06-01  Jim Meyering  <meyering@lucent.com>
129070         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
129071         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
129073 2002-05-28  Jim Meyering  <meyering@lucent.com>
129075         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
129076         Reported by Volker Borchert.
129078 2002-05-27  Jim Meyering  <meyering@lucent.com>
129080         Fix a problem seen only on nonconforming systems whereby ls.c's
129081         use of localtime, and then of gettimeofday would cause trouble:
129082         the localtime call used to initialize rpl_gettimeofday's save
129083         mechanism would clobber ls's current local time information so
129084         that in any long listing the first file would always be listed
129085         with date 1970-01-01.  Analysis by Volker Borchert.
129087         * lib/gettimeofday.c (localtime): Undefine.
129088         (rpl_localtime): New function.
129090 2002-05-27  Jim Meyering  <meyering@lucent.com>
129092         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
129093         localtime.
129095         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
129096         use the replacement function; it wouldn't resolve at link time.
129097         Reported by Volker Borchert.
129099 2002-05-22  Jim Meyering  <meyering@lucent.com>
129101         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
129102         file-type.h.
129103         * lib/file-type.h: New file.
129104         * lib/file-type.c (file_type): New file/function.  Extracted from
129105         diffutils.
129107 2002-04-30  Jim Meyering  <meyering@lucent.com>
129109         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
129111 2002-04-29  Paul Eggert  <eggert@twinsun.com>
129113         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
129115 2002-04-29  Paul Eggert  <eggert@twinsun.com>
129117         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
129118         Do not check for alloca.h (no longer used) or stdbool.h (was never
129119         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
129121 2002-04-29  Paul Eggert  <eggert@twinsun.com>
129123         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
129125 2002-04-29  Jim Meyering  <meyering@lucent.com>
129127         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
129128         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
129129         Use AC_FUNC_STRNLEN here instead.
129131         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
129132         With autoconf-2.53a, it's part of AC_PROG_CC.
129134 2002-04-28  Paul Eggert  <eggert@twinsun.com>
129136         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
129137         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
129139 2002-04-28  Paul Eggert  <eggert@twinsun.com>
129141         * lib/sig2str.h, lib/sig2str.c: New files.
129142         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
129144 2002-04-28  Paul Eggert  <eggert@twinsun.com>
129146         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
129147         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
129148         of 127, since 64 is the largest conceivable number for ancient
129149         nonstandard hosts.
129150         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
129152 2002-04-28  Jim Meyering  <meyering@lucent.com>
129154         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
129156 2002-04-24  Jim Meyering  <meyering@lucent.com>
129158         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
129159         (jm_PREREQ): Use it.
129161         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
129162         mach/mach.h fcntl.h.
129163         Check for this function: setlocale.
129165 2002-04-24  Jim Meyering  <meyering@lucent.com>
129167         * lib/gettext.h: New file, from Gettext.
129168         * lib/Makefile.am (INCLUDES): Remove -I../intl.
129169         (libfetish_a_SOURCES): Add gettext.h.
129171 2002-04-16  Jim Meyering  <meyering@lucent.com>
129173         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
129174         ut_pid, ut_id, ut_exit.
129176 2002-04-16  Jim Meyering  <meyering@lucent.com>
129178         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
129179         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
129180         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
129182 2002-04-12  Jim Meyering  <meyering@lucent.com>
129184         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
129185         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
129186         existence of the getmntinfo function.  Needed for Darwin 5.3.
129188         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
129189         This is necessary at least on Darwin 5.3.
129191         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
129192         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
129193         strnlen.o in the library, and that makes some versions of ranlib
129194         object.
129196 2002-04-12  Jim Meyering  <meyering@lucent.com>
129198         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
129200 2002-04-09  Jim Meyering  <meyering@lucent.com>
129202         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
129203         to be more precise.  Rather than saying we're checking whether the
129204         function `works', say what we're testing.
129205         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
129206         Reported by Bruno Haible.
129208 2002-03-10  Jim Meyering  <meyering@lucent.com>
129210         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
129211         Suggestion from Santiago Vila.
129213 2002-03-08  Jim Meyering  <meyering@lucent.com>
129215         * lib/rename.c: Mention that this wrapper is needed also on
129216         mips-dec-ultrix4.4 systems.
129218 2002-03-02  Jim Meyering  <meyering@lucent.com>
129220         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
129221         not HAVE_CLOCK_SETTIME.
129223 2002-02-27  Paul Eggert  <eggert@twinsun.com>
129225         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
129226         Check for clock_settime.
129228 2002-02-27  Paul Eggert  <eggert@twinsun.com>
129230         * lib/nanosleep.h: Rename to....
129231         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
129233         * lib/gettime.c: New file.
129234         * lib/settime.c: New file.
129235         * lib/stime.c: Remove.
129237         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
129238         timespec.h.  Remove nanosleep.h.
129240 2002-02-25  Paul Eggert  <eggert@twinsun.com>
129242         * m4/acl.m4: New file.
129243         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
129244         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
129246 2002-02-25  Paul Eggert  <eggert@twinsun.com>
129248         * lib/acl.c, lib/acl.h: New files.
129249         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
129251 2002-02-24  Jim Meyering  <meyering@lucent.com>
129253         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
129254         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
129255         cause trouble.  Reported by Nelson Beebe.
129257 2002-02-23  Paul Eggert  <eggert@twinsun.com>
129259         * lib/path-concat.c (xpath_concat): Reorder code to pacify
129260         compilers that don't know that xalloc_die never returns.
129262 2002-02-20  Jim Meyering  <meyering@lucent.com>
129264         * lib/getdate.c: Regenerate using bison-1.33.
129266 2002-02-17  Jim Meyering  <meyering@lucent.com>
129268         * config/config.guess (main): Don't use `head -1'; it's no longer
129269         portable. Use `sed 1q' instead.
129271 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
129273         * m4/codeset.m4: Upgrade to gettext-0.11.
129274         * m4/gettext.m4: Upgrade to gettext-0.11.
129275         * m4/glibc21.m4: Upgrade to gettext-0.11.
129276         * m4/iconv.m4: Upgrade to gettext-0.11.
129277         * m4/isc-posix.m4: Upgrade to gettext-0.11.
129278         * m4/lcmessage.m4: Upgrade to gettext-0.11.
129279         * m4/lib-ld.m4: New file, from gettext-0.11.
129280         * m4/lib-link.m4: New file, from gettext-0.11.
129281         * m4/lib-prefix.m4: New file, from gettext-0.11.
129282         * m4/progtest.m4: Upgrade to gettext-0.11.
129284 2002-02-15  Paul Eggert  <eggert@twinsun.com>
129286         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
129287         (jm_PREREQ): Use it.
129289 2002-02-15  Paul Eggert  <eggert@twinsun.com>
129291         * lib/posixver.c, lib/posixver.h: New files.
129292         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
129294 2002-02-02  Paul Eggert  <eggert@twinsun.com>
129295             Bruno Haible  <bruno@clisp.org>
129297         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
129298         (fwrite_success_callback): New declaration.
129299         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
129300         print_unicode_char. Call failure callback instead of error.
129301         (fwrite_success_callback): New function.
129302         (exit_failure_callback): New function.
129303         (fallback_failure_callback): New function.
129304         (print_unicode_char): Call unicode_to_mb.
129306 2002-01-26  Jim Meyering  <meyering@lucent.com>
129308         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
129309         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
129311 2002-01-26  Jim Meyering  <meyering@lucent.com>
129313         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
129315 2002-01-22  Paul Eggert  <eggert@twinsun.com>
129317         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
129319 2002-01-22  Jim Meyering  <meyering@lucent.com>
129321         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
129322         Otherwise, some versions of automake would omit the rule that makes
129323         Makefile from Makefile.in.
129325 2002-01-21  Paul Eggert  <eggert@twinsun.com>
129327         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
129328         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
129329         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
129330         (memcoll): Set errno to zero if there is no error.
129332         * lib/quotearg.c (quotearg_buffer_restyled):
129333         Fix bug with quoting buffers containing NUL when backslashing escapes.
129334         This bug was exposed by the other changes in this patch.
129335         (quotearg_n_options): New arg ARGSIZE.
129336         All callers changed.
129337         (quoting_options_from_style): New function.
129338         (quotearg_n_style): Use it.
129339         (quotearg_n_style_mem): New function.
129341         * lib/quotearg.h (quotearg_n_style_mem): New function.
129343 2002-01-19  Jim Meyering  <meyering@lucent.com>
129345         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
129346         Remove useless quotes: DF_PROG="df".
129347         * m4/strnlen.m4: New file.
129349 2002-01-16  Paul Eggert  <eggert@twinsun.com>
129351         * lib/backupfile.c (ISDIGIT): Comment fix.
129352         * lib/getdate.y (ISDIGIT): Likewise.
129353         * lib/posixtm.c (ISDIGIT, year): Likewise.
129354         * lib/strverscmp.c (ISDIGIT): Likewise.
129355         * lib/userspec.c (ISDIGIT): Likewise.
129357 2002-01-16  Jim Meyering  <meyering@lucent.com>
129359         * lib/getdate.y: Add three semicolons, each just before a closing
129360         brace. Bison (as of version 1.31) no longer papers over that mistake.
129362 2002-01-05  Jim Meyering  <meyering@lucent.com>
129364         * lib/version-etc.c (version_etc_copyright): Update copyright year.
129366 2001-12-19  Paul Eggert  <eggert@twinsun.com>
129368         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
129369         not silently exit merely because the output buffer happens to
129370         have nothing pending.
129372 2001-12-18  Paul Eggert  <eggert@twinsun.com>
129374         See the big note in ../ChangeLog.
129375         * lib/human.c (suffixes): Prefer K to k for 1024.
129376         (generate_suffix_backwards): New function.
129377         (human_readable_inexact): Use it.
129378         * lib/xstrtol.c (__xstrtol): If there is no number but there
129379         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
129380         Accept 'K' as well as 'k'.
129382 2001-12-15  Jim Meyering  <meyering@lucent.com>
129384         * lib/regex.h (__restrict_arr): Update from libc.
129386         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
129387         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
129388         (STREQ): Define.
129390 2001-12-14  Jim Meyering  <meyering@lucent.com>
129392         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
129393         Suggestion from Bruno Haible.
129395 2001-12-10  Jim Meyering  <meyering@lucent.com>
129397         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
129398         xrealloc, Instead, include "xalloc.h".
129399         (initbuffer): Don't cast xmalloc return value to char*.
129400         (readline): Reword comment.
129401         Don't cast xrealloc return value to char*
129402         Return NULL, not 0.
129404 2001-12-09  Jim Meyering  <meyering@lucent.com>
129406         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
129407         about `signed and unsigned type in conditional expression'.
129408         * lib/posixtm.c (posix_time_parse): Likewise.
129410         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
129412         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
129413         to avoid a pedantic warning.
129415         * lib/getstr.c: Don't include assert.h.
129416         (getstr): Remove warning-evoking assertions.
129417         Return -1 if offset parameter is out of bounds.
129418         Change the type of a local from int to size_t.
129420         * lib/strftime.c (my_strftime_localtime_r): Include this function
129421         definition in the `#if ! HAVE_TM_GMTOFF' block.
129423         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
129424         Include xalloc.h instead.
129426 2001-12-02  Jim Meyering  <meyering@lucent.com>
129428         * lib/tempname.c: Don't declare getenv, thus reverting the change of
129429         2001-11-18.  It's no longer necessary, now that stdlib.h is always
129430         included.
129432         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
129433         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
129435 2001-11-30  Akim Demaille  <akim@epita.fr>
129437         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
129438         before being defined.
129440 2001-11-27  Paul Eggert  <eggert@twinsun.com>
129442         * lib/quotearg.h (quotearg_n, quotearg_n_style):
129443         First arg is int, not unsigned.
129444         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
129445         (SIZE_MAX, UINT_MAX): New macros.
129446         (quotearg_n_options): Abort if N is negative.
129447         Avoid overflow check on hosts where size_t is 64 bits and int
129448         is 32 bits, as overflow is impossible there.
129449         Fix off-by-one typo that caused unnecessary reallocation.
129451 2001-11-27  Jim Meyering  <meyering@lucent.com>
129453         * lib/tempname.c: Merge with version from libc.
129454         * lib/regex.c: Likewise.
129456         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
129457         systems for which STDC_HEADERS is 0, it was not included, resulting in
129458         a warning about an integer-to-pointer conversion problem with getenv.
129459         Reported by Volker Borchert.
129461 2001-11-26  Jim Meyering  <meyering@lucent.com>
129463         * lib/gtod.h: Remove file.
129464         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
129465         * lib/gettimeofday.c: Don't include gtod.h.
129466         (GTOD_init): Remove function.
129467         (rpl_gettimeofday): Do its job here instead, rather than aborting.
129468         Suggestion from Volker Borchert.
129470 2001-11-23  Jim Meyering  <meyering@lucent.com>
129472         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
129473         it.
129474         * lib/hash.c (struct hash_table): Define it here instead.
129476 2001-11-22  Jim Meyering  <meyering@lucent.com>
129478         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
129480 2001-11-20  Jim Meyering  <meyering@lucent.com>
129482         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
129483         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
129485 2001-11-19  Jim Meyering  <meyering@lucent.com>
129487         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
129488         directory.  Use "conftestXXXXXX" as the template.
129489         Suggestion from Paul Eggert.
129491         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
129492         immediately, so the test doesn't mistakenly hit the max-open-files
129493         limit.
129495 2001-11-18  Paul Eggert  <eggert@twinsun.com>
129497         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
129498         (TEMPORARIES): New macro.
129499         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
129500         removes an artificial limitation (e.g. HP-UX 10.20, where
129501         TMP_MAX is 17576).
129503 2001-11-18  Jim Meyering  <meyering@lucent.com>
129505         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
129507 2001-11-18  Jim Meyering  <meyering@lucent.com>
129509         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
129510         on SunOS 4.
129512         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
129513         files will be created before anything else.
129515 2001-11-17  Paul Eggert  <eggert@twinsun.com>
129517         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
129518         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
129520 2001-11-17  Jim Meyering  <meyering@lucent.com>
129522         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
129523         Prompted by a report from Bob Proulx.
129525         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
129526         Instead, require UTILS_FUNC_MKSTEMP.
129528 2001-11-17  Jim Meyering  <meyering@lucent.com>
129530         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
129531         Now, that's done as part of AC_FUNC_STRTOD.
129533 2001-11-17  Jim Meyering  <meyering@lucent.com>
129535         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
129536         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
129537         rather than group writable.  Patch by Juan F. Codagnone.
129539         * lib/readtokens.c: Remove explicit declarations of xmalloc and
129540         xrealloc, Instead, include "xalloc.h".
129542         * lib/mountlist.c: Include unlocked-io.h after all system headers.
129543         Remove explicit declarations of xmalloc, xrealloc,
129544         and xstrdup.  Instead, include "xalloc.h".
129546         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
129547         unlocked-io.h.
129548         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
129549         Likewise.
129550         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
129552         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
129553         Reported by Padraig Brady.
129555         * lib/mkstemp.c: #undef mkstemp.
129556         Include config.h.
129557         (rpl_mkstemp): Rename from mkstemp.
129558         Protoize.
129560 2001-11-16  Jim Meyering  <meyering@lucent.com>
129562         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
129563         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
129564         determine the amount of total physical memory, use pstat_getstatic.
129565         HPUX-11 doesn't define _SC_PHYS_PAGES.
129566         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
129567         If sysconf couldn't be used to determine the amount of available
129568         physical memory, use both pstat_getstatic and pstat_getdynamic.
129569         Based on a patch from Bob Proulx.
129571 2001-11-10  Jim Meyering  <meyering@lucent.com>
129573         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
129574         (jm_PREREQ): Use it.
129576 2001-11-09  Jim Meyering  <meyering@lucent.com>
129578         * m4/jm-macros.m4: Require autoconf-2.52f.
129579         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
129580         Use these AC_-prefixed names, not the AM_-prefixed ones.
129582         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
129584 2001-11-05  Jim Meyering  <meyering@lucent.com>
129586         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
129588 2001-11-04  Jim Meyering  <meyering@lucent.com>
129590         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
129591         $DEFS.
129593 2001-11-03  Jim Meyering  <meyering@lucent.com>
129595         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
129596         of AC_DEFUN.
129598         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
129599         know the name of the variable in the macro definition.
129601 2001-11-03  Jim Meyering  <meyering@lucent.com>
129603         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
129604         in argmatch_to_argument call.
129606         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
129607         argument.
129609         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
129610         e.g., a fault due to an attempt to free a NULL pointer.
129612 2001-11-01  Jim Meyering  <meyering@lucent.com>
129614         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
129615         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
129617 2001-11-01  Jim Meyering  <meyering@lucent.com>
129619         * lib/dirfd.c, lib/dirfd.h: New files.
129620         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
129622         * lib/hash.c (hash_print) [TESTING]: Clean up.
129624 2001-10-22  Paul Eggert  <eggert@twinsun.com>
129626         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
129627         to avoid a warning if -Wall.
129629 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
129631         * README: New file
129632         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
129633         (per RMS's instructions, this is now the canonical source)
129634         * lgpl/, gpl/: New directories.
129636 2001-10-21  Paul Eggert  <eggert@twinsun.com>
129638         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
129640 2001-10-21  Jim Meyering  <meyering@lucent.com>
129642         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
129643         this code would end up calling gettext even in packages built
129644         with --disable-nls.
129645         * lib/getopt.c (_): Likewise.
129646         * lib/regex.c (_): Likewise.
129648 2001-10-20  Paul Eggert  <eggert@twinsun.com>
129650         * m4/error.m4 (jm_PREREQ_ERROR):
129651         Do not invoke AC_CHECK_FUNCS with strerror_r, as
129652         AC_FUNC_STRERROR_R does that.
129653         Check for strerror declaration.
129655         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
129656         are supposed to have them these days.
129657         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
129658         Merge changes from latest Autoconf CVS.
129659         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
129660         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
129661         POSIX decided to standardize on the int flavor of strerror_r.
129663 2001-10-20  Paul Eggert  <eggert@twinsun.com>
129665         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
129666         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
129667         Use strerror_r that is only a macro, even if it is not a function.
129668         (strerror): Check for HAVE_DECL_STRERROR before declaring.
129669         (private_strerror): Use prototypes, not old-style function definition.
129670         (print_errno_message): New function.
129671         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
129672         char*-flavored one.
129673         (error_tail, error, error_at_line): Use it.
129675 2001-10-11  Jim Meyering  <meyering@lucent.com>
129677         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
129678         and quote_n (1, ... to avoid clobbering a buffer.
129680 2001-10-05  Jim Meyering  <meyering@lucent.com>
129682         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
129683         hash-pjw.h.
129684         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
129685         * lib/hash-pjw.h: New file.
129687 2001-09-30  Jim Meyering  <meyering@lucent.com>
129689         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
129690         `struct fsstat' has the `f_fstypename' member.
129691         Use that to define FS_TYPE, which is now used to make
129692         the getfsstat link test tighter.
129694 2001-09-30  Jim Meyering  <meyering@lucent.com>
129696         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
129697         Include <sys/ucred.h>, for Apple Darwin.
129698         Include sys/mount.h and sys/fs_types.h only if available.
129699         (FS_TYPE): Define.
129700         (read_filesystem_list): Use FS_TYPE.
129702 2001-09-29  Paul Eggert  <eggert@twinsun.com>
129704         * lib/exclude.c (excluded_filename): 0 -> false, since it's
129705         a boolean context.
129707 2001-09-29  Jim Meyering  <meyering@lucent.com>
129709         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
129710         [one-argument getmntent function]): Include stdio.h before mntent.h.
129711         SunOS 4.1.x needs it for the declaration of `FILE'.
129712         Patch by Volker Borchert.
129714         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
129715         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
129716         sys/fs_types.h, and make the link-test for getfsstat guard #include
129717         directives with appropriate #if HAVE_*_H tests so that we can
129718         detect getfsstat on Apple Darwin1.3.7 systems.
129719         Reported by Nelson Beebe.
129720         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
129722 2001-09-28  Paul Eggert  <eggert@twinsun.com>
129724         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
129725         #defines strtoimax.  Also treat the other strto* functions
129726         like strtoimax.
129728         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
129729         Check for strtoul and strtoumax,
129730         as those declarations are made even in the signed case.
129731         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
129732         Likewise, for strtol and strtoimax.
129734 2001-09-28  Paul Eggert  <eggert@twinsun.com>
129736         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
129737         #defines strtoimax.  Also treat the other strto* functions
129738         like strtoimax.
129740         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
129741         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
129742         (strtoimax, strtoumax): Do not declare if already defined as a macro.
129744 2001-09-26  Jim Meyering  <meyering@lucent.com>
129746         Most macros in unlocked-io.h had the wrong number of arguments.
129747         * lib/gen-uio: New script.
129748         (USE_UNLOCKED_IO): Define to 1 if not already defined.
129749         * lib/unlocked-io.hin: Remove file.
129750         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
129751         rather than trying to embed it here.
129752         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
129753         Reported by Padraig Brady.
129755 2001-09-25  Volker Borchert  <bt@teknon.de>
129757         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
129758         `result'.
129760 2001-09-24  Jim Meyering  <meyering@lucent.com>
129762         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
129764 2001-09-23  Jim Meyering  <meyering@lucent.com>
129766         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
129767         instead of the mere test for existence of mntent.h.  The latter
129768         would get a false-positive on AIX 3.4 systems.
129769         In the outer getmntent if-block, don't die if neither of the getmntent
129770         tests succeeds.  Instead, just fall through and continue with the
129771         remaining tests.
129773 2001-09-23  Jim Meyering  <meyering@lucent.com>
129775         * lib/mountlist.c: Remove useless parentheses in #if directives.
129776         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
129777         the deprecated MOUNTED symbol is no longer defined in mntent.h.
129779 2001-09-22  Jim Meyering  <meyering@lucent.com>
129781         * m4/gettext.m4: New file.  From gettext.
129782         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
129783         * m4/progtest.m4: Likewise
129784         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
129785         * m4/glibc21.m4: Likewise.
129787         * m4/libintl.m4: Remove.  No longer used.
129789 2001-09-22  Jim Meyering  <meyering@lucent.com>
129791         * lib/localcharset.c: Update from latest gettext.
129792         * lib/config.charset: Likewise.
129794 2001-09-20  Jim Meyering  <meyering@lucent.com>
129796         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
129797         strtoimax.
129798         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
129799         strtoumax.
129801 2001-09-20  Jim Meyering  <meyering@lucent.com>
129803         * lib/xstrtol.c (strtoimax): Guard declaration with
129804         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
129805         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
129806         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
129807         (strtoumax): Likewise, for completeness (it wasn't necessary).
129809 2001-09-17  Paul Eggert  <eggert@twinsun.com>
129811         * lib/strtoimax.c (HAVE_LONG_LONG):
129812         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
129813         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
129814         to work around bug in IBM C compiler.
129816 2001-09-17  Jim Meyering  <meyering@lucent.com>
129818         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
129819         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
129820         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
129821         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
129822         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
129823         whenever the right hand side need not be expanded by the shell.
129825 2001-09-16  Paul Eggert  <eggert@twinsun.com>
129827         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
129828         library.  It's not correct, as some older glibcs are buggy.
129829         fnmatch wasn't fixed until glibc 2.2.
129831         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
129832         special shell magic here.
129834 2001-09-16  Jim Meyering  <meyering@lucent.com>
129836         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
129837         * m4/jm-macros.m4: Require it.
129839 2001-09-16  Jim Meyering  <meyering@lucent.com>
129841         * lib/mkdir.c: New file.
129843 2001-09-15  Jim Meyering  <meyering@lucent.com>
129845         * m4/jm-macros.m4: Check for help2man.
129847 2001-09-11  Jim Meyering  <meyering@lucent.com>
129849         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
129850         The body, by Paul Eggert, was moved here from configure.in.
129851         * m4/jm-macros.m4: Require UTILS_HOST_OS.
129853 2001-09-04  Paul Eggert  <eggert@twinsun.com>
129855         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
129856         (jm_PREREQ): Use it.
129858 2001-09-04  Paul Eggert  <eggert@twinsun.com>
129860         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
129861         Use ssize_t, not int, to store result of readlink.
129862         Check for ssize_t overflow as well as size_t overflow,
129863         as POSIX says the result of readlink is implementation-defined
129864         when ssize_t overflows.
129865         Remove unnecessary cast to char*.
129866         Use free+malloc instead of realloc, as the storage doesn't need
129867         to be preserved and it's clearer and can be more efficient that way.
129868         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
129869         * lib/xreadlink.h (xreadlink): Update prototype.
129871 2001-09-04  Paul Eggert  <eggert@twinsun.com>
129873         * lib/xgetcwd.c: Revert some of the previous change; intead,
129874         fix the HAVE_GETCWD_NULL code to behave more like the
129875         !HAVE_GETCWD_NULL code used to.
129877         Include "xalloc.h".
129878         (xgetcwd): Do not return NULL when memory is exhausted; instead,
129879         invoke xalloc_die.
129881 2001-09-03  Paul Eggert  <eggert@twinsun.com>
129883         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
129884         sys/param.h, as pathmax.h includes them.
129886 2001-09-03  Paul Eggert  <eggert@twinsun.com>
129888         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
129889         (jm_PREREQ_XGETCWD): New macro.
129891         * m4/getcwd.m4: New file.
129893 2001-09-03  Paul Eggert  <eggert@twinsun.com>
129895         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
129896         like the HAVE_GETCWD_NULL code.
129897         Include pathmax.h if not HAVE_GETCWD.
129898         Do not include xalloc.h.
129899         (INITIAL_BUFFER_SIZE): New symbol.
129900         Do not use xmalloc / xrealloc, since the caller is responsible for
129901         handling errors.  Preserve errno around `free' during failure.
129902         Do not overrun buffer when using getwd.
129904 2001-09-03  Paul Eggert  <eggert@twinsun.com>
129906         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
129907         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
129908         getcwd (NULL, 0).
129910 2001-09-03  Paul Eggert  <eggert@twinsun.com>
129912         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
129913         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
129914         spotted by Jim Meyering.
129916 2001-09-03  Jim Meyering  <meyering@lucent.com>
129918         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
129919         failure.
129921 2001-09-02  Jim Meyering  <meyering@lucent.com>
129923         * lib/error.c: Update from GNU libc.
129925 2001-09-01  Jim Meyering  <meyering@lucent.com>
129927         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
129928         Used by df.
129930 2001-09-01  Jim Meyering  <meyering@lucent.com>
129932         * lib/xreadlink.c: New file.
129933         * lib/xreadlink.h: New file.
129934         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
129935         xreadlink.h.
129937         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
129938         doesn't conflict with sparc Solaris 7's definition in
129939         /usr/include/sys/int_types.h.
129941         * lib/exclude.c: Use `""', not `<>' to #include non-system header
129942         files.
129943         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
129944         and strncasecmp as r-values.  Unixware didn't have declarations.
129946 2001-08-31  Paul Eggert  <eggert@twinsun.com>
129948         * lib/xstrtol.h: Add copyright notice.
129949         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
129950         LONGINT_INVALID_SUFFIX_CHAR.
129952 2001-08-31  Paul Eggert  <eggert@twinsun.com>
129954         * lib/xstrtol.c (strtoimax): New decl.
129956 2001-08-31  Paul Eggert  <eggert@twinsun.com>
129958         * lib/xgetcwd.c: Don't include pathmax.h.
129959         Include stdlib.h and unistd.h if available.
129960         Include xalloc.h.
129961         (xmalloc, xstrdup, free): Remove decls.
129962         (xgetcwd): Don't assume sizes fit in unsigned.
129963         Check for overflow when computing sizes.
129964         Simplify reallocation code.
129966 2001-08-31  Paul Eggert  <eggert@twinsun.com>
129968         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
129969         a directory's st_size can have an arbitrary value, so the old
129970         usage could waste an arbitrary amount of memory.  All uses
129971         changed.
129972         * lib/savedir.h: Update prototype.
129974 2001-08-31  Paul Eggert  <eggert@twinsun.com>
129976         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
129978         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
129979         old strtoimax.c.
129981         Also, make the following further changes to make this file's
129982         configuration more similar to that of strtol.c:
129983         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
129984         (strtoumax, uintmax_t, strtoull, strtol): Remove.
129985         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
129986         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
129987         changed to signed values.
129989         And make the following changes as well:
129990         Fix copyright notice, as 1999 was missing.
129991         (verify): New macro.
129992         (strtoimax): Check sizes at compile-time, not run-time.
129993         Prefer strtol to strtoll if both work.
129994         (main): Remove; it was not that useful and was a pain to maintain.
129996         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
129998 2001-08-31  Jim Meyering  <meyering@lucent.com>
130000         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
130001         Use an initial, malloc'd, buffer of length 128 rather than
130002         a statically allocated one of length 1024.
130004 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130006         Simplify code, partly by assuming autoconf 2.52 semantics.
130008         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
130010         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
130011         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
130012         All uses removed.
130013         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
130014         Move AC_REQUIRE to next-to-top level, to avoid confusion.
130015         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
130016         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
130017         jm_AC_HEADER_INTTYPES_H.
130018         * m4/jm-macros.m4 (jm_MACROS): Likewise.
130020         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
130022         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
130023         Quote first arg of AC_DEFUN.
130024         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
130025         since they are needed to parse the include file even if we need
130026         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
130027         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
130028         but with opposite signedness.
130030 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130032         Merge 'exclude' changes from tar 1.13.22.
130033         This fixes one or two unlikely storage allocation overflow bugs,
130034         but doesn't change user-visible behavior otherwise.
130036 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130038         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
130039         (jm_PREREQ_EXCLUDE): New macro.
130041 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130043         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
130044         tm to be declared.
130046 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130048         * lib/hash.c: Remove '2001' from copyright notice.
130050 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130052         * lib/full-write.h: New file.
130053         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
130054         * lib/full-write.c: Correct credits, as cccp.c no longer
130055         exists and anyway it was so heavily changed from the old cccp
130056         code as to be unrecognizable.  Include full-write.h.
130057         (full_write): Return size_t, with short writes meaning failure.
130058         All callers changed.  This fixes a bug with large buffers
130059         on 64-bit hosts.
130060         * lib/utime.c: Include full-write.h.
130062 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130064         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
130065         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
130066         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
130067         Include if available.
130068         (<xalloc.h>): Include
130069         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
130070         (verify): New macro.  Use it to verify that EXCLUDE macros do not
130071         collide with FNM macros.
130072         (struct patopts): New struct.
130073         (struct exclude): Use it, as exclude patterns now come with options.
130074         (new_exclude): Support above changes.
130075         (new_exclude, add_exclude_file):
130076         Initial size must now be a power of two to simplify overflow checking.
130077         (free_exclude, fnmatch_no_wildcards): New function.
130078         (excluded_filename): No longer requires options arg, as the options
130079         are determined by add_exclude.  Now returns bool, not int.
130080         (excluded_filename, add_exclude):
130081         Add support for the fancy new exclusion options.
130082         (add_exclude, add_exclude_file): Now takes int options arg.
130083         Check for arithmetic overflow when computing sizes.
130084         (add_exclude_file): xrealloc might modify errno, so don't
130085         realloc until after errno might be used.
130087         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
130088         New macros.
130089         (free_exclude): New decl.
130090         (add_exclude, add_exclude_file): Now takes int options arg.
130091         (excluded_filename): No longer requires options arg, as the options
130092         are determined by add_exclude.  Now returns bool, not int.
130094 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130096         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
130098 2001-08-27  Jim Meyering  <meyering@lucent.com>
130100         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
130102         * lib/version-etc.c (N_): Remove definition.
130103         Revert most of last change.
130104         Instead, simply don't mark the `Copyright...' string for translation.
130105         Based on advice from Paul Eggert.
130107         * lib/strtoxmax.c: Tweak comment.
130109 2001-08-26  Jim Meyering  <meyering@lucent.com>
130111         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
130113         * m4/xstrtoimax.m4: New file.
130114         * m4/xstrtoumax.m4: Add comments explaining why we
130115         AC_REPLACE_FUNCS(strtol).
130117 2001-08-26  Jim Meyering  <meyering@lucent.com>
130119         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
130120         of copyright with `%s' so translators don't get an untranslated
130121         message in 2002.
130122         (COPYRIGHT_YEAR): Define.
130123         (version_etc): Use fprintf rather than fputs.
130124         Suggestion from Ulrich Drepper.
130126         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
130128         * lib/strtoll.c: New file, from GNU libc.
130129         * lib/xstrtoimax.c: New file.
130131         * lib/xstrtol.h: Add xstrtoimax.
130132         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
130133         * lib/strtoimax.c: New file.  Likewise, but first define
130134         STRTOUXMAX_SIGNED.
130136         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
130137         ...
130138         * lib/strtoxmax.c: ... then renamed to this.
130140 2001-08-18  Paul Eggert  <eggert@twinsun.com>
130142         * m4/inttypes.m4: Add AC_PREREQ(2.13).
130143         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
130144         (jm_AC_TYPE_INTMAX_T): New macro.
130145         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
130147         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
130149         * m4/longlong.m4: Renamed from ulonglong.m4.
130150         * m4/inttypes.m4: Renamed from inttypes_h.m4.
130151         * m4/uintmax_t.m4: Removed.
130153 2001-08-13  Paul Eggert  <eggert@twinsun.com>
130155         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
130156         Port to Solaris 8, where 'sed' requires a space after the 'r'
130157         command, and where sh dislikes "$/".  Clean up the spacing a bit.
130158         Redirect output to $tmp just once.
130160 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
130162         * lib/addext.c (<errno.h>): Include.
130163         (errno): Declare if not defined.
130164         (addext): Work correctly when pathconf returns -1 and leaves
130165         errno alone because there is no limit.  Also, work even if
130166         pathconf returns a value greater than SIZE_MAX.
130168 2001-08-12  Jim Meyering  <meyering@lucent.com>
130170         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
130171         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
130172         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
130173         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
130174         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
130175         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
130176         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
130177         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
130178         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
130179         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
130180         utime.m4, utimes.m4, xstrtoumax.m4:
130181         Quote the first argument in each use of AC_DEFUN.
130183 2001-08-12  Jim Meyering  <meyering@lucent.com>
130185         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
130186         Simply `return getcwd (NULL, 0);'.
130187         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
130188         Use 1300 as initial value for length, not PATH_MAX.
130190         * lib/pathmax.h: Clean up cpp syntax.
130192 2001-08-12  Jim Meyering  <meyering@lucent.com>
130194         * lib/gettimeofday.c: New file.
130195         * lib/gtod.h: New file.
130196         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
130198 2001-08-05  Jim Meyering  <meyering@lucent.com>
130200         * m4/jm-macros.m4: Require autoconf-2.52.
130202 2001-08-04  Jim Meyering  <meyering@lucent.com>
130204         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
130205         stmt, to get in sync with glibc.
130207 2001-08-03  Paul Eggert  <eggert@twinsun.com>
130209         The following changes are from gettext 0.10.39 as maintained by
130210         Bruno Haible.
130212         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
130213         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
130214         with inverted sense.  All uses changed.
130216         * lib/mbswidth.c: Don't include <limits.h>.
130217         Include <stdlib.h> and <string.h> unconditionally.
130218         (iswcntrl, mbsinit, ISCNTRL): New macros.
130219         (mbsnwidth): Use K&R style function declarations.
130220         Don't bother checking for MB_LEN_MAX == 1, since the compiler
130221         can optimize it when MB_CUR_MAX == 1.
130222         The width of control characters is zero, not 1.
130224 2001-08-03  Paul Eggert  <eggert@twinsun.com>
130226         The following changes are from gettext 0.10.39 as maintained by
130227         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
130229         * m4/codeset.m4: Upgrade to serial AM1.
130230         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
130231         all uses changed.  Quote first arg of AC_DEFUN.
130232         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
130234         * m4/iconv.m4: Upgrade to serial AM2.
130235         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
130236         Add --with-libconv-prefix.
130237         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
130238         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
130239         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
130240         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
130241         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
130243         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
130244         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
130245         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
130246         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
130247         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
130248         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
130249         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
130250         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
130251         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
130253         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
130254         string.h any more.
130256         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
130257         not the default value.
130259         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
130260         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
130261         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
130262         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
130263         Also check for iswcntrl, used for wcwidth fallback.
130264         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
130265         to Autoconf 2.13.
130267 2001-08-03  Jim Meyering  <meyering@lucent.com>
130269         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
130270         as it was in the original.  Reported by Paul Eggert.
130272 2001-07-16  Jim Meyering  <meyering@lucent.com>
130274         * m4/gettimeofday.m4: New file.
130275         Prompted by a report from Bernhard Baehr.
130277 2001-07-15  Jim Meyering  <meyering@lucent.com>
130279         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
130280         stuff. Now it's in ../Makefile.cfg.
130282 2001-07-15  Jim Meyering  <meyering@lucent.com>
130284         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
130285         (BUILT_SOURCES): Add unlocked-io.h.
130286         (io_functions): Define.
130287         (unlocked-io.h): New rule.
130288         (DISTCLEANFILES): Add unlocked-io.h.
130289         (all-local): Depend on unlocked-io.h, to ensure it is created.
130291         * lib/unlocked-io.hin: New file
130293         * lib/regex.c: Update from glibc.
130295 2001-07-05  Jim Meyering  <meyering@lucent.com>
130297         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
130298         recommendation.
130299         (libfetish_a_SOURCES): Put all .h files here instead.
130300         Remove a thus-exposed (better checks in automake) duplicate and
130301         two unnecessary .h files.
130303 2001-07-04  Jim Meyering  <meyering@lucent.com>
130305         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
130306         that generates jm-glibc-io.m4 so that it doesn't trigger any make
130307         distcheck failure.
130309 2001-07-02  Jim Meyering  <meyering@lucent.com>
130311         The following changes were prompted by suggestions from Bruno Haible.
130313         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
130314         is now generated.
130315         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
130316         definition of EXTRA_DIST.
130317         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
130318         ensure that the generated file is created/updated whenever the list
130319         of $(unlocked_functions) is changed.
130320         (jm-glibc-io.m4): New rule.
130321         (unlocked-io.h): New rule -- currently unused.
130323 2001-06-24  Jim Meyering  <meyering@lucent.com>
130325         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
130326         unmatched right bracket, rather than kludging it with an extra,
130327         falsely-matching quote in a comment.  Patch by Akim Demaille.
130329 2001-06-11  Jim Meyering  <meyering@lucent.com>
130331         * lib/regex.c: Update from GNU libc.
130333 2001-05-27  Jim Meyering  <meyering@lucent.com>
130335         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
130336         Check for ut_type in struct utmp.
130338 2001-05-27  Jim Meyering  <meyering@lucent.com>
130340         * lib/readutmp.h (UT_TYPE): Define.
130342 2001-05-24  Jim Meyering  <meyering@lucent.com>
130344         * lib/argmatch.c: Include "quote.h".
130345         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
130346         quote function.  Reported by Göran Uddeborg.
130348 2001-05-22  Jim Meyering  <meyering@lucent.com>
130350         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
130351         now that we use the package-supplied version unconditionally.
130352         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
130354 2001-05-21  Jim Meyering  <meyering@lucent.com>
130356         * m4/regex.m4: Change a couple backticks to single quotes to avoid
130357         shell syntax errors.
130359 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
130361         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
130363 2001-05-20  Paul Eggert  <eggert@twinsun.com>
130365         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
130366         Don't bother to check library strftime, since
130367         we'll be using our own my_strftime function anyway.
130368         Define my_strftime instead of strftime.
130370 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
130372         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
130373         which is not yet declared.
130375 2001-05-15  Jim Meyering  <meyering@lucent.com>
130377         * m4/regex.m4: Use proper quoting so brackets appear in the test
130378         program.
130379         Reported by, and with help from, Bruno Haible.
130381 2001-05-13  Jim Meyering  <meyering@lucent.com>
130383         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
130384         undefined.
130386 2001-05-11  Paul Eggert  <eggert@twinsun.com>
130388         dirname code cleanup.  base_name now behaves more compatibly
130389         with POSIX basename when given file names that have trailing
130390         slashes, and similarly for dir_name.  Add new primitives
130391         base_len and dir_len.  Put the directory-name-related decls
130392         into dirname.h.
130394         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
130395         * lib/backupfile.c (base_name): Likewise.
130396         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
130397         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
130398         * lib/makepath.c (strip_trailing_slashes): Likewise.
130399         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
130400         ISSLASH): Likewise.
130401         * lib/rename.c (strip_trailing_slashes): Likewise.
130402         * lib/same.c (base_name): Likewise.
130403         * lib/stripslash.c (ISSLASH): Likewise.
130405         * lib/addext.c: Include <dirname.h> after size_t is defined.
130406         * lib/backupfile.c: Likewise.
130408         * lib/addext.c (addext): Use base_len to trim redundant
130409         trailing slashes instead of doing it ourselves.
130410         But do not trim the last slash if it is not redundant.
130412         * lib/backupfile.c (find_backup_file_name,
130413         max_backup_version): Use base_len instead of rolling it ourselves.
130414         Handle the case of "" and (on DOS) "C:" correctly.
130416         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
130417         needed. Include <string.h>, <dirname.h>.
130418         (base_name): Allow file names ending in slashes, other than names
130419         that are all slashes.  In this case, return the basename followed
130420         by the slashes.  This is more general, and can be used in places
130421         where the original base_name purposely had an assertion failure.
130422         (base_len): New function.
130424         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
130425         Do not include <assert.h>; no longer needed.
130426         Include xalloc.h.
130427         (memrchr): Remove decl.
130428         (dir_name_r): Remove.
130429         (dir_len): Renamed from dirlen.  All callers changed.
130430         Rewrite in terms of base_name, for simplicity and consistency.
130431         (dir_name): Never return NULL.  All callers changed.
130432         Do not include <stdlib.h> in test program; no longer needed.
130433         return 0; is fine for test program.
130435         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
130436         New macros.
130437         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
130439         * lib/path-concat.c (path_concat): Use base_len to compute
130440         base length, not strlen; this means we cannot rely on memcpy
130441         to null-terminate.
130443         * lib/same.c (STREQ): Remove.
130444         (same_name): Handle the case where the basename ends in trailing '/'.
130446         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
130447         a slash was stripped.  Do not strip the last slash after a
130448         file system prefix.
130450 2001-05-11  Paul Eggert  <eggert@twinsun.com>
130452         * lib/Makefile.am (libfetish_a_SOURCES):
130453         Add strftime.c, since we now compile it on all hosts.
130455         * lib/strftime.c (my_strftime):
130456         Define to nstrftime if emacs, but only if my_strftime is not defined.
130457         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
130458         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
130459         Add one more extra argument: a nanoseconds value.
130460         All uses changed.
130461         (ns): New macro.
130462         (my_strftime function): Add %N format.
130463         (emacs_strftimeu): Renamed from emacs_strftime,
130464         with extra ut argument.
130466 2001-05-09  Paul Eggert  <eggert@twinsun.com>
130468         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
130470 2001-04-21  Jim Meyering  <meyering@lucent.com>
130472         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
130473         doesn't interfere.
130475 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
130477         * m4/ftruncate.m4: Check for chsize.
130478         Link with ftruncate.o unconditionally if ftruncate is missing.
130479         This was required when cross-compiling to i586-mingw32msvc.
130481 2001-04-08  Jim Meyering  <meyering@lucent.com>
130483         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
130484         recomputed; that's necessary when the offset spans a DST transition.
130485         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
130487 2001-04-02  Jim Meyering  <meyering@lucent.com>
130489         * lib/regex.h, regex.c: Update from GNU libc.
130491 2001-03-24  Jim Meyering  <meyering@lucent.com>
130493         * m4/jm-macros.m4: Require autoconf-2.49d.
130495 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
130497         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
130499 2001-03-19  Paul Eggert  <eggert@twinsun.com>
130501         * lib/version-etc.c (version_etc_copyright): Update to 2001.
130503 2001-03-17  Jim Meyering  <meyering@lucent.com>
130505         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
130506         now that the version in autoconf is equivalent.
130507         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
130509         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
130510         Suggestion from Akim Demaille.
130512         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
130513         (jm_PREREQ_TEMPNAME): New function.
130515 2001-03-16  Paul Eggert  <eggert@twinsun.com>
130517         * lib/tempname.c (uint64_t): Define to uintmax_t if
130518         not defined, and if UINT64_MAX is not defined.
130519         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
130520         Reported by John David Anglin.
130522 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
130524         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
130525         resolve alias if codeset is empty.
130526         * lib/config.charset (BeOS): Use wildcard syntax.
130528 2001-03-13  Jim Meyering  <meyering@lucent.com>
130530         * lib/path-concat.c (path_concat)
130531         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
130532         concatenating e.g., `C:' and `foo'.
130533         From Bruno Haible.
130535 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
130537         * lib/localcharset.c (locale_charset): Don't use
130538         setlocale(LC_CTYPE,NULL). Don't return NULL.
130539         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
130541 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
130543         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
130544         support for DOS/DJGPP.
130546 2001-03-01  Paul Eggert  <eggert@twinsun.com>
130548         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
130549         lacks mkstemp.  Compile our own tempname.c if we compile our own
130550         mkstemp.c, as mkstemp relies on tempname.
130552 2001-03-01  Jim Meyering  <meyering@lucent.com>
130554         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
130555         AH_VERBATIM really does output its argument verbatim.
130557 2001-02-28  Paul Eggert  <eggert@twinsun.com>
130559         * lib/Makefile.am (libfetish_a_SOURCES):
130560         Add dup-safer.c, fopen-safer.c.
130561         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
130563         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
130564         * lib/unistd-safer.h: New files.
130566 2001-02-25  Paul Eggert  <eggert@twinsun.com>
130568         The mkstemp replacement is taken from glibc 2.2.2, with some
130569         portability fixes for use outside glibc, as follows:
130571         * lib/tempname.c (struct_stat64): New macro.
130572         (direxists, __gen_tempname): Use it.
130573         This avoids a portability problem with Solaris 8.
130575         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
130576         (<stddef.h>, <stdint.h>, <string.h>):
130577         Include only if STDC_HEADERS || _LIBC.
130578         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
130579         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
130580         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
130581         (__set_errno): Define this macro if <errno.h> doesn't.
130582         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
130583         Define these macros if <stdio.h> doesn't.
130584         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
130585         Define these macros if <sys/stat.h>
130586         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
130587         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
130588         __xstat64): Define if not _LIBC.
130589         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
130590         (__gen_tempname): Invoke gettimeofday only if
130591         HAVE_GETTIMEOFDAY || _LIBC;
130592         otherwise, fall back on plain "time".
130593         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
130595         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
130597         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
130599 2001-02-18  Paul Eggert  <eggert@twinsun.com>
130601         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
130603 2001-02-17  Paul Eggert  <eggert@twinsun.com>
130605         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
130606         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
130607         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
130608         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
130610 2001-02-17  Paul Eggert  <eggert@twinsun.com>
130612         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
130613         Remove workaround macros for hosts that have mbrtowc but not
130614         mbstate_t, as we now insist on proper declarations for both
130615         before using mbrtowc.
130617 2001-02-17  Jim Meyering  <meyering@lucent.com>
130619         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
130620         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
130621         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
130622         UnixWare 7.1.1.
130624         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
130625         rather than AC_CACHE_VAL.
130627 2001-02-17  Jim Meyering  <meyering@lucent.com>
130629         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
130630         around included file name.
130632         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
130634         * lib/strftime.c: Update from GNU libc (the only changes were to
130635         comments).
130637 2001-02-17  Jim Meyering  <meyering@lucent.com>
130639         * lib/regex.c: Update from libc.
130641 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
130643         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
130644         clash.
130646 2001-02-16  Paul Eggert  <eggert@twinsun.com>
130648         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
130649         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
130650         Reported by Mark Hounschell via Paul Eggert.
130652 2001-02-07  Jim Meyering  <meyering@lucent.com>
130654         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
130656 2001-02-05  Jim Meyering  <meyering@lucent.com>
130658         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
130659         it includes the patch required for `large file' support with at least
130660         HP-UX's 10.20 /bin/cc.
130662 2001-02-03  Jim Meyering  <meyering@lucent.com>
130664         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
130665         AS_IF, now that it works once again (mysteriously).
130666         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
130668 2001-01-30  Jim Meyering  <meyering@lucent.com>
130670         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
130671         * m4/chown.m4: Rename conftestchown to conftest.chown.
130672         * m4/rename.m4: s/conftestdir/conftest.d1/ and
130673         s/conftestdir2/conftest.d2/.
130674         * m4/utimes.m4: s/conftestdata/conftest.data/
130675         Inspired by Pavel Roskin's change in autoconf.
130677 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
130679         * lib/config.charset: Update for FreeBSD 4.2.
130681 2001-01-27  Jim Meyering  <meyering@lucent.com>
130683         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
130684         a use of AS_IF.
130685         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
130687 2001-01-26  Jim Meyering  <meyering@lucent.com>
130689         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
130690         quotearg.c includes it.
130692 2001-01-26  Jim Meyering  <meyering@lucent.com>
130694         * lib/quotearg.c: Include stddef.h.
130695         * lib/quote.c: Include stddef.h.
130696         Reported by Axel Kittenberger.
130698         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
130699         line in double quotes so that it evokes a better diagnostic.
130700         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
130701         Reported by Axel Kittenberger.
130703 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
130705         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
130706         as if it was a `charset'.
130708 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
130710         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
130711         has const.
130713 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
130715         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
130716         to avoid a warning.  Add back 'const' to inptr.
130718 2001-01-20  Jim Meyering  <meyering@lucent.com>
130720         Be sure that headers are checked before used in code compiled
130721         for the type checks.
130722         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
130723         In place of that, invoke jm_CHECK_ALL_TYPES.
130724         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
130725         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
130726         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
130727         The check for ssize_t was mistakenly run before the test for unistd.h.
130729         The configure-time check for stdbool.h was missing.
130730         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
130731         (jm_PREREQ_HASH): New function.
130733 2001-01-17  Jim Meyering  <meyering@lucent.com>
130735         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
130736         for autoconf-2.49c.
130737         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
130739 2001-01-16  Jim Meyering  <meyering@lucent.com>
130741         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
130742         From Bruno Haible.
130744 2001-01-14  Jim Meyering  <meyering@lucent.com>
130746         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
130747         foo and bar.  Create conftestdir/ in the script, not in the C code.
130748         Remove directories in the script, not in the C code.
130749         Remove conftestdir{,2} before trying to create the directory.
130750         Make the entire configure script fail if the mkdir fails.
130752 2001-01-14  Jim Meyering  <meyering@lucent.com>
130754         * lib/rename.c: New file.  From Volker Borchert.
130755         Include stdlib.h, string.h or strings.h, and xalloc.h.
130756         Use strip_trailing_slashes rather than open-coding it.
130758 2001-01-03  Paul Eggert  <eggert@twinsun.com>
130760         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
130762 2001-01-03  Jim Meyering  <meyering@lucent.com>
130764         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
130765         of local `inptr' to avoid warning with some system declarations of
130766         iconv.
130768 2001-01-02  Volker Borchert  <bt@teknon.de>
130770         * m4/rename.m4: New file.
130771         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
130773 2001-01-01  Jim Meyering  <meyering@lucent.com>
130775         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
130776         even on systems with utmpx.h.  It's necessary for the declaration of
130777         utmp's ut_user member.  Reported by Andreas Jaeger.
130779         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
130780         available. They are required for the declarations of getgrgid and
130781         getpwuid resp.
130782         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
130783         Reported by Andreas Jaeger.
130785 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
130787         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
130788         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
130789         so `make install' also works in VPATH builds.
130791 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
130793         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
130794         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
130795         can be used in subdirectories.
130797 2000-12-29  Paul Eggert  <eggert@twinsun.com>
130799         * lib/modechange.c: Do not assume that mode_t uses the
130800         traditional octal encoding.  E.g. "chmod 1 FOO" should set
130801         the other-execute bit of FOO even if S_IXOTH != 1.
130803         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
130804         WOTH, XOTH, ALLM): New macros.
130805         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
130806          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
130807         Use them.
130808         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
130809         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
130810         (mode_compile):
130811         No need to use uintmax_t; unsigned long is long enough.
130812         Don't bother to get suffix since we don't use it.
130814 2000-12-26  Jim Meyering  <meyering@lucent.com>
130816         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
130817         better with autoheader.
130819 2000-12-24  Jim Meyering  <meyering@lucent.com>
130821         * lib/hash.c (is_prime): Return explicit boolean values.
130822         (hash_get_first): Return NULL to appease Irix5.6's 89.
130823         Reported by Nelson Beebe.
130825 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
130827         * lib/localcharset.c (locale_charset): Add support for Win32.
130829 2000-12-18  Paul Eggert  <eggert@twinsun.com>
130831         * lib/physmem.h, lib/physmem.c: New files.
130833         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
130834         (noinst_HEADERS): Add physmem.h.
130836         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
130837         't' for compatibility with Solaris 8 sort.
130839 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
130841         * lib/config.charset: Add support for BeOS.
130843 2000-12-17  Jim Meyering  <meyering@lucent.com>
130845         * m4/dos.m4 (jm_AC_DOS): New file and macro.
130846         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
130848 2000-12-16  Jim Meyering  <meyering@lucent.com>
130850         This bug had a serious impact on chown: `chown N:M FILE' (for integer
130851         N and M) would have treated it like `chown N:N FILE'.
130853         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
130855 2000-12-16  Jim Meyering  <meyering@lucent.com>
130857         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
130858         SHELLS_FILE to a file name that's useful on djgpp systems.
130859         Include stdlib.h.
130860         (ADDITIONAL_DEFAULT_SHELLS): Define.
130861         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
130862         Based mostly on a patch from Prashant TR.
130864 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
130866         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
130867         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
130868         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
130870 2000-12-08  Andreas Schwab  <schwab@suse.de>
130872         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
130873         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
130875 2000-12-07  Jim Meyering  <meyering@lucent.com>
130877         * lib/stripslash.c (ISSLASH): Define.
130878         (strip_trailing_slashes): Use ISSLASH rather than comparing against
130879         `/'.
130880         From Prashant TR.
130882         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
130883         (dir_name_r): Declare this function as static.
130884         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
130885         manifest itself on a name containing a mix of slashes and
130886         backslashes.
130887         Make this function work with names starting with a DOS-style
130888         drive letter and colon prefix.
130889         (dir_name): Append `.' if necessary.
130890         Based mostly on patches from Prashant TR and Eli Zaretskii.
130892         * lib/dirname.h (dir_name_r): Remove prototype.
130894 2000-12-06  Paul Eggert  <eggert@twinsun.com>
130896         * m4/off_t-format.m4: Remove this file.
130897         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
130899 2000-12-06  Jim Meyering  <meyering@lucent.com>
130901         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
130902         replacement strtoull, we may well need the replacement strtoul, too.
130903         Check for declarations of strtoul and strtoull.
130904         Check for strtol.  Mainly as a cue to cause automake to include
130905         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
130906         Check for limits.h -- strtol.c needs it.
130908 2000-12-05  Jim Meyering  <meyering@lucent.com>
130910         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
130912 2000-12-04  Jim Meyering  <meyering@lucent.com>
130914         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
130915         Also include memory.h, stdlib.h, unistd.h if appropriate.
130916         Reported by Andreas Jaeger (conflicting declaration of malloc).
130918 2000-12-02  Jim Meyering  <meyering@lucent.com>
130920         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
130921         * m4/jm-macros.m4 (jm_MACROS): require it.
130923 2000-12-02  Jim Meyering  <meyering@lucent.com>
130925         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
130927 2000-12-01  Paul Eggert  <eggert@twinsun.com>
130929         * lib/memrchr.c: Include <config.h> before any system include file.
130931 2000-11-30  Jim Meyering  <meyering@lucent.com>
130933         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
130935 2000-11-30  Jim Meyering  <meyering@lucent.com>
130937         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
130939 2000-11-29  Paul Eggert  <eggert@twinsun.com>
130941         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
130943 2000-11-26  Jim Meyering  <meyering@lucent.com>
130945         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
130947 2000-11-22  Paul Eggert  <eggert@twinsun.com>
130949         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
130950         size of (size_t) -1; it's not portable.
130952 2000-11-17  Jim Meyering  <meyering@lucent.com>
130954         * lib/strstr.c: Update from GNU libc.
130956 2000-11-17  Akim Demaille  <akim@epita.fr>
130958         * lib/obstack.h: Formatting changes.
130959         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
130960         prevent type checking.
130961         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
130962         cast the value to (void *): assigning a `foo *' to a `void *'
130963         variable is valid.
130964         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
130966 2000-11-16  Jim Meyering  <meyering@lucent.com>
130968         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
130970 2000-11-11  Jim Meyering  <meyering@lucent.com>
130972         * lib/error.c: Add a couple #includes, merging from GNU libc version.
130974 2000-11-10  Jim Meyering  <meyering@lucent.com>
130976         * lib/obstack.h: Update from GNU libc.
130977         * lib/obstack.c: Likewise.
130979 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
130981         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
130983 2000-11-06  Paul Eggert  <eggert@twinsun.com>
130985         * lib/getusershell.c (setusershell): Use rewind rather than
130986         fseek/fseeko, to avoid configuration hassles with fseeko.
130987         Don't bother opening SHELLS_FILE if shellstream is NULL;
130988         it's not necessary.
130990 2000-11-05  Jim Meyering  <meyering@lucent.com>
130992         * lib/makepath.h (make_dir): Declare.
130993         * lib/makepath.c (make_dir): Remove `static' attribute.
130994         Tweak a comment.
130996 2000-11-04  Jim Meyering  <meyering@lucent.com>
130998         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
131000 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
131002         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
131003         last one in a bucket, advance to the next bucket.
131005 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
131007         * lib/fnmatch.c: Do not comment out all the code if we are using
131008         the GNU C library, because in some cases we are replacing buggy
131009         code in the GNU C library itself.
131011 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
131013         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
131014         (regex_compile): Catch bogus \(\1\).
131016 2000-10-30  Paul Eggert  <eggert@twinsun.com>
131018         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
131019         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
131020         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
131022 2000-10-30  Paul Eggert  <eggert@twinsun.com>
131024         * lib/error.h, getline.h, modechange.h:
131025         Remove "2000" from Copyright line, as the file hasn't been
131026         changed this year other than in the copyright notice.
131028         * lib/xalloc.h: Add "2000" to Copyright line, as this file
131029         was changed this year.
131031 2000-10-29  Jim Meyering  <meyering@lucent.com>
131033         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
131034         renaming.
131035         * m4/ls-mntd-fs.m4: Likewise
131037 2000-10-29  Jim Meyering  <meyering@lucent.com>
131039         * lib/xstat.in: Fix grammar in comment.
131041 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
131043         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
131044         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
131045         doesn't define __restrict_arr.
131047 2000-10-28  Jim Meyering  <meyering@lucent.com>
131049         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
131050         (jm_PREREQ_MEMCHR): New function.
131052 2000-10-28  Jim Meyering  <meyering@lucent.com>
131054         * lib/memchr.c: Update from libc.
131055         Adjust for portability:
131056         [HAVE_STDLIB_H]: Include stdlib.h.
131057         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
131058         Undef __memchr, too.
131059         [!weak_alias]: Define __memchr to memchr.
131061         * lib/regex.c: Update from libc.
131062         * lib/regex.h: Likewise.
131063         * lib/getopt1.c: Likewise.
131064         * lib/memcmp.c: Likewise.
131066         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
131067         Avoid using fseek, when possible -- it's broken by design.
131068         Patch by Ulrich Drepper.
131070 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
131072         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
131073         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
131074         Giving in to popular pressure to shut up the compiler with casts.
131076 2000-10-26  Jim Meyering  <meyering@lucent.com>
131078         * lib/strftime.c: Update from libc.
131080 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
131082         * regex.c: More `unsigned char' -> `re_char' changes.
131083         Also change several `int' into `re_wchar_t'.
131084         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
131085         (PUSH_FAILURE_POINTER): Don't cast any more.
131086         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
131087         We want GCC to complain, since this piece of code makes
131088         re_match non-reentrant, which *should* be fixed.
131089         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
131090         (EXTEND_BUFFER): Use RETALLOC.
131091         (SET_LIST_BIT): Don't cast.
131092         (re_wchar_t): New type.
131093         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
131094         that those two functions will always properly return.
131095         (IMMEDIATE_QUIT_CHECK): Cast to void.
131096         (analyse_first): Use recursion rather than an explicit stack.
131097         (re_compile_fastmap): Can't fail anymore.
131098         (re_search_2): Don't check re_compile_fastmap for failure.
131099         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
131100         Now also sets the new value (passed in a new argument).
131101         (re_match_2_internal): Use it.
131102         Also, use a new var `reg' of type size_t when looping through regs
131103         rather than reuse the inappropriate `mcnt'.
131105 2000-10-25  Jim Meyering  <meyering@lucent.com>
131107         * lib/obstack.c: Update from libc.
131109 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
131111         * regex.c (regex_compile): Change the way of handling a range from
131112         a char less than 256 to a char not less than 256.
131114 2000-10-24  Andrew Innes  <andrewi@gnu.org>
131116         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
131117         NT-Emacs only.
131118         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
131119         so that re_search functions only quit when callers expect them to.
131121 2000-10-23  Jim Meyering  <meyering@lucent.com>
131123         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
131124         wrong.  That set_locale call must not have any side effects.
131125         From Paul Eggert.
131127 2000-10-22  Jim Meyering  <meyering@lucent.com>
131129         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
131130         [CYCLIC]: Remove now-unused definition.
131132         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
131133         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
131134         Suggestion from Ulrich Drepper.
131136 2000-10-21  Jim Meyering  <meyering@lucent.com>
131138         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
131139         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
131140         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
131142 2000-10-21  Jim Meyering  <meyering@lucent.com>
131144         * lib/dirname.c (memrchr): Declare if necessary.
131145         (dir_name): Remove the restriction that there be no
131146         trailing slashes.  Now, this code skips past them, effectively
131147         ignoring them.
131148         [TEST_DIRNAME] (main): New unit tests.
131150         * lib/memrchr.c: New file from GNU libc.
131151         Undef __memrchr, too.
131152         [!weak_alias]: Define __memrchr to memrchr.
131153         Guard weak_alias use with `#ifdef weak_alias'.
131155 2000-10-21  Jim Meyering  <meyering@lucent.com>
131157         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
131158         (dir_name): Use dir_name_r.
131159         * lib/dirname.h (dir_name_r): Declare it.
131161 2000-10-17  Jim Meyering  <meyering@lucent.com>
131163         * lib/quote.h (PARAMS): Define and use.
131164         Reported by Akim Demaille.
131166         * lib/getopt.c: Update from libc.
131168 2000-10-16  Jim Meyering  <meyering@lucent.com>
131170         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
131171         setlocale.
131172         From Jan Fedak.
131174 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
131176         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
131178 2000-09-25  Jim Meyering  <meyering@lucent.com>
131180         * lib/md5.h (rol): Define (from GnuPG).
131182         * lib/sha.c: Give credit (GnuPG) where due.
131183         (M): Use rol rather than open-coding it.
131184         Add a FIXME comment.
131186 2000-09-21  Jim Meyering  <meyering@lucent.com>
131188         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
131189         Reported by Michael Stone.
131191 2000-09-20  Jim Meyering  <meyering@lucent.com>
131193         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
131194         (noinst_HEADERS): Add sha.h.
131195         Based on code from Scott G. Miller and from GnuPG.
131197 2000-09-18  Jim Meyering  <meyering@lucent.com>
131199         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
131200         LIBS. Otherwise, everyone ends up linking with -lelf for some
131201         configurations.
131202         Reported by Mike Stone.
131204 2000-09-15  Jim Meyering  <meyering@lucent.com>
131206         * lib/regex.c: Update from libc.
131208 2000-09-10  Jim Meyering  <meyering@lucent.com>
131210         * lib/getopt.c (_getopt_internal): Update from glibc.
131212 2000-09-09  Jim Meyering  <meyering@lucent.com>
131214         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
131215         think it should be used as a general replacement for isascii.
131216         * lib/fnmatch.c: Likewise.
131217         * lib/mbswidth.c: Likewise
131218         * lib/regex.c: Likewise.
131220         Don't use atoi.
131221         * lib/userspec.c: Include sys/param.h and limits.h.
131222         Include xstrtol.h.
131223         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
131224         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
131225         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
131226         UID, GID.  Check range.
131228 2000-09-06  Jim Meyering  <meyering@lucent.com>
131230         * lib/getopt.c (_getopt_internal): Update from glibc.
131232 2000-08-30  Jim Meyering  <meyering@lucent.com>
131234         * lib/strftime.c: Merge in changes from GNU libc.
131236 2000-08-26  Jim Meyering  <meyering@lucent.com>
131238         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
131239         * m4/fpending.m4: New file.
131241 2000-08-26  Jim Meyering  <meyering@lucent.com>
131243         * lib/closeout.c: Include "__fpending.h".
131244         (close_stdout_status): Return right away if there's nothing to flush.
131246         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
131247         * lib/__fpending.c: New file.
131248         * lib/__fpending.h: New file.
131250 2000-08-20  Jim Meyering  <meyering@lucent.com>
131252         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
131253         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
131254         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
131256 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
131258         Improve fileutils installation on systems where running
131259         programs (like install) can't be unlinked.
131260         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
131261         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
131263 2000-08-07  Paul Eggert  <eggert@twinsun.com>
131265         Standardize on "memory exhausted" instead of "Memory exhausted"
131266         or "virtual memory exhausted".
131267         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
131268         "virtual memory exhausted".
131269         * lib/same.c (same_name): Invoke xalloc_die instead of printing
131270         our own message.
131271         * lib/userspec.c (parse_user_spec): Likewise.
131272         * lib/bumpalloc.h: comment fix
131273         * lib/same.c, userspec.c: Include xalloc.h.
131275         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
131276         not char *const and pointing to a constant array.
131277         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
131278         (xrealloc): Comment fix.
131280         * lib/userspec.c (parse_user_spec):
131281         Don't translate a message until just before returning,
131282         to avoid unnecessary translation.
131284 2000-08-07  Jim Meyering  <meyering@lucent.com>
131286         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
131287         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
131288         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
131289         getgroups.c, gethostname.c, getopt.h, group-member.c,
131290         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
131291         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
131292         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
131293         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
131294         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
131295         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
131296         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
131297         yesno.c: Back out Copyright date changes for each file with no change
131298         this year.  This eases coordination with other programs using the same
131299         source code modules.  From Paul Eggert.
131301 2000-08-06  Paul Eggert  <eggert@twinsun.com>
131303         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
131304         not char, for compatibility with glibc 2.1.3 strftime.c.
131306 2000-08-03  Greg McGary  <greg@mcgary.org>
131308         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
131309         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
131310         (EXTEND_BUFFER): Use them.
131312 2000-08-01  Jim Meyering  <meyering@lucent.com>
131314         * lib/dirname.c (ISSLASH): Define.
131315         (BACKSLASH_IS_PATH_SEPARATOR): Define.
131316         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
131317         both `\' and `/' may be use as path separators.
131318         Based on a patch from Prashant TR.
131320 2000-07-31  Paul Eggert  <eggert@twinsun.com>
131322         * lib/quotearg.c (quotearg_n_options): Don't make the initial
131323         slot vector a constant, since it might get modified.
131325 2000-07-31  Jim Meyering  <meyering@lucent.com>
131327         * lib/xmalloc.c: Use `virtual memory exhausted', not
131328         `Memory exhausted'.
131329         * lib/obstack.c (print_and_abort): Likewise.
131331 2000-07-30  Paul Eggert  <eggert@twinsun.com>
131333         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
131334         buffer, so that the caller can always quote one small
131335         component of a "memory exhausted" message in slot 0.
131336         From a suggestion by Jim Meyering.
131338 2000-07-30  Jim Meyering  <meyering@lucent.com>
131340         * lib/makepath.c (make_path): Quote the other instance, too.
131342         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
131343         (STATIC_BUF_SIZE): Define.
131344         (quotearg_n_options): Use only statically allocated storage when
131345         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
131346         than STATIC_BUF_SIZE.
131348 2000-07-29  Jim Meyering  <meyering@lucent.com>
131350         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
131351         * lib/dirname.c (dir_name): Likewise.
131353         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
131354         `/'.
131356         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
131357         (dir_name): Assert that there are no trailing slashes.
131359 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
131361         * lib/mbswidth.h (mbswidth): Add a flags argument.
131362         (mbswidth): New declaration.
131363         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
131364         * lib/mbswidth.c (mbswidth): Add a flags argument.
131365         (mbsnwidth): New function.
131367 2000-07-24  Jim Meyering  <meyering@lucent.com>
131369         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
131371 2000-07-23  Paul Eggert  <eggert@twinsun.com>
131373         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
131375 2000-07-23  Paul Eggert  <eggert@twinsun.com>
131377         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
131378         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
131379         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
131380         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
131381         invoke multibyte primitives.
131383 2000-07-23  Paul Eggert  <eggert@twinsun.com>
131385         * lib/quotearg.c:
131386         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
131387         so that mbstate_t is always defined.
131389         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
131390         be 1 in at least one GCC installation, and this configuration
131391         error is likely to be common.  Ignoring MB_LEN_MAX hurts
131392         performance on hosts that have mbrtowc but have only unibyte
131393         locales, but I assume these hosts are rare.
131395 2000-07-23  Paul Eggert  <eggert@twinsun.com>
131397         * lib/mbswidth.c (_XOPEN_SOURCE):
131398         Don't define; this causes problems on Solaris 7.
131399         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
131401 2000-07-23  Jim Meyering  <meyering@lucent.com>
131403         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
131404         too: getgrgid, getpwuid, getuid.
131406 2000-07-23  Jim Meyering  <meyering@lucent.com>
131408         * lib/basename.c (base_name): Add an assertion.
131410 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
131412         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
131413         shadow its mbsinit function.
131415 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
131417         * lib/mbswidth.h: New file.
131418         * lib/mbswidth.c: New file.
131419         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
131420         (noinst_HEADERS): Add mbswidth.h.
131422 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
131424         * lib/config.charset: Add support for FreeBSD. Improve support for
131425         HP-UX and IRIX 6.
131427 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
131429         * m4/mbswidth.m4: New file.
131430         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
131432 2000-07-15  Jim Meyering  <meyering@lucent.com>
131434         * lib/makepath.c: Include quote.h.
131435         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
131436         corresponding argument in a `quote (...)' call.
131437         Give better diagnostics.
131439         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
131440         (noinst_HEADERS): Add quote.h.
131442         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
131443         from tar's src/misc.c.
131444         * lib/quote.h: New file.  Prototypes for same.
131446 2000-07-14  Paul Eggert  <eggert@twinsun.com>
131448         From a suggestion by Bruno Haible.
131449         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
131450         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
131451         to decide whether to define the BeOS workaround macro;
131452         this adjusts to the change to AC_MBSTATE_T.
131454 2000-07-14  Jim Meyering  <meyering@lucent.com>
131456         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
131457         jm_AC_TYPE_UINTMAX_T.
131459 2000-07-13  Paul Eggert  <eggert@twinsun.com>
131461         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
131463         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
131464         quotearg_buffer_restyled): Add support for
131465         clocale_quoting_style.  Undo previous change to
131466         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
131467         and "{RIGHT QUOTATION MARK}" msgids.
131469 2000-07-10  Paul Eggert  <eggert@twinsun.com>
131471         From a suggestion by Bruno Haible.
131472         * m4/mbstate_t.m4 (AC_MBSTATE_T):
131473         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
131474         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
131475         and mbstate_t, to a single-part test that simply defines mbstate_t.
131476         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
131477         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
131479 2000-07-10  Jim Meyering  <meyering@lucent.com>
131481         * m4/strerror_r.m4: Mirror the correction made in autoconf.
131483         * m4/gnu-source.m4: Output to confdefs.h directly.
131484         Suggestion from Akim Demaille.
131486 2000-07-09  Paul Eggert  <eggert@twinsun.com>
131488         The old behavior of quoting `like this' doesn't look good with
131489         newer, ISO-style fonts.  See:
131490         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
131492         Instead, quote "like this" by default.  Let the translator
131493         tailor the locale-specific quoting behavior by providing
131494         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
131496         * lib/quotearg.c (N_): New macro.
131497         (gettext_default): New function.
131498         (quotearg_buffer_restyled): Use
131499         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
131500         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
131502 2000-07-09  Jim Meyering  <meyering@lucent.com>
131504         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
131505         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
131507         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
131508         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
131510 2000-07-09  Jim Meyering  <meyering@lucent.com>
131512         * lib/Most files: Update copyright dates to include 2000.
131514 2000-07-08  Jim Meyering  <meyering@lucent.com>
131516         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
131517         if not defined.
131518         (xgethostname): Remove now-unnecessary #ifdef.
131519         Move declaration of `err' into loop where it's used.
131521 2000-07-05  Paul Eggert  <eggert@twinsun.com>
131522         and Bruno Haible  <haible@clisp.cons.org>
131524         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
131525         only if the test for an object-type mbstate_t fails.  This
131526         prevents us from mistakenly reporting that mbstate_t is a
131527         system object type after we "#define mbstate_t int" to work
131528         around its lack.
131530 2000-07-05  Paul Eggert  <eggert@twinsun.com>
131531         and Bruno Haible  <haible@clisp.cons.org>
131533         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
131535 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
131537         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
131538         to strerror_r.
131539         Include <ctype.h> for use of isalpha.
131541 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
131543         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
131544         by allocating a larger buffer. Test the gethostname return value for
131545         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
131546         returns an error and ENAMETOOLONG isn't defined.
131548 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
131550         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
131551         dimension.
131553 2000-07-04  Jim Meyering  <meyering@lucent.com>
131555         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
131556         of the deprecated AC_CHECKING.
131558 2000-07-04  Jim Meyering  <meyering@lucent.com>
131560         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
131561         Reported by Bruno Haible.
131563 2000-07-04  Jim Meyering  <meyering@lucent.com>
131565         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
131566         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
131567         lacks mbrtowc.
131569 2000-07-03  Paul Eggert  <eggert@twinsun.com>
131571         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
131572         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
131574 2000-07-03  Paul Eggert  <eggert@twinsun.com>
131575         and Bruno Haible  <haible@clisp.cons.org>
131577         * lib/quotearg.c (mbrtowc):
131578         Assign to *pwc, and return 1 only if result is nonzero.
131579         (iswprint): Use ISPRINT when substituting our own mbrtowc.
131581 2000-07-03  Jim Meyering  <meyering@lucent.com>
131583         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
131585 2000-07-03  Jim Meyering  <meyering@lucent.com>
131587         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
131588         This is necessary to get a definition of e.g., UTMP_FILE on
131589         HP-UX 10.20.
131590         From Bob Proulx.
131592 2000-07-02  Jim Meyering  <meyering@lucent.com>
131594         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
131596         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
131597         AC_LIBOBJ(function_name).
131598         * m4/chown.m4: Likewise.
131599         * m4/fnmatch.m4: Likewise.
131600         * m4/ftruncate.m4: Likewise.
131601         * m4/getgroups.m4: Likewise.
131602         * m4/getline.m4: Likewise.
131603         * m4/group-member.m4: Likewise.
131604         * m4/jm-macros.m4: Likewise.
131605         * m4/lstat.m4: Likewise.
131606         * m4/malloc.m4: Likewise.
131607         * m4/memcmp.m4: Likewise.
131608         * m4/nanosleep.m4: Likewise.
131609         * m4/putenv.m4: Likewise.
131610         * m4/realloc.m4: Likewise.
131611         * m4/regex.m4: Likewise.
131612         * m4/stat.m4: Likewise.
131613         * m4/strftime.m4: Likewise.
131615 2000-07-02  Jim Meyering  <meyering@lucent.com>
131617         * lib/quotearg.c (mbstate_t): Don't define here.
131619 2000-07-02  Jim Meyering  <meyering@lucent.com>
131621         * lib/nanosleep.c (SIGCONT): Define if not already defined.
131623 2000-07-01  Jim Meyering  <meyering@lucent.com>
131625         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
131627 2000-07-01  Jim Meyering  <meyering@lucent.com>
131629         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
131630         problem.
131632 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
131634         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
131635         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
131637 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
131639         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
131640         per change in ../m4/ls-mntd-fs.m4.
131641         (read_filesystem_list): Ignore symbolic links.
131643 2000-06-29  Jim Meyering  <meyering@lucent.com>
131645         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
131646         for declaration of strcmp.
131648         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
131650         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
131651         Avoid warning by casting result to `char *' to remove `const'.
131653 2000-06-28  Jim Meyering  <meyering@lucent.com>
131655         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
131656         included by quotearg.c, for which we perform this test.  From
131657         Bruno Haible.
131659 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
131661         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
131662         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
131663         <utmpx.h> exists, put readutmp.o into LIBOBJS.
131665 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
131667         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
131669 2000-06-26  Paul Eggert  <eggert@twinsun.com>
131671         savedir now sets errno on failure and invokes xmalloc to get memory.
131672         Fix a couple of other minor bugs while we're at it.
131674         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
131675         (NAMLEN): Remove macro.
131676         (malloc, realloc): Remove decls.
131677         (stpcpy): Likewise.
131678         ("xalloc.h"): Include.
131679         (NAME_SIZE_DEFAULT): New macro.
131680         (savedir): Use xmalloc / xrealloc to allocate memory.
131681         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
131682         Skip "" directory entries.
131683         Use strlen to calculate directory entry length, since the old method
131684         is rarely used these days and isn't worth supporting.
131685         Don't use a pointer after freeing it.
131686         Check for integer overflow when calculating allocation size.
131687         Use memcpy to copy entries, instead of stpcpy.
131688         Set errno properly when returning NULL.
131689         Check for readdir error.
131691 2000-06-26  Jim Meyering  <meyering@lucent.com>
131693         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
131695 2000-06-25  Jim Meyering  <meyering@lucent.com>
131697         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
131698         Linux header bug when _XOPEN_SOURCE is defined to 500.
131700 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
131702         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
131703         deficiency.
131705 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
131707         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
131708         Include xalloc.h.
131709         Don't include <stdlib.h>.  Don't declare malloc, realloc.
131711 2000-06-24  Jim Meyering  <meyering@lucent.com>
131713         * m4/strerror_r.m4: Revive this file -- to try out an experimental
131714         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
131715         for which strerror does return char*, but which lacks a conveniently
131716         accessible declaration of the function.  If the compile-test says
131717         strerror_r doesn't work, then resort to a `run'-test that works on
131718         BeOS and segfaults on DEC Unix.
131720 2000-06-24  Jim Meyering  <meyering@lucent.com>
131722         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
131724 2000-06-23  Paul Eggert  <eggert@twinsun.com>
131726         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
131727         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
131729 2000-06-23  Paul Eggert  <eggert@twinsun.com>
131731         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
131732         (mbrtowc, mbstate_t): Define substitutes if
131733         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
131734         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
131735         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
131737 2000-06-23  Jim Meyering  <meyering@lucent.com>
131739         * m4/afs.m4: Add missing AC_MSG_RESULT.
131740         Reported by Bruno Haible.
131742         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
131743         Suggestion from Bruno Haible.
131745 2000-06-23  Jim Meyering  <meyering@lucent.com>
131747         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
131749 2000-06-21  Jim Meyering  <meyering@lucent.com>
131751         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
131753 2000-06-21  Jim Meyering  <meyering@lucent.com>
131755         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
131756         (noinst_HEADERS): Add getstr.h.
131758         * lib/getline.c (getstr): Move into a separate file.
131759         * lib/getstr.c (getstr): New file, extracted from getline.c, with
131760         the following changes: new parameter, delim2; both delim[12]
131761         parameters have type `int', not `char'.  The latter would lose
131762         with 8-bit delimiters.
131763         * lib/getstr.h: New file.
131765 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
131767         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
131768         than 1024, return a memory chunk of least possible size, instead
131769         of size PATH_MAX + 2. In the loop, increment the size proportionally.
131770         Use free/xmalloc instead of xrealloc to avoid copying for very long
131771         paths.
131773 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
131775         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
131776         the empty string.
131778 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
131780         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
131781         address, not strdup.  Include <stdlib.h> and don't declare free().
131783 2000-06-19  Jim Meyering  <meyering@lucent.com>
131785         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
131787 2000-06-18  Jim Meyering  <meyering@lucent.com>
131789         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
131791         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
131792         `checking whether...' message to be consistent with that of the
131793         lstat test.
131795 2000-06-18  Jim Meyering  <meyering@lucent.com>
131797         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
131798         Besides, these days every porting target provides a mkdir function.
131800         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
131801         needed. (this snippet comes from src/system.h).
131803 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
131805         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
131807 2000-06-15  Paul Eggert  <eggert@twinsun.com>
131809         * lib/human.c (adjust_value): New function.
131810         (human_readable_inexact): Apply rounding style even when
131811         printing approximate values.
131813 2000-06-14  Paul Eggert  <eggert@twinsun.com>
131815         * lib/human.c (human_readable_inexact): Allow an input block
131816         size that is not a multiple of the output block size, and vice versa.
131817         Reported by Piergiorgio Sartor.
131819 2000-06-14  Paul Eggert  <eggert@twinsun.com>
131821         * lib/getdate.y (get_date): Apply relative times after time
131822         zone indicator, not before.  Reported by Todd A. Jacobs.
131824 2000-06-13  Jim Meyering  <meyering@lucent.com>
131826         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
131828         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
131830 2000-06-12  Paul Eggert  <eggert@twinsun.com>
131832         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
131834 2000-06-12  Jim Meyering  <meyering@lucent.com>
131836         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
131837         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
131838         optional argument.
131839         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
131840         the optional argument, `lib'.
131842 2000-06-08  Jim Meyering  <meyering@lucent.com>
131844         * m4/largefile.m4: Remove file (now that it's part of autoconf).
131846 2000-06-04  Paul Eggert  <eggert@twinsun.com>
131848         Rewrite largefile configuration so that we don't need to run
131849         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
131850         AC_CANONICAL_HOST in configure.in -- jmm]
131852         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
131853         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
131854         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
131855         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
131856         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
131857         All uses changed.
131858         Instead of inspecting the output of getconf, try to compile the
131859         test program without and with the macro definition.
131860         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
131861         for getconf.  Instead, check for the needed flags by compiling
131862         test programs.
131864 2000-06-04  Paul Eggert  <eggert@twinsun.com>
131866         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
131868 2000-06-04  Jim Meyering  <meyering@lucent.com>
131870         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
131871         SunOS 4.1.4 for which gid_t is an unsigned type.
131873 2000-06-03  Jim Meyering  <meyering@lucent.com>
131875         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
131876         now that autoconf requires that.
131878         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
131879         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
131880         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
131882 2000-06-03  Jim Meyering  <meyering@lucent.com>
131884         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
131886 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
131888         * m4/glibc21.m4: New file.
131889         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
131891 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
131893         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
131894         newer, don't install charset.alias.
131895         * lib/config.charset: Change the Linux/glibc rules so they become empty
131896         on glibc-2.1 or newer.
131898 2000-06-02  Jim Meyering  <meyering@lucent.com>
131900         * lib/mountlist.c: Back out last change.  Instead, do this...
131901         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
131902         me_dummy member using the same `ignore'-testing code.
131903         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
131904         fs_type strings.
131905         From Mark D. Roth.
131907 2000-05-29  Jim Meyering  <meyering@lucent.com>
131909         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
131910         mounts with the `ignore' attribute.  Based on a patch from
131911         Mark D. Roth.
131913 2000-05-28  Jim Meyering  <meyering@lucent.com>
131915         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
131916         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
131917         * m4/stat.m4: Likewise.
131918         * m4/lstat.m4: Likewise.
131919         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
131921         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
131922         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
131924 2000-05-26  Jim Meyering  <meyering@lucent.com>
131926         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
131928 2000-05-24  Jim Meyering  <meyering@lucent.com>
131930         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
131931         autoconf requires that.
131932         * m4/lib-check.m4: Likewise.
131933         * m4/jm-macros.m4: Likewise.
131934         * m4/strftime.m4: Likewise.
131936         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
131937         AC_CHECK_DECLS, now that autoconf requires that.
131939 2000-05-22  Jim Meyering  <meyering@lucent.com>
131941         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
131942         * m4/lstat.m4: Likewise.
131944 2000-05-22  Jim Meyering  <meyering@lucent.com>
131946         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
131948 2000-05-20  Jim Meyering  <meyering@lucent.com>
131950         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
131951         (jm_PREREQ): Use it.
131953 2000-05-18  Jim Meyering  <meyering@lucent.com>
131955         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
131956         back, too, since it may have been modified by allocate_entry.
131957         (hash_delete): Rewrite to use neither the assignment operator
131958         nor the comma operator in an if-expression.
131960 2000-05-15  Paul Eggert  <eggert@twinsun.com>
131962         * lib/closeout.c:
131963         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
131964         Remove; no longer needed.
131965         "quotearg.h": Add include.
131966         (file_name): Do not bother to explicitly initialize to NULL; it's less
131967         efficient on some hosts.
131968         (close_stdout_status): Remove test as to whether stdout was already
131969         closed; it breaks for the case "echo x | sort >&-".
131970         Quote file name colons.
131971         Do not assume that _("write error") lacks format strings.
131973 2000-05-15  Jim Meyering  <meyering@lucent.com>
131975         * lib/version-etc.c (version_etc_copyright): Update the copyright
131976         string used in all --version output.
131978 2000-05-14  Jim Meyering  <meyering@lucent.com>
131980         * lib/closeout.c (close_stdout_set_file_name): New function.
131981         (close_stdout_status): Use new file-scoped global.
131982         Return right away if fstat says the stdout file descriptor is invalid.
131983         * lib/closeout.h (close_stdout_set_file_name): Declare.
131985 2000-05-10  Jim Meyering  <meyering@lucent.com>
131987         * lib/closeout.c [default_exit_status]: New file-scoped variable.
131988         (close_stdout_set_status): New function.
131989         * lib/closeout.h (close_stdout_set_status): Declare.
131991 2000-05-09  Jim Meyering  <meyering@lucent.com>
131993         * m4/gettext.m4: Rename this...
131994         * m4/libintl.m4: ...to this.
131996 2000-05-08  Jim Meyering  <meyering@lucent.com>
131998         * lib/long-options.c: Don't include closeout.h.
131999         (parse_long_options): Don't call close_stdout for --version.
132001 2000-05-06  Paul Eggert  <eggert@twinsun.com>
132003         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
132004         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
132005         2.1.3 bug.  This avoids a clash when files like regex.c define
132006         _GNU_SOURCE.
132008 2000-05-06  Jim Meyering  <meyering@lucent.com>
132010         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
132011         (AC_REPLACE_FUNCS): Add strnlen.
132013         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
132014         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
132016         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
132017         AC_SEARCH_LIBS call for nanosleep.
132018         (LIB_NANOSLEEP): Set and AC_SUBST.
132020 2000-05-06  Jim Meyering  <meyering@lucent.com>
132022         * lib/strnlen.c: Undefine __strnlen and strnlen.
132023         [!weak_alias]: Define __strnlen to strnlen.
132025         * lib/atexit.c: New file, from libiberty.
132027 2000-05-06  Jim Meyering  <meyering@lucent.com>
132029         * lib/closeout.c (close_stdout_status): Also check for errors on the
132030         stderr stream.
132032 2000-05-05  Jim Meyering  <meyering@lucent.com>
132034         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
132035         AC_SEARCH_LIBS call for clock_gettime.
132036         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
132038         * m4/search-libs.m4: Update from autoconf.
132040         su doesn't work on Solaris 2.6.
132041         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
132042         <shadow.h>.  Reported by Dragos Harabor.
132044 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
132046         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
132047         memcpy instead of xmalloc, xrealloc, path_concat.
132048         (locale_charset): Treat empty environment variables as absent.
132049         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
132051 2000-05-04  Jim Meyering  <meyering@lucent.com>
132053         * lib/getopt.c: Update from glibc.
132054         * lib/obstack.c: Likewise.
132055         * lib/obstack.h: Likewise.
132056         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
132057         file
132059         * lib/regex.h: Likewise.
132060         * lib/strndup.c: Likewise.
132061         * lib/strnlen.c: New file, from glibc.
132063 2000-05-03  Jim Meyering  <meyering@lucent.com>
132065         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
132067 2000-05-02  Paul Eggert  <eggert@twinsun.com>
132069         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
132070         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
132071         compile-time test, rather than inspecting host and OS, to
132072         decide whether to define _LARGEFILE_SOURCE.
132074 2000-05-01  Jim Meyering  <meyering@lucent.com>
132076         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
132078         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
132079         Based on a patch from Bruno Haible.
132081 2000-05-01  Jim Meyering  <meyering@lucent.com>
132083         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
132085 2000-04-29  Jim Meyering  <meyering@lucent.com>
132087         * lib/path-concat.c: Declare strdup only if it's not defined.
132088         * lib/canon-host.c: Likewise.
132090 2000-04-28  Jim Meyering  <meyering@lucent.com>
132092         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
132093         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
132094         is included first, then limits.h is included by locale.h by libintl.h.
132095         From John David Anglin.
132097 2000-04-25  Jim Meyering  <meyering@lucent.com>
132099         * lib/makepath.c (S_IRWXUGO): Define.
132100         (make_path): Always perform explicit chmod if MODE specifies any
132101         of the `special' permission bits.  Prompted by a bug report against
132102         install from Mate Wierdl and Joost van Baal.
132104 2000-04-18  Jim Meyering  <meyering@lucent.com>
132106         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
132107         (jm_PREREQ): Use it.
132109 2000-04-18  Jim Meyering  <meyering@lucent.com>
132111         * lib/README: New file.
132113         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
132114         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
132116 2000-04-17  Jim Meyering  <meyering@lucent.com>
132118         Get it right :-)
132119         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
132120         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
132121         Suggestion from Akim Demaille.
132123 2000-04-17  Jim Meyering  <meyering@lucent.com>
132125         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
132126         the definition of it to rpl_strftime also defined-away the system's
132127         declaration.
132129 2000-04-15  Jim Meyering  <meyering@lucent.com>
132131         Use `C' to denote so-called `contiguous' files, the same way
132132         that tar does.
132133         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
132134         (ftypelet): Use S_ISCTG.
132135         From Michael Deutschmann.
132137 2000-04-14  Jim Meyering  <meyering@lucent.com>
132139         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
132140         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
132141         clobbered.
132143 2000-04-14  Jim Meyering  <meyering@lucent.com>
132145         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
132147 2000-04-13  Jim Meyering  <meyering@lucent.com>
132149         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
132150         AH_VERBATIM to insert required #ifndef into config.h.in.
132151         Suggestion from Akim Demaille.
132153 2000-04-12  Jim Meyering  <meyering@lucent.com>
132155         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
132156         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
132157         Christian Krackowizer.
132159         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
132160         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
132161         (AC_SYS_LARGEFILE): Require.
132162         (AM_C_PROTOTYPES): Require.
132164 2000-04-08  Jim Meyering  <meyering@lucent.com>
132166         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
132167         names don't conflict.  Reported by Eli Zaretskii.
132169 2000-04-07  Jim Meyering  <meyering@lucent.com>
132171         * lib/putenv.c: Move inclusion of errno.h so it follows that of
132172         sys/types.h, to work around system header problems on AIX 3.2.5.
132173         From Bruno Haible.
132175 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
132177         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
132178         bug.  Deal with the different error behavior of Irix iconv.
132180 2000-04-05  Paul Eggert  <eggert@twinsun.com>
132182         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
132183         IRIX if the installer said otherwise.
132185 2000-04-05  Jim Meyering  <meyering@lucent.com>
132187         Portability tweaks required for ultrix4.3.
132188         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
132189         (jm_CHECK_DECLS): Add getutent to the list of functions.
132190         (_jm_DECL_HEADERS): Add utmpx.h.
132191         From John David Anglin.
132193         * m4/strftime.m4: Back out the 2000-04-02 change.
132194         Instead of that change, simply undefine putenv in the test program.
132196 2000-04-05  Jim Meyering  <meyering@lucent.com>
132198         Portability tweaks required for ultrix4.3.
132199         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
132200         getutent.
132201         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
132202         * lib/canon-host.c: Declare strdup.
132203         * lib/path-concat.c: Likewise.
132204         From John David Anglin.
132206 2000-04-04  Jim Meyering  <meyering@lucent.com>
132208         Be more DOS 8.3-friendly.
132209         * lib/ref-add.sin: Renamed from ref-add.sed.in.
132210         * lib/ref-del.sin: Renamed from ref-del.sed.in.
132211         * lib/Makefile.am: Reflect renaming.
132212         Reported by Eli Zaretskii.
132214         Use a temporary file name that won't clash with `charset.alias'
132215         in the DOS 8.3 name space.
132216         * lib/Makefile.am (charset_tmp): Define.
132217         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
132218         (uninstall-local): Likewise.
132219         Reported by Eli Zaretskii.
132221 2000-04-03  Jim Meyering  <meyering@lucent.com>
132223         * m4/gettext.m4: Fix typo in comment.
132225         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
132226         textutils/configure.in).  Suggestion from Paul Eggert.
132227         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
132229 2000-04-02  Paul Eggert  <eggert@twinsun.com>
132231         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
132232         variable in the shell rather than using putenv, which isn't
132233         portable.  This avoids the configure-time inter-test dependency
132234         on the potentially-renamed putenv function.
132236 2000-03-30  Paul Eggert  <eggert@twinsun.com>
132238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
132239         before checking struct stat.st_blksize, so that
132240         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
132242 2000-03-29  Paul Eggert  <eggert@twinsun.com>
132244         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
132245         since strftime.c uses HAVE_STRFTIME to decide whether to use
132246         the underlying strftime.
132248 2000-03-29  Paul Eggert  <eggert@twinsun.com>
132250         * lib/time/strftime.c (my_strftime): Make sure we call the system
132251         strftime, not ourselves, when invoking the underlying strftime.
132253 2000-03-24  Jim Meyering  <meyering@lucent.com>
132255         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
132256         (charset_alias): Define.
132257         (install-exec-local): Factor out common code.
132258         (uninstall-local): Split lines longer than 80.
132259         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
132260         (SUFFIXES): Define.
132261         (.sed.in.sed): New rule.  Don't redirect directly to $@.
132262         (CLEANFILES): Add ref-add.sed and ref-del.sed.
132264 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
132266         * lib/config.charset: Output a line containing "Packages using this
132267         file".
132268         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
132269         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
132270         ref-del.sed): New rules.
132272 2000-03-17  Jim Meyering  <meyering@lucent.com>
132274         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
132275         Otherwise, include <strings.h>
132277 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
132279         * lib/unicodeio.c (utf8_wctomb): New function.
132280         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
132281         format instead of in UCS-4 with platform dependent endianness.
132283 2000-03-10  Jim Meyering  <meyering@lucent.com>
132285         * m4/lib-check.m4: Look for getspnam in -lgen, too.
132286         From Marco Franzen.
132288 2000-03-07  Paul Eggert  <eggert@twinsun.com>
132290         * lib/savedir.c (savedir): Work even if directory size is
132291         negative; this can happen with some screwy NFS configurations.
132293 2000-03-06  Jim Meyering  <meyering@lucent.com>
132295         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
132296         if it's NULL (because we ran out of memory).  From Bruno Haible.
132298 2000-03-05  Jim Meyering  <meyering@lucent.com>
132300         * lib/localcharset.c ("path-concat.h"): Include.
132301         (get_charset_aliases): Use path_concat instead of ANSI string
132302         concatenation.
132304         * lib/unicodeio.h (PARAMS): Define.
132305         Use it to guard prototype.
132307 2000-03-04  Jim Meyering  <meyering@lucent.com>
132309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
132310         for lib/localcharset.c.
132312 2000-03-04  Jim Meyering  <meyering@lucent.com>
132314         * lib/Makefile.am (install-exec-local): Create $(libdir) before
132315         installing into it.
132316         (uninstall-local): Uncomment this rule so `make distcheck' works
132317         once again.
132319         * lib/unicodeio.c (<errno.h>): Include it.
132320         (errno): Declare if not defined.
132322         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
132324         * lib/config.charset: New version, incorporating remarks from a linux
132325         i18n mailing list.  From Bruno Haible.
132327 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
132329         * m4/codeset.m4: New file.
132330         * m4/iconv.m4: New file.
132331         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
132333 2000-03-03  Jim Meyering  <meyering@lucent.com>
132335         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
132337 2000-03-02  Jim Meyering  <meyering@lucent.com>
132339         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
132340         the messages come out on separate lines.
132342         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
132343         rather than jm_CHECK_DECLARATIONS.
132344         * m4/decl.m4: Remove now-unused file.
132346         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
132347         geteuid.
132349 2000-03-02  Jim Meyering  <meyering@lucent.com>
132351         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
132353 2000-03-01  Jim Meyering  <meyering@lucent.com>
132355         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
132356         * lib/unicodeio.c: Likewise.
132358 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
132360         * lib/config.charset: New file.
132361         * lib/localcharset.c: New file.
132362         * lib/unicodeio.h, lib/unicodeio.c: New files.
132363         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
132364         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
132365         (noinst_HEADERS): Add unicodeio.h.
132366         (all-local, install-exec-local, charset.alias): New targets.
132368 2000-02-28  Paul Eggert  <eggert@twinsun.com>
132370         * lib/quotearg.c (ALERT_CHAR): New macro.
132371         (quotearg_buffer_restyled): Use it.
132373 2000-02-27  Jim Meyering  <meyering@lucent.com>
132375         * m4/check-decl.m4: Add getenv to the list.
132377 2000-02-27  Jim Meyering  <meyering@lucent.com>
132379         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
132380         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
132382         * lib/backupfile.c: Guard inclusion of stdlib.h with
132383         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
132384         Declare malloc if needed.
132386         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
132387         `#ifndef HAVE_DECL..'
132388         now that autoconf always defines the HAVE_DECL_ symbols.
132389         * lib/human.c: Likewise.
132390         * lib/same.c: Likewise.
132391         * lib/strtoumax.c: Likewise.
132393         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
132394         declaration check was not run.
132395         * lib/hash.c: Likewise.
132396         * lib/human.c: Likewise.
132397         * lib/same.c: Likewise.
132398         * lib/strtoumax.c: Likewise.
132400         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
132401         `.', then first look up the entire `.'-containing string as a login
132402         name.
132404 2000-02-23  Jim Meyering  <meyering@lucent.com>
132406         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
132407         in place of my hack.
132409 2000-02-18  Paul Eggert  <eggert@twinsun.com>
132411         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
132412         (textint): New typedef.
132413         (parser_control): Member year changed from int to textint.
132414         All uses changed.
132415         (YYSTYPE): Removed; replaced by %union with int and textint members.
132416         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
132417         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
132418         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
132419         (tSNUMBER, tUNUMBER): Now of type <textintval>.
132420         (date, number, to_year): Use width of number in digits, not its value,
132421         to determine whether it's a 2-digit year, or a 2-digit time.
132422         (yylex): Store number of digits of numeric tokens.
132423         Reported by John Kendall.
132425         (parser_control): Changed from struct parser_control to typedef (for
132426         consistency).  All uses changed.
132428         (tID): Removed; not used.
132429         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
132431 2000-02-14  Paul Eggert  <eggert@twinsun.com>
132433         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
132434         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
132436 2000-02-12  Jim Meyering  <meyering@lucent.com>
132438         * lib/userspec.c (ISDIGIT): Define it.
132439         (isdigit): Remove definition.
132440         (is_number): Use ISDIGIT, not isdigit.
132441         <libintl.h>: Include.
132442         (_ and N_): Define.
132443         (parse_user_spec): Mark translatable strings.
132445 2000-02-10  Jim Meyering  <meyering@lucent.com>
132447         With these changes, nanosleep.[ch] are finally enough like the other
132448         lib/* replacement files to compile on a few more losing systems.
132450         * lib/nanosleep.h: Don't include config.h.
132451         Remove prototype from declaration of nanosleep.
132452         (PARAMS): Remove now-unneeded definition.
132453         * lib/nanosleep.c: #undef nanosleep.
132454         (rpl_nanosleep): Rename from nanosleep.
132456 2000-02-10  Jim Meyering  <meyering@lucent.com>
132458         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
132459         gnu_nanosleep to rpl_nanosleep.
132461 2000-02-09  Jim Meyering  <meyering@lucent.com>
132463         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
132464         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
132466 2000-02-08  Akim Demaille  <akim@epita.fr>
132468         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
132469         `[' and `]' and remove uses of `changequote'.
132470         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
132471         (AC_SYS_LARGEFILE): Likewise.
132472         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
132473         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
132474         of changequote.
132475         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
132476         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
132477         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
132478         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
132480 2000-02-05  Jim Meyering  <meyering@lucent.com>
132482         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
132483         Remove explicit use of AC_HEADER_TIME.  It is required by
132484         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
132485         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
132486         in autoconf whereby the expansion of the latter ended up preceding
132487         the expansion of its prerequisite, AC_HEADER_TIME.
132488         Reported by Volker Borchert.
132490 2000-02-03  Jim Meyering  <meyering@lucent.com>
132492         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
132494 2000-02-03  Jim Meyering  <meyering@lucent.com>
132496         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
132497         rather than with `#if HAVE_UTMPNAME'.
132499 2000-02-02  Jim Meyering  <meyering@lucent.com>
132501         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
132502         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
132503         Reported by Eli Zaretskii.
132505 2000-02-01  Jim Meyering  <meyering@lucent.com>
132507         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
132509 2000-01-31  Jim Meyering  <meyering@lucent.com>
132511         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
132512         functions.  Add the time.h and sys/time.h headers along with the
132513         AC_REQUIRE'ment of AC_HEADER_TIME.
132515 2000-01-31  Jim Meyering  <meyering@lucent.com>
132517         * lib/nanosleep.h (nanosleep): Guard declaration with
132518         `#if ! HAVE_DECL_NANOSLEEP'.
132519         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
132520         the declaration in that vendor's sys/timers.h.
132521         Reported by Christian Krackowizer.
132523         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
132524         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
132525         (ISPRINT): Likewise.
132526         Reported by Tom Tromey.
132528 2000-01-30  Jim Meyering  <meyering@lucent.com>
132530         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
132532         * m4/prereq.m4 (utmp_includes): Define.
132533         Check for ut_user and ut_name members in both struct utmpx
132534         and struct utmp.
132536 2000-01-30  Jim Meyering  <meyering@lucent.com>
132538         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
132539         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
132540         header files where only utmpx.ut_user is declared.
132542         * lib/readutmp.h (UT_USER): Define.
132544 2000-01-29  Jim Meyering  <meyering@lucent.com>
132546         * m4/lib-check.m4: New file containing library-related checks from
132547         fileutils and sh-utils (textutils had none).
132549 2000-01-28  Jim Meyering  <meyering@lucent.com>
132551         * m4/perl.m4: Change format of warning message to look more like that
132552         from the missing script.  Suggestion from François Pinard.
132554 2000-01-25  Jim Meyering  <meyering@lucent.com>
132556         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
132557         well as time.h in the compile check.
132558         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
132559         Fix typo in cross-compiling case: s/yes/no/.
132561 2000-01-23  Jim Meyering  <meyering@lucent.com>
132563         * m4/jm-macros.m4: Move df-related tests here from
132564         fileutils/configure.in
132566         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
132567         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
132569         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
132570         s/space/ac_fsusage_space/.
132571         (jm_FILE_SYSTEM_USAGE): Take two parameters.
132573         * m4/ftruncate.m4: New file (derived from part of
132574         fileutils/configure.in).
132575         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
132576         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
132578         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
132579         AC_SUBST these here, rather than just in sh-util/configure.in, so
132580         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
132581         all the same.
132582         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
132583         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
132584         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
132585         (AC_SUBST(POW_LIBM)): Likewise.
132586         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
132588 2000-01-23  Jim Meyering  <meyering@lucent.com>
132590         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
132591         obstack.c.
132593 2000-01-22  Jim Meyering  <meyering@lucent.com>
132595         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
132597         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
132599         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
132600         configure.in
132601         (AC_CHECK_HEADERS): Likewise for sh-utils.
132602         (AC_CHECK_HEADERS): Likewise for textutils.
132603         Merge the three lists of headers.
132605         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
132606         from fileutils' configure.in.
132608         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
132609         code. Moved tests into their own function (_jm_DECL_HEADERS) in
132610         check-decl.m4.
132612         * m4/check-decl.m4: Use #if rather than #ifdef.
132613         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
132614         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
132615         (_jm_DECL_HEADERS): Define new function.
132616         (jm_CHECK_DECLARATIONS): Require it.
132618 2000-01-22  Jim Meyering  <meyering@lucent.com>
132620         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
132621         [! HAVE_DECL_STRTOULL]: Declare strtoull.
132622         Required for some AIX systems.  Reported by Christian Krackowizer.
132623         [TESTING] (main): New function.
132625         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
132626         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
132627         letters.
132629         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
132630         iswprint.
132632         * lib/strverscmp.c (ISDIGIT): Define.
132633         (strverscmp): Use ISDIGIT, not isdigit.
132635 2000-01-19  Jim Meyering  <meyering@lucent.com>
132637         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
132638         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
132639         defines `struct timespec' in <sys/time.h>
132641         * m4/c-bs-a.m4: Remove uses of changequote altogether.
132642         Thanks to Akim for explaining.
132644 2000-01-17  Paul Eggert  <eggert@twinsun.com>
132646         * lib/nanosleep.c (nanosleep):
132647         Don't use SA_INTERRUPT to decide whether to call sigaction, as
132648         POSIX.1 doesn't require SA_INTERRUPT and some systems
132649         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
132650         it's been part of POSIX.1 since day 1 (in 1988).
132652 2000-01-17  Jim Meyering  <meyering@lucent.com>
132654         * lib/interlock: Remove unused file.  Reported by François Pinard.
132656 2000-01-16  Paul Eggert  <eggert@twinsun.com>
132658         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
132659         alert, backslash, formfeed, and vertical tab unnecessarily in
132660         shell quoting style.
132662 2000-01-16  Jim Meyering  <meyering@lucent.com>
132664         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
132665         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
132666         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
132667         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
132669 2000-01-16  Jim Meyering  <meyering@lucent.com>
132671         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
132672         because the latter didn't work.
132674 2000-01-15  Jim Meyering  <meyering@lucent.com>
132676         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
132677         (AC_REPLACE_FUNCS): Add memcpy and memset.
132678         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
132679         Add strpbrk.
132680         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
132682 2000-01-12  Jim Meyering  <meyering@lucent.com>
132684         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
132685         (jm_PREREQ): Use it.
132686         (jm_PREREQ_READUTMP): New macro.
132687         (jm_PREREQ): Use it.
132689 2000-01-11  Paul Eggert  <eggert@twinsun.com>
132691         Quote multibyte characters correctly.
132692         * m4/c-bs-a.m4: New file.
132693         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
132694         (jm_PREREQ): Use it.
132696 2000-01-11  Paul Eggert  <eggert@twinsun.com>
132698         * m4/uintmax_t.m4: Port to autoconf 2.13.
132700 2000-01-08  Jim Meyering  <meyering@ascend.com>
132702         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
132703         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
132705 2000-01-04  Jim Meyering  <meyering@ascend.com>
132707         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
132708         jm_STRUCT_DIRENT_D_TYPE.
132709         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
132710         jm_STRUCT_DIRENT_D_INO.
132711         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
132712         jm_STRUCT_UTIMBUF.
132713         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
132714         renamings.
132715         * m4/utime.m4: Likewise.
132717         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
132718         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
132720 2000-01-03  Paul Eggert  <eggert@twinsun.com>
132722         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
132723         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
132725 2000-01-02  Jim Meyering  <meyering@ascend.com>
132727         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
132728         remember if this is necessary.
132730 1999-12-26  Jim Meyering  <meyering@ascend.com>
132732         * m4/jm-macros.m4: Use it here.
132733         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
132735 1999-12-23  Jim Meyering  <meyering@ascend.com>
132737         * m4/jm-macros.m4: Check for clock_gettime (moved from
132738         fileutils/configure.in)
132739         Check for gettimeofday.
132741 1999-12-20  Jim Meyering  <meyering@ascend.com>
132743         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
132744         autoconf-2.14a-1999-12-20.
132746 1999-12-19  Jim Meyering  <meyering@ascend.com>
132748         * m4/lstat-slash.m4: New file.
132749         * m4/jm-macros.m4: Use the new macro:
132750         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
132752 1999-12-07  Jim Meyering  <meyering@ascend.com>
132754         * m4/perl.m4: Require that File::Compare be available, too.
132755         Too many systems seem to lack it.
132757         * m4/strftime.m4: Add checks for most of the cpp macros tested in
132758         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
132760 1999-11-18  Paul Eggert  <eggert@twinsun.com>
132762         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
132763         problem with the QNX 4.25 shell, which doesn't propagate exit
132764         status of failed commands inside shell assignments.
132766 1999-11-17  Jim Meyering  <meyering@ascend.com>
132768         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
132770 1999-11-07  Jim Meyering  <meyering@ascend.com>
132772         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
132774 1999-11-06  Jim Meyering  <meyering@ascend.com>
132776         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
132777         * m4/jm-macros.m4 (jm_MACROS): Use it here.
132779 1999-11-05  Jim Meyering  <meyering@ascend.com>
132781         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
132782         configure.in of textutils, fileutils, and sh-utils into this one
132783         (shared between those packages) file.
132784         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
132785         AC_STRUCT_ST_BLKSIZE.
132787 1999-11-03  Jim Meyering  <meyering@ascend.com>
132789         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
132790         of AC_CHECK_TYPE checks includes unistd.h.
132791         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
132792         Suggestion from Akim Demaille.
132794 1999-10-30  Jim Meyering  <meyering@ascend.com>
132796         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
132797         m4-quoted string.
132798         * m4/ls-mntd-fs.m4: Likewise.
132799         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
132800         * m4/jm-winsz1.m4: Likewise.
132802         * m4/const.m4: Remove file, since the fix made it into the experimental
132803         version of autoconf.
132804         * m4/mktime.m4: Likewise.
132806         * m4/check-type.m4: Remove file, now that the latest version of
132807         AC_CHECK_TYPE takes a third arg to specify additional #includes.
132809         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
132810         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
132811         AC_CHECK_TYPE.
132813 1999-10-04  Jim Meyering  <meyering@ascend.com>
132815         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
132817 1999-09-22  Paul Eggert  <eggert@twinsun.com>
132819         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
132820         2.95.1 bug with HP-UX 10.20.
132822 1999-09-17  Jim Meyering  <meyering@ascend.com>
132824         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
132825         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
132826         due to missing strdup (against sh-utils-2.0).
132828 1999-08-29  Jim Meyering  <meyering@ascend.com>
132830         * m4/jm-macros.m4: Require jm_BISON.
132831         * m4/bison.m4: New file.
132833 1999-08-17  Paul Eggert  <eggert@twinsun.com>
132835         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
132836         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
132838 1999-08-05  Jim Meyering  <meyering@ascend.com>
132840         * m4/getline.m4: Rename test file from conftestdata to conftest.data
132841         to avoid conflicts with `conftest' on 8+3 filesystems.
132842         Suggestion from Eli Zaretskii.
132844 1999-08-04  Jim Meyering  <meyering@ascend.com>
132846         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
132847         fileutils and sh-utils (textutils's getline test was inadequate).
132848         (AM_FUNC_GETLINE): Run this test.
132849         (AC_CHECK_FUNCS): Check for getdelim.
132850         Reported by Bob Proulx.
132852 1999-08-02  Jim Meyering  <meyering@ascend.com>
132854         * m4/jm-macros.m4: Add a comment.
132856 1999-08-01  Paul Eggert  <eggert@twinsun.com>
132858         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
132859         <inttypes.h> defines strtoumax as a macro (and not as a
132860         function).
132862 1999-08-01  Paul Eggert  <eggert@twinsun.com>
132864         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
132865         that we can shift, multiply and divide unsigned long long
132866         values; Ultrix cc can't do it.
132868 1999-08-01  Paul Eggert  <eggert@twinsun.com>
132870         * m4/mktime.m4: New file, which is a preview of what should appear
132871         in the next public autoconf release.
132873 1999-08-01  Paul Eggert  <eggert@twinsun.com>
132875         * m4/lfs.m4: Remove this file.
132876         * m4/largefile.m4: New file.  It contains the old contents of
132877         lfs.m4, except that all names with prefix AC_LFS have been
132878         changed to use the prefix AC_SYS_LARGEFILE instead, to be
132879         compatible with future autoconf versions.  Also, some minor m4
132880         quoting problems have been fixed.
132882 1999-08-01  Paul Eggert  <eggert@twinsun.com>
132884         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
132885         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
132886         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
132887         and simplify the shell code.
132889 1999-08-01  Jim Meyering  <meyering@ascend.com>
132891         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
132892         m4.
132894 1999-07-20  Jim Meyering  <meyering@ascend.com>
132896         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
132898 1999-07-15  Jim Meyering  <meyering@ascend.com>
132900         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
132902 1999-05-22  Jim Meyering  <meyering@ascend.com>
132904         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
132906 1999-05-20  Jim Meyering  <meyering@ascend.com>
132908         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
132909         Add a colon after each `then' in case $4 is empty.
132911 1999-05-16  Jim Meyering  <meyering@ascend.com>
132913         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
132915 1999-05-10  Jim Meyering  <meyering@ascend.com>
132917         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
132919         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
132920         AC_FUNC_MKTIME.
132922 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
132924         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
132926 1999-05-04  Paul Eggert  <eggert@twinsun.com>
132928         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
132929         not CPPFLAGS, so that linking works correctly in IRIX.
132931 1999-04-30  Paul Eggert  <eggert@twinsun.com>
132933         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
132935 1999-04-20  Paul Eggert  <eggert@twinsun.com>
132937         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
132938         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
132939         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
132940         jm_AC_TYPE_UNSIGNED_LONG_LONG.
132941         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
132943         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
132945 1999-04-20  Jim Meyering  <meyering@ascend.com>
132947         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
132948         AC_REPLACE xstroull if necessary.  From Paul Eggert.
132949         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
132951 1999-04-18  Jim Meyering  <meyering@ascend.com>
132953         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
132954         * m4/jm-macros.m4: Use it.
132956 1999-04-06  Jim Meyering  <meyering@ascend.com>
132958         * m4/strftime.m4: Remove test for %f.
132960 1999-03-29  Jim Meyering  <meyering@ascend.com>
132962         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
132963         superset of the AC_TYPE_* checks in the textutils, fileutils,
132964         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
132965         AC_TYPE_PID_T.
132967 1999-03-28  Jim Meyering  <meyering@ascend.com>
132969         * m4/jm-macros.m4: Define GNU_PACKAGE here.
132970         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
132971         replaced e.g., in the *.sh files of the sh-utils.
132973 1999-03-20  Jim Meyering  <meyering@ascend.com>
132975         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
132976         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
132977         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
132979 1999-03-19  Jim Meyering  <meyering@ascend.com>
132981         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
132983 1999-03-12  Jim Meyering  <meyering@ascend.com>
132985         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
132987 1999-03-07  Jim Meyering  <meyering@ascend.com>
132989         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
132990         declared.
132992 1999-02-17  Jim Meyering  <meyering@ascend.com>
132994         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
132995         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
132997 1999-02-07  Jim Meyering  <meyering@ascend.com>
132999         * m4/group-member.m4: New file -- extracted from sh-utils'
133000         configure.in.
133002         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
133003         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
133005 1999-02-06  Jim Meyering  <meyering@ascend.com>
133007         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
133008         * m4/fnmatch.m4: Likewise.
133009         * m4/getgroups.m4: Likewise.
133010         * m4/lstat.m4: Likewise.
133011         * m4/malloc.m4: Likewise.
133012         * m4/putenv.m4: Likewise.
133013         * m4/realloc.m4: Likewise.
133014         * m4/regex.m4: Likewise.
133015         * m4/stat.m4: Likewise.
133016         * m4/strftime.m4: Likewise.
133017         Suggestion from Alain Magloire.
133019         * m4/chown.m4: Use `.$ac_objext', not `.o'.
133020         * m4/fnmatch.m4: Likewise.
133021         * m4/getgroups.m4: Likewise.
133022         * m4/getline.m4: Likewise.
133023         * m4/lstat.m4: Likewise.
133024         * m4/malloc.m4: Likewise.
133025         * m4/memcmp.m4: Likewise.
133026         * m4/putenv.m4: Likewise.
133027         * m4/realloc.m4: Likewise.
133028         * m4/regex.m4: Likewise.
133029         * m4/stat.m4: Likewise.
133030         * m4/strftime.m4: Likewise.
133031         Suggestion from Alain Magloire.
133033         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
133034         an argument.
133036         * m4/regex.m4: Add a run-time Test for proper operation of
133037         re_compile_pattern.
133039 1999-01-31  Jim Meyering  <meyering@ascend.com>
133041         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
133043 1999-01-30  Jim Meyering  <meyering@ascend.com>
133045         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
133047         * m4/jm-mktime.m4: Make this a wrapper around the official
133048         AM_FUNC_MKTIME rather than my private copy, now that the official one
133049         is up to date.
133050         * m4/mktime.m4: Remove file.
133052         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
133053         * m4/uptime.m4: Likewise.
133054         * m4/uintmax_t.m4: Likewise.
133056 1999-01-28  Jim Meyering  <meyering@ascend.com>
133058         * m4/jm-macros.m4: Use jm_AFS.
133059         * m4/afs.m4: New file (from fileutils' configure.in).
133061         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
133062         * m4/chown.m4: Likewise.
133063         * m4/d-ino.m4: Likewise.
133064         * m4/d-type.m4: Likewise.
133065         * m4/fnmatch.m4: Likewise.
133066         * m4/getgroups.m4: Likewise.
133067         * m4/gettext.m4: Likewise.
133068         * m4/jm-mktime.m4: Likewise.
133069         * m4/jm-winsz2.m4: Likewise.
133070         * m4/lcmessage.m4: Likewise.
133071         * m4/ls-mntd-fs.m4: Likewise.
133072         * m4/malloc.m4: Likewise.
133073         * m4/memcmp.m4: Likewise.
133074         * m4/putenv.m4: Likewise.
133075         * m4/realloc.m4: Likewise.
133076         * m4/st_mtim.m4: Likewise.
133077         * m4/strftime.m4: Likewise.
133079 1999-01-16  Jim Meyering  <meyering@ascend.com>
133081         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
133082         (ARGMATCH_DIE_DECL): Define.
133084 1999-01-12  Jim Meyering  <meyering@ascend.com>
133086         * m4/Makefile.am.in: Rewrite to avoid using fmt.
133087         Reported by Lars Hecking.
133089 1999-01-10  Jim Meyering  <meyering@ascend.com>
133091         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
133092         gross kludge.
133093         * m4/inttypes_h.m4: Likewise.
133094         * m4/lstat.m4: Likewise.
133095         * m4/malloc.m4: Likewise.
133096         * m4/readdir.m4: Likewise.
133097         * m4/realloc.m4: Likewise.
133098         * m4/st_dm_mode.m4: Likewise.
133099         * m4/stat.m4: Likewise.
133100         * m4/utimbuf.m4: Likewise.
133101         * m4/utimes.m4: Likewise.
133103         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
133104         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
133105         comments in config.h.in are meaningful.
133107         * m4/jm-macros.m4: Require autoconf-2.13 here.
133109         * m4/regex.m4: By default, don't use the included regex.c on systems
133110         with glibc 2.  Suggestion from Uli Drepper.
133112 1999-01-02  Jim Meyering  <meyering@ascend.com>
133114         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
133116 1998-12-18  Jim Meyering  <meyering@ascend.com>
133118         * m4/Makefile.am.in (Makefile.am): Simplify rule.
133119         Based on a suggestion from Lars Hecking.
133121 1998-11-16  Paul Eggert  <eggert@twinsun.com>
133123         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
133125 1998-11-16  Jim Meyering  <meyering@ascend.com>
133127         * m4/lfs.m4: Double-quote the `uname...` expression.
133129 1998-11-14  Jim Meyering  <meyering@ascend.com>
133131         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
133132         * m4/stat.m4: Likewise.
133134 1998-11-03  Jim Meyering  <meyering@ascend.com>
133136         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
133137         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
133139 1998-10-18  Jim Meyering  <meyering@ascend.com>
133141         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
133143 1998-10-17  Jim Meyering  <meyering@ascend.com>
133145         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
133146         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
133147         calls for those previously hard-coded headers.  Instead, take a new
133148         parameter.
133149         (jm_CHECK_DECLARATIONS): Reflect interface change.
133150         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
133151         (jm_CHECK_DECL_LOCALTIME_R): New macro.
133153         * m4/mktime.m4: Test for spring-forward gap before long-running test.
133155 1998-10-14  Jim Meyering  <meyering@ascend.com>
133157         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
133158         instead of "TZ=America/Vancouver".  From Paul Eggert.
133160 1998-10-11  Jim Meyering  <meyering@ascend.com>
133162         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
133163         This adds a test for a recently added compatibility fix for mktime.c.
133164         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
133166 1998-09-27  Jim Meyering  <meyering@ascend.com>
133168         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
133170         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
133171         ../configure.in, including a change from Gordon Matzigkeit to allow
133172         cross-compiling for the Hurd.
133174         * m4/glibc.m4: New file/macro to test for the GNU C Library
133175         versions 1 and 2.  From Gordon Matzigkeit.
133176         Indent.
133178 1998-09-21  Jim Meyering  <meyering@ascend.com>
133180         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
133182 1998-08-18  Paul Eggert  <eggert@twinsun.com>
133184         Port nanosecond-resolution times to UnixWare 2.1.2 and
133185         pedantic Solaris 2.6.
133187         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
133188         AC_STRUCT_ST_MTIM.
133189         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
133190         Generate name of ns member, instead of just 1 or undef.
133191         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
133193 1998-08-15  Jim Meyering  <meyering@ascend.com>
133195         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
133196         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
133197         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
133198         instead of jm_TYPE_SSIZE_T.
133200 1998-08-12  Jim Meyering  <meyering@ascend.com>
133202         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
133204 1998-08-02  Jim Meyering  <meyering@ascend.com>
133206         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
133207         in acconfig.h manually.
133209 1998-07-31  Paul Eggert  <eggert@twinsun.com>
133211         * m4/st_mtim.m4: New file.
133213 1998-07-28  Jim Meyering  <meyering@ascend.com>
133215         * m4/utimes.m4: Undef stat.
133217 1998-07-25  Jim Meyering  <meyering@ascend.com>
133219         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
133220         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
133222 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
133224         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
133225         uid and gid actually remain unchanged.
133227 1998-07-07  Jim Meyering  <meyering@ascend.com>
133229         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
133231 1998-07-04  Jim Meyering  <meyering@ascend.com>
133233         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
133234         to prove that this macro can be used in packages without regex.c.
133236 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
133238         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
133239         is to be used.
133241 1998-07-03  Jim Meyering  <meyering@ascend.com>
133243         * m4/gettext.m4: Add -lintl if it's found to be necessary.
133245         * m4/gettext.m4: New file -- from gettext-0.10.35.
133246         * m4/lcmessage.m4: Likewise.
133247         * m4/progtest.m4: Likewise.
133249         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
133250         * m4/jm-macros.m4: Require the new macro.
133252 1998-06-29  Jim Meyering  <meyering@ascend.com>
133254         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
133255         for the definition of NGROUPS (used in a system header included
133256         by sys/mount.h).
133258 1998-06-28  Jim Meyering  <meyering@ascend.com>
133260         * m4/ls-mntd-fs.m4: New file.
133261         * m4/fstypename.m4: New file.
133263         * m4/jm-macros.m4: Require the new macro.
133264         * m4/jm-glibc-io.m4: New file.
133266 1998-05-19  Jim Meyering  <meyering@ascend.com>
133268         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
133269         * m4/lchown.m4: New file.
133271         * m4/Makefile.am.in: New file.
133272         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
133274 1998-05-14  Jim Meyering  <meyering@ascend.com>
133276         * m4/Makefile.am (EXTRA_DIST): Add them.
133277         * m4/jm-macros.m4: New file.
133278         * m4/utimbuf.m4: New file.
133280 1998-05-12  Jim Meyering  <meyering@ascend.com>
133282         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
133284 1998-05-11  Jim Meyering  <meyering@ascend.com>
133286         * m4/isc-posix.m4: New file.
133288 1998-05-10  Jim Meyering  <meyering@ascend.com>
133290         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
133292 1998-05-09  Jim Meyering  <meyering@ascend.com>
133294         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
133295         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
133296         with automake.
133298         * m4/ssize_t.m4: New file.
133299         * m4/mktime.m4: Remove file -- the new automake has this now.
133301 1998-04-26  Jim Meyering  <meyering@ascend.com>
133303         * m4/assert.m4: New file.
133304         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
133306 1998-04-05  Jim Meyering  <meyering@ascend.com>
133308         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
133309         (jm_PREREQ): Use it here.
133311 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
133313         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
133314         in acconfig.h.
133316 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
133318         * m4/prereq.m4: New file.
133319         * m4/error.m4: New file.
133320         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
133322 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
133324         * m4/getline.m4: Don't set am_cv_func_working_getline before the
133325         cache-check for the same variable -- that defeated the purpose of
133326         the test; the test program was never run.  This was a problem only
133327         on systems with losing getline functions -- HP-UX 10.20 is one.
133328         Reported by Bjorn Helgaas.
133330 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
133332         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
133334 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
133336         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
133338         * m4/const.m4: New file.  Use an initializer in this declaration
133339         typedef int charset[2]; const charset x;
133340         Reported by Bob Glickstein.
133342 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
133344         * m4/chown.m4: Fix reversed types on -1 args to chown.
133345         From Kaveh Ghazi.
133347 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
133349         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
133350         Add lseek and memchr.
133352         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
133353         T.E.Dickey <dickey@clark.net> said that some older preprocessors
133354         have a 20-character limit on names.
133356 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
133358         * m4/inttypes_h.m4: New file.
133359         * m4/uintmax_t.m4: New file.
133360         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
133363         -----
133365         Local Variables:
133366         coding: utf-8
133367         End:
133369         Copyright (C) 1997-2020 Free Software Foundation, Inc.
133371         Copying and distribution of this file, with or without
133372         modification, are permitted provided the copyright notice
133373         and this notice are preserved.